Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: Canaille/Canaille
Translate-URL: https://hosted.weblate.org/projects/canaille/canaille/
This commit is contained in:
Hosted Weblate 2024-12-12 09:58:34 +01:00
parent d742e684cb
commit 6210c1e105
No known key found for this signature in database
GPG key ID: A3FAAA06E6569B4C
8 changed files with 1929 additions and 1069 deletions

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2024-08-08 19:09+0000\n" "PO-Revision-Date: 2024-08-08 19:09+0000\n"
"Last-Translator: Moha684 <nahil82466@gmail.com>\n" "Last-Translator: Moha684 <nahil82466@gmail.com>\n"
"Language-Team: Breton <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: Breton <https://hosted.weblate.org/projects/canaille/canaille/"
@ -24,7 +24,7 @@ msgstr ""
"X-Generator: Weblate 5.7-dev\n" "X-Generator: Weblate 5.7-dev\n"
"Generated-By: Babel 2.14.0\n" "Generated-By: Babel 2.14.0\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "N'eus bet kefluniet servijer SMTP ebet" msgstr "N'eus bet kefluniet servijer SMTP ebet"
@ -99,8 +99,8 @@ msgstr "C'hwitadenn war dilesadur ar servijer LDAP evit an arveriad '{user}'"
msgid "John Doe" msgid "John Doe"
msgstr "Tifenn Utoriell" msgstr "Tifenn Utoriell"
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "tutoriell" msgstr "tutoriell"
@ -154,6 +154,12 @@ msgstr "Kendalc'hit d'en em enskrivañ war {website_name}"
msgid "Compromised password check failure on {website_name}" msgid "Compromised password check failure on {website_name}"
msgstr "Ger-tremen adtiekaat war {website_name}" msgstr "Ger-tremen adtiekaat war {website_name}"
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
#, fuzzy
#| msgid "Password initialization on {website_name}"
msgid "One-time password authentication on {website_name}"
msgstr "O teraouekaat ho ger-tremen war {website_name}"
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "" msgstr ""
@ -182,12 +188,12 @@ msgstr "An ere ho peus degaset amañ zo aet da get."
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "Krouet eo bet ho kont dija." msgstr "Krouet eo bet ho kont dija."
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "Kevreet oc'h dija, ne c'hallot ket krouiñ ur gont." msgstr "Kevreet oc'h dija, ne c'hallot ket krouiñ ur gont."
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -195,114 +201,119 @@ msgstr "Kevreet oc'h dija, ne c'hallot ket krouiñ ur gont."
msgid "Groups" msgid "Groups"
msgstr "Strolladoù" msgstr "Strolladoù"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
msgid "User account creation failed." msgid "User account creation failed."
msgstr "C'hwitadenn war krouiñ ar gont implijer." msgstr "C'hwitadenn war krouiñ ar gont implijer."
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "Krouet eo bet ho kont implijer gant berzh." msgstr "Krouet eo bet ho kont implijer gant berzh."
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "An ere kadarnaat n'eo ket reizh." msgstr "An ere kadarnaat n'eo ket reizh."
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "Al liamm kadarnaat zo bet degaset deoc'h amañ zo aet da get." msgstr "Al liamm kadarnaat zo bet degaset deoc'h amañ zo aet da get."
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "Direizh eo al liamm pedadenn ho peus degaset amañ." msgstr "Direizh eo al liamm pedadenn ho peus degaset amañ."
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "Kadarnaet eo bet ar chomlec'h postel-mañ dija." msgstr "Kadarnaet eo bet ar chomlec'h postel-mañ dija."
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "Liammet eo ar chomlec'h postel-mañ ouzh ur gont all dija." msgstr "Liammet eo ar chomlec'h postel-mañ ouzh ur gont all dija."
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "Kadarnaet eo bet ho chomlec'h postel." msgstr "Kadarnaet eo bet ho chomlec'h postel."
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "Berzh en graet krouidigezh ar gont." msgstr "Berzh en graet krouidigezh ar gont."
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "C'hwitadenn war embann an aelad." msgstr "C'hwitadenn war embann an aelad."
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "Hizivaet eo bet an aelad gant berzh." msgstr "Hizivaet eo bet an aelad gant berzh."
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
msgid "Email addition failed." msgid "Email addition failed."
msgstr "Chwitadenn war ouzhpennañ ar chomlech postel." msgstr "Chwitadenn war ouzhpennañ ar chomlech postel."
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
msgid "" msgid ""
"A password initialization link has been sent at the user email address. It " "A password initialization link has been sent at the user email address. It "
"should be received within a few minutes." "should be received within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
msgid "" msgid ""
"A password reset link has been sent at the user email address. It should be " "A password reset link has been sent at the user email address. It should be "
"received within a few minutes." "received within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
msgid "The account has been locked" msgid "The account has been locked"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, python-format #, python-format
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, python-format #, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "" msgstr ""
@ -312,10 +323,10 @@ msgstr ""
msgid "Email" msgid "Email"
msgstr "Postel" msgstr "Postel"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
#, fuzzy #, fuzzy
#| msgid "jane@doe.com" #| msgid "jane@doe.com"
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
@ -337,115 +348,117 @@ msgstr ""
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, python-format #, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
"cannot send a password reset email." "cannot send a password reset email."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
msgid "Login" msgid "Login"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -454,167 +467,176 @@ msgstr ""
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
msgid "Email addresses" msgid "Email addresses"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
msgid "Phone numbers" msgid "Phone numbers"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
msgid "Street" msgid "Street"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
msgid "User number" msgid "User number"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
msgid "Department" msgid "Department"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
msgid "Organization" msgid "Organization"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
msgid "users, admins …" msgid "users, admins …"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
msgid "Account expiration" msgid "Account expiration"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
msgid "User name" msgid "User name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
msgid "New email address" msgid "New email address"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
msgid "One-time password"
msgstr ""
#: canaille/core/endpoints/forms.py:494
msgid "123456"
msgstr ""
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
msgid "Group creation failed." msgid "Group creation failed."
msgstr "" msgstr ""
@ -769,7 +791,7 @@ msgstr ""
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "" msgstr ""
@ -891,10 +913,13 @@ msgstr ""
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "" msgstr ""
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "" msgstr ""
@ -904,6 +929,7 @@ msgid "Please enter your password for this account."
msgstr "" msgstr ""
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "" msgstr ""
@ -979,6 +1005,7 @@ msgid "Send a verification email to validate this address."
msgstr "" msgstr ""
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "" msgstr ""
@ -1063,27 +1090,40 @@ msgstr ""
msgid "The user won't be able to connect until their account is unlocked." msgid "The user won't be able to connect until their account is unlocked."
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
msgid "Lock the account" msgid "Lock the account"
msgstr "" msgstr ""
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "" msgstr ""
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "" msgstr ""
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "" msgstr ""
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "" msgstr ""
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1199,6 +1239,10 @@ msgstr ""
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:171
msgid "Email one-time password"
msgstr ""
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1304,6 +1348,30 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "" msgstr ""
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, python-format
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
#: canaille/core/templates/mails/email_otp.html:30
msgid "Your one-time password"
msgstr ""
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1414,6 +1482,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1474,6 +1543,23 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, python-format
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
@ -1519,6 +1605,12 @@ msgstr ""
msgid "Number of members" msgid "Number of members"
msgstr "" msgstr ""
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2024-06-26 11:09+0000\n" "PO-Revision-Date: 2024-06-26 11:09+0000\n"
"Last-Translator: Sascha <swi@thechameleonway.com>\n" "Last-Translator: Sascha <swi@thechameleonway.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: German <https://hosted.weblate.org/projects/canaille/canaille/"
@ -20,7 +20,7 @@ msgstr ""
"X-Generator: Weblate 5.6-rc\n" "X-Generator: Weblate 5.6-rc\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Es wurde kein SMTP-Server konfiguriert" msgstr "Es wurde kein SMTP-Server konfiguriert"
@ -95,8 +95,8 @@ msgstr "LDAP Authentifizierung für Benutzer '{user}' fehlgeschlagen"
msgid "John Doe" msgid "John Doe"
msgstr "Max Mustermann" msgstr "Max Mustermann"
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "mmustermann" msgstr "mmustermann"
@ -150,6 +150,12 @@ msgstr "Registrierung fortsetzen unter {website_name}"
msgid "Compromised password check failure on {website_name}" msgid "Compromised password check failure on {website_name}"
msgstr "Passwort zurücksetzen auf {website_name}" msgstr "Passwort zurücksetzen auf {website_name}"
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
#, fuzzy
#| msgid "Password initialization on {website_name}"
msgid "One-time password authentication on {website_name}"
msgstr "Passwortinitialisierung auf {website_name}"
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "In Kürze erhalten Sie eine E-Mail um die Registrierung fortzusetzen." msgstr "In Kürze erhalten Sie eine E-Mail um die Registrierung fortzusetzen."
@ -176,12 +182,12 @@ msgstr "Der Registrierungslink, der Sie hier hergeführt hat, ist abgelaufen."
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "Ihr Konto wurde bereits erstellt." msgstr "Ihr Konto wurde bereits erstellt."
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "Sie sind bereits angemeldet, Sie können kein Konto erstellen." msgstr "Sie sind bereits angemeldet, Sie können kein Konto erstellen."
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -189,60 +195,60 @@ msgstr "Sie sind bereits angemeldet, Sie können kein Konto erstellen."
msgid "Groups" msgid "Groups"
msgstr "Gruppen" msgstr "Gruppen"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
msgid "User account creation failed." msgid "User account creation failed."
msgstr "Erstellung des Benutzerkontos fehlgeschlagen." msgstr "Erstellung des Benutzerkontos fehlgeschlagen."
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "Ihr Konto wurde erfolgreich erstellt." msgstr "Ihr Konto wurde erfolgreich erstellt."
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "Der E-Mail-Bestätigungslink, der Sie hierhergeführt hat, ist ungültig." msgstr "Der E-Mail-Bestätigungslink, der Sie hierhergeführt hat, ist ungültig."
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "" msgstr ""
"Der E-Mail-Bestätigungslink, der Sie hier hergeführt hat, ist abgelaufen." "Der E-Mail-Bestätigungslink, der Sie hier hergeführt hat, ist abgelaufen."
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "Der Einladungslink, der Sie hierhergeführt hat, war ungültig." msgstr "Der Einladungslink, der Sie hierhergeführt hat, war ungültig."
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "Diese E-Mail-Adresse wurde bereits bestätigt." msgstr "Diese E-Mail-Adresse wurde bereits bestätigt."
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "Diese E-Mail-Adresse ist bereits mit einem anderen Account verknüpft." msgstr "Diese E-Mail-Adresse ist bereits mit einem anderen Account verknüpft."
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "Ihre E-Mail-Adresse wurde bestätigt." msgstr "Ihre E-Mail-Adresse wurde bestätigt."
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "Benutzerkonto erfolgreich erstellt." msgstr "Benutzerkonto erfolgreich erstellt."
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "Profiländerung fehlgeschlagen." msgstr "Profiländerung fehlgeschlagen."
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "Profil erfolgreich aktualisiert." msgstr "Profil erfolgreich aktualisiert."
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
msgid "Email addition failed." msgid "Email addition failed."
msgstr "E-Mail hinzufügen fehlgeschlagen." msgstr "E-Mail hinzufügen fehlgeschlagen."
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
@ -250,19 +256,19 @@ msgstr ""
"Eine E-Mail wurde an die Adresse gesendet. Bitte prüfen Sie Ihren " "Eine E-Mail wurde an die Adresse gesendet. Bitte prüfen Sie Ihren "
"Posteingang und klicken Sie auf den Verifizierungslink in der E-Mail" "Posteingang und klicken Sie auf den Verifizierungslink in der E-Mail"
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "Die E-Mail zur Verifikation konnte nicht gesendet werden" msgstr "Die E-Mail zur Verifikation konnte nicht gesendet werden"
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "E-Mail löschen fehlgeschlagen." msgstr "E-Mail löschen fehlgeschlagen."
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "Die E-Mail wurde erfolgreich entfernt." msgstr "Die E-Mail wurde erfolgreich entfernt."
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
msgid "" msgid ""
"A password initialization link has been sent at the user email address. It " "A password initialization link has been sent at the user email address. It "
"should be received within a few minutes." "should be received within a few minutes."
@ -270,11 +276,11 @@ msgstr ""
"Ein Link zur Initialisierung des Passworts wurde an die E-Mail-Adresse des " "Ein Link zur Initialisierung des Passworts wurde an die E-Mail-Adresse des "
"Benutzers gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten." "Benutzers gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten."
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "Die E-Mail zur Kennwortinitialisierung konnte nicht gesendet werden" msgstr "Die E-Mail zur Kennwortinitialisierung konnte nicht gesendet werden"
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
msgid "" msgid ""
"A password reset link has been sent at the user email address. It should be " "A password reset link has been sent at the user email address. It should be "
"received within a few minutes." "received within a few minutes."
@ -282,29 +288,34 @@ msgstr ""
"Ein Link zum Zurücksetzen des Passworts wurde an die E-Mail-Adresse des " "Ein Link zum Zurücksetzen des Passworts wurde an die E-Mail-Adresse des "
"Benutzers gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten." "Benutzers gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten."
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "Die E-Mail zum Zurücksetzen des Passworts konnte nicht gesendet werden" msgstr "Die E-Mail zum Zurücksetzen des Passworts konnte nicht gesendet werden"
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
msgid "The account has been locked" msgid "The account has been locked"
msgstr "Das Konto wurde gesperrt" msgstr "Das Konto wurde gesperrt"
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "Das Konto wurde entsperrt" msgstr "Das Konto wurde entsperrt"
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, fuzzy, python-format #, fuzzy, python-format
#| msgid "The user %(user)s has been sucessfuly deleted" #| msgid "The user %(user)s has been sucessfuly deleted"
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "Der Benutzer %(user)s wurde erfolgreich gelöscht" msgstr "Der Benutzer %(user)s wurde erfolgreich gelöscht"
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "Gesperrte Benutzer können nicht imitiert werden." msgstr "Gesperrte Benutzer können nicht imitiert werden."
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, python-format #, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "Verbindung erfolgreich. Willkommen %(user)s" msgstr "Verbindung erfolgreich. Willkommen %(user)s"
@ -314,10 +325,10 @@ msgstr "Verbindung erfolgreich. Willkommen %(user)s"
msgid "Email" msgid "Email"
msgstr "E-Mail" msgstr "E-Mail"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
#, fuzzy #, fuzzy
#| msgid "jane@doe.com" #| msgid "jane@doe.com"
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
@ -339,23 +350,25 @@ msgstr "Einladung für {website_name}"
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "E-Mail-Bestätigung auf {website_name}" msgstr "E-Mail-Bestätigung auf {website_name}"
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "Anmeldung fehlgeschlagen, bitte überprüfen Sie Ihre Angaben" msgstr "Anmeldung fehlgeschlagen, bitte überprüfen Sie Ihre Angaben"
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
"Sie können sich nicht an das Login erinnern, mit dem Sie versucht haben, " "Sie können sich nicht an das Login erinnern, mit dem Sie versucht haben, "
"sich anzumelden" "sich anzumelden"
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "Ihre Verbindung wurde unterbrochen. Bis zum nächsten Mal %(user)s" msgstr "Ihre Verbindung wurde unterbrochen. Bis zum nächsten Mal %(user)s"
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
@ -363,11 +376,11 @@ msgstr ""
"Ein Link zur Initialisierung des Passworts wurde an Ihre E-Mail-Adresse " "Ein Link zur Initialisierung des Passworts wurde an Ihre E-Mail-Adresse "
"gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten." "gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten."
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "Konnte den Passwort zurücksetzen Link nicht senden." msgstr "Konnte den Passwort zurücksetzen Link nicht senden."
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
@ -375,7 +388,7 @@ msgstr ""
"Ein Link zum Zurücksetzen des Passworts wurde an Ihre E-Mail-Adresse " "Ein Link zum Zurücksetzen des Passworts wurde an Ihre E-Mail-Adresse "
"gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten." "gesendet. Sie sollten ihn innerhalb weniger Minuten erhalten."
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, python-format #, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
@ -384,46 +397,46 @@ msgstr ""
"Der Benutzer „%(user)s“ hat nicht die Berechtigung, sein Passwort zu " "Der Benutzer „%(user)s“ hat nicht die Berechtigung, sein Passwort zu "
"aktualisieren. Wir können keine E-Mail zum Zurücksetzen des Passworts senden." "aktualisieren. Wir können keine E-Mail zum Zurücksetzen des Passworts senden."
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "" msgstr ""
"Beim Versand der E-Mail zur Wiederherstellung des Passworts ist ein Problem " "Beim Versand der E-Mail zur Wiederherstellung des Passworts ist ein Problem "
"aufgetreten." "aufgetreten."
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "" msgstr ""
"Der Passwort zurücksetzen Link, der Sie hier hergebracht hat, war ungültig." "Der Passwort zurücksetzen Link, der Sie hier hergebracht hat, war ungültig."
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "Ihr Passwort wurde erfolgreich aktualisiert" msgstr "Ihr Passwort wurde erfolgreich aktualisiert"
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "Der Benutzername '{user_name}' existiert bereits" msgstr "Der Benutzername '{user_name}' existiert bereits"
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "Die E-Mail '{email}' wird bereits verwendet" msgstr "Die E-Mail '{email}' wird bereits verwendet"
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "Die Gruppe '{group}' existiert bereits" msgstr "Die Gruppe '{group}' existiert bereits"
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "Der Anmeldename '{login}' existiert nicht" msgstr "Der Anmeldename '{login}' existiert nicht"
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "Der Benutzer, den Sie versuchen zu entfernen, existiert nicht." msgstr "Der Benutzer, den Sie versuchen zu entfernen, existiert nicht."
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "Der Benutzer '{user}' wurde bereits aus der Gruppe '{group}' entfernt" msgstr "Der Benutzer '{user}' wurde bereits aus der Gruppe '{group}' entfernt"
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
@ -431,36 +444,36 @@ msgstr ""
"Die Gruppe '{group}' kann nicht entfernt werden, weil noch mindestens ein " "Die Gruppe '{group}' kann nicht entfernt werden, weil noch mindestens ein "
"Benutzer enthalten ist." "Benutzer enthalten ist."
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
msgid "Login" msgid "Login"
msgstr "Anmeldung" msgstr "Anmeldung"
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Passwortbestätigung" msgstr "Passwortbestätigung"
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "Passwort und Bestätigung stimmen nicht überein." msgstr "Passwort und Bestätigung stimmen nicht überein."
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "Automatisch" msgstr "Automatisch"
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "Anmeldename" msgstr "Anmeldename"
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -469,169 +482,182 @@ msgstr "Anmeldename"
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "Titel" msgstr "Titel"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "Vizepräsident" msgstr "Vizepräsident"
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "Vorname" msgstr "Vorname"
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "Maria" msgstr "Maria"
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "Familienname" msgstr "Familienname"
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "Mustermann" msgstr "Mustermann"
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "Anzeigename" msgstr "Anzeigename"
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "Maria" msgstr "Maria"
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
msgid "Email addresses" msgid "Email addresses"
msgstr "E-Mail-Adressen" msgstr "E-Mail-Adressen"
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
"Diese E-Mail wird als Wiederherstellungsadresse verwendet, um das Passwort " "Diese E-Mail wird als Wiederherstellungsadresse verwendet, um das Passwort "
"bei Bedarf zurückzusetzen" "bei Bedarf zurückzusetzen"
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
msgid "Phone numbers" msgid "Phone numbers"
msgstr "Telefonnummern" msgstr "Telefonnummern"
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "00 00 00 00 00" msgstr "00 00 00 00 00"
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "Musterstrasse 1, 12345 Musterstadt" msgstr "Musterstrasse 1, 12345 Musterstadt"
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
msgid "Street" msgid "Street"
msgstr "Straße" msgstr "Straße"
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "Beispielstraße 132" msgstr "Beispielstraße 132"
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "Postleitzahl" msgstr "Postleitzahl"
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "Lokalität" msgstr "Lokalität"
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "Musterstadt" msgstr "Musterstadt"
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "Region" msgstr "Region"
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "Nordpol" msgstr "Nordpol"
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "Foto" msgstr "Foto"
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "Foto löschen" msgstr "Foto löschen"
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
msgid "User number" msgid "User number"
msgstr "Benutzernummer" msgstr "Benutzernummer"
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "1234" msgstr "1234"
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
msgid "Department" msgid "Department"
msgstr "Abteilung" msgstr "Abteilung"
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
msgid "Organization" msgid "Organization"
msgstr "Organisation" msgstr "Organisation"
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "Musterfirma" msgstr "Musterfirma"
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "Website" msgstr "Website"
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "https://meinewebsite.de" msgstr "https://meinewebsite.de"
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "Bevorzugte Sprache" msgstr "Bevorzugte Sprache"
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
msgid "users, admins …" msgid "users, admins …"
msgstr "Benutzer*innen, Administrator*innen …" msgstr "Benutzer*innen, Administrator*innen …"
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
msgid "Account expiration" msgid "Account expiration"
msgstr "Ablauf des Benutzerkontos" msgstr "Ablauf des Benutzerkontos"
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "Gruppe" msgstr "Gruppe"
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "Beschreibung" msgstr "Beschreibung"
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "E-Mail-Adresse" msgstr "E-Mail-Adresse"
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
msgid "User name" msgid "User name"
msgstr "Name des Benutzers" msgstr "Name des Benutzers"
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "Vom Eingeladenen bearbeitbarer Benutzername" msgstr "Vom Eingeladenen bearbeitbarer Benutzername"
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
msgid "New email address" msgid "New email address"
msgstr "Neue E-Mail-Adresse" msgstr "Neue E-Mail-Adresse"
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
#, fuzzy
#| msgid "Initialize password"
msgid "One-time password"
msgstr "Passwort initialisieren"
#: canaille/core/endpoints/forms.py:494
#, fuzzy
#| msgid "1234"
msgid "123456"
msgstr "1234"
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
msgid "Group creation failed." msgid "Group creation failed."
msgstr "Gruppenerstellung fehlgeschlagen." msgstr "Gruppenerstellung fehlgeschlagen."
@ -799,7 +825,7 @@ msgstr "Gruppe anlegen"
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "Bearbeiten" msgstr "Bearbeiten"
@ -934,10 +960,13 @@ msgstr "Verwalten Sie Ihre Informationen und Ihre Berechtigungen"
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "Weiter" msgstr "Weiter"
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "Anmelden als %(username)s" msgstr "Anmelden als %(username)s"
@ -947,6 +976,7 @@ msgid "Please enter your password for this account."
msgstr "Bitte geben Sie Ihr Passwort für dieses Konto ein." msgstr "Bitte geben Sie Ihr Passwort für dieses Konto ein."
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "Ich bin nicht %(username)s" msgstr "Ich bin nicht %(username)s"
@ -1027,6 +1057,7 @@ msgid "Send a verification email to validate this address."
msgstr "Bestätigungs-E-Mail senden, um diese Adresse zu bestätigen." msgstr "Bestätigungs-E-Mail senden, um diese Adresse zu bestätigen."
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "Überprüfen" msgstr "Überprüfen"
@ -1126,27 +1157,40 @@ msgstr ""
"Der Nutzer kann erst dann eine Verbindung herstellen, wenn sein Konto " "Der Nutzer kann erst dann eine Verbindung herstellen, wenn sein Konto "
"freigeschaltet ist." "freigeschaltet ist."
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
msgid "Lock the account" msgid "Lock the account"
msgstr "Konto sperren" msgstr "Konto sperren"
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "Benutzer löschen" msgstr "Benutzer löschen"
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "Mein Konto löschen" msgstr "Mein Konto löschen"
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "Imitieren" msgstr "Imitieren"
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "Benutzer" msgstr "Benutzer"
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1264,6 +1308,12 @@ msgstr "Registrierung"
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:171
#, fuzzy
#| msgid "Initialize password"
msgid "Email one-time password"
msgstr "Passwort initialisieren"
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1378,6 +1428,42 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "Bestätigungslink" msgstr "Bestätigungslink"
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, fuzzy, python-format
#| msgid ""
#| "Someone, probably you, asked for a password reinitialization link at "
#| "%(site_name)s. If you did not ask for this email, please ignore it. If "
#| "you need to reset your password, please click on the \"Reset password\" "
#| "button below and follow the instructions."
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
"Jemand, wahrscheinlich Sie, hat um einen Link zur Neuinitialisierung des "
"Passworts bei %(site_name)s gebeten. Wenn Sie diese E-Mail nicht angefordert "
"haben, ignorieren Sie sie bitte. Wenn Sie Ihr Passwort zurücksetzen müssen, "
"klicken Sie bitte auf die Schaltfläche \"Passwort zurücksetzen\" unten und "
"folgen Sie den Anweisungen."
#: canaille/core/templates/mails/email_otp.html:30
#, fuzzy
#| msgid "Forgotten password"
msgid "Your one-time password"
msgstr "Passwort vergessen"
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1517,6 +1603,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1586,6 +1673,28 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "Entfernen" msgstr "Entfernen"
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, fuzzy, python-format
#| msgid ""
#| "Are you sure you want to lock the account of %(user_name)s ? The user "
#| "won't be able to login until their account is unlocked."
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
"Sind Sie sicher, dass Sie das Konto von %(user_name)s sperren wollen? Der "
"Benutzer kann sich erst anmelden, wenn sein Konto entsperrt ist."
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "Aktionen" msgstr "Aktionen"
@ -1633,6 +1742,12 @@ msgstr "Es gibt hier nichts"
msgid "Number of members" msgid "Number of members"
msgstr "Anzahl der Mitglieder" msgstr "Anzahl der Mitglieder"
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "Informationen zu Ihrer Person, z. B. Ihren Namen." msgstr "Informationen zu Ihrer Person, z. B. Ihren Namen."

