diff --git a/.github/contributors.json b/.github/contributors.json index 37c85e1bc..13c4eafd3 100644 --- a/.github/contributors.json +++ b/.github/contributors.json @@ -1392,5 +1392,10 @@ "name": "Birtibu", "github_login": "Birtibu", "twitter_username": "" + }, + { + "name": "Matheus Jardim Bernardes", + "github_login": "matheusjardimb", + "twitter_username": "" } ] \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c99a80f2e..06441cb95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,13 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## 2023.06.02 + + +### Updated + +- Update sentry-sdk to 1.25.0 ([#4364](https://github.com/cookiecutter/cookiecutter-django/pull/4364)) + ## 2023.05.30 diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 340588a9a..4e2f1fb31 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -1314,6 +1314,13 @@ Listed in alphabetical order. + + Matheus Jardim Bernardes + + matheusjardimb + + + Mathijs Hoogland diff --git a/requirements.txt b/requirements.txt index 4b05c1b1e..f964e4ac7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,7 +12,7 @@ pre-commit==3.3.2 # Testing # ------------------------------------------------------------------------------ -tox==4.5.2 +tox==4.6.0 pytest==7.3.1 pytest-xdist==3.3.1 pytest-cookies==0.7.0 diff --git a/setup.py b/setup.py index e6c5c99f8..19820f7bc 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ except ImportError: from distutils.core import setup # We use calendar versioning -version = "2023.05.30" +version = "2023.06.02" with open("README.rst") as readme_file: long_description = readme_file.read() diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index c0ca31f36..487669e0a 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -26,6 +26,12 @@ DEBUG = env.bool("DJANGO_DEBUG", False) TIME_ZONE = "{{ cookiecutter.timezone }}" # https://docs.djangoproject.com/en/dev/ref/settings/#language-code LANGUAGE_CODE = "en-us" +# https://docs.djangoproject.com/en/dev/ref/settings/#languages +# from django.utils.translation import gettext_lazy as _ +# LANGUAGES = [ +# ('en', _('English')), +# ('pt-br', _('Português')), +# ] # https://docs.djangoproject.com/en/dev/ref/settings/#site-id SITE_ID = 1 # https://docs.djangoproject.com/en/dev/ref/settings/#use-i18n diff --git a/{{cookiecutter.project_slug}}/locale/pt_BR/LC_MESSAGES/django.po b/{{cookiecutter.project_slug}}/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 000000000..fc17c6a61 --- /dev/null +++ b/{{cookiecutter.project_slug}}/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,321 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-04 21:42+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: {{cookiecutter.project_slug}}/templates/account/account_inactive.html:5 +#: {{cookiecutter.project_slug}}/templates/account/account_inactive.html:8 +msgid "Account Inactive" +msgstr "Conta Inativa" + +#: {{cookiecutter.project_slug}}/templates/account/account_inactive.html:10 +msgid "This account is inactive." +msgstr "Esta conta está inativa." + +#: {{cookiecutter.project_slug}}/templates/account/email.html:7 +msgid "Account" +msgstr "Conta" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:10 +msgid "E-mail Addresses" +msgstr "Endereços de E-mail" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:13 +msgid "The following e-mail addresses are associated with your account:" +msgstr "Os seguintes endereços de e-mail estão associados à sua conta:" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:27 +msgid "Verified" +msgstr "Verificado" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:29 +msgid "Unverified" +msgstr "Não verificado" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:31 +msgid "Primary" +msgstr "Primário" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:37 +msgid "Make Primary" +msgstr "Tornar Primário" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:38 +msgid "Re-send Verification" +msgstr "Reenviar verificação" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:39 +msgid "Remove" +msgstr "Remover" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:46 +msgid "Warning:" +msgstr "Aviso:" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:46 +msgid "" +"You currently do not have any e-mail address set up. You should really add " +"an e-mail address so you can receive notifications, reset your password, etc." +msgstr "" +"No momento, você não tem nenhum endereço de e-mail configurado. Você " +"realmente deve adicionar um endereço de e-mail para receber notificações, " +"redefinir sua senha etc." + +#: {{cookiecutter.project_slug}}/templates/account/email.html:51 +msgid "Add E-mail Address" +msgstr "Adicionar Endereço de E-mail" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:56 +msgid "Add E-mail" +msgstr "Adicionar E-mail" + +#: {{cookiecutter.project_slug}}/templates/account/email.html:66 +msgid "Do you really want to remove the selected e-mail address?" +msgstr "Você realmente deseja remover o endereço de e-mail selecionado?" + +#: {{cookiecutter.project_slug}}/templates/account/email_confirm.html:6 +#: {{cookiecutter.project_slug}}/templates/account/email_confirm.html:10 +msgid "Confirm E-mail Address" +msgstr "Confirme o endereço de e-mail" + +#: {{cookiecutter.project_slug}}/templates/account/email_confirm.html:16 +#, python-format +msgid "" +"Please confirm that %(email)s is an e-mail " +"address for user %(user_display)s." +msgstr "" +"Confirme se %(email)s é um endereço de " +"e-mail do usuário %(user_display)s." + +#: {{cookiecutter.project_slug}}/templates/account/email_confirm.html:20 +msgid "Confirm" +msgstr "Confirmar" + +#: {{cookiecutter.project_slug}}/templates/account/email_confirm.html:27 +#, python-format +msgid "" +"This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request." +msgstr "Este link de confirmação de e-mail expirou ou é inválido. " +"Por favor, emita um novo pedido de confirmação por e-mail." + +#: {{cookiecutter.project_slug}}/templates/account/login.html:7 +#: {{cookiecutter.project_slug}}/templates/account/login.html:11 +#: {{cookiecutter.project_slug}}/templates/account/login.html:56 +#: {{cookiecutter.project_slug}}/templates/base.html:72 +msgid "Sign In" +msgstr "Entrar" + +#: {{cookiecutter.project_slug}}/templates/account/login.html:17 +msgid "Please sign in with one of your existing third party accounts:" +msgstr "Faça login com uma de suas contas de terceiros existentes:" + +#: {{cookiecutter.project_slug}}/templates/account/login.html:19 +#, python-format +msgid "" +"Or, sign up for a %(site_name)s account and " +"sign in below:" +msgstr "Ou, cadastre-se para uma conta em %(site_name)s e entre abaixo:" + +#: {{cookiecutter.project_slug}}/templates/account/login.html:32 +msgid "or" +msgstr "or" + +#: {{cookiecutter.project_slug}}/templates/account/login.html:41 +#, python-format +msgid "" +"If you have not created an account yet, then please sign up first." +msgstr "Se você ainda não criou uma conta, registre-se primeiro." + +#: {{cookiecutter.project_slug}}/templates/account/login.html:55 +msgid "Forgot Password?" +msgstr "Esqueceu sua senha?" + +#: {{cookiecutter.project_slug}}/templates/account/logout.html:5 +#: {{cookiecutter.project_slug}}/templates/account/logout.html:8 +#: {{cookiecutter.project_slug}}/templates/account/logout.html:17 +#: {{cookiecutter.project_slug}}/templates/base.html:61 +msgid "Sign Out" +msgstr "Sair" + +#: {{cookiecutter.project_slug}}/templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "Você tem certeza que deseja sair?" + +#: {{cookiecutter.project_slug}}/templates/account/password_change.html:6 +#: {{cookiecutter.project_slug}}/templates/account/password_change.html:9 +#: {{cookiecutter.project_slug}}/templates/account/password_change.html:14 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html:5 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html:8 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html:4 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html:7 +msgid "Change Password" +msgstr "Alterar Senha" + +#: {{cookiecutter.project_slug}}/templates/account/password_reset.html:7 +#: {{cookiecutter.project_slug}}/templates/account/password_reset.html:11 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_done.html:6 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_done.html:9 +msgid "Password Reset" +msgstr "Redefinição de senha" + +#: {{cookiecutter.project_slug}}/templates/account/password_reset.html:16 +msgid "" +"Forgotten your password? Enter your e-mail address below, and we'll send you " +"an e-mail allowing you to reset it." +msgstr "Esqueceu sua senha? Digite seu endereço de e-mail abaixo e enviaremos um e-mail permitindo que você o redefina." + +#: {{cookiecutter.project_slug}}/templates/account/password_reset.html:21 +msgid "Reset My Password" +msgstr "Redefinir minha senha" + +#: {{cookiecutter.project_slug}}/templates/account/password_reset.html:24 +msgid "Please contact us if you have any trouble resetting your password." +msgstr "Entre em contato conosco se tiver algum problema para redefinir sua senha." + +#: {{cookiecutter.project_slug}}/templates/account/password_reset_done.html:15 +msgid "" +"We have sent you an e-mail. Please contact us if you do not receive it " +"within a few minutes." +msgstr "Enviamos um e-mail para você. Entre em contato conosco se você não recebê-lo dentro de alguns minutos." + +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html:8 +msgid "Bad Token" +msgstr "Token Inválido" + +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html:12 +#, python-format +msgid "" +"The password reset link was invalid, possibly because it has already been " +"used. Please request a new password reset." +msgstr "O link de redefinição de senha era inválido, possivelmente porque já foi usado. " +"Solicite uma nova redefinição de senha." + +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html:18 +msgid "change password" +msgstr "alterar senha" + +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key.html:21 +#: {{cookiecutter.project_slug}}/templates/account/password_reset_from_key_done.html:8 +msgid "Your password is now changed." +msgstr "Sua senha agora foi alterada." + +#: {{cookiecutter.project_slug}}/templates/account/password_set.html:6 +#: {{cookiecutter.project_slug}}/templates/account/password_set.html:9 +#: {{cookiecutter.project_slug}}/templates/account/password_set.html:14 +msgid "Set Password" +msgstr "Definir Senha" + +#: {{cookiecutter.project_slug}}/templates/account/signup.html:6 +msgid "Signup" +msgstr "Cadastro" + +#: {{cookiecutter.project_slug}}/templates/account/signup.html:9 +#: {{cookiecutter.project_slug}}/templates/account/signup.html:19 +#: {{cookiecutter.project_slug}}/templates/base.html:67 +msgid "Sign Up" +msgstr "Cadastro" + +#: {{cookiecutter.project_slug}}/templates/account/signup.html:11 +#, python-format +msgid "" +"Already have an account? Then please sign in." +msgstr "já tem uma conta? Então, por favor, faça login." + +#: {{cookiecutter.project_slug}}/templates/account/signup_closed.html:5 +#: {{cookiecutter.project_slug}}/templates/account/signup_closed.html:8 +msgid "Sign Up Closed" +msgstr "Inscrições encerradas" + +#: {{cookiecutter.project_slug}}/templates/account/signup_closed.html:10 +msgid "We are sorry, but the sign up is currently closed." +msgstr "Lamentamos, mas as inscrições estão encerradas no momento." + +#: {{cookiecutter.project_slug}}/templates/account/verification_sent.html:5 +#: {{cookiecutter.project_slug}}/templates/account/verification_sent.html:8 +#: {{cookiecutter.project_slug}}/templates/account/verified_email_required.html:5 +#: {{cookiecutter.project_slug}}/templates/account/verified_email_required.html:8 +msgid "Verify Your E-mail Address" +msgstr "Verifique seu endereço de e-mail" + +#: {{cookiecutter.project_slug}}/templates/account/verification_sent.html:10 +msgid "" +"We have sent an e-mail to you for verification. Follow the link provided to " +"finalize the signup process. Please contact us if you do not receive it " +"within a few minutes." +msgstr "Enviamos um e-mail para você para verificação. Siga o link fornecido para finalizar o processo de inscrição. Entre em contato conosco se você não recebê-lo dentro de alguns minutos." + +#: {{cookiecutter.project_slug}}/templates/account/verified_email_required.html:12 +msgid "" +"This part of the site requires us to verify that\n" +"you are who you claim to be. For this purpose, we require that you\n" +"verify ownership of your e-mail address. " +msgstr "Esta parte do site exige que verifiquemos se você é quem afirma ser.\n" +"Para esse fim, exigimos que você verifique a propriedade\n" +"do seu endereço de e-mail." + +#: {{cookiecutter.project_slug}}/templates/account/verified_email_required.html:16 +msgid "" +"We have sent an e-mail to you for\n" +"verification. Please click on the link inside this e-mail. Please\n" +"contact us if you do not receive it within a few minutes." +msgstr "Enviamos um e-mail para você para verificação.\n" +"Por favor, clique no link dentro deste e-mail.\n" +"Entre em contato conosco se você não recebê-lo dentro de alguns minutos." + +#: {{cookiecutter.project_slug}}/templates/account/verified_email_required.html:20 +#, python-format +msgid "" +"Note: you can still change your e-" +"mail address." +msgstr "Nota: você ainda pode alterar seu endereço de e-mail." + +#: {{cookiecutter.project_slug}}/templates/base.html:57 +msgid "My Profile" +msgstr "Meu perfil" + +#: {{cookiecutter.project_slug}}/users/admin.py:17 +msgid "Personal info" +msgstr "Informação pessoal" + +#: {{cookiecutter.project_slug}}/users/admin.py:19 +msgid "Permissions" +msgstr "Permissões" + +#: {{cookiecutter.project_slug}}/users/admin.py:30 +msgid "Important dates" +msgstr "Datas importantes" + +#: {{cookiecutter.project_slug}}/users/apps.py:7 +msgid "Users" +msgstr "Usuários" + +#: {{cookiecutter.project_slug}}/users/forms.py:24 +#: {{cookiecutter.project_slug}}/users/tests/test_forms.py:36 +msgid "This username has already been taken." +msgstr "Este nome de usuário já foi usado." + +#: {{cookiecutter.project_slug}}/users/models.py:15 +msgid "Name of User" +msgstr "Nome do Usuário" + +#: {{cookiecutter.project_slug}}/users/views.py:23 +msgid "Information successfully updated" +msgstr "Informação atualizada com sucesso" diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 073160be3..4728ffbde 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -13,12 +13,12 @@ watchfiles==0.19.0 # https://github.com/samuelcolvin/watchfiles # Testing # ------------------------------------------------------------------------------ -mypy==1.2.0 # https://github.com/python/mypy -django-stubs==4.2.0 # https://github.com/typeddjango/django-stubs +mypy==1.3.0 # https://github.com/python/mypy +django-stubs==4.2.1 # https://github.com/typeddjango/django-stubs pytest==7.3.1 # https://github.com/pytest-dev/pytest pytest-sugar==0.9.7 # https://github.com/Frozenball/pytest-sugar {%- if cookiecutter.use_drf == "y" %} -djangorestframework-stubs==3.14.0 # https://github.com/typeddjango/djangorestframework-stubs +djangorestframework-stubs==3.14.1 # https://github.com/typeddjango/djangorestframework-stubs {%- endif %} # Documentation @@ -43,6 +43,6 @@ pre-commit==3.3.2 # https://github.com/pre-commit/pre-commit factory-boy==3.2.1 # https://github.com/FactoryBoy/factory_boy django-debug-toolbar==4.1.0 # https://github.com/jazzband/django-debug-toolbar -django-extensions==3.2.1 # https://github.com/django-extensions/django-extensions +django-extensions==3.2.3 # https://github.com/django-extensions/django-extensions django-coverage-plugin==3.0.0 # https://github.com/nedbat/django_coverage_plugin pytest-django==4.5.2 # https://github.com/pytest-dev/pytest-django diff --git a/{{cookiecutter.project_slug}}/requirements/production.txt b/{{cookiecutter.project_slug}}/requirements/production.txt index bbe502ba5..2714fe6f8 100644 --- a/{{cookiecutter.project_slug}}/requirements/production.txt +++ b/{{cookiecutter.project_slug}}/requirements/production.txt @@ -8,7 +8,7 @@ psycopg2==2.9.6 # https://github.com/psycopg/psycopg2 Collectfast==2.2.0 # https://github.com/antonagestam/collectfast {%- endif %} {%- if cookiecutter.use_sentry == "y" %} -sentry-sdk==1.24.0 # https://github.com/getsentry/sentry-python +sentry-sdk==1.25.0 # https://github.com/getsentry/sentry-python {%- endif %} {%- if cookiecutter.use_docker == "n" and cookiecutter.windows == "y" %} hiredis==2.2.3 # https://github.com/redis/hiredis-py