diff --git a/canaille/translations/README.rst b/canaille/translations/README.rst index 9c8101e7..578fd3d8 100644 --- a/canaille/translations/README.rst +++ b/canaille/translations/README.rst @@ -11,7 +11,7 @@ After you have edited translatable strings, you should extract the messages with .. code-block:: bash - pybabel extract --mapping-file canaille/translations/babel.cfg --copyright-holder="Yaal Coop" --output-file canaille/translations/messages.pot canaille + pybabel extract --mapping-file pyproject.toml --copyright-holder="Yaal Coop" --output-file canaille/translations/messages.pot canaille Language addition ~~~~~~~~~~~~~~~~~ diff --git a/canaille/translations/babel.cfg b/canaille/translations/babel.cfg deleted file mode 100644 index ec6a1e79..00000000 --- a/canaille/translations/babel.cfg +++ /dev/null @@ -1,7 +0,0 @@ -[python: **.py] -[jinja2: **/templates/**.html] -trimmed = True -[jinja2: **/themes/**.html] -trimmed = True -[jinja2: **/templates/**.txt] -trimmed = True diff --git a/canaille/translations/messages.pot b/canaille/translations/messages.pot index 59e34be8..35717f78 100644 --- a/canaille/translations/messages.pot +++ b/canaille/translations/messages.pot @@ -8,69 +8,69 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-05-01 18:39+0200\n" +"POT-Creation-Date: 2024-09-12 19:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" +"Generated-By: Babel 2.16.0\n" #: canaille/app/flask.py:100 msgid "No SMTP server has been configured" msgstr "" -#: canaille/app/forms.py:25 +#: canaille/app/forms.py:26 msgid "This is not a valid URL" msgstr "" -#: canaille/app/forms.py:32 canaille/app/forms.py:33 +#: canaille/app/forms.py:33 canaille/app/forms.py:34 msgid "This value is a duplicate" msgstr "" -#: canaille/app/forms.py:45 +#: canaille/app/forms.py:46 msgid "Not a valid phone number" msgstr "" -#: canaille/app/forms.py:205 +#: canaille/app/forms.py:206 msgid "The page number is not valid" msgstr "" -#: canaille/app/forms.py:233 +#: canaille/app/forms.py:234 msgid "Not a valid datetime value." msgstr "" -#: canaille/backends/ldap/backend.py:97 +#: canaille/backends/ldap/backend.py:99 msgid "Could not connect to the LDAP server '{uri}'" msgstr "" -#: canaille/backends/ldap/backend.py:104 +#: canaille/backends/ldap/backend.py:106 msgid "LDAP authentication failed with user '{user}'" msgstr "" -#: canaille/backends/ldap/backend.py:173 +#: canaille/backends/ldap/backend.py:175 msgid "John Doe" msgstr "" -#: canaille/backends/ldap/backend.py:176 canaille/core/endpoints/forms.py:164 -#: canaille/core/endpoints/forms.py:420 +#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:164 +#: canaille/core/endpoints/forms.py:423 msgid "jdoe" msgstr "" -#: canaille/backends/ldap/backend.py:179 +#: canaille/backends/ldap/backend.py:181 msgid "john@doe.com" msgstr "" -#: canaille/backends/ldap/backend.py:181 +#: canaille/backends/ldap/backend.py:183 msgid " or " msgstr "" -#: canaille/backends/ldap/backend.py:236 +#: canaille/backends/ldap/backend.py:238 msgid "Your account has been locked." msgstr "" -#: canaille/backends/ldap/backend.py:241 +#: canaille/backends/ldap/backend.py:243 msgid "You should change your password." msgstr "" @@ -112,7 +112,7 @@ msgid "" msgstr "" #: canaille/core/endpoints/account.py:248 -#: canaille/core/endpoints/account.py:269 +#: canaille/core/endpoints/account.py:271 msgid "The registration link that brought you here was invalid." msgstr "" @@ -120,16 +120,16 @@ msgstr "" msgid "The registration link that brought you here has expired." msgstr "" -#: canaille/core/endpoints/account.py:262 +#: canaille/core/endpoints/account.py:264 msgid "Your account has already been created." msgstr "" -#: canaille/core/endpoints/account.py:276 +#: canaille/core/endpoints/account.py:278 msgid "You are already logged in, you cannot create an account." msgstr "" -#: canaille/core/endpoints/account.py:297 canaille/core/endpoints/forms.py:313 -#: canaille/core/endpoints/forms.py:438 canaille/core/templates/groups.html:5 +#: canaille/core/endpoints/account.py:299 canaille/core/endpoints/forms.py:313 +#: canaille/core/endpoints/forms.py:441 canaille/core/templates/groups.html:5 #: canaille/core/templates/groups.html:23 #: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/users.html:18 @@ -137,114 +137,114 @@ msgstr "" msgid "Groups" msgstr "" -#: canaille/core/endpoints/account.py:331 -#: canaille/core/endpoints/account.py:424 +#: canaille/core/endpoints/account.py:336 +#: canaille/core/endpoints/account.py:429 msgid "User account creation failed." msgstr "" -#: canaille/core/endpoints/account.py:342 +#: canaille/core/endpoints/account.py:347 msgid "Your account has been created successfully." msgstr "" -#: canaille/core/endpoints/account.py:357 -#: canaille/core/endpoints/account.py:379 +#: canaille/core/endpoints/account.py:362 +#: canaille/core/endpoints/account.py:384 msgid "The email confirmation link that brought you here is invalid." msgstr "" -#: canaille/core/endpoints/account.py:364 +#: canaille/core/endpoints/account.py:369 msgid "The email confirmation link that brought you here has expired." msgstr "" -#: canaille/core/endpoints/account.py:371 +#: canaille/core/endpoints/account.py:376 msgid "The invitation link that brought you here was invalid." msgstr "" -#: canaille/core/endpoints/account.py:386 +#: canaille/core/endpoints/account.py:391 msgid "This address email have already been confirmed." msgstr "" -#: canaille/core/endpoints/account.py:393 +#: canaille/core/endpoints/account.py:398 msgid "This address email is already associated with another account." msgstr "" -#: canaille/core/endpoints/account.py:400 +#: canaille/core/endpoints/account.py:405 msgid "Your email address have been confirmed." msgstr "" -#: canaille/core/endpoints/account.py:434 +#: canaille/core/endpoints/account.py:439 msgid "User account creation succeed." msgstr "" -#: canaille/core/endpoints/account.py:609 -#: canaille/core/endpoints/account.py:770 +#: canaille/core/endpoints/account.py:610 +#: canaille/core/endpoints/account.py:771 msgid "Profile edition failed." msgstr "" -#: canaille/core/endpoints/account.py:613 -#: canaille/core/endpoints/account.py:785 +#: canaille/core/endpoints/account.py:614 +#: canaille/core/endpoints/account.py:786 msgid "Profile updated successfully." msgstr "" -#: canaille/core/endpoints/account.py:620 +#: canaille/core/endpoints/account.py:621 msgid "Email addition failed." msgstr "" -#: canaille/core/endpoints/account.py:625 +#: canaille/core/endpoints/account.py:626 msgid "" "An email has been sent to the email address. Please check your inbox and " "click on the verification link it contains" msgstr "" -#: canaille/core/endpoints/account.py:632 +#: canaille/core/endpoints/account.py:633 msgid "Could not send the verification email" msgstr "" -#: canaille/core/endpoints/account.py:642 +#: canaille/core/endpoints/account.py:643 msgid "Email deletion failed." msgstr "" -#: canaille/core/endpoints/account.py:645 +#: canaille/core/endpoints/account.py:646 msgid "The email have been successfully deleted." msgstr "" -#: canaille/core/endpoints/account.py:682 +#: canaille/core/endpoints/account.py:683 msgid "" "A password initialization link has been sent at the user email address. " "It should be received within a few minutes." msgstr "" -#: canaille/core/endpoints/account.py:689 canaille/core/endpoints/auth.py:159 +#: canaille/core/endpoints/account.py:690 canaille/core/endpoints/auth.py:159 msgid "Could not send the password initialization email" msgstr "" -#: canaille/core/endpoints/account.py:700 +#: canaille/core/endpoints/account.py:701 msgid "" "A password reset link has been sent at the user email address. It should " "be received within a few minutes." msgstr "" -#: canaille/core/endpoints/account.py:707 +#: canaille/core/endpoints/account.py:708 msgid "Could not send the password reset email" msgstr "" -#: canaille/core/endpoints/account.py:723 +#: canaille/core/endpoints/account.py:724 msgid "The account has been locked" msgstr "" -#: canaille/core/endpoints/account.py:734 +#: canaille/core/endpoints/account.py:735 msgid "The account has been unlocked" msgstr "" -#: canaille/core/endpoints/account.py:805 +#: canaille/core/endpoints/account.py:806 #, python-format -msgid "The user %(user)s has been sucessfuly deleted" +msgid "The user %(user)s has been successfully deleted" msgstr "" -#: canaille/core/endpoints/account.py:822 +#: canaille/core/endpoints/account.py:823 msgid "Locked users cannot be impersonated." msgstr "" -#: canaille/core/endpoints/account.py:826 canaille/core/endpoints/auth.py:112 +#: canaille/core/endpoints/account.py:827 canaille/core/endpoints/auth.py:112 #, python-format msgid "Connection successful. Welcome %(user)s" msgstr "" @@ -256,8 +256,8 @@ msgstr "" #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:97 #: canaille/core/endpoints/forms.py:120 canaille/core/endpoints/forms.py:209 -#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:432 -#: canaille/core/endpoints/forms.py:453 canaille/core/endpoints/forms.py:469 +#: canaille/core/endpoints/forms.py:409 canaille/core/endpoints/forms.py:435 +#: canaille/core/endpoints/forms.py:459 canaille/core/endpoints/forms.py:475 msgid "jane@doe.com" msgstr "" @@ -384,12 +384,12 @@ msgstr "" msgid "Username" msgstr "" -#: canaille/core/endpoints/forms.py:167 canaille/core/endpoints/forms.py:362 -#: canaille/core/endpoints/forms.py:376 +#: canaille/core/endpoints/forms.py:167 canaille/core/endpoints/forms.py:365 +#: canaille/core/endpoints/forms.py:379 #: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/users.html:12 -#: canaille/oidc/endpoints/forms.py:26 +#: canaille/oidc/endpoints/forms.py:29 #: canaille/oidc/templates/partial/client_list.html:6 msgid "Name" msgstr "" @@ -426,12 +426,12 @@ msgstr "" msgid "Johnny" msgstr "" -#: canaille/core/endpoints/forms.py:199 canaille/core/endpoints/forms.py:459 +#: canaille/core/endpoints/forms.py:199 canaille/core/endpoints/forms.py:465 #: canaille/core/templates/profile_edit.html:176 msgid "Email addresses" msgstr "" -#: canaille/core/endpoints/forms.py:205 canaille/core/endpoints/forms.py:449 +#: canaille/core/endpoints/forms.py:205 canaille/core/endpoints/forms.py:455 msgid "" "This email will be used as a recovery address to reset the password if " "needed" @@ -523,65 +523,65 @@ msgstr "" msgid "Preferred language" msgstr "" -#: canaille/core/endpoints/forms.py:316 +#: canaille/core/endpoints/forms.py:319 msgid "users, admins …" msgstr "" -#: canaille/core/endpoints/forms.py:341 +#: canaille/core/endpoints/forms.py:344 msgid "Account expiration" msgstr "" -#: canaille/core/endpoints/forms.py:365 +#: canaille/core/endpoints/forms.py:368 msgid "group" msgstr "" -#: canaille/core/endpoints/forms.py:369 canaille/core/endpoints/forms.py:386 +#: canaille/core/endpoints/forms.py:372 canaille/core/endpoints/forms.py:389 #: canaille/core/templates/partial/groups.html:7 msgid "Description" msgstr "" -#: canaille/core/endpoints/forms.py:400 canaille/core/endpoints/forms.py:425 +#: canaille/core/endpoints/forms.py:403 canaille/core/endpoints/forms.py:428 msgid "Email address" msgstr "" -#: canaille/core/endpoints/forms.py:419 +#: canaille/core/endpoints/forms.py:422 msgid "User name" msgstr "" -#: canaille/core/endpoints/forms.py:423 +#: canaille/core/endpoints/forms.py:426 msgid "Username editable by the invitee" msgstr "" -#: canaille/core/endpoints/forms.py:462 +#: canaille/core/endpoints/forms.py:468 msgid "New email address" msgstr "" -#: canaille/core/endpoints/groups.py:39 +#: canaille/core/endpoints/groups.py:40 msgid "Group creation failed." msgstr "" -#: canaille/core/endpoints/groups.py:47 +#: canaille/core/endpoints/groups.py:48 #, python-format -msgid "The group %(group)s has been sucessfully created" +msgid "The group %(group)s has been successfully created" msgstr "" -#: canaille/core/endpoints/groups.py:107 +#: canaille/core/endpoints/groups.py:108 #, python-format -msgid "The group %(group)s has been sucessfully edited." +msgid "The group %(group)s has been successfully edited." msgstr "" -#: canaille/core/endpoints/groups.py:115 +#: canaille/core/endpoints/groups.py:116 msgid "Group edition failed." msgstr "" -#: canaille/core/endpoints/groups.py:144 +#: canaille/core/endpoints/groups.py:145 #, python-format msgid "%(user_name)s has been removed from the group %(group_name)s" msgstr "" -#: canaille/core/endpoints/groups.py:161 +#: canaille/core/endpoints/groups.py:162 #, python-format -msgid "The group %(group)s has been sucessfully deleted" +msgid "The group %(group)s has been successfully deleted" msgstr "" #: canaille/core/templates/about.html:5 canaille/core/templates/about.html:16 @@ -610,11 +610,11 @@ msgstr "" msgid "Source code" msgstr "" -#: canaille/core/templates/firstlogin.html:11 +#: canaille/core/templates/firstlogin.html:12 msgid "First login" msgstr "" -#: canaille/core/templates/firstlogin.html:16 +#: canaille/core/templates/firstlogin.html:19 msgid "" "It seems this is the first time you are logging here. In order to " "finalize your account configuration, you need to set a password to your " @@ -623,41 +623,41 @@ msgid "" "button below to send the email." msgstr "" -#: canaille/core/templates/firstlogin.html:28 -#: canaille/core/templates/forgotten-password.html:35 +#: canaille/core/templates/firstlogin.html:34 +#: canaille/core/templates/forgotten-password.html:43 #: canaille/core/templates/join.html:39 #: canaille/core/templates/profile_add.html:191 msgid "Login page" msgstr "" -#: canaille/core/templates/firstlogin.html:29 +#: canaille/core/templates/firstlogin.html:35 msgid "Send the initialization email" msgstr "" #: canaille/core/templates/forgotten-password.html:5 -#: canaille/core/templates/forgotten-password.html:15 -#: canaille/core/templates/join.html:41 canaille/core/templates/login.html:36 -#: canaille/core/templates/password.html:34 +#: canaille/core/templates/forgotten-password.html:16 +#: canaille/core/templates/join.html:41 canaille/core/templates/login.html:43 +#: canaille/core/templates/password.html:41 msgid "Forgotten password" msgstr "" -#: canaille/core/templates/forgotten-password.html:20 +#: canaille/core/templates/forgotten-password.html:23 msgid "" "After this form is sent, if the email address or the login you provided " "exists, you will receive an email containing a link that will allow you " "to reset your password." msgstr "" -#: canaille/core/templates/forgotten-password.html:33 -#: canaille/core/templates/login.html:33 +#: canaille/core/templates/forgotten-password.html:41 +#: canaille/core/templates/login.html:40 msgid "Create an account" msgstr "" -#: canaille/core/templates/forgotten-password.html:38 +#: canaille/core/templates/forgotten-password.html:46 msgid "Send again" msgstr "" -#: canaille/core/templates/forgotten-password.html:40 +#: canaille/core/templates/forgotten-password.html:48 #: canaille/core/templates/mails/admin.html:52 msgid "Send" msgstr "" @@ -823,35 +823,35 @@ msgstr "" msgid "Submit" msgstr "" -#: canaille/core/templates/login.html:20 +#: canaille/core/templates/login.html:21 #, python-format msgid "Sign in at %(website)s" msgstr "" -#: canaille/core/templates/login.html:22 +#: canaille/core/templates/login.html:23 msgid "Manage your information and your authorizations" msgstr "" -#: canaille/core/templates/login.html:38 +#: canaille/core/templates/login.html:45 #: canaille/core/templates/mails/registration.txt:5 msgid "Continue" msgstr "" -#: canaille/core/templates/password.html:20 +#: canaille/core/templates/password.html:21 #, python-format msgid "Sign in as %(username)s" msgstr "" -#: canaille/core/templates/password.html:22 +#: canaille/core/templates/password.html:23 msgid "Please enter your password for this account." msgstr "" -#: canaille/core/templates/password.html:32 +#: canaille/core/templates/password.html:39 #, python-format msgid "I am not %(username)s" msgstr "" -#: canaille/core/templates/password.html:36 canaille/templates/base.html:74 +#: canaille/core/templates/password.html:43 canaille/templates/base.html:74 msgid "Sign in" msgstr "" @@ -982,8 +982,8 @@ msgstr "" #: canaille/core/templates/mails/admin.html:97 #: canaille/core/templates/mails/reset.html:19 #: canaille/core/templates/profile_settings.html:116 -#: canaille/core/templates/reset-password.html:11 -#: canaille/core/templates/reset-password.html:16 +#: canaille/core/templates/reset-password.html:12 +#: canaille/core/templates/reset-password.html:18 msgid "Password reset" msgstr "" @@ -1367,7 +1367,7 @@ msgstr "" #: canaille/oidc/templates/partial/authorization_list.html:33 #: canaille/oidc/templates/partial/client_list.html:37 #: canaille/oidc/templates/partial/token_list.html:41 -msgid "Maybe try with different criterias?" +msgid "Maybe try with different criteria?" msgstr "" #: canaille/core/templates/partial/group-members.html:88 @@ -1404,130 +1404,130 @@ msgstr "" msgid "Groups you belong to." msgstr "" -#: canaille/oidc/endpoints/clients.py:45 +#: canaille/oidc/endpoints/clients.py:46 msgid "The client has not been added. Please check your information." msgstr "" -#: canaille/oidc/endpoints/clients.py:80 +#: canaille/oidc/endpoints/clients.py:81 msgid "The client has been created." msgstr "" -#: canaille/oidc/endpoints/clients.py:113 +#: canaille/oidc/endpoints/clients.py:114 msgid "The client has not been edited. Please check your information." msgstr "" -#: canaille/oidc/endpoints/clients.py:142 +#: canaille/oidc/endpoints/clients.py:144 msgid "The client has been edited." msgstr "" -#: canaille/oidc/endpoints/clients.py:150 +#: canaille/oidc/endpoints/clients.py:152 msgid "The client has been deleted." msgstr "" -#: canaille/oidc/endpoints/consents.py:72 -#: canaille/oidc/endpoints/consents.py:107 +#: canaille/oidc/endpoints/consents.py:73 +#: canaille/oidc/endpoints/consents.py:108 msgid "Could not revoke this access" msgstr "" -#: canaille/oidc/endpoints/consents.py:75 +#: canaille/oidc/endpoints/consents.py:76 msgid "The access is already revoked" msgstr "" -#: canaille/oidc/endpoints/consents.py:79 -#: canaille/oidc/endpoints/consents.py:122 +#: canaille/oidc/endpoints/consents.py:80 +#: canaille/oidc/endpoints/consents.py:123 msgid "The access has been revoked" msgstr "" -#: canaille/oidc/endpoints/consents.py:88 +#: canaille/oidc/endpoints/consents.py:89 msgid "Could not restore this access" msgstr "" -#: canaille/oidc/endpoints/consents.py:91 +#: canaille/oidc/endpoints/consents.py:92 msgid "The access is not revoked" msgstr "" -#: canaille/oidc/endpoints/consents.py:98 +#: canaille/oidc/endpoints/consents.py:99 msgid "The access has been restored" msgstr "" -#: canaille/oidc/endpoints/forms.py:32 +#: canaille/oidc/endpoints/forms.py:35 msgid "Contacts" msgstr "" -#: canaille/oidc/endpoints/forms.py:40 +#: canaille/oidc/endpoints/forms.py:43 msgid "URI" msgstr "" -#: canaille/oidc/endpoints/forms.py:49 +#: canaille/oidc/endpoints/forms.py:52 msgid "Redirect URIs" msgstr "" -#: canaille/oidc/endpoints/forms.py:61 +#: canaille/oidc/endpoints/forms.py:64 msgid "Post logout redirect URIs" msgstr "" -#: canaille/oidc/endpoints/forms.py:74 +#: canaille/oidc/endpoints/forms.py:77 msgid "Grant types" msgstr "" -#: canaille/oidc/endpoints/forms.py:86 +#: canaille/oidc/endpoints/forms.py:89 #: canaille/oidc/templates/token_view.html:61 msgid "Scope" msgstr "" -#: canaille/oidc/endpoints/forms.py:92 +#: canaille/oidc/endpoints/forms.py:95 msgid "Response types" msgstr "" -#: canaille/oidc/endpoints/forms.py:98 +#: canaille/oidc/endpoints/forms.py:101 msgid "Token Endpoint Auth Method" msgstr "" -#: canaille/oidc/endpoints/forms.py:108 +#: canaille/oidc/endpoints/forms.py:111 msgid "Token audiences" msgstr "" -#: canaille/oidc/endpoints/forms.py:115 +#: canaille/oidc/endpoints/forms.py:118 msgid "Logo URI" msgstr "" -#: canaille/oidc/endpoints/forms.py:123 +#: canaille/oidc/endpoints/forms.py:126 msgid "Terms of service URI" msgstr "" -#: canaille/oidc/endpoints/forms.py:131 +#: canaille/oidc/endpoints/forms.py:134 msgid "Policy URI" msgstr "" -#: canaille/oidc/endpoints/forms.py:139 +#: canaille/oidc/endpoints/forms.py:142 msgid "Software ID" msgstr "" -#: canaille/oidc/endpoints/forms.py:144 +#: canaille/oidc/endpoints/forms.py:147 msgid "Software Version" msgstr "" -#: canaille/oidc/endpoints/forms.py:149 +#: canaille/oidc/endpoints/forms.py:152 msgid "JWK" msgstr "" -#: canaille/oidc/endpoints/forms.py:154 +#: canaille/oidc/endpoints/forms.py:157 msgid "JKW URI" msgstr "" -#: canaille/oidc/endpoints/forms.py:162 +#: canaille/oidc/endpoints/forms.py:165 msgid "Pre-consent" msgstr "" -#: canaille/oidc/endpoints/oauth.py:353 +#: canaille/oidc/endpoints/oauth.py:355 msgid "You have been disconnected" msgstr "" -#: canaille/oidc/endpoints/oauth.py:370 +#: canaille/oidc/endpoints/oauth.py:372 msgid "You have not been disconnected" msgstr "" -#: canaille/oidc/endpoints/tokens.py:44 +#: canaille/oidc/endpoints/tokens.py:45 msgid "The token has successfully been revoked." msgstr "" diff --git a/pyproject.toml b/pyproject.toml index be2565c2..692eb8bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -233,3 +233,22 @@ commands = poetry run pytest --cov --cov-fail-under=100 --cov-report term:skip-covered {posargs:-n auto} poetry run coverage html """ + +[[tool.babel.mappings]] +method = "python" +pattern = "**.py" + +[[tool.babel.mappings]] +method = "jinja2" +pattern = "**/templates/**.html" +trimmed = "true" + +[[tool.babel.mappings]] +method = "jinja2" +pattern = "**/themes/**.html" +trimmed = "true" + +[[tool.babel.mappings]] +method = "jinja2" +pattern = "**/templates/**.txt" +trimmed = "true"