View file

@ -7,8 +7,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: contact@yaal.coop\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2024-12-10 23:12+0000\n" "PO-Revision-Date: 2024-12-10 23:12+0000\n"
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n" "Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/canaille/" "Language-Team: Spanish <https://hosted.weblate.org/projects/canaille/"
@ -21,7 +21,7 @@ msgstr ""
"X-Generator: Weblate 5.9-dev\n" "X-Generator: Weblate 5.9-dev\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "No se ha configurado un servidor SMTP" msgstr "No se ha configurado un servidor SMTP"
@ -97,8 +97,8 @@ msgstr "Falló la autenticación LDAP con el usuario '{user}'"
msgid "John Doe" msgid "John Doe"
msgstr "John Doe" msgstr "John Doe"
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "jdoe" msgstr "jdoe"
@ -148,6 +148,12 @@ msgstr "Continúa con tu registro en {website_name}"
msgid "Compromised password check failure on {website_name}" msgid "Compromised password check failure on {website_name}"
msgstr "Fallo de comprobación de contraseña comprometida en {website_name}" msgstr "Fallo de comprobación de contraseña comprometida en {website_name}"
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
#, fuzzy
#| msgid "Password initialization on {website_name}"
msgid "One-time password authentication on {website_name}"
msgstr "Inicialización de la contraseña en {website_name}"
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "En breve recibirás un correo electrónico para seguir con el registro." msgstr "En breve recibirás un correo electrónico para seguir con el registro."
@ -173,12 +179,12 @@ msgstr "El enlace de registro que te trajo aquí ha caducado."
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "Tu cuenta ya ha sido creada." msgstr "Tu cuenta ya ha sido creada."
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "Ya has iniciado sesión, no puedes crear una cuenta." msgstr "Ya has iniciado sesión, no puedes crear una cuenta."
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -186,63 +192,63 @@ msgstr "Ya has iniciado sesión, no puedes crear una cuenta."
msgid "Groups" msgid "Groups"
msgstr "Grupos" msgstr "Grupos"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
msgid "User account creation failed." msgid "User account creation failed."
msgstr "Error en la creación de la cuenta de usuario." msgstr "Error en la creación de la cuenta de usuario."
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "Tu cuenta se ha creado correctamente." msgstr "Tu cuenta se ha creado correctamente."
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "" msgstr ""
"El enlace de confirmación del correo electrónico que te ha traído hasta aquí " "El enlace de confirmación del correo electrónico que te ha traído hasta aquí "
"no es válido." "no es válido."
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "" msgstr ""
"El enlace de confirmación del correo electrónico que te trajo hasta aquí ha " "El enlace de confirmación del correo electrónico que te trajo hasta aquí ha "
"caducado." "caducado."
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "El enlace de invitación con el que has accedido no es válido." msgstr "El enlace de invitación con el que has accedido no es válido."
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "Esta dirección de correo electrónico ya ha sido confirmada." msgstr "Esta dirección de correo electrónico ya ha sido confirmada."
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "Esta dirección de correo electrónico ya está asociada a otra cuenta." msgstr "Esta dirección de correo electrónico ya está asociada a otra cuenta."
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "Tu dirección de correo electrónico ha sido confirmada." msgstr "Tu dirección de correo electrónico ha sido confirmada."
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "Cuenta creada correctamente." msgstr "Cuenta creada correctamente."
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "Ha fallado la edición del perfil." msgstr "Ha fallado la edición del perfil."
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "Perfil actualizado correctamente." msgstr "Perfil actualizado correctamente."
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
msgid "Email addition failed." msgid "Email addition failed."
msgstr "Error al añadir el correo electrónico." msgstr "Error al añadir el correo electrónico."
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
@ -251,19 +257,19 @@ msgstr ""
"Por favor, comprueba tu bandeja de entrada y haz clic en el enlace de " "Por favor, comprueba tu bandeja de entrada y haz clic en el enlace de "
"verificación que contiene" "verificación que contiene"
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "No se pudo enviar el correo electrónico de verificación" msgstr "No se pudo enviar el correo electrónico de verificación"
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "Error al eliminar el correo electrónico." msgstr "Error al eliminar el correo electrónico."
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "El correo electrónico se ha eliminado correctamente." msgstr "El correo electrónico se ha eliminado correctamente."
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
msgid "" msgid ""
"A password initialization link has been sent at the user email address. It " "A password initialization link has been sent at the user email address. It "
"should be received within a few minutes." "should be received within a few minutes."
@ -271,11 +277,11 @@ msgstr ""
"Se ha enviado un enlace de inicialización de la contraseña a la dirección de " "Se ha enviado un enlace de inicialización de la contraseña a la dirección de "
"correo electrónico del usuario. Deberías recibirlo en unos minutos." "correo electrónico del usuario. Deberías recibirlo en unos minutos."
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "No se pudo enviar el email de inicialización de contraseña" msgstr "No se pudo enviar el email de inicialización de contraseña"
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
msgid "" msgid ""
"A password reset link has been sent at the user email address. It should be " "A password reset link has been sent at the user email address. It should be "
"received within a few minutes." "received within a few minutes."
@ -283,28 +289,33 @@ msgstr ""
"Se ha enviado un enlace de restablecimiento de la contraseña a la dirección " "Se ha enviado un enlace de restablecimiento de la contraseña a la dirección "
"del correo electrónico del usuario. Deberías recibirlo en unos minutos." "del correo electrónico del usuario. Deberías recibirlo en unos minutos."
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "No se pudo enviar el correo electrónico para restablecer la contraseña" msgstr "No se pudo enviar el correo electrónico para restablecer la contraseña"
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
msgid "The account has been locked" msgid "The account has been locked"
msgstr "La cuenta ha sido bloqueada" msgstr "La cuenta ha sido bloqueada"
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "La cuenta ha sido desbloqueada" msgstr "La cuenta ha sido desbloqueada"
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, python-format #, python-format
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "El usuario %(user)s ha sido eliminado correctamente" msgstr "El usuario %(user)s ha sido eliminado correctamente"
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "Los usuarios bloqueados no pueden ser suplantados." msgstr "Los usuarios bloqueados no pueden ser suplantados."
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, python-format #, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "Acceso correcto. Bienvenido/a %(user)s" msgstr "Acceso correcto. Bienvenido/a %(user)s"
@ -314,10 +325,10 @@ msgstr "Acceso correcto. Bienvenido/a %(user)s"
msgid "Email" msgid "Email"
msgstr "Correo electrónico" msgstr "Correo electrónico"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
msgstr "jane.doe@example.com" msgstr "jane.doe@example.com"
@ -337,22 +348,24 @@ msgstr "Invitación a {website_name}"
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "Confirmación por correo electrónico en {website_name}" msgstr "Confirmación por correo electrónico en {website_name}"
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "Falló el inicio de sesión, comprueba tus credenciales" msgstr "Falló el inicio de sesión, comprueba tus credenciales"
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
"No se puede recordar el nombre de usuario con el que intentó iniciar sesión" "No se puede recordar el nombre de usuario con el que intentó iniciar sesión"
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "La sesión se ha cerrado. Hasta la próxima, %(user)s" msgstr "La sesión se ha cerrado. Hasta la próxima, %(user)s"
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
@ -360,12 +373,12 @@ msgstr ""
"Se ha enviado un enlace de inicialización de la contraseña a tu correo " "Se ha enviado un enlace de inicialización de la contraseña a tu correo "
"electrónico. Deberías recibirlo en unos minutos." "electrónico. Deberías recibirlo en unos minutos."
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "" msgstr ""
"No se pudo enviar el correo electrónico para restablecer de contraseña." "No se pudo enviar el correo electrónico para restablecer de contraseña."
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
@ -373,7 +386,7 @@ msgstr ""
"Se ha enviado un enlace para restablecer la contraseña a tu correo " "Se ha enviado un enlace para restablecer la contraseña a tu correo "
"electrónico. Deberías recibirlo en unos minutos." "electrónico. Deberías recibirlo en unos minutos."
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, python-format #, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
@ -382,46 +395,46 @@ msgstr ""
"El usuario '%(user)s' no tiene permiso para actualizar su contraseña. No es " "El usuario '%(user)s' no tiene permiso para actualizar su contraseña. No es "
"posible enviarle un correo electrónico para que restablezca su contraseña." "posible enviarle un correo electrónico para que restablezca su contraseña."
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "" msgstr ""
"Se produjo un problema al enviar el correo electrónico para recuperar la " "Se produjo un problema al enviar el correo electrónico para recuperar la "
"contraseña." "contraseña."
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "" msgstr ""
"El enlace para restablecer la contraseña que le ha traído aquí no es válido." "El enlace para restablecer la contraseña que le ha traído aquí no es válido."
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "Tu contraseña se ha actualizado correctamente" msgstr "Tu contraseña se ha actualizado correctamente"
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "El nombre de usuario '{user_name}' ya existe" msgstr "El nombre de usuario '{user_name}' ya existe"
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "El correo electrónico '{email}' ya está en uso" msgstr "El correo electrónico '{email}' ya está en uso"
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "El grupo '{group}' ya existe" msgstr "El grupo '{group}' ya existe"
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "El usuario '{login}' no existe" msgstr "El usuario '{login}' no existe"
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "El usuario que intenta eliminar no existe." msgstr "El usuario que intenta eliminar no existe."
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "El usuario '{user}' ya ha sido eliminado del grupo '{group}'" msgstr "El usuario '{user}' ya ha sido eliminado del grupo '{group}'"
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
@ -429,36 +442,36 @@ msgstr ""
"El grupo '{group}' no puede ser eliminado, porque debe tener al menos un " "El grupo '{group}' no puede ser eliminado, porque debe tener al menos un "
"usuario." "usuario."
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
msgid "Login" msgid "Login"
msgstr "Usuario" msgstr "Usuario"
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Confirmación de contraseña" msgstr "Confirmación de contraseña"
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "La contraseña y la confirmación no coinciden." msgstr "La contraseña y la confirmación no coinciden."
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "Automático" msgstr "Automático"
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "Nombre de usuario" msgstr "Nombre de usuario"
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -467,169 +480,182 @@ msgstr "Nombre de usuario"
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "Título" msgstr "Título"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "Vicepresidente" msgstr "Vicepresidente"
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "Nombre de pila" msgstr "Nombre de pila"
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "John" msgstr "John"
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "Apellidos" msgstr "Apellidos"
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "Doe" msgstr "Doe"
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "Nombre a mostrar" msgstr "Nombre a mostrar"
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "Johnny" msgstr "Johnny"
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
msgid "Email addresses" msgid "Email addresses"
msgstr "Direcciones de correo electrónico" msgstr "Direcciones de correo electrónico"
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
"Se utilizará este correo electrónico como dirección de recuperación para " "Se utilizará este correo electrónico como dirección de recuperación para "
"restablecer la contraseña si fuera necesario" "restablecer la contraseña si fuera necesario"
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
msgid "Phone numbers" msgid "Phone numbers"
msgstr "Números de teléfono" msgstr "Números de teléfono"
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "+34 999 111 222" msgstr "+34 999 111 222"
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "Dirección" msgstr "Dirección"
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "Calle Foobar, 132, Gotham City 12401, XX" msgstr "Calle Foobar, 132, Gotham City 12401, XX"
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
msgid "Street" msgid "Street"
msgstr "Calle" msgstr "Calle"
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "Calle Foobar, 132" msgstr "Calle Foobar, 132"
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "Código Postal" msgstr "Código Postal"
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "Localidad" msgstr "Localidad"
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "Ciudad de Gotham" msgstr "Ciudad de Gotham"
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "Región" msgstr "Región"
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "Polo Norte" msgstr "Polo Norte"
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "Foto" msgstr "Foto"
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "Eliminar foto" msgstr "Eliminar foto"
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
msgid "User number" msgid "User number"
msgstr "Número de usuario" msgstr "Número de usuario"
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "1234" msgstr "1234"
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
msgid "Department" msgid "Department"
msgstr "Departamento" msgstr "Departamento"
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
msgid "Organization" msgid "Organization"
msgstr "Organización" msgstr "Organización"
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "Cogip LTD." msgstr "Cogip LTD."
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "Sitio web" msgstr "Sitio web"
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "https://mywebsite.tld" msgstr "https://mywebsite.tld"
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "Idioma preferido" msgstr "Idioma preferido"
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
msgid "users, admins …" msgid "users, admins …"
msgstr "usuarios, administradores…" msgstr "usuarios, administradores…"
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
msgid "Account expiration" msgid "Account expiration"
msgstr "Caducidad de la cuenta" msgstr "Caducidad de la cuenta"
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "grupo" msgstr "grupo"
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "Descripción" msgstr "Descripción"
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "Dirección de correo electrónico" msgstr "Dirección de correo electrónico"
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
msgid "User name" msgid "User name"
msgstr "Nombre de usuario" msgstr "Nombre de usuario"
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "Nombre de usuario editable por el invitado" msgstr "Nombre de usuario editable por el invitado"
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
msgid "New email address" msgid "New email address"
msgstr "Nueva dirección de correo electrónico" msgstr "Nueva dirección de correo electrónico"
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
#, fuzzy
#| msgid "Initialize password"
msgid "One-time password"
msgstr "Inicializar contraseña"
#: canaille/core/endpoints/forms.py:494
#, fuzzy
#| msgid "1234"
msgid "123456"
msgstr "1234"
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
msgid "Group creation failed." msgid "Group creation failed."
msgstr "Error en la creación del grupo." msgstr "Error en la creación del grupo."
@ -795,7 +821,7 @@ msgstr "Crear grupo"
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
@ -930,10 +956,13 @@ msgstr "Gestionar tu información y tus autorizaciones"
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "Continuar" msgstr "Continuar"
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "Iniciar sesión como %(username)s" msgstr "Iniciar sesión como %(username)s"
@ -943,6 +972,7 @@ msgid "Please enter your password for this account."
msgstr "Introduce la contraseña para esta cuenta." msgstr "Introduce la contraseña para esta cuenta."
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "No soy %(username)s" msgstr "No soy %(username)s"
@ -1023,6 +1053,7 @@ msgstr ""
"Enviar un correo electrónico de verificación para validar esta dirección." "Enviar un correo electrónico de verificación para validar esta dirección."
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "Comprobar" msgstr "Comprobar"
@ -1118,27 +1149,40 @@ msgstr "Esta cuenta de usuario está bloqueada"
msgid "The user won't be able to connect until their account is unlocked." msgid "The user won't be able to connect until their account is unlocked."
msgstr "El usuario no podrá conectarse hasta que la cuenta esté desbloqueada." msgstr "El usuario no podrá conectarse hasta que la cuenta esté desbloqueada."
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
msgid "Lock the account" msgid "Lock the account"
msgstr "Bloquear la cuenta" msgstr "Bloquear la cuenta"
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "Eliminar usuario" msgstr "Eliminar usuario"
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "Eliminar mi cuenta" msgstr "Eliminar mi cuenta"
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "Suplantar" msgstr "Suplantar"
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "Usuarios" msgstr "Usuarios"
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1258,6 +1302,12 @@ msgstr "Registro"
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "Fallo de comprobación de contraseña comprometida" msgstr "Fallo de comprobación de contraseña comprometida"
#: canaille/core/templates/mails/admin.html:171
#, fuzzy
#| msgid "Initialize password"
msgid "Email one-time password"
msgstr "Inicializar contraseña"
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1386,6 +1436,41 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "Enlace de verificación" msgstr "Enlace de verificación"
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, fuzzy, python-format
#| msgid ""
#| "Someone, probably you, asked for a password reinitialization link at "
#| "%(site_name)s. If you did not ask for this email, please ignore it. If "
#| "you need to reset your password, please click on the \"Reset password\" "
#| "button below and follow the instructions."
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
"Alguien, probablemente tú, solicitó un enlace para restablecer la contraseña "
"en %(site_name)s. Si no has solicitado este email, por favor ignóralo. Si "
"necesitas restablecer tu contraseña, haz clic en el botón \"Restablecer "
"contraseña\" que aparece a continuación y sigue las instrucciones."
#: canaille/core/templates/mails/email_otp.html:30
#, fuzzy
#| msgid "Forgotten password"
msgid "Your one-time password"
msgstr "He olvidado mi contraseña"
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1522,6 +1607,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1590,6 +1676,28 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "Quitar" msgstr "Quitar"
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, fuzzy, python-format
#| msgid ""
#| "Are you sure you want to lock the account of %(user_name)s ? The user "
#| "won't be able to login until their account is unlocked."
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
"¿Estás seguro de que deseas bloquear la cuenta de %(user_name)s? El usuario "
"no podrá iniciar sesión hasta que se desbloquee su cuenta."
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "Acciones" msgstr "Acciones"
@ -1635,6 +1743,12 @@ msgstr "No hay nada aquí"
msgid "Number of members" msgid "Number of members"
msgstr "Número de miembros" msgstr "Número de miembros"
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "Información sobre ti, como tu nombre." msgstr "Información sobre ti, como tu nombre."

View file

@ -8,8 +8,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: contact@yaal.coop\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2024-12-08 11:22+0000\n" "PO-Revision-Date: 2024-12-08 11:22+0000\n"
"Last-Translator: Éloi Rivard <eloi.rivard@nubla.fr>\n" "Last-Translator: Éloi Rivard <eloi.rivard@nubla.fr>\n"
"Language-Team: French <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: French <https://hosted.weblate.org/projects/canaille/canaille/"
@ -22,7 +22,7 @@ msgstr ""
"X-Generator: Weblate 5.9-dev\n" "X-Generator: Weblate 5.9-dev\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Aucun serveur SMTP n'a été configuré" msgstr "Aucun serveur SMTP n'a été configuré"
@ -101,8 +101,8 @@ msgstr ""
msgid "John Doe" msgid "John Doe"
msgstr "Camille Dupont" msgstr "Camille Dupont"
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "cdupont" msgstr "cdupont"
@ -154,6 +154,12 @@ msgstr ""
"Échec de la vérification de la compromission du mot de passe sur " "Échec de la vérification de la compromission du mot de passe sur "
"{website_name}" "{website_name}"
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
#, fuzzy
#| msgid "Password initialization on {website_name}"
msgid "One-time password authentication on {website_name}"
msgstr "Initialisation de votre mot de passe sur {website_name}"
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "" msgstr ""
@ -182,12 +188,12 @@ msgstr "Le lien qui vous a amené ici a expiré."
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "Votre compte a déjà été créé." msgstr "Votre compte a déjà été créé."
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "Vous êtes déjà connectés, vous ne pouvez pas créer de compte." msgstr "Vous êtes déjà connectés, vous ne pouvez pas créer de compte."
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -195,59 +201,59 @@ msgstr "Vous êtes déjà connectés, vous ne pouvez pas créer de compte."
msgid "Groups" msgid "Groups"
msgstr "Groupes" msgstr "Groupes"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
msgid "User account creation failed." msgid "User account creation failed."
msgstr "La création du compte utilisateur a échoué." msgstr "La création du compte utilisateur a échoué."
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "Votre compte utilisateur a été créé avec succès." msgstr "Votre compte utilisateur a été créé avec succès."
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "Le lien de confirmation qui vous a amené ici est invalide." msgstr "Le lien de confirmation qui vous a amené ici est invalide."
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "Le lien de confirmation qui vous a amené ici a expiré." msgstr "Le lien de confirmation qui vous a amené ici a expiré."
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "Le lien d'invitation qui vous a amené ici est invalide." msgstr "Le lien d'invitation qui vous a amené ici est invalide."
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "Cette adresse email a déjà été confirmée." msgstr "Cette adresse email a déjà été confirmée."
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "Cette adresse email est déjà associée à un autre compte." msgstr "Cette adresse email est déjà associée à un autre compte."
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "Votre adresse email a été confirmée." msgstr "Votre adresse email a été confirmée."
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "La création du compte utilisateur a réussi." msgstr "La création du compte utilisateur a réussi."
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "L'édition du profil a échoué." msgstr "L'édition du profil a échoué."
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "Le profil a été mis à jour avec succès." msgstr "Le profil a été mis à jour avec succès."
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
msgid "Email addition failed." msgid "Email addition failed."
msgstr "Lajout de ladresse email a échoué." msgstr "Lajout de ladresse email a échoué."
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
@ -255,19 +261,19 @@ msgstr ""
"Un courriel a été envoyé à ladresse email. Veuillez consulter votre boîte " "Un courriel a été envoyé à ladresse email. Veuillez consulter votre boîte "
"de réception et cliquer sur le lien de confirmation quil contient" "de réception et cliquer sur le lien de confirmation quil contient"
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "Impossible denvoyer le courriel de confirmation" msgstr "Impossible denvoyer le courriel de confirmation"
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "La suppression de ladresse email a échoué." msgstr "La suppression de ladresse email a échoué."
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "Ladresse email a correctement été supprimée." msgstr "Ladresse email a correctement été supprimée."
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
msgid "" msgid ""
"A password initialization link has been sent at the user email address. It " "A password initialization link has been sent at the user email address. It "
"should be received within a few minutes." "should be received within a few minutes."
@ -275,11 +281,11 @@ msgstr ""
"Un lien d'initialisation de mot de passe a été envoyé à l'utilisateur par " "Un lien d'initialisation de mot de passe a été envoyé à l'utilisateur par "
"courriel. Il devrait arriver d'ici une quelques minutes." "courriel. Il devrait arriver d'ici une quelques minutes."
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "Impossible d'envoyer le courriel d'initialisation de mot de passe" msgstr "Impossible d'envoyer le courriel d'initialisation de mot de passe"
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
msgid "" msgid ""
"A password reset link has been sent at the user email address. It should be " "A password reset link has been sent at the user email address. It should be "
"received within a few minutes." "received within a few minutes."
@ -287,30 +293,35 @@ msgstr ""
"Un lien de réinitialisation de mot de passe a été envoyé à l'utilisateur par " "Un lien de réinitialisation de mot de passe a été envoyé à l'utilisateur par "
"courriel. Il devrait arriver d'ici quelques de minutes." "courriel. Il devrait arriver d'ici quelques de minutes."
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "Impossible d'envoyer le lien de réinitialisation" msgstr "Impossible d'envoyer le lien de réinitialisation"
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
msgid "The account has been locked" msgid "The account has been locked"
msgstr "Le compte a été verrouillé" msgstr "Le compte a été verrouillé"
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "Le compte a été déverrouillé" msgstr "Le compte a été déverrouillé"
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, python-format #, python-format
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "L'utilisateur %(user)s a bien été supprimé" msgstr "L'utilisateur %(user)s a bien été supprimé"
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "" msgstr ""
"Impossible de prendre lidentité dutilisateurs dont le compte est " "Impossible de prendre lidentité dutilisateurs dont le compte est "
"verrouillé." "verrouillé."
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, python-format #, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "Connexion réussie. Bienvenue %(user)s" msgstr "Connexion réussie. Bienvenue %(user)s"
@ -320,10 +331,10 @@ msgstr "Connexion réussie. Bienvenue %(user)s"
msgid "Email" msgid "Email"
msgstr "Courriel" msgstr "Courriel"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
msgstr "camille.dupont@exemple.fr" msgstr "camille.dupont@exemple.fr"
@ -343,23 +354,25 @@ msgstr "Invitation sur {website_name}"
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "Confirmation de votre adresse email sur {website_name}" msgstr "Confirmation de votre adresse email sur {website_name}"
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "La connexion a échoué, veuillez vérifier vos informations" msgstr "La connexion a échoué, veuillez vérifier vos informations"
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
"Impossible de retrouver lidentifiant avec lequel vous avez tenté de vous " "Impossible de retrouver lidentifiant avec lequel vous avez tenté de vous "
"connecter" "connecter"
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "Vous avez été déconnecté·e. À bientôt %(user)s" msgstr "Vous avez été déconnecté·e. À bientôt %(user)s"
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
@ -367,11 +380,11 @@ msgstr ""
"Un lien d'initialisation de votre mot de passe vous a été envoyé par " "Un lien d'initialisation de votre mot de passe vous a été envoyé par "
"courriel. Vous devriez le recevoir d'ici une quelques minutes." "courriel. Vous devriez le recevoir d'ici une quelques minutes."
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "Impossible d'envoyer le lien de réinitialisation." msgstr "Impossible d'envoyer le lien de réinitialisation."
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
@ -379,7 +392,7 @@ msgstr ""
"Un lien de ré-initialisation de votre mot de passe vous a été envoyé par " "Un lien de ré-initialisation de votre mot de passe vous a été envoyé par "
"courriel. Vous devriez le recevoir d'ici quelques minutes." "courriel. Vous devriez le recevoir d'ici quelques minutes."
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, python-format #, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
@ -388,45 +401,45 @@ msgstr ""
"L'utilisateur '%(user)s' n'a pas la permission d'éditer son mot de passe. " "L'utilisateur '%(user)s' n'a pas la permission d'éditer son mot de passe. "
"Nous ne pouvons pas lui envoyer un courriel de réinitialisation." "Nous ne pouvons pas lui envoyer un courriel de réinitialisation."
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "" msgstr ""
"Nous avons rencontré un problème lors de l'envoi du courriel de " "Nous avons rencontré un problème lors de l'envoi du courriel de "
"réinitialisation de mot de passe." "réinitialisation de mot de passe."
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "Le lien de réinitialisation qui vous a amené ici est invalide." msgstr "Le lien de réinitialisation qui vous a amené ici est invalide."
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "Votre mot de passe a correctement été mis à jour" msgstr "Votre mot de passe a correctement été mis à jour"
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "Le nom dutilisateur '{user_name}' existe déjà" msgstr "Le nom dutilisateur '{user_name}' existe déjà"
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "Ladresse '{email}' est déjà utilisée" msgstr "Ladresse '{email}' est déjà utilisée"
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "Le group '{group}' existe déjà" msgstr "Le group '{group}' existe déjà"
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "L'identifiant '{login}' n'existe pas" msgstr "L'identifiant '{login}' n'existe pas"
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "Lutilisateur que vous essayez de retirer nexiste pas." msgstr "Lutilisateur que vous essayez de retirer nexiste pas."
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "Lutilisateur « {user} » a déjà été retiré du groupe « {group} »" msgstr "Lutilisateur « {user} » a déjà été retiré du groupe « {group} »"
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
@ -434,36 +447,36 @@ msgstr ""
"Le groupe « {group} » doit garder au minimum un utilisateur, et ne peut être " "Le groupe « {group} » doit garder au minimum un utilisateur, et ne peut être "
"retiré." "retiré."
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
msgid "Login" msgid "Login"
msgstr "Identifiant" msgstr "Identifiant"
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Confirmation du mot de passe" msgstr "Confirmation du mot de passe"
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "Le mot de passe et sa confirmation ne correspondent pas." msgstr "Le mot de passe et sa confirmation ne correspondent pas."
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "Automatique" msgstr "Automatique"
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "Nom d'utilisateur" msgstr "Nom d'utilisateur"
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -472,169 +485,182 @@ msgstr "Nom d'utilisateur"
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "Titre" msgstr "Titre"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "Vice-président" msgstr "Vice-président"
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "Prénom" msgstr "Prénom"
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "Martin" msgstr "Martin"
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "Nom de famille" msgstr "Nom de famille"
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "Dupont" msgstr "Dupont"
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "Nom d'affichage" msgstr "Nom d'affichage"
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "Martin.D" msgstr "Martin.D"
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
msgid "Email addresses" msgid "Email addresses"
msgstr "Adresse email" msgstr "Adresse email"
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
"Cette adresse servira d'adresse électronique de récupération pour recevoir " "Cette adresse servira d'adresse électronique de récupération pour recevoir "
"un courriel de réinitialisation de mot de passe en cas de besoin" "un courriel de réinitialisation de mot de passe en cas de besoin"
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
msgid "Phone numbers" msgid "Phone numbers"
msgstr "Numéros de téléphone" msgstr "Numéros de téléphone"
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "06 01 02 03 04" msgstr "06 01 02 03 04"
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "132, rue du Lorem Ipsum - 99000 Gotham City - XX" msgstr "132, rue du Lorem Ipsum - 99000 Gotham City - XX"
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
msgid "Street" msgid "Street"
msgstr "Rue" msgstr "Rue"
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "132, rue du Lorem Ipsum" msgstr "132, rue du Lorem Ipsum"
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "Code postal" msgstr "Code postal"
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "Ville" msgstr "Ville"
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "Gotham City" msgstr "Gotham City"
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "Région" msgstr "Région"
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "Pôle nord" msgstr "Pôle nord"
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "Photo" msgstr "Photo"
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "Supprimer la photo" msgstr "Supprimer la photo"
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
msgid "User number" msgid "User number"
msgstr "Numéro dutilisateur" msgstr "Numéro dutilisateur"
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "1234" msgstr "1234"
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
msgid "Department" msgid "Department"
msgstr "Service" msgstr "Service"
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
msgid "Organization" msgid "Organization"
msgstr "Organisation" msgstr "Organisation"
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "Cogip SARL." msgstr "Cogip SARL."
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "Site web" msgstr "Site web"
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "https://mon-site-internet.fr" msgstr "https://mon-site-internet.fr"
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "Langue préférée" msgstr "Langue préférée"
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
msgid "users, admins …" msgid "users, admins …"
msgstr "utilisateurs, administrateurs …" msgstr "utilisateurs, administrateurs …"
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
msgid "Account expiration" msgid "Account expiration"
msgstr "Expiration du compte" msgstr "Expiration du compte"
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "groupe" msgstr "groupe"
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "Description" msgstr "Description"
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "Courriel" msgstr "Courriel"
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
msgid "User name" msgid "User name"
msgstr "Nom d'utilisateur" msgstr "Nom d'utilisateur"
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "L'identifiant sera éditable par la personne invitée" msgstr "L'identifiant sera éditable par la personne invitée"
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
msgid "New email address" msgid "New email address"
msgstr "Nouvelle adresse email" msgstr "Nouvelle adresse email"
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
#, fuzzy
#| msgid "Initialize password"
msgid "One-time password"
msgstr "Initialiser mon mot de passe"
#: canaille/core/endpoints/forms.py:494
#, fuzzy
#| msgid "1234"
msgid "123456"
msgstr "1234"
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
msgid "Group creation failed." msgid "Group creation failed."
msgstr "La création du groupe a échoué." msgstr "La création du groupe a échoué."
@ -800,7 +826,7 @@ msgstr "Créer le groupe"
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "Modifier" msgstr "Modifier"
@ -936,10 +962,13 @@ msgstr "Gérez vos informations et vos autorisations"
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "Continuer" msgstr "Continuer"
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "Connexion en tant que %(username)s" msgstr "Connexion en tant que %(username)s"
@ -949,6 +978,7 @@ msgid "Please enter your password for this account."
msgstr "Veuillez saisir votre mot de passe pour ce compte." msgstr "Veuillez saisir votre mot de passe pour ce compte."
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "Je ne suis pas %(username)s" msgstr "Je ne suis pas %(username)s"
@ -1029,6 +1059,7 @@ msgid "Send a verification email to validate this address."
msgstr "Envoyer un courriel de confirmation à cette adresse." msgstr "Envoyer un courriel de confirmation à cette adresse."
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "Confirmer" msgstr "Confirmer"
@ -1127,27 +1158,40 @@ msgstr ""
"L'utilisateur ne pourra pas se connecter tant que son compte nest pas " "L'utilisateur ne pourra pas se connecter tant que son compte nest pas "
"déverrouillé." "déverrouillé."
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
msgid "Lock the account" msgid "Lock the account"
msgstr "Verrouiller le compte" msgstr "Verrouiller le compte"
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "Supprimer l'utilisateur" msgstr "Supprimer l'utilisateur"
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "Supprimer mon compte" msgstr "Supprimer mon compte"
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "Prendre l'identité" msgstr "Prendre l'identité"
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "Utilisateurs" msgstr "Utilisateurs"
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1267,6 +1311,12 @@ msgstr "Inscription"
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "Échec de la vérification de la compromission du mot de passe" msgstr "Échec de la vérification de la compromission du mot de passe"
#: canaille/core/templates/mails/admin.html:171
#, fuzzy
#| msgid "Initialize password"
msgid "Email one-time password"
msgstr "Initialiser mon mot de passe"
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1393,6 +1443,42 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "Lien de vérification" msgstr "Lien de vérification"
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, fuzzy, python-format
#| msgid ""
#| "Someone, probably you, asked for a password reinitialization link at "
#| "%(site_name)s. If you did not ask for this email, please ignore it. If "
#| "you need to reset your password, please click on the \"Reset password\" "
#| "button below and follow the instructions."
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
"Quelqu'un, probablement vous, a demandé un lien de réinitialisation de votre "
"mot de passe pour le site %(site_name)s. Si vous n'êtes pas à l'origine de "
"ce message, veuillez l'ignorer. Si vous voulez réinitialiser votre mot de "
"passe, veuillez cliquer sur le lien ci-dessous, et suivre les instructions "
"qui vous seront soumises."
#: canaille/core/templates/mails/email_otp.html:30
#, fuzzy
#| msgid "Forgotten password"
msgid "Your one-time password"
msgstr "Mot de passe oublié"
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1531,6 +1617,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1600,6 +1687,29 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "Retirer" msgstr "Retirer"
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, fuzzy, python-format
#| msgid ""
#| "Are you sure you want to lock the account of %(user_name)s ? The user "
#| "won't be able to login until their account is unlocked."
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
"Êtes-vous sûrs de vouloir verrouiller le compte de %(user_name)s ? "
"Lutilisateur ne pourra pas sauthentifier jusquà ce que son compte soit "
"déverrouillé."
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "Actions" msgstr "Actions"
@ -1645,6 +1755,12 @@ msgstr "Il n'y a rien ici"
msgid "Number of members" msgid "Number of members"
msgstr "Nombre de membres" msgstr "Nombre de membres"
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "Des informations personnelles vous concernant, comme votre nom." msgstr "Des informations personnelles vous concernant, comme votre nom."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2023-02-19 22:35+0000\n" "PO-Revision-Date: 2023-02-19 22:35+0000\n"
"Last-Translator: Jesús P Rey <i18n@chuso.net>\n" "Last-Translator: Jesús P Rey <i18n@chuso.net>\n"
"Language-Team: Galician <https://hosted.weblate.org/projects/canaille/" "Language-Team: Galician <https://hosted.weblate.org/projects/canaille/"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Non se configurou un servidor SMTP" msgstr "Non se configurou un servidor SMTP"
@ -89,8 +89,8 @@ msgstr "Fallou a autenticación LDAP co usuario '{user}'"
msgid "John Doe" msgid "John Doe"
msgstr "John Doe" msgstr "John Doe"
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "jdoe" msgstr "jdoe"
@ -150,6 +150,12 @@ msgstr "Email de proba de {website_name}"
msgid "Compromised password check failure on {website_name}" msgid "Compromised password check failure on {website_name}"
msgstr "Restablecer contrasinal en {website_name}" msgstr "Restablecer contrasinal en {website_name}"
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
#, fuzzy
#| msgid "Password initialization on {website_name}"
msgid "One-time password authentication on {website_name}"
msgstr "Inicialización do contrasinal en {website_name}"
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "" msgstr ""
@ -177,12 +183,12 @@ msgstr "A ligazón de invitación coa que accediches expirou."
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "A túa conta xa existe." msgstr "A túa conta xa existe."
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "Xa iniciaches sesión, non podes crear unha conta." msgstr "Xa iniciaches sesión, non podes crear unha conta."
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -190,95 +196,95 @@ msgstr "Xa iniciaches sesión, non podes crear unha conta."
msgid "Groups" msgid "Groups"
msgstr "Grupos" msgstr "Grupos"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
msgid "User account creation failed." msgid "User account creation failed."
msgstr "Fallou a creación da conta de usuario." msgstr "Fallou a creación da conta de usuario."
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
#, fuzzy #, fuzzy
#| msgid "You account has been created successfuly." #| msgid "You account has been created successfuly."
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "A túa conta creouse correctamente." msgstr "A túa conta creouse correctamente."
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
#, fuzzy #, fuzzy
#| msgid "The invitation link that brought you here was invalid." #| msgid "The invitation link that brought you here was invalid."
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "A ligazón de invitación coa que accediches non é válida." msgstr "A ligazón de invitación coa que accediches non é válida."
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
#, fuzzy #, fuzzy
#| msgid "The invitation link that brought you here has expired." #| msgid "The invitation link that brought you here has expired."
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "A ligazón de invitación coa que accediches expirou." msgstr "A ligazón de invitación coa que accediches expirou."
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "A ligazón de invitación coa que accediches non é válida." msgstr "A ligazón de invitación coa que accediches non é válida."
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
#, fuzzy #, fuzzy
#| msgid "Your e-mail address." #| msgid "Your e-mail address."
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "Dirección de correo electrónico." msgstr "Dirección de correo electrónico."
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "Conta creada correctamente." msgstr "Conta creada correctamente."
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "Fallou a actualización do perfil." msgstr "Fallou a actualización do perfil."
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
#, fuzzy #, fuzzy
#| msgid "Profile updated successfuly." #| msgid "Profile updated successfuly."
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "Perfil actualizado correctamente." msgstr "Perfil actualizado correctamente."
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
#, fuzzy #, fuzzy
#| msgid "Profile edition failed." #| msgid "Profile edition failed."
msgid "Email addition failed." msgid "Email addition failed."
msgstr "Fallou a actualización do perfil." msgstr "Fallou a actualización do perfil."
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
#, fuzzy #, fuzzy
#| msgid "Could not send the password initialization email" #| msgid "Could not send the password initialization email"
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "Non foi posible enviar o email de inicialización do contrasinal" msgstr "Non foi posible enviar o email de inicialización do contrasinal"
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
#, fuzzy #, fuzzy
#| msgid "Profile edition failed." #| msgid "Profile edition failed."
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "Fallou a actualización do perfil." msgstr "Fallou a actualización do perfil."
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
#, fuzzy #, fuzzy
#| msgid "The user %(user)s has been sucessfuly deleted" #| msgid "The user %(user)s has been sucessfuly deleted"
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "O usuario %(user)s eliminouse correctamente" msgstr "O usuario %(user)s eliminouse correctamente"
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
#, fuzzy #, fuzzy
#| msgid "" #| msgid ""
#| "A password initialization link has been sent at the user email address. " #| "A password initialization link has been sent at the user email address. "
@ -290,11 +296,11 @@ msgstr ""
"A ligazón de inicialización do contrasinal enviouse á dirección de correo " "A ligazón de inicialización do contrasinal enviouse á dirección de correo "
"electrónico do usuario. Deberías recibilo nun prazo de 10 minutos." "electrónico do usuario. Deberías recibilo nun prazo de 10 minutos."
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "Non foi posible enviar o email de inicialización do contrasinal" msgstr "Non foi posible enviar o email de inicialización do contrasinal"
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
#, fuzzy #, fuzzy
#| msgid "" #| msgid ""
#| "A password reset link has been sent at the user email address. It should " #| "A password reset link has been sent at the user email address. It should "
@ -306,33 +312,38 @@ msgstr ""
"A ligazón para restablecer o contrasinal enviouse á dirección de correo " "A ligazón para restablecer o contrasinal enviouse á dirección de correo "
"electrónico do usuario. Deberías recibilo nun prazo de 10 minutos." "electrónico do usuario. Deberías recibilo nun prazo de 10 minutos."
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "Non foi posible enviar o email para restablecer o contrasinal" msgstr "Non foi posible enviar o email para restablecer o contrasinal"
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
#, fuzzy #, fuzzy
#| msgid "The access has been revoked" #| msgid "The access has been revoked"
msgid "The account has been locked" msgid "The account has been locked"
msgstr "O acceso foi revogado" msgstr "O acceso foi revogado"
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
#, fuzzy #, fuzzy
#| msgid "The access has been revoked" #| msgid "The access has been revoked"
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "O acceso foi revogado" msgstr "O acceso foi revogado"
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, fuzzy, python-format #, fuzzy, python-format
#| msgid "The user %(user)s has been sucessfuly deleted" #| msgid "The user %(user)s has been sucessfuly deleted"
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "O usuario %(user)s eliminouse correctamente" msgstr "O usuario %(user)s eliminouse correctamente"
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, python-format #, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "Acceso correcto. Benvido/a %(user)s" msgstr "Acceso correcto. Benvido/a %(user)s"
@ -342,10 +353,10 @@ msgstr "Acceso correcto. Benvido/a %(user)s"
msgid "Email" msgid "Email"
msgstr "Correo electrónico" msgstr "Correo electrónico"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
#, fuzzy #, fuzzy
#| msgid "jane@doe.com" #| msgid "jane@doe.com"
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
@ -373,21 +384,23 @@ msgstr "Invitación a {website_name}"
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "Invitación a {website_name}" msgstr "Invitación a {website_name}"
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "Fallou o inicio de sesión, comproba as túas credenciais" msgstr "Fallou o inicio de sesión, comproba as túas credenciais"
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "A sesión foi desconectada. Deica logo, %(user)s" msgstr "A sesión foi desconectada. Deica logo, %(user)s"
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
@ -395,11 +408,11 @@ msgstr ""
"Enviouse unha ligazón de inicialización do contrasinal ó teu correo " "Enviouse unha ligazón de inicialización do contrasinal ó teu correo "
"electrónico. Deberías recibila nun prazo de 10 minutos." "electrónico. Deberías recibila nun prazo de 10 minutos."
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "Non foi posible enviar o email para restablecer o contrasinal." msgstr "Non foi posible enviar o email para restablecer o contrasinal."
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
@ -407,7 +420,7 @@ msgstr ""
"Enviouse unha ligazón para restablecer o contrasinal ó teu correo " "Enviouse unha ligazón para restablecer o contrasinal ó teu correo "
"electrónico. Deberías recibilo nun prazo de 10 minutos." "electrónico. Deberías recibilo nun prazo de 10 minutos."
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, python-format #, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
@ -416,87 +429,87 @@ msgstr ""
"O usuario '%(user)s' non ten permiso para actualizar o seu contrasinal. Non " "O usuario '%(user)s' non ten permiso para actualizar o seu contrasinal. Non "
"é posible enviarlle un email para que restableza o seu contrasinal." "é posible enviarlle un email para que restableza o seu contrasinal."
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "Produciuse un problema enviando o email para recuperar o contrasinal." msgstr "Produciuse un problema enviando o email para recuperar o contrasinal."
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "" msgstr ""
"A ligazón para restablecer o contrasinal co que accediches non é válido." "A ligazón para restablecer o contrasinal co que accediches non é válido."
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
#, fuzzy #, fuzzy
#| msgid "Your password has been updated successfuly" #| msgid "Your password has been updated successfuly"
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "O teu contrasinal actualizouse correctamente" msgstr "O teu contrasinal actualizouse correctamente"
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
#, fuzzy #, fuzzy
#| msgid "The login '{login}' already exists" #| msgid "The login '{login}' already exists"
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "O usuario '{login}' xa existe" msgstr "O usuario '{login}' xa existe"
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
#, fuzzy #, fuzzy
#| msgid "The email '{email}' already exists" #| msgid "The email '{email}' already exists"
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "O email '{email}' xa existe" msgstr "O email '{email}' xa existe"
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "O grupo '{group}' xa existe" msgstr "O grupo '{group}' xa existe"
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "O usuario '{login}' non existe" msgstr "O usuario '{login}' non existe"
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
#, fuzzy #, fuzzy
#| msgid "The page you are looking for does not exist" #| msgid "The page you are looking for does not exist"
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "A páxina que estás intentando acceder non existe" msgstr "A páxina que estás intentando acceder non existe"
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
msgid "Login" msgid "Login"
msgstr "Usuario" msgstr "Usuario"
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "Contrasinal" msgstr "Contrasinal"
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Repetir contrasinal" msgstr "Repetir contrasinal"
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "Os dous contrasinais non coinciden." msgstr "Os dous contrasinais non coinciden."
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "Automático" msgstr "Automático"
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "Nome de usuario" msgstr "Nome de usuario"
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -505,187 +518,200 @@ msgstr "Nome de usuario"
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "Nome de pila" msgstr "Nome de pila"
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "John" msgstr "John"
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "Apelidos" msgstr "Apelidos"
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "Doe" msgstr "Doe"
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "Nome a amosar" msgstr "Nome a amosar"
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "Johnny" msgstr "Johnny"
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
#, fuzzy #, fuzzy
#| msgid "Email address" #| msgid "Email address"
msgid "Email addresses" msgid "Email addresses"
msgstr "Correo electrónico" msgstr "Correo electrónico"
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
"O correo electrónico usarase como dirección para recuperar o contrasinal se " "O correo electrónico usarase como dirección para recuperar o contrasinal se "
"é necesario" "é necesario"
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
#, fuzzy #, fuzzy
#| msgid "Phone number" #| msgid "Phone number"
msgid "Phone numbers" msgid "Phone numbers"
msgstr "Número de teléfono" msgstr "Número de teléfono"
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "+34 999 111 222" msgstr "+34 999 111 222"
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "Dirección" msgstr "Dirección"
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
#, fuzzy #, fuzzy
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "Rúa Real, 21, 12345 Nova Mombasa" msgstr "Rúa Real, 21, 12345 Nova Mombasa"
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
#, fuzzy #, fuzzy
msgid "Street" msgid "Street"
msgstr "Clave" msgstr "Clave"
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
#, fuzzy #, fuzzy
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "Rúa Real, 21, 12345 Nova Mombasa" msgstr "Rúa Real, 21, 12345 Nova Mombasa"
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "Foto" msgstr "Foto"
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "Eliminar foto" msgstr "Eliminar foto"
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
#, fuzzy #, fuzzy
#| msgid "Username" #| msgid "Username"
msgid "User number" msgid "User number"
msgstr "Nome de usuario" msgstr "Nome de usuario"
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "1234" msgstr "1234"
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
#, fuzzy #, fuzzy
msgid "Department" msgid "Department"
msgstr "Número de teléfono" msgstr "Número de teléfono"
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
#, fuzzy #, fuzzy
#| msgid "Invitation" #| msgid "Invitation"
msgid "Organization" msgid "Organization"
msgstr "Invitación" msgstr "Invitación"
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "Sitio web" msgstr "Sitio web"
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "https://example.com" msgstr "https://example.com"
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "Idioma preferido" msgstr "Idioma preferido"
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
msgid "users, admins …" msgid "users, admins …"
msgstr "usuarios, administradores…" msgstr "usuarios, administradores…"
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
#, fuzzy #, fuzzy
#| msgid "Account creation" #| msgid "Account creation"
msgid "Account expiration" msgid "Account expiration"
msgstr "Creación de conta" msgstr "Creación de conta"
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "grupo" msgstr "grupo"
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "Descripción" msgstr "Descripción"
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "Correo electrónico" msgstr "Correo electrónico"
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
#, fuzzy #, fuzzy
#| msgid "Username" #| msgid "Username"
msgid "User name" msgid "User name"
msgstr "Nome de usuario" msgstr "Nome de usuario"
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "Nome de usuario editable polo invitado" msgstr "Nome de usuario editable polo invitado"
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
#, fuzzy #, fuzzy
#| msgid "Email address" #| msgid "Email address"
msgid "New email address" msgid "New email address"
msgstr "Correo electrónico" msgstr "Correo electrónico"
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
#, fuzzy
#| msgid "Initialize password"
msgid "One-time password"
msgstr "Inicializar contrasinal"
#: canaille/core/endpoints/forms.py:494
#, fuzzy
#| msgid "1234"
msgid "123456"
msgstr "1234"
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
msgid "Group creation failed." msgid "Group creation failed."
msgstr "Fallou a creación do grupo." msgstr "Fallou a creación do grupo."
@ -856,7 +882,7 @@ msgstr "Crear grupo"
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "Editar" msgstr "Editar"
@ -998,10 +1024,13 @@ msgstr "Xestiona a túa información e as túas autorizacións"
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "Continuar" msgstr "Continuar"
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "Iniciar sesión como %(username)s" msgstr "Iniciar sesión como %(username)s"
@ -1011,6 +1040,7 @@ msgid "Please enter your password for this account."
msgstr "Introduce o teu contrasinal para esta conta." msgstr "Introduce o teu contrasinal para esta conta."
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "Non son %(username)s" msgstr "Non son %(username)s"
@ -1098,6 +1128,7 @@ msgid "Send a verification email to validate this address."
msgstr "" msgstr ""
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "" msgstr ""
@ -1194,29 +1225,42 @@ msgid "The user won't be able to connect until their account is unlocked."
msgstr "" msgstr ""
"O usuario non poderá iniciar sesión a menos que se estableza o contrasinal" "O usuario non poderá iniciar sesión a menos que se estableza o contrasinal"
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
#, fuzzy #, fuzzy
#| msgid "Delete my account" #| msgid "Delete my account"
msgid "Lock the account" msgid "Lock the account"
msgstr "Eliminar a miña conta" msgstr "Eliminar a miña conta"
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "Eliminar usuario" msgstr "Eliminar usuario"
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "Eliminar a miña conta" msgstr "Eliminar a miña conta"
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "Suplantar" msgstr "Suplantar"
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "Usuarios" msgstr "Usuarios"
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1340,6 +1384,12 @@ msgstr "Invitación"
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:171
#, fuzzy
#| msgid "Initialize password"
msgid "Email one-time password"
msgstr "Inicializar contrasinal"
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1459,6 +1509,41 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "Ligazón de invitación" msgstr "Ligazón de invitación"
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, fuzzy, python-format
#| msgid ""
#| "Someone, probably you, asked for a password reinitialization link at "
#| "%(site_name)s. If you did not ask for this email, please ignore it. If "
#| "you need to reset your password, please click on the \"Reset password\" "
#| "button below and follow the instructions."
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
"Alguén, probablemente ti, pediu unha ligazón de reinicialización do "
"contrasinal en %(site_name)s. Se non pediches este correo electrónico, "
"ignórao. Se precisas restablecer o teu contrasinal, fai clic no botón "
"\"Restablecer contrasinal\" a continuación e sigue as instrucións."
#: canaille/core/templates/mails/email_otp.html:30
#, fuzzy
#| msgid "Forgotten password"
msgid "Your one-time password"
msgstr "Esquecín o meu contrasinal"
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1607,6 +1692,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1686,6 +1772,27 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, fuzzy, python-format
#| msgid ""
#| "Are you sure you want to revoke this token? This action is unrevokable."
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
"Estás seguro de que queres revogar este token? Esta acción non pode ser "
"desfeita."
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
@ -1732,6 +1839,12 @@ msgstr "O acceso non está revogado"
msgid "Number of members" msgid "Number of members"
msgstr "Número de membros" msgstr "Número de membros"
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "Información sobre ti, coma o teu nome." msgstr "Información sobre ti, coma o teu nome."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2024-12-05 09:36+0000\n" "PO-Revision-Date: 2024-12-05 09:36+0000\n"
"Last-Translator: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>\n" "Last-Translator: ButterflyOfFire <boffire@users.noreply.hosted.weblate.org>\n"
"Language-Team: Kabyle <https://hosted.weblate.org/projects/canaille/canaille/" "Language-Team: Kabyle <https://hosted.weblate.org/projects/canaille/canaille/"
@ -20,7 +20,7 @@ msgstr ""
"X-Generator: Weblate 5.9-dev\n" "X-Generator: Weblate 5.9-dev\n"
"Generated-By: Babel 2.16.0\n" "Generated-By: Babel 2.16.0\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "" msgstr ""
@ -87,8 +87,8 @@ msgstr ""
msgid "John Doe" msgid "John Doe"
msgstr "" msgstr ""
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "" msgstr ""
@ -138,6 +138,10 @@ msgstr ""
msgid "Compromised password check failure on {website_name}" msgid "Compromised password check failure on {website_name}"
msgstr "" msgstr ""
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
msgid "One-time password authentication on {website_name}"
msgstr ""
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "" msgstr ""
@ -161,12 +165,12 @@ msgstr ""
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -174,114 +178,119 @@ msgstr ""
msgid "Groups" msgid "Groups"
msgstr "Igrawen" msgstr "Igrawen"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
msgid "User account creation failed." msgid "User account creation failed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
msgid "Email addition failed." msgid "Email addition failed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
msgid "" msgid ""
"A password initialization link has been sent at the user email address. It " "A password initialization link has been sent at the user email address. It "
"should be received within a few minutes." "should be received within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
msgid "" msgid ""
"A password reset link has been sent at the user email address. It should be " "A password reset link has been sent at the user email address. It should be "
"received within a few minutes." "received within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
msgid "The account has been locked" msgid "The account has been locked"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, python-format #, python-format
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, python-format #, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "" msgstr ""
@ -291,10 +300,10 @@ msgstr ""
msgid "Email" msgid "Email"
msgstr "Imayl" msgstr "Imayl"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
msgstr "" msgstr ""
@ -314,115 +323,117 @@ msgstr ""
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, python-format #, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
"cannot send a password reset email." "cannot send a password reset email."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
msgid "Login" msgid "Login"
msgstr "Aseqdac" msgstr "Aseqdac"
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "Awal n uεeddi" msgstr "Awal n uεeddi"
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Sentem awal n uɛeddi" msgstr "Sentem awal n uɛeddi"
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "Awurman" msgstr "Awurman"
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "Isem n useqdac" msgstr "Isem n useqdac"
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -431,167 +442,178 @@ msgstr "Isem n useqdac"
msgid "Name" msgid "Name"
msgstr "Isem" msgstr "Isem"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "Azwel" msgstr "Azwel"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
msgid "Email addresses" msgid "Email addresses"
msgstr "Tansiwin n yimayl" msgstr "Tansiwin n yimayl"
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
msgid "Phone numbers" msgid "Phone numbers"
msgstr "Uṭṭunen n tiliɣri" msgstr "Uṭṭunen n tiliɣri"
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "06 01 02 03 04" msgstr "06 01 02 03 04"
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "Tansa" msgstr "Tansa"
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
msgid "Street" msgid "Street"
msgstr "Azniq" msgstr "Azniq"
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "Tangalt n lbuṣṭa" msgstr "Tangalt n lbuṣṭa"
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "Gotham City" msgstr "Gotham City"
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "Tawlaft" msgstr "Tawlaft"
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
msgid "User number" msgid "User number"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "1234" msgstr "1234"
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
msgid "Department" msgid "Department"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
msgid "Organization" msgid "Organization"
msgstr "Tuddsa" msgstr "Tuddsa"
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "Asmel web" msgstr "Asmel web"
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "https://asmel-inu.tld" msgstr "https://asmel-inu.tld"
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "Tutlayt tamenyaft" msgstr "Tutlayt tamenyaft"
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
msgid "users, admins …" msgid "users, admins …"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
msgid "Account expiration" msgid "Account expiration"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "agraw" msgstr "agraw"
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "Aglam" msgstr "Aglam"
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "Tansa imayl" msgstr "Tansa imayl"
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
msgid "User name" msgid "User name"
msgstr "Isem n useqdac" msgstr "Isem n useqdac"
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
msgid "New email address" msgid "New email address"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
msgid "One-time password"
msgstr ""
#: canaille/core/endpoints/forms.py:494
#, fuzzy
#| msgid "1234"
msgid "123456"
msgstr "1234"
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
msgid "Group creation failed." msgid "Group creation failed."
msgstr "" msgstr ""
@ -745,7 +767,7 @@ msgstr "Snulfu-d agraw"
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "Ẓreg" msgstr "Ẓreg"
@ -867,10 +889,13 @@ msgstr ""
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "Ddu" msgstr "Ddu"
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "" msgstr ""
@ -880,6 +905,7 @@ msgid "Please enter your password for this account."
msgstr "" msgstr ""
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "" msgstr ""
@ -955,6 +981,7 @@ msgid "Send a verification email to validate this address."
msgstr "" msgstr ""
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "Senqed" msgstr "Senqed"
@ -1039,27 +1066,40 @@ msgstr ""
msgid "The user won't be able to connect until their account is unlocked." msgid "The user won't be able to connect until their account is unlocked."
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
msgid "Lock the account" msgid "Lock the account"
msgstr "" msgstr ""
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "" msgstr ""
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "" msgstr ""
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "" msgstr ""
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "Iseqdacen" msgstr "Iseqdacen"
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1175,6 +1215,10 @@ msgstr ""
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:171
msgid "Email one-time password"
msgstr ""
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1280,6 +1324,30 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "" msgstr ""
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, python-format
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
#: canaille/core/templates/mails/email_otp.html:30
msgid "Your one-time password"
msgstr ""
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1390,6 +1458,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1450,6 +1519,23 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, python-format
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "Tigawin" msgstr "Tigawin"
@ -1495,6 +1581,12 @@ msgstr ""
msgid "Number of members" msgid "Number of members"
msgstr "" msgstr ""
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "" msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2024-12-08 11:58+0100\n" "POT-Creation-Date: 2024-12-12 09:54+0100\n"
"PO-Revision-Date: 2023-03-24 22:36+0000\n" "PO-Revision-Date: 2023-03-24 22:36+0000\n"
"Last-Translator: Sofi <sofi+git@mailbox.org>\n" "Last-Translator: Sofi <sofi+git@mailbox.org>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
@ -20,7 +20,7 @@ msgstr ""
"X-Generator: Weblate 4.17-dev\n" "X-Generator: Weblate 4.17-dev\n"
"Generated-By: Babel 2.12.1\n" "Generated-By: Babel 2.12.1\n"
#: canaille/app/flask.py:53 #: canaille/app/flask.py:55
msgid "No SMTP server has been configured" msgid "No SMTP server has been configured"
msgstr "Ingen SMTP-tjener er satt opp" msgstr "Ingen SMTP-tjener er satt opp"
@ -90,8 +90,8 @@ msgstr ""
msgid "John Doe" msgid "John Doe"
msgstr "Ola Nordmann" msgstr "Ola Nordmann"
#: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:165 #: canaille/backends/ldap/backend.py:178 canaille/core/endpoints/forms.py:166
#: canaille/core/endpoints/forms.py:426 #: canaille/core/endpoints/forms.py:427
msgid "jdoe" msgid "jdoe"
msgstr "onord" msgstr "onord"
@ -152,6 +152,11 @@ msgstr "Test per e-post fra {website_name}"
msgid "Compromised password check failure on {website_name}" msgid "Compromised password check failure on {website_name}"
msgstr "Passord tilbakestilt på {website_name}" msgstr "Passord tilbakestilt på {website_name}"
#: canaille/core/endpoints/admin.py:347 canaille/core/mails.py:258
#, fuzzy
msgid "One-time password authentication on {website_name}"
msgstr "Oppsett av passord på {website_name}"
#: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118 #: canaille/core/endpoints/account.py:92 canaille/core/endpoints/account.py:118
msgid "You will receive soon an email to continue the registration process." msgid "You will receive soon an email to continue the registration process."
msgstr "" msgstr ""
@ -179,13 +184,13 @@ msgstr "Invitasjonslenken som tok deg hit har utløpt."
msgid "Your account has already been created." msgid "Your account has already been created."
msgstr "Kontoen din har allerede blitt opprettet." msgstr "Kontoen din har allerede blitt opprettet."
#: canaille/core/endpoints/account.py:279 #: canaille/core/endpoints/account.py:280
#, fuzzy #, fuzzy
msgid "You are already logged in, you cannot create an account." msgid "You are already logged in, you cannot create an account."
msgstr "Du er allerede innlogget. Du kan ikke opprette konto." msgstr "Du er allerede innlogget. Du kan ikke opprette konto."
#: canaille/core/endpoints/account.py:300 canaille/core/endpoints/forms.py:316 #: canaille/core/endpoints/account.py:301 canaille/core/endpoints/forms.py:317
#: canaille/core/endpoints/forms.py:444 canaille/core/templates/groups.html:5 #: canaille/core/endpoints/forms.py:445 canaille/core/templates/groups.html:5
#: canaille/core/templates/groups.html:23 #: canaille/core/templates/groups.html:23
#: canaille/core/templates/partial/group-members.html:15 #: canaille/core/templates/partial/group-members.html:15
#: canaille/core/templates/partial/users.html:18 #: canaille/core/templates/partial/users.html:18
@ -193,105 +198,105 @@ msgstr "Du er allerede innlogget. Du kan ikke opprette konto."
msgid "Groups" msgid "Groups"
msgstr "Grupper" msgstr "Grupper"
#: canaille/core/endpoints/account.py:338 #: canaille/core/endpoints/account.py:339
#: canaille/core/endpoints/account.py:431 #: canaille/core/endpoints/account.py:432
#, fuzzy #, fuzzy
msgid "User account creation failed." msgid "User account creation failed."
msgstr "Kunne ikke opprette brukerkonto." msgstr "Kunne ikke opprette brukerkonto."
#: canaille/core/endpoints/account.py:349 #: canaille/core/endpoints/account.py:350
#, fuzzy #, fuzzy
msgid "Your account has been created successfully." msgid "Your account has been created successfully."
msgstr "Kontoen din ble opprettet." msgstr "Kontoen din ble opprettet."
#: canaille/core/endpoints/account.py:364 #: canaille/core/endpoints/account.py:365
#: canaille/core/endpoints/account.py:386 #: canaille/core/endpoints/account.py:387
#, fuzzy #, fuzzy
#| msgid "The invitation link that brought you here was invalid." #| msgid "The invitation link that brought you here was invalid."
msgid "The email confirmation link that brought you here is invalid." msgid "The email confirmation link that brought you here is invalid."
msgstr "Invitasjonslenken som tok deg hit er ikke gyldig." msgstr "Invitasjonslenken som tok deg hit er ikke gyldig."
#: canaille/core/endpoints/account.py:371 #: canaille/core/endpoints/account.py:372
#, fuzzy #, fuzzy
#| msgid "The invitation link that brought you here has expired." #| msgid "The invitation link that brought you here has expired."
msgid "The email confirmation link that brought you here has expired." msgid "The email confirmation link that brought you here has expired."
msgstr "Invitasjonslenken som tok deg hit har utløpt." msgstr "Invitasjonslenken som tok deg hit har utløpt."
#: canaille/core/endpoints/account.py:378 #: canaille/core/endpoints/account.py:379
msgid "The invitation link that brought you here was invalid." msgid "The invitation link that brought you here was invalid."
msgstr "Invitasjonslenken som tok deg hit er ikke gyldig." msgstr "Invitasjonslenken som tok deg hit er ikke gyldig."
#: canaille/core/endpoints/account.py:393 #: canaille/core/endpoints/account.py:394
msgid "This address email have already been confirmed." msgid "This address email have already been confirmed."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:400 #: canaille/core/endpoints/account.py:401
msgid "This address email is already associated with another account." msgid "This address email is already associated with another account."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:407 #: canaille/core/endpoints/account.py:408
#, fuzzy #, fuzzy
msgid "Your email address have been confirmed." msgid "Your email address have been confirmed."
msgstr "Din e-postadresse." msgstr "Din e-postadresse."
#: canaille/core/endpoints/account.py:441 #: canaille/core/endpoints/account.py:442
#, fuzzy #, fuzzy
msgid "User account creation succeed." msgid "User account creation succeed."
msgstr "Brukerkonto opprettet." msgstr "Brukerkonto opprettet."
#: canaille/core/endpoints/account.py:617 #: canaille/core/endpoints/account.py:618
#: canaille/core/endpoints/account.py:786 #: canaille/core/endpoints/account.py:804
#, fuzzy #, fuzzy
msgid "Profile edition failed." msgid "Profile edition failed."
msgstr "Kunne ikke redigere profil." msgstr "Kunne ikke redigere profil."
#: canaille/core/endpoints/account.py:627 #: canaille/core/endpoints/account.py:628
#: canaille/core/endpoints/account.py:804 #: canaille/core/endpoints/account.py:822
#, fuzzy #, fuzzy
#| msgid "Profile updated successfuly." #| msgid "Profile updated successfuly."
msgid "Profile updated successfully." msgid "Profile updated successfully."
msgstr "Profil redigert." msgstr "Profil redigert."
#: canaille/core/endpoints/account.py:635 #: canaille/core/endpoints/account.py:636
#, fuzzy #, fuzzy
msgid "Email addition failed." msgid "Email addition failed."
msgstr "Kunne ikke redigere profil." msgstr "Kunne ikke redigere profil."
#: canaille/core/endpoints/account.py:640 #: canaille/core/endpoints/account.py:641
msgid "" msgid ""
"An email has been sent to the email address. Please check your inbox and " "An email has been sent to the email address. Please check your inbox and "
"click on the verification link it contains" "click on the verification link it contains"
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:647 #: canaille/core/endpoints/account.py:648
#, fuzzy #, fuzzy
msgid "Could not send the verification email" msgid "Could not send the verification email"
msgstr "Kunne ikke sende e-post for oppsett av passord" msgstr "Kunne ikke sende e-post for oppsett av passord"
#: canaille/core/endpoints/account.py:657 #: canaille/core/endpoints/account.py:658
#, fuzzy #, fuzzy
msgid "Email deletion failed." msgid "Email deletion failed."
msgstr "Kunne ikke redigere profil." msgstr "Kunne ikke redigere profil."
#: canaille/core/endpoints/account.py:660 #: canaille/core/endpoints/account.py:661
#, fuzzy #, fuzzy
#| msgid "The user %(user)s has been sucessfuly deleted" #| msgid "The user %(user)s has been sucessfuly deleted"
msgid "The email have been successfully deleted." msgid "The email have been successfully deleted."
msgstr "Brukeren %(user)s ble slettet" msgstr "Brukeren %(user)s ble slettet"
#: canaille/core/endpoints/account.py:697 #: canaille/core/endpoints/account.py:698
#, fuzzy #, fuzzy
msgid "" msgid ""
"A password initialization link has been sent at the user email address. It " "A password initialization link has been sent at the user email address. It "
"should be received within a few minutes." "should be received within a few minutes."
msgstr "Lenke for oppsett av passord sendt til din e-postadresse." msgstr "Lenke for oppsett av passord sendt til din e-postadresse."
#: canaille/core/endpoints/account.py:704 canaille/core/endpoints/auth.py:159 #: canaille/core/endpoints/account.py:705 canaille/core/endpoints/auth.py:183
#, fuzzy #, fuzzy
msgid "Could not send the password initialization email" msgid "Could not send the password initialization email"
msgstr "Kunne ikke sende e-post for oppsett av passord" msgstr "Kunne ikke sende e-post for oppsett av passord"
#: canaille/core/endpoints/account.py:715 #: canaille/core/endpoints/account.py:716
#, fuzzy #, fuzzy
msgid "" msgid ""
"A password reset link has been sent at the user email address. It should be " "A password reset link has been sent at the user email address. It should be "
@ -300,33 +305,38 @@ msgstr ""
"Lenke for tilbakestilling av passord sendt til brukerens e-postadresse. Den " "Lenke for tilbakestilling av passord sendt til brukerens e-postadresse. Den "
"bør være mottatt i løpet av et par minutter." "bør være mottatt i løpet av et par minutter."
#: canaille/core/endpoints/account.py:722 #: canaille/core/endpoints/account.py:723
msgid "Could not send the password reset email" msgid "Could not send the password reset email"
msgstr "Kunne ikke sende e-post for tilbakestilling av passord" msgstr "Kunne ikke sende e-post for tilbakestilling av passord"
#: canaille/core/endpoints/account.py:738 #: canaille/core/endpoints/account.py:739
#, fuzzy #, fuzzy
#| msgid "The access has been revoked" #| msgid "The access has been revoked"
msgid "The account has been locked" msgid "The account has been locked"
msgstr "Tilgangen har blitt tilbakekalt" msgstr "Tilgangen har blitt tilbakekalt"
#: canaille/core/endpoints/account.py:749 #: canaille/core/endpoints/account.py:750
#, fuzzy #, fuzzy
#| msgid "The access has been revoked" #| msgid "The access has been revoked"
msgid "The account has been unlocked" msgid "The account has been unlocked"
msgstr "Tilgangen har blitt tilbakekalt" msgstr "Tilgangen har blitt tilbakekalt"
#: canaille/core/endpoints/account.py:824 #: canaille/core/endpoints/account.py:763
msgid "One-time password authentication has been reset"
msgstr ""
#: canaille/core/endpoints/account.py:842
#, fuzzy, python-format #, fuzzy, python-format
#| msgid "The user %(user)s has been sucessfuly deleted" #| msgid "The user %(user)s has been sucessfuly deleted"
msgid "The user %(user)s has been successfully deleted" msgid "The user %(user)s has been successfully deleted"
msgstr "Brukeren %(user)s ble slettet" msgstr "Brukeren %(user)s ble slettet"
#: canaille/core/endpoints/account.py:841 #: canaille/core/endpoints/account.py:859
msgid "Locked users cannot be impersonated." msgid "Locked users cannot be impersonated."
msgstr "" msgstr ""
#: canaille/core/endpoints/account.py:845 canaille/core/endpoints/auth.py:112 #: canaille/core/endpoints/account.py:863 canaille/core/endpoints/auth.py:134
#: canaille/core/endpoints/auth.py:367
#, fuzzy, python-format #, fuzzy, python-format
msgid "Connection successful. Welcome %(user)s" msgid "Connection successful. Welcome %(user)s"
msgstr "Velkommen %(user)s" msgstr "Velkommen %(user)s"
@ -337,10 +347,10 @@ msgstr "Velkommen %(user)s"
msgid "Email" msgid "Email"
msgstr "E-postadresse" msgstr "E-postadresse"
#: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:98 #: canaille/core/endpoints/admin.py:29 canaille/core/endpoints/forms.py:99
#: canaille/core/endpoints/forms.py:121 canaille/core/endpoints/forms.py:210 #: canaille/core/endpoints/forms.py:122 canaille/core/endpoints/forms.py:211
#: canaille/core/endpoints/forms.py:412 canaille/core/endpoints/forms.py:438 #: canaille/core/endpoints/forms.py:413 canaille/core/endpoints/forms.py:439
#: canaille/core/endpoints/forms.py:462 canaille/core/endpoints/forms.py:478 #: canaille/core/endpoints/forms.py:463 canaille/core/endpoints/forms.py:479
#, fuzzy #, fuzzy
#| msgid "jane@doe.com" #| msgid "jane@doe.com"
msgid "jane.doe@example.com" msgid "jane.doe@example.com"
@ -366,39 +376,41 @@ msgstr "Invitasjon på {website_name}"
msgid "Email confirmation on {website_name}" msgid "Email confirmation on {website_name}"
msgstr "Invitasjon på {website_name}" msgstr "Invitasjon på {website_name}"
#: canaille/core/endpoints/auth.py:57 canaille/core/endpoints/auth.py:89 #: canaille/core/endpoints/auth.py:64 canaille/core/endpoints/auth.py:96
#: canaille/core/endpoints/auth.py:101 #: canaille/core/endpoints/auth.py:108
#, fuzzy #, fuzzy
msgid "Login failed, please check your information" msgid "Login failed, please check your information"
msgstr "Kunne ikke logge inn. Sjekk at alt er riktig." msgstr "Kunne ikke logge inn. Sjekk at alt er riktig."
#: canaille/core/endpoints/auth.py:72 #: canaille/core/endpoints/auth.py:79 canaille/core/endpoints/auth.py:291
#: canaille/core/endpoints/auth.py:320 canaille/core/endpoints/auth.py:399
#: canaille/core/endpoints/auth.py:439
msgid "Cannot remember the login you attempted to sign in with" msgid "Cannot remember the login you attempted to sign in with"
msgstr "" msgstr ""
#: canaille/core/endpoints/auth.py:127 #: canaille/core/endpoints/auth.py:151
#, python-format #, python-format
msgid "You have been disconnected. See you next time %(user)s" msgid "You have been disconnected. See you next time %(user)s"
msgstr "Du har blitt frakoblet. På gjensyn %(user)s" msgstr "Du har blitt frakoblet. På gjensyn %(user)s"
#: canaille/core/endpoints/auth.py:152 #: canaille/core/endpoints/auth.py:176
msgid "" msgid ""
"A password initialization link has been sent at your email address. You " "A password initialization link has been sent at your email address. You "
"should receive it within a few minutes." "should receive it within a few minutes."
msgstr "Lenke for oppsett av passord sendt til din e-postadresse." msgstr "Lenke for oppsett av passord sendt til din e-postadresse."
#: canaille/core/endpoints/auth.py:175 #: canaille/core/endpoints/auth.py:199
msgid "Could not send the password reset link." msgid "Could not send the password reset link."
msgstr "Kunne ikke sende lenke for passordgjenoppretting." msgstr "Kunne ikke sende lenke for passordgjenoppretting."
#: canaille/core/endpoints/auth.py:179 #: canaille/core/endpoints/auth.py:203
#, fuzzy #, fuzzy
msgid "" msgid ""
"A password reset link has been sent at your email address. You should " "A password reset link has been sent at your email address. You should "
"receive it within a few minutes." "receive it within a few minutes."
msgstr "Lenke for tilbakestilling av passord sendt til din e-postadresse." msgstr "Lenke for tilbakestilling av passord sendt til din e-postadresse."
#: canaille/core/endpoints/auth.py:191 #: canaille/core/endpoints/auth.py:215
#, fuzzy, python-format #, fuzzy, python-format
msgid "" msgid ""
"The user '%(user)s' does not have permissions to update their password. We " "The user '%(user)s' does not have permissions to update their password. We "
@ -407,87 +419,87 @@ msgstr ""
"Brukeren «%(user)s» har ikke tilgang til å oppdatere passordet sitt. Kan " "Brukeren «%(user)s» har ikke tilgang til å oppdatere passordet sitt. Kan "
"ikke sende e-post om tilbakestilling av passord." "ikke sende e-post om tilbakestilling av passord."
#: canaille/core/endpoints/auth.py:213 #: canaille/core/endpoints/auth.py:237
#, fuzzy #, fuzzy
msgid "We encountered an issue while we sent the password recovery email." msgid "We encountered an issue while we sent the password recovery email."
msgstr "Kunne ikke sende e-post for gjenoppretting av passord." msgstr "Kunne ikke sende e-post for gjenoppretting av passord."
#: canaille/core/endpoints/auth.py:236 #: canaille/core/endpoints/auth.py:260
msgid "The password reset link that brought you here was invalid." msgid "The password reset link that brought you here was invalid."
msgstr "Passordtilbakestillingslenken som tok deg hit er ikke gyldig." msgstr "Passordtilbakestillingslenken som tok deg hit er ikke gyldig."
#: canaille/core/endpoints/auth.py:245 #: canaille/core/endpoints/auth.py:269
#, fuzzy #, fuzzy
msgid "Your password has been updated successfully" msgid "Your password has been updated successfully"
msgstr "Passordet ditt er oppdatert." msgstr "Passordet ditt er oppdatert."
#: canaille/core/endpoints/forms.py:32 #: canaille/core/endpoints/forms.py:33
#, fuzzy #, fuzzy
#| msgid "The login '{login}' already exists" #| msgid "The login '{login}' already exists"
msgid "The user name '{user_name}' already exists" msgid "The user name '{user_name}' already exists"
msgstr "Innloggingen «{login}» finnes allerede" msgstr "Innloggingen «{login}» finnes allerede"
#: canaille/core/endpoints/forms.py:41 #: canaille/core/endpoints/forms.py:42
#, fuzzy #, fuzzy
#| msgid "The email '{email}' already exists" #| msgid "The email '{email}' already exists"
msgid "The email '{email}' is already used" msgid "The email '{email}' is already used"
msgstr "E-postadressen «{email}» finnes allerede" msgstr "E-postadressen «{email}» finnes allerede"
#: canaille/core/endpoints/forms.py:48 #: canaille/core/endpoints/forms.py:49
msgid "The group '{group}' already exists" msgid "The group '{group}' already exists"
msgstr "Gruppen «{group}» finnes allerede" msgstr "Gruppen «{group}» finnes allerede"
#: canaille/core/endpoints/forms.py:57 #: canaille/core/endpoints/forms.py:58
msgid "The login '{login}' does not exist" msgid "The login '{login}' does not exist"
msgstr "Innloggingen «{login}» finnes ikke" msgstr "Innloggingen «{login}» finnes ikke"
#: canaille/core/endpoints/forms.py:64 #: canaille/core/endpoints/forms.py:65
#, fuzzy #, fuzzy
#| msgid "The page you are looking for does not exist" #| msgid "The page you are looking for does not exist"
msgid "The user you are trying to remove does not exist." msgid "The user you are trying to remove does not exist."
msgstr "Siden du leter etter finnes ikke" msgstr "Siden du leter etter finnes ikke"
#: canaille/core/endpoints/forms.py:69 #: canaille/core/endpoints/forms.py:70
msgid "The user '{user}' has already been removed from the group '{group}'" msgid "The user '{user}' has already been removed from the group '{group}'"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:87 #: canaille/core/endpoints/forms.py:88
msgid "" msgid ""
"The group '{group}' cannot be removed, because it must have at least one " "The group '{group}' cannot be removed, because it must have at least one "
"user left." "user left."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:95 canaille/core/endpoints/forms.py:118 #: canaille/core/endpoints/forms.py:96 canaille/core/endpoints/forms.py:119
#: canaille/core/templates/partial/group-members.html:9 #: canaille/core/templates/partial/group-members.html:9
#: canaille/core/templates/partial/users.html:9 #: canaille/core/templates/partial/users.html:9
#, fuzzy #, fuzzy
msgid "Login" msgid "Login"
msgstr "Logg inn" msgstr "Logg inn"
#: canaille/core/endpoints/forms.py:108 canaille/core/endpoints/forms.py:130 #: canaille/core/endpoints/forms.py:109 canaille/core/endpoints/forms.py:131
#: canaille/core/endpoints/forms.py:264 #: canaille/core/endpoints/forms.py:265
#: canaille/core/templates/profile_settings.html:63 #: canaille/core/templates/profile_settings.html:63
msgid "Password" msgid "Password"
msgstr "Passord" msgstr "Passord"
#: canaille/core/endpoints/forms.py:137 canaille/core/endpoints/forms.py:276 #: canaille/core/endpoints/forms.py:138 canaille/core/endpoints/forms.py:277
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Passordbekreftelse" msgstr "Passordbekreftelse"
#: canaille/core/endpoints/forms.py:140 canaille/core/endpoints/forms.py:279 #: canaille/core/endpoints/forms.py:141 canaille/core/endpoints/forms.py:280
msgid "Password and confirmation do not match." msgid "Password and confirmation do not match."
msgstr "Passordet og bekreftelsen samsvarer ikke." msgstr "Passordet og bekreftelsen samsvarer ikke."
#: canaille/core/endpoints/forms.py:159 #: canaille/core/endpoints/forms.py:160
msgid "Automatic" msgid "Automatic"
msgstr "Automatisk" msgstr "Automatisk"
#: canaille/core/endpoints/forms.py:164 #: canaille/core/endpoints/forms.py:165
msgid "Username" msgid "Username"
msgstr "Brukernavn" msgstr "Brukernavn"
#: canaille/core/endpoints/forms.py:168 canaille/core/endpoints/forms.py:368 #: canaille/core/endpoints/forms.py:169 canaille/core/endpoints/forms.py:369
#: canaille/core/endpoints/forms.py:382 #: canaille/core/endpoints/forms.py:383
#: canaille/core/templates/partial/group-members.html:12 #: canaille/core/templates/partial/group-members.html:12
#: canaille/core/templates/partial/groups.html:6 #: canaille/core/templates/partial/groups.html:6
#: canaille/core/templates/partial/users.html:12 #: canaille/core/templates/partial/users.html:12
@ -496,184 +508,197 @@ msgstr "Brukernavn"
msgid "Name" msgid "Name"
msgstr "Navn" msgstr "Navn"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Title" msgid "Title"
msgstr "Tittel" msgstr "Tittel"
#: canaille/core/endpoints/forms.py:170 #: canaille/core/endpoints/forms.py:171
msgid "Vice president" msgid "Vice president"
msgstr "Visepresident" msgstr "Visepresident"
#: canaille/core/endpoints/forms.py:173 #: canaille/core/endpoints/forms.py:174
msgid "Given name" msgid "Given name"
msgstr "Fornavn" msgstr "Fornavn"
#: canaille/core/endpoints/forms.py:175 #: canaille/core/endpoints/forms.py:176
msgid "John" msgid "John"
msgstr "Ola" msgstr "Ola"
#: canaille/core/endpoints/forms.py:181 #: canaille/core/endpoints/forms.py:182
msgid "Family Name" msgid "Family Name"
msgstr "Etternavn" msgstr "Etternavn"
#: canaille/core/endpoints/forms.py:184 #: canaille/core/endpoints/forms.py:185
msgid "Doe" msgid "Doe"
msgstr "Nordmann" msgstr "Nordmann"
#: canaille/core/endpoints/forms.py:190 #: canaille/core/endpoints/forms.py:191
msgid "Display Name" msgid "Display Name"
msgstr "Visningsnavn" msgstr "Visningsnavn"
#: canaille/core/endpoints/forms.py:193 #: canaille/core/endpoints/forms.py:194
msgid "Johnny" msgid "Johnny"
msgstr "Ola" msgstr "Ola"
#: canaille/core/endpoints/forms.py:200 canaille/core/endpoints/forms.py:468 #: canaille/core/endpoints/forms.py:201 canaille/core/endpoints/forms.py:469
#: canaille/core/templates/profile_edit.html:176 #: canaille/core/templates/profile_edit.html:176
#, fuzzy #, fuzzy
#| msgid "Email address" #| msgid "Email address"
msgid "Email addresses" msgid "Email addresses"
msgstr "E-postadresse" msgstr "E-postadresse"
#: canaille/core/endpoints/forms.py:206 canaille/core/endpoints/forms.py:458 #: canaille/core/endpoints/forms.py:207 canaille/core/endpoints/forms.py:459
msgid "" msgid ""
"This email will be used as a recovery address to reset the password if needed" "This email will be used as a recovery address to reset the password if needed"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:220 #: canaille/core/endpoints/forms.py:221
#, fuzzy #, fuzzy
#| msgid "Phone number" #| msgid "Phone number"
msgid "Phone numbers" msgid "Phone numbers"
msgstr "Telefonnummer" msgstr "Telefonnummer"
#: canaille/core/endpoints/forms.py:221 #: canaille/core/endpoints/forms.py:222
msgid "555-000-555" msgid "555-000-555"
msgstr "87 65 43 21" msgstr "87 65 43 21"
#: canaille/core/endpoints/forms.py:228 #: canaille/core/endpoints/forms.py:229
msgid "Address" msgid "Address"
msgstr "Adresse" msgstr "Adresse"
#: canaille/core/endpoints/forms.py:230 #: canaille/core/endpoints/forms.py:231
msgid "132, Foobar Street, Gotham City 12401, XX" msgid "132, Foobar Street, Gotham City 12401, XX"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:234 #: canaille/core/endpoints/forms.py:235
#, fuzzy #, fuzzy
msgid "Street" msgid "Street"
msgstr "Hemmelighet" msgstr "Hemmelighet"
#: canaille/core/endpoints/forms.py:236 #: canaille/core/endpoints/forms.py:237
msgid "132, Foobar Street" msgid "132, Foobar Street"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:240 #: canaille/core/endpoints/forms.py:241
msgid "Postal Code" msgid "Postal Code"
msgstr "Postnummer" msgstr "Postnummer"
#: canaille/core/endpoints/forms.py:246 #: canaille/core/endpoints/forms.py:247
msgid "Locality" msgid "Locality"
msgstr "Kommune" msgstr "Kommune"
#: canaille/core/endpoints/forms.py:248 #: canaille/core/endpoints/forms.py:249
msgid "Gotham City" msgid "Gotham City"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:252 #: canaille/core/endpoints/forms.py:253
msgid "Region" msgid "Region"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:254 #: canaille/core/endpoints/forms.py:255
msgid "North Pole" msgid "North Pole"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:258 #: canaille/core/endpoints/forms.py:259
msgid "Photo" msgid "Photo"
msgstr "Bilde" msgstr "Bilde"
#: canaille/core/endpoints/forms.py:262 #: canaille/core/endpoints/forms.py:263
#: canaille/core/templates/profile_add.html:56 #: canaille/core/templates/profile_add.html:56
#: canaille/core/templates/profile_edit.html:64 #: canaille/core/templates/profile_edit.html:64
msgid "Delete the photo" msgid "Delete the photo"
msgstr "Slett bildet" msgstr "Slett bildet"
#: canaille/core/endpoints/forms.py:287 #: canaille/core/endpoints/forms.py:288
#, fuzzy #, fuzzy
#| msgid "Username" #| msgid "Username"
msgid "User number" msgid "User number"
msgstr "Brukernavn" msgstr "Brukernavn"
#: canaille/core/endpoints/forms.py:289 canaille/core/endpoints/forms.py:295 #: canaille/core/endpoints/forms.py:290 canaille/core/endpoints/forms.py:296
msgid "1234" msgid "1234"
msgstr "1234" msgstr "1234"
#: canaille/core/endpoints/forms.py:293 #: canaille/core/endpoints/forms.py:294
#, fuzzy #, fuzzy
msgid "Department" msgid "Department"
msgstr "Telefonnummer" msgstr "Telefonnummer"
#: canaille/core/endpoints/forms.py:299 #: canaille/core/endpoints/forms.py:300
#, fuzzy #, fuzzy
#| msgid "Invitation" #| msgid "Invitation"
msgid "Organization" msgid "Organization"
msgstr "Invitasjon" msgstr "Invitasjon"
#: canaille/core/endpoints/forms.py:301 #: canaille/core/endpoints/forms.py:302
msgid "Cogip LTD." msgid "Cogip LTD."
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:305 #: canaille/core/endpoints/forms.py:306
msgid "Website" msgid "Website"
msgstr "Nettside" msgstr "Nettside"
#: canaille/core/endpoints/forms.py:307 #: canaille/core/endpoints/forms.py:308
msgid "https://mywebsite.tld" msgid "https://mywebsite.tld"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:312 #: canaille/core/endpoints/forms.py:313
msgid "Preferred language" msgid "Preferred language"
msgstr "Foretrukket språk" msgstr "Foretrukket språk"
#: canaille/core/endpoints/forms.py:322 #: canaille/core/endpoints/forms.py:323
#, fuzzy #, fuzzy
msgid "users, admins …" msgid "users, admins …"
msgstr "brukere, administratorer …" msgstr "brukere, administratorer …"
#: canaille/core/endpoints/forms.py:347 #: canaille/core/endpoints/forms.py:348
#, fuzzy #, fuzzy
#| msgid "Account creation" #| msgid "Account creation"
msgid "Account expiration" msgid "Account expiration"
msgstr "Kontoopprettelse" msgstr "Kontoopprettelse"
#: canaille/core/endpoints/forms.py:371 #: canaille/core/endpoints/forms.py:372
msgid "group" msgid "group"
msgstr "gruppe" msgstr "gruppe"
#: canaille/core/endpoints/forms.py:375 canaille/core/endpoints/forms.py:392 #: canaille/core/endpoints/forms.py:376 canaille/core/endpoints/forms.py:393
#: canaille/core/templates/partial/groups.html:7 #: canaille/core/templates/partial/groups.html:7
msgid "Description" msgid "Description"
msgstr "Beskrivelse" msgstr "Beskrivelse"
#: canaille/core/endpoints/forms.py:406 canaille/core/endpoints/forms.py:431 #: canaille/core/endpoints/forms.py:407 canaille/core/endpoints/forms.py:432
msgid "Email address" msgid "Email address"
msgstr "E-postadresse" msgstr "E-postadresse"
#: canaille/core/endpoints/forms.py:425 #: canaille/core/endpoints/forms.py:426
#, fuzzy #, fuzzy
#| msgid "Username" #| msgid "Username"
msgid "User name" msgid "User name"
msgstr "Brukernavn" msgstr "Brukernavn"
#: canaille/core/endpoints/forms.py:429 #: canaille/core/endpoints/forms.py:430
msgid "Username editable by the invitee" msgid "Username editable by the invitee"
msgstr "" msgstr ""
#: canaille/core/endpoints/forms.py:471 #: canaille/core/endpoints/forms.py:472
#, fuzzy #, fuzzy
#| msgid "Email address" #| msgid "Email address"
msgid "New email address" msgid "New email address"
msgstr "E-postadresse" msgstr "E-postadresse"
#: canaille/core/endpoints/forms.py:488
#: canaille/core/templates/mails/email_otp.txt:5
#, fuzzy
#| msgid "Reset password"
msgid "One-time password"
msgstr "Tilbakestill passord"
#: canaille/core/endpoints/forms.py:494
#, fuzzy
#| msgid "1234"
msgid "123456"
msgstr "1234"
#: canaille/core/endpoints/groups.py:40 #: canaille/core/endpoints/groups.py:40
#, fuzzy #, fuzzy
msgid "Group creation failed." msgid "Group creation failed."
@ -834,7 +859,7 @@ msgstr "Opprett gruppe"
#: canaille/core/templates/group.html:65 #: canaille/core/templates/group.html:65
#: canaille/core/templates/profile_edit.html:164 #: canaille/core/templates/profile_edit.html:164
#: canaille/core/templates/profile_settings.html:166 #: canaille/core/templates/profile_settings.html:172
#: canaille/oidc/templates/client_edit.html:81 #: canaille/oidc/templates/client_edit.html:81
msgid "Edit" msgid "Edit"
msgstr "Rediger" msgstr "Rediger"
@ -958,10 +983,13 @@ msgstr ""
#: canaille/core/templates/login.html:45 #: canaille/core/templates/login.html:45
#: canaille/core/templates/mails/registration.txt:5 #: canaille/core/templates/mails/registration.txt:5
#: canaille/core/templates/setup-2fa.html:53
msgid "Continue" msgid "Continue"
msgstr "Fortsett" msgstr "Fortsett"
#: canaille/core/templates/password.html:21 #: canaille/core/templates/password.html:21
#: canaille/core/templates/setup-2fa.html:21
#: canaille/core/templates/verify-2fa.html:21
#, python-format #, python-format
msgid "Sign in as %(username)s" msgid "Sign in as %(username)s"
msgstr "Logg inn som %(username)s" msgstr "Logg inn som %(username)s"
@ -971,6 +999,7 @@ msgid "Please enter your password for this account."
msgstr "" msgstr ""
#: canaille/core/templates/password.html:39 #: canaille/core/templates/password.html:39
#: canaille/core/templates/verify-2fa.html:39
#, python-format #, python-format
msgid "I am not %(username)s" msgid "I am not %(username)s"
msgstr "Jeg er ikke %(username)s" msgstr "Jeg er ikke %(username)s"
@ -1053,6 +1082,7 @@ msgid "Send a verification email to validate this address."
msgstr "" msgstr ""
#: canaille/core/templates/profile_edit.html:221 #: canaille/core/templates/profile_edit.html:221
#: canaille/core/templates/verify-2fa.html:40
msgid "Verify" msgid "Verify"
msgstr "" msgstr ""
@ -1139,29 +1169,42 @@ msgstr "Denne brukeren kan ikke redigere dette feltet"
msgid "The user won't be able to connect until their account is unlocked." msgid "The user won't be able to connect until their account is unlocked."
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:27
#: canaille/core/templates/profile_settings.html:145 #: canaille/core/templates/profile_settings.html:145
msgid "Reset one-time password authentication"
msgstr ""
#: canaille/core/templates/profile_settings.html:151
#, fuzzy #, fuzzy
#| msgid "Delete my account" #| msgid "Delete my account"
msgid "Lock the account" msgid "Lock the account"
msgstr "Slett kontoen min" msgstr "Slett kontoen min"
#: canaille/core/templates/profile_settings.html:152 #: canaille/core/templates/profile_settings.html:158
msgid "Delete the user" msgid "Delete the user"
msgstr "Slett brukeren" msgstr "Slett brukeren"
#: canaille/core/templates/profile_settings.html:154 #: canaille/core/templates/profile_settings.html:160
msgid "Delete my account" msgid "Delete my account"
msgstr "Slett kontoen min" msgstr "Slett kontoen min"
#: canaille/core/templates/profile_settings.html:161 #: canaille/core/templates/profile_settings.html:167
msgid "Impersonate" msgid "Impersonate"
msgstr "" msgstr ""
#: canaille/core/templates/setup-2fa.html:23
msgid "Set up Two-Factor Authentication."
msgstr ""
#: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29 #: canaille/core/templates/users.html:5 canaille/core/templates/users.html:29
#: canaille/templates/base.html:51 #: canaille/templates/base.html:51
msgid "Users" msgid "Users"
msgstr "Brukere" msgstr "Brukere"
#: canaille/core/templates/verify-2fa.html:23
msgid "One-time password authentication."
msgstr ""
#: canaille/core/templates/mails/admin.html:5 #: canaille/core/templates/mails/admin.html:5
#: canaille/core/templates/mails/admin.html:11 #: canaille/core/templates/mails/admin.html:11
#: canaille/oidc/templates/authorization_list.html:11 #: canaille/oidc/templates/authorization_list.html:11
@ -1280,6 +1323,10 @@ msgstr "Invitasjon"
msgid "Compromised password check failure" msgid "Compromised password check failure"
msgstr "" msgstr ""
#: canaille/core/templates/mails/admin.html:171
msgid "Email one-time password"
msgstr ""
#: canaille/core/templates/mails/compromised_password_check_failure.html:28 #: canaille/core/templates/mails/compromised_password_check_failure.html:28
#, python-format #, python-format
msgid "" msgid ""
@ -1392,6 +1439,32 @@ msgstr ""
msgid "Verification link" msgid "Verification link"
msgstr "Invitasjonslenke" msgstr "Invitasjonslenke"
#: canaille/core/templates/mails/email_otp.html:19
#: canaille/core/templates/mails/email_otp.txt:1
msgid "One-time password authentication"
msgstr ""
#: canaille/core/templates/mails/email_otp.html:27
#, python-format
msgid ""
"Someone, probably you, asked for a one-time password at %(site_name)s. If "
"you did not ask for this email, please ignore it. If you did, please enter "
"the one-time password below at %(site_name)s to complete your authentication."
msgstr ""
#: canaille/core/templates/mails/email_otp.html:30
#, fuzzy
#| msgid "Forgotten password"
msgid "Your one-time password"
msgstr "Glemt passord"
#: canaille/core/templates/mails/email_otp.txt:3
#, python-format
msgid ""
"Please enter the one-time password below at %(site_name)s to complete your "
"authentication."
msgstr ""
#: canaille/core/templates/mails/firstlogin.html:27 #: canaille/core/templates/mails/firstlogin.html:27
#, python-format #, python-format
msgid "" msgid ""
@ -1504,6 +1577,7 @@ msgstr ""
#: canaille/core/templates/modals/delete-group.html:22 #: canaille/core/templates/modals/delete-group.html:22
#: canaille/core/templates/modals/lock-account.html:26 #: canaille/core/templates/modals/lock-account.html:26
#: canaille/core/templates/modals/remove-group-member.html:22 #: canaille/core/templates/modals/remove-group-member.html:22
#: canaille/core/templates/modals/reset-otp.html:26
#: canaille/oidc/templates/modals/delete-client.html:20 #: canaille/oidc/templates/modals/delete-client.html:20
#: canaille/oidc/templates/modals/revoke-token.html:20 #: canaille/oidc/templates/modals/revoke-token.html:20
msgid "Cancel" msgid "Cancel"
@ -1568,6 +1642,23 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
#: canaille/core/templates/modals/reset-otp.html:9
msgid "One-time password authentication reset"
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:14
#, python-format
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication for "
"%(user_name)s ? The user will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/modals/reset-otp.html:18
msgid ""
"Are you sure you want to reset one-time password (OTP) authentication? You "
"will have to perform OTP setup again at next login."
msgstr ""
#: canaille/core/templates/partial/group-members.html:16 #: canaille/core/templates/partial/group-members.html:16
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
@ -1614,6 +1705,12 @@ msgstr "Tilgangen har blitt tilbakekalt"
msgid "Number of members" msgid "Number of members"
msgstr "Antall medlemmer" msgstr "Antall medlemmer"
#: canaille/core/templates/sms/sms_otp.txt:1
#, python-format
msgid ""
"Here is the one-time password you requested for %(website_name)s: %(otp)s"
msgstr ""
#: canaille/oidc/utils.py:6 #: canaille/oidc/utils.py:6
msgid "Info about yourself, such as your name." msgid "Info about yourself, such as your name."
msgstr "" msgstr ""

File diff suppressed because it is too large Load diff