diff --git a/modoboa/admin/locale/br/LC_MESSAGES/django.po b/modoboa/admin/locale/br/LC_MESSAGES/django.po index 6a79e7ffd..18a060c21 100644 --- a/modoboa/admin/locale/br/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/br/LC_MESSAGES/django.po @@ -1,1091 +1,1219 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Irriep Nala Novram , 2019 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-17 13:41+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-03-11 18:18+0000\n" "Last-Translator: Irriep Nala Novram \n" "Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domanioù" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Enaouiñ ar gwiriañ MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "MXs talvoudus" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "Ul listennad chomlec'hioù IP pe rouedad hag a rank bezañ doujet gant kement enrolladenn MX Ur c'hemenn-diwall a vo kaset seul wech ma ne vo ket doujet gant un enrolladenn." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"Ul listennad chomlec'hioù IP pe rouedad hag a rank bezañ doujet gant kement " +"enrolladenn MX Ur c'hemenn-diwall a vo kaset seul wech ma ne vo ket doujet " +"gant un enrolladenn." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "An domanioù nevez a rank implijout MX(où) aotreet" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "Mirout ouzh krouidigezh un domani ma n'eus ket da vihanañ ur chomlec'h termenet MX evit ec'h enrolladennoù." +msgstr "" +"Mirout ouzh krouidigezh un domani ma n'eus ket da vihanañ ur chomlec'h " +"termenet MX evit ec'h enrolladennoù." -#: app_settings.py:55 +#: admin/app_settings.py:51 +#, fuzzy +#| msgid "Enable DNS checks" +msgid "Enable SPF checks" +msgstr "Enaouiñ ar gwiriañ DNS" + +#: admin/app_settings.py:54 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid SPF record" +msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh" + +#: admin/app_settings.py:59 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable DKIM checks" +msgstr "Enaouiñ ar gwiriañ MX" + +#: admin/app_settings.py:62 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain with DKIM signin enabled has a valid DNS record" +msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh" + +#: admin/app_settings.py:68 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable DMARC checks" +msgstr "Enaouiñ ar gwiriañ MX" + +#: admin/app_settings.py:71 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid DMARC record" +msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh" + +#: admin/app_settings.py:76 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable autoconfig checks" +msgstr "Enaouiñ ar gwiriañ MX" + +#: admin/app_settings.py:79 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid records for autoconfiguration" +msgstr "Gwiriañ a ra e vez kement domai un enrolladenn MX reizh" + +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Enaouiñ ar gwiriañ DNSBL" -#: app_settings.py:58 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Gwiriañ a ra kement domani ouzh ar bourvezerien DNSBL pennañ" -#: app_settings.py:63 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "Servijer DNS personnel" -#: app_settings.py:66 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "Implijit ur servijer DNS e-plas ur c'hefluniadur servijer lec'hel" -#: app_settings.py:71 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "Kavlec'h stokiñ an alc'hwezioù DKIM" -#: app_settings.py:74 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Hent absolut ar c'havlec'h a vo stoket an alc'hwezioù DKIM ennañ. Bezit asur e vez perc'hennet ar c'havlec'h-mañ gant an implijer gwrizienn ha n'hall ket bezañ lennet gant an dud diavaez." +msgstr "" +"Hent absolut ar c'havlec'h a vo stoket an alc'hwezioù DKIM ennañ. Bezit asur " +"e vez perc'hennet ar c'havlec'h-mañ gant an implijer gwrizienn ha n'hall ket " +"bezañ lennet gant an dud diavaez." -#: app_settings.py:82 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Ment dre-ziouer un alc'hwez DKIM" -#: app_settings.py:86 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Ment dre-ziouer en oktedoù an alc'hwezioù DKIM ganet." -#: app_settings.py:90 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Boest-posteloù" -#: app_settings.py:93 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Merañ ar voest-posteloù war restr-sistem" -#: app_settings.py:96 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" -msgstr "Adenvel pe zilemel boest-posteloù war ar restr-sistem pa vezont adanvet pe dilamet diwar Modoboa" +msgstr "" +"Adenvel pe zilemel boest-posteloù war ar restr-sistem pa vezont adanvet pe " +"dilamet diwar Modoboa" -#: app_settings.py:102 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Perc'henn ar boestoù-postel" -#: app_settings.py:105 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Ar gont UNIX hag a oar boest-posteloù war ar restr-sistem" -#: app_settings.py:110 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Kota domani dre-ziouer" -#: app_settings.py:113 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "Kota dre-ziouer (e Mo) arloet d'an domanioù krouet hep talvoudegezh spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet." +msgstr "" +"Kota dre-ziouer (e Mo) arloet d'an domanioù krouet hep talvoudegezh spisaet. " +"Un dalvoudegezh 0 a dalvez n'eus kota ebet." -#: app_settings.py:119 forms/domain.py:53 models/domain.py:41 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Kota boest-posteloù dre-ziouer" -#: app_settings.py:122 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." -msgstr "Kota dre-ziouer (e Mo) arloet d'ar voest-posteloù krouet hep talvoudegezh spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet." +msgstr "" +"Kota dre-ziouer (e Mo) arloet d'ar voest-posteloù krouet hep talvoudegezh " +"spisaet. Un dalvoudegezh 0 a dalvez n'eus kota ebet." -#: app_settings.py:128 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Em-dilamadur kont" -#: app_settings.py:131 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "Pa vez dilamet ur voest-posteloù, dilamit ur gont kevelet." -#: app_settings.py:135 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Em-grouidigezh domani/boest-postel" -#: app_settings.py:138 -msgid "" -"Create a domain and a mailbox when an account is automatically created." +#: admin/app_settings.py:167 +msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Krouit un domani hag ur voest-posteloù pa vez em-grouet ur gont." -#: app_settings.py:144 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Krouiñ un alias pa vez adanvet ur voest-posteloù" -#: app_settings.py:147 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." -msgstr "Krouiñ un alias en ur implijout ar chomlec'h pa vez adanvet ar voest-posteloù." +msgstr "" +"Krouiñ un alias en ur implijout ar chomlec'h pa vez adanvet ar voest-" +"posteloù." -#: app_settings.py:196 app_settings.py:204 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Rankout a ra bezañ un anterin pozitivel" -#: app_settings.py:214 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Neket bet kavet an domani." -#: app_settings.py:220 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "n'heller ket kavout openssl, bezit asur emañ staliet." -#: app_settings.py:234 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Termeniñ da vihanañ ur rouedad / chomlec'h aotreet" -#: app_settings.py:244 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Melestradurezh" -#: constants.py:98 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domani" -#: constants.py:99 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Domani a-eil" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Anv implier" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "An anv implijer. Rankout a ra bezañ ur voest-posteloù reizh evit an implijer eeun pe ar verourien gant ur voest-posteloù." +msgstr "" +"An anv implijer. Rankout a ra bezañ ur voest-posteloù reizh evit an implijer " +"eeun pe ar verourien gant ur voest-posteloù." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Dibab" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Peseurt live-aotre a vo gant an implijer-mañ" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Ger-tremen dre-zegouezh" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Genel ur ger-tremen dre-zegouezh. M'emaoc'h oc'h hizivaat ar gont-mañ hag e kochit ar c'hombodig-mañ, ur ger-tremen nevez a vo ganet." +msgstr "" +"Genel ur ger-tremen dre-zegouezh. M'emaoc'h oc'h hizivaat ar gont-mañ hag e " +"kochit ar c'hombodig-mañ, ur ger-tremen nevez a vo ganet." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Ger-tremen" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Kadarnadur" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Ebarzhit ar memes ger-tremen hag a-us, da wiriañ." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Enaouet" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "N'eus nemet an dreist-merourien hag a vez aotreet evit ar mod-se" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:279 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Ar vaezienn-mañ a zo rekiset." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "An div vaezienn ger-tremen na glotont ket an eil gant eben." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "N'hallit ket dilemel ho kont deoc'h-c'hwi hoc'h-unan" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "Postel" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Krouiñ un alias en ur implijout ur chomlec'h kozh" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 -#: templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Kota" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" -"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a" -" custom value or use domain's default one. Leave empty to define an " -"unlimited value (not allowed for domain administrators)." -msgstr "Kota evit ar voest-posteloù-mañ. Gellout a ra bezañ ezpleget e Ko, Mo (diouer) pe Go c'hoazh. Termeniñ un dalvoudegezh ispisial pe implijit talvoudegezh an domani. Laoskit goullo evit termeniñ un dalvoudegezh divevenn (berzet evit ar verourien zomani)." +"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " +"custom value or use domain's default one. Leave empty to define an unlimited " +"value (not allowed for domain administrators)." +msgstr "" +"Kota evit ar voest-posteloù-mañ. Gellout a ra bezañ ezpleget e Ko, Mo " +"(diouer) pe Go c'hoazh. Termeniñ un dalvoudegezh ispisial pe implijit " +"talvoudegezh an domani. Laoskit goullo evit termeniñ un dalvoudegezh " +"divevenn (berzet evit ar verourien zomani)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(où)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias(où) ar voest-postel-mañ. Spisait ur chomlec'h dre enmont, pouezit war KAS evit ouzhpennañ un enmont nevez. Evit krouiñ un alias 'lak-pep-tra', ebarzhit anv an domani hepken (@domain.tld)." +msgstr "" +"Alias(où) ar voest-postel-mañ. Spisait ur chomlec'h dre enmont, pouezit war " +"KAS evit ouzhpennañ un enmont nevez. Evit krouiñ un alias 'lak-pep-tra', " +"ebarzhit anv an domani hepken (@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Chomlec'hioù ar c'haser" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Chomlec'h(ioù) kaser ouzhpenn evit ar gont-mañ. An implijer a vo aotreet da gas posteloù en ur ober gant ar chomlec'hioù-se, ha pa 'z eus anezhañ en un doare lec'hel. Spisait ur chomlec'h dre enmont. Pouezit war KAS evit un enmont nevez." +msgstr "" +"Chomlec'h(ioù) kaser ouzhpenn evit ar gont-mañ. An implijer a vo aotreet da " +"gas posteloù en ur ober gant ar chomlec'hioù-se, ha pa 'z eus anezhañ en un " +"doare lec'hel. Spisait ur chomlec'h dre enmont. Pouezit war KAS evit un " +"enmont nevez." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "N'eus ket eus an Domani" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "N'eus ket eus an domani lec'hel" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "N'ho peus moned ebet d'an domani-mañ" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domani(où)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domani(où) meret gant an implijer" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Hollek" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Postel" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Aotreadurioù" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Kont hizivaet" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Kont nevez" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Kont krouet" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Chomlec'h dre-zegouezh" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Chomlec'h postel" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Chomlec'h an alias. Evit krouiñ un alias catchall, ebarzhit hepken an anv domani (@domani.tld)" +msgstr "" +"Chomlec'h an alias. Evit krouiñ un alias catchall, ebarzhit hepken an anv " +"domani (@domani.tld)" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Reseverien" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Chomlec'hioù az aio an alias-mañ betek ar poent ennañ. Spisait ur chomlec'h dre enmont, pouezit war KAS evit ouzhpennañ un enmont nevez." +msgstr "" +"Chomlec'hioù az aio an alias-mañ betek ar poent ennañ. Spisait ur chomlec'h " +"dre enmont, pouezit war KAS evit ouzhpennañ un enmont nevez." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Ar vaezienn-mañ a zo rekiset" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Resever ebet termenet" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Doare" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias​​(où) an domani-mañ. Spisait un anv dre enmont hepken, pouezit war KAS evit ouzhpennañ un emnont nevez." +msgstr "" +"Alias​​(où) an domani-mañ. Spisait un anv dre enmont hepken, pouezit war KAS " +"evit ouzhpennañ un emnont nevez." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Diuzer alc'hwez" -#: forms/domain.py:48 models/domain.py:36 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." -msgstr "Kota rannet kenetre ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo (diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet." +msgstr "" +"Kota rannet kenetre ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo " +"(diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." -msgstr "Kota arloet d'ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo (diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet." +msgstr "" +"Kota arloet d'ar boestoù-postel. Gellout a ra bezañ ezpleget e Ko, Mo " +"(diouer) pe Go c'hoazh. Un dalvoudegezh \"0\" a dalvez kota ebet." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias an domani" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Bez ez eus \"%s\" gant ar memes anv" -#: forms/domain.py:109 serializers.py:56 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Enrolladenn MX aotreet ebet kavet evit an domani-mañ" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "Kavlec'h stokiñ an alc'hwezioù DKIM chomet digefluniet" -#: forms/domain.py:151 serializers.py:74 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "N'hall ket bezañ brasoc'h evit kota an domani" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "N'hallit ket termeniñ ur c'hota divevenn" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domani" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Krouit ur merour domani" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Em-grouit ur merour evit an domani-mañ" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Anv" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "An anv merour. Na eberzhit ket anv domani amañ, em-ouzhpennet e vo." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Genel ur ger-tremen dre-zegouezh evit ar merour." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Gant ur voest-posteloù" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Krouiñ ur voest-posteloù evit ar merour." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Krouiñ aliasoù" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Em-grouit aliasoù standard evit an domani-mañ" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Stumm direizh" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "An implijer \"%s\" a zo anezhañ endeo" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domani aozet" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Dibarzhioù" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Domani nevez" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domani krouet" -#: forms/export.py:11 -msgid "File name" -msgstr "Anv restr" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Skejer" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Resever(ien)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Roit da anavout unan pe meur a resever skejet gant ur ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Mirout eiladennoù lec'hel" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" -msgstr "Treuzkas kemennadennoù ha stokiñ eiladennoù e-barzh ar voest-posteloù lec'hel" +msgstr "" +"Treuzkas kemennadennoù ha stokiñ eiladennoù e-barzh ar voest-posteloù lec'hel" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Diuzañ ur restr" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Kenderc'hel war ar fazi" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Arabat tretiñ an objedoù e doubl evel ur fazi" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Kriptañ ar gerioù-tremen" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" -msgstr "Kochit an dibarzh ma ne vez ket kriptet ar gerioù-tremen endalc'het en ho restr" +msgstr "" +"Kochit an dibarzh ma ne vez ket kriptet ar gerioù-tremen endalc'het en ho " +"restr" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Enporzhiadur kont c'hwitet (%s): n'eus ket eus an domani" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Boest-postel {} a zo anezhi endeo" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Enporzhiadur kont c'hwitet (%s): talvoudegezh kota fall" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identelezhioù" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Treuzkas" -#: lib.py:41 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Ur voest-posteloù a zo rekiset" -#: lib.py:131 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "N'hoc'h ket aotreet da emporzhiañ domanioù" -#: lib.py:142 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "N'hoc'h ket aotreet da emporzhiañ aliasoù domani." -#: lib.py:187 tests/test_mx.py:135 -#, python-format -msgid "No DNS records found for %s" +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 +#, fuzzy, python-format +#| msgid "No DNS records found for %s" +msgid "No DNS record found for %s" msgstr "Enrolladenn DNS ebet kavet evit %s" -#: lib.py:189 tests/test_mx.py:138 -#, python-format -msgid "No MX record for %s" +#: admin/lib.py:192 +#, fuzzy, python-format +#| msgid "No MX record for %s" +msgid "No %(type)s record for %(name)s" msgstr "Enrolladenn MX ebet evit %s" -#: lib.py:191 tests/test_mx.py:139 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "N'eus bet kavet anv servijer ebet hag az afe en-dro" -#: lib.py:194 tests/test_mx.py:141 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" -msgstr "Prantad gortoz spister DNS, n'heller ket sevel ar reked %s evit ar mare" +msgstr "" +"Prantad gortoz spister DNS, n'heller ket sevel ar reked %s evit ar mare" -#: lib.py:205 -#, python-brace-format -msgid "No {type} record found for MX {mx}" -msgstr "{type} enrolladenn ebet kavet evit MX {mx}" - -#: lib.py:214 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "Stumm chomlec'h IP direizh evit {domain}; {addr}" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" -msgstr "Ar restr CSV neket kodet anezhi en UTF-8, klask a reomp divinout an enkodañ" +msgstr "" +"Ar restr CSV neket kodet anezhi en UTF-8, klask a reomp divinout an enkodañ" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "Lenn ur restr CSV en ur implijout an enkodañ %(encoding)s" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" -msgstr "N'heller ket digodiñ ar restroù CSV en ur ober gant an enkodañ %(encoding)s" +msgstr "" +"N'heller ket digodiñ ar restroù CSV en ur ober gant an enkodañ %(encoding)s" -#: management/commands/subcommands/_mx.py:135 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Kudenn(où) DNSBL gant an domani {}" -#: management/commands/subcommands/_mx.py:155 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "An domani {} n'eus enrolladenn MX ebet gantañ" -#: management/commands/subcommands/_mx.py:166 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "An enrolladenn MX evit an domani {0} a zo direizh {1}" -#: management/commands/subcommands/_mx.py:183 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] kudenn(où) MX evit an domani {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "chomlec'h" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Chomlec'h an alias." -#: models/alias.py:43 models/domain.py:49 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "enaouet" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Kochiñ evit enaouiñ an alias-mañ" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Deskrivadur" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Diamzeriet da" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Chomlec'h direizh" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Resever lec'hel {}@{} nann-kavet" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Linenn direizh: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "N'eus ket eus an domani \"%s\"" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "anv" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Anv an domani" -#: models/domain.py:44 -msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "Kota dre-ziouer e Mo arloet d'ar boestoù-postel. Un dalvoudegezh \"0\" a dalvez kota ebet." - -#: models/domain.py:50 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Kochit evit enaouiñ an domani-mañ" -#: models/domain.py:55 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Enaouiñ ar gwiriañ DNS" -#: models/domain.py:56 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Kochit evit enaouiñ ar gwiriadenoù DNs evit an domani-mañ" -#: models/domain.py:63 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Enaouiñ ar sinadur DKIM" -#: models/domain.py:65 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." -msgstr "Ma enaouit an arc'hweladur-mañ, un alc'hwez DKIM a vo ganet evit an domani-mañ." +msgstr "" +"Ma enaouit an arc'hweladur-mañ, un alc'hwez DKIM a vo ganet evit an domani-" +"mañ." -#: models/domain.py:71 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Padelezh an alc'hwez" -#: models/domain.py:303 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Linenn direizh" -#: models/domain.py:313 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Enrolladenn MX aotreet ebet kavet evit an domani {}" -#: models/domain.py:320 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Talvoudegezh kota direizh evit an domani \"{}\"" -#: models/domain.py:327 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Talvoudegezh kota direizh evit boest-posteloù an domani \"{}\"" -#: models/domain.py:332 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" -msgstr "N'hall ket bezañ brasoc'h kota dre-ziouer ur voestad-posteloù evit kota un domani" +msgstr "" +"N'hall ket bezañ brasoc'h kota dre-ziouer ur voestad-posteloù evit kota un " +"domani" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Anv an alias" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "bukenn" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "An domani a vez lakaet ar biz warnañ gant an alias-mañ" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Domani dizanv %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Chomlec'hioù boest-posteloù (hep al lodenn @domani.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "N'heller ket adsevel lec'hiadur ar voest-posteloù (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Ur c'hota a zo rekiset" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Kota an domani dibaseet" -#: serializers.py:99 serializers.py:304 serializers.py:402 +#: admin/serializers.py:37 +msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." +msgstr "" +"Kota dre-ziouer e Mo arloet d'ar boestoù-postel. Un dalvoudegezh \"0\" a " +"dalvez kota ebet." + +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Aotreadur nac'het" -#: serializers.py:150 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "Listenn domanioù meret (eilgwerzherien ha merourien zomani hepken)." -#: serializers.py:254 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Neket aotreet evit ar rol-mañ." -#: serializers.py:266 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Rankout a ra bezañ par ouzh boest-postell chomlec'h_klok" -#: serializers.py:291 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "N'eus ket eus an domani lec'hel {}" -#: serializers.py:389 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Ul listenn resevourien" -#: serializers.py:400 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Neket bet kavet an domani." -#: serializers.py:449 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "N'ho peus moned ebet d'an domani-mañ." -#: serializers.py:457 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "N'ho peus moned ebet d'ar voest-posteloù-mañ." -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Serriñ" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "Alc'hwez foran DKIM evit %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Stumm Raw" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Stumm Ereet/anvet" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Lazhet" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "O c'hortoz gwiriadennoù" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 +#, fuzzy +#| msgid "No DNS records found for %s" +msgid "No record found" +msgstr "Enrolladenn DNS ebet kavet evit %s" + +#: admin/templates/admin/_domain_dnschecks_status.html:24 +msgid "Waiting for key to be generated" +msgstr "" + +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Statistikoù hollek" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Kementad" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Aliasoù domani" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statistikoù dre-zomani" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(lazhet)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Berradenn" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Anv klok" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Krouet" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Kevreadenn ziwezhañ" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Eil chomlec'h postel" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Ket termenet" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Niverenn bellgomz" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Domanioù meret" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Domani ebet termenet." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Aliasoù" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Alias ebet termenet" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Chomlec'hioù ouzhpenn ar c'haser" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Chomlec'h kaser ebet termenet" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "An domani a zo lazhet" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Aozet" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Pourvezet" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Chomlec'h" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Statud" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "listennet" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Pep tra az a mat, neket listennet an domani-mañ." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Titour ebet hegerz evit an domani-mañ." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Deiziad krouidigezh" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Deiziad aozañ diwezhañ" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Aliasoù boest-posteloù" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "Mo" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Implij" -#: templates/admin/domain_detail.html:57 -#: templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "implijet" -#: templates/admin/domain_detail.html:58 -#: templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "derannet" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "Alc'hwez DKIM" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Diskouez an alc'hwez" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "Genel un alc'hwez nevez" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Neket ganet" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Merourien" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Dilemel an aotre-mañ" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Merour domani ebet termenet betek-hen." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Balizoù" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Statud DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Oberioù" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "N'heller ket krouiñ ur merour domani nevez" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Ouzhpennañ" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Bevenn" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Implijet" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Derannet" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Implij (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "lazhet" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Em-dreuzkas ar posteloù betek ur chomlec'h postel all" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Hizivaat" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Kont" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Talvoudegezh" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Anv klok/Resever" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:

The first element of each line is " "mandatory and must be equal to one of the previous values.

You can " "use a different character as separator.

" -msgstr "Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-heul:

Elfenn gentañ pep linenn a vez ret hag e rank bezañ par ouzh unan eus an talvoudegezhioù kent.

Gellout a rit implijout un arouezenn evel skejer.

" +msgstr "" +"Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-" +"heul:

Elfenn gentañ pep linenn " +"a vez ret hag e rank bezañ par ouzh unan eus an talvoudegezhioù kent.

" +"

Gellout a rit implijout un arouezenn evel skejer.

" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
    " -"
  • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
  • alias; address; enabled; " +"
  • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
  • alias; address; enabled; " "recipient; recipient; ...

The first element of each line " -"is mandatory and must be equal to one of the previous values.

You can" -" use a different character as separator.

" -msgstr "Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-heul:
  • kont; anv-kevreañ; ger-tremen; anv bihan; anv familh; enaouet; strolladoù; chomlec'h; kota; [, domani, ...]
  • alias; chomlec'h; enaouet; resever; resever; ...

Elfenn gentañ pep linenn a vez ret hag e rank bezañ par ouzh unan eus an talvoudegezhioù kent.

Gellout a rit implijout un arouezenn evel skejer.

" +"is mandatory and must be equal to one of the previous values.

You can " +"use a different character as separator.

" +msgstr "" +"Pourvezit ur restr CSV el lec'h ma touj al linennoù unan eus ar stummoù da-" +"heul:
  • kont; anv-kevreañ; ger-tremen; anv bihan; anv familh; " +"enaouet; strolladoù; chomlec'h; kota; [, domani, ...]
  • " +"
  • alias; chomlec'h; enaouet; resever; resever; ...
" +"

Elfenn gentañ pep linenn a vez ret hag e rank bezañ par ouzh unan eus an " +"talvoudegezhioù kent.

Gellout a rit implijout un arouezenn evel " +"skejer.

" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Skoazell" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Oc'h emporzhiañ..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Merour" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Diban un dalvoudegezh" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Implijout un dalvoudegezh domani dre-ziouer" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Hizivaet" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "An IP-se na genglot gant MX ebet diskleriet e-barzh an arventennoù" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Erolladenn MX ebet kavet evit an domani-mañ." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "Modoboa en deus diguzhet e oa an domani %(domain)s listennet gant ar bourvezerien DNSBL da-heul:" +msgstr "" +"Modoboa en deus diguzhet e oa an domani %(domain)s listennet gant ar " +"bourvezerien DNSBL da-heul:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "Brud an domani a vo merket-kennañ ha posupl eo e vo lakaet da strob ar posteloù o tont eus e berzh. Rankout a rafec'h mont e darempred gant ar bourvezerien-mañ evit goulenn digantañ dilistennañ ar chomlec'h(ioù) IP diguzhet." +msgstr "" +"Brud an domani a vo merket-kennañ ha posupl eo e vo lakaet da strob ar " +"posteloù o tont eus e berzh. Rankout a rafec'h mont e darempred gant ar " +"bourvezerien-mañ evit goulenn digantañ dilistennañ ar chomlec'h(ioù) IP " +"diguzhet." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" -msgstr "Modoboa a zo bet diguzhet gantañ ne oa tamm enrolladenn MX reizh gant an domani %(domain)s:" +msgstr "" +"Modoboa a zo bet diguzhet gantañ ne oa tamm enrolladenn MX reizh gant an " +"domani %(domain)s:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Klask" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enaouet_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enaouet_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Listenn domanioù" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Listenn kotaioù" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Emporzhiañ" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Ezporzhiañ" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Listenn identelezhioù" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Gwelet identelezhioù an domanioù" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Aozet {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Dilemel %s?" -#: tests/test_mx.py:144 +#: admin/tests/test_mx.py:130 #, python-format -msgid "No A record found for MX %(domain)s" -msgstr "N'eus bet kavet enrolladenn A ebet evit %(domain)s MX" +msgid "No MX record for %s" +msgstr "Enrolladenn MX ebet evit %s" -#: tests/test_mx.py:147 -#, python-format -msgid "No AAAA record found for MX %(domain)s" -msgstr "N'eus bet kavet enrolladenn AAAA ebet evit %(domain)s MX" - -#: tests/test_mx.py:150 tests/test_mx.py:153 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Stumm chomlec'h IP direizh evit %(domain)s; %(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Un alias gant an anv-mañ zo anezhañ dija" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Krouiñ" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Alias nevez" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias krouet" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias aozet" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias dilemet" @@ -1250,19 +1395,19 @@ msgstr[2] "Aliasoù dilemet" msgstr[3] "Aliasoù dilemet" msgstr[4] "Aliasoù dilemet" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Enrolladennoù MX eus {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Berradenn DNSBL evit {}" -#: views/domain.py:199 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "N'hallit ket dilemel ho tomani deoc'h-c'hwi hoc'h-unan" -#: views/domain.py:202 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domani dilemet" @@ -1271,19 +1416,20 @@ msgstr[2] "Domanioù dilemet" msgstr[3] "Domanioù dilemet" msgstr[4] "Domanioù dilemet" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Ezporzhiañ identelezhioù" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Ezporzhiañ domanioù" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Reked direizh" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Kont dilemet" @@ -1292,24 +1438,36 @@ msgstr[2] "Kontoù dilemet" msgstr[3] "Kontoù dilemet" msgstr[4] "Kontoù dilemet" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Objed a zo anezhañ dija: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objed emporzhiet gant berzh" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Emporzhiañ domanioù" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Emporzhiañ identelezhioù" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Treuzkas hizivaet" + +#~ msgid "File name" +#~ msgstr "Anv restr" + +#~ msgid "No {type} record found for MX {mx}" +#~ msgstr "{type} enrolladenn ebet kavet evit MX {mx}" + +#~ msgid "No A record found for MX %(domain)s" +#~ msgstr "N'eus bet kavet enrolladenn A ebet evit %(domain)s MX" + +#~ msgid "No AAAA record found for MX %(domain)s" +#~ msgstr "N'eus bet kavet enrolladenn AAAA ebet evit %(domain)s MX" diff --git a/modoboa/admin/locale/br/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/br/LC_MESSAGES/djangojs.po index 1a018f0eb..6c86ad4f9 100644 --- a/modoboa/admin/locale/br/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/br/LC_MESSAGES/djangojs.po @@ -1,53 +1,59 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Irriep Nala Novram , 2019 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-03-08 09:15+0000\n" "Last-Translator: Irriep Nala Novram \n" "Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Domani ebet ken da ziskouez" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Na zilamit ket ar c'havlec'h domanioù" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "An oberiadenn-mañ a zilamo an HOLL roadennoù stag ouzh an domani-mañ." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "An oberiadenn-mañ a zilamo an HOLL roadennoù stag ouzh an domani-mañ, paneve ar c'hontoù." +msgstr "" +"An oberiadenn-mañ a zilamo an HOLL roadennoù stag ouzh an domani-mañ, paneve " +"ar c'hontoù." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Kota ebet ken da ziskouez" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Merour domani ebet termenet" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Identelezh ebet ken da ziskouez" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Na zilamit ket kavlec'h ar voest-posteloù" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Kota ebet ken da ziskouez" diff --git a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po index 5d9445150..fc010f0ea 100644 --- a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Peter Sveter, 2016-2017 # Jarda Tesar , 2017-2018 @@ -11,1084 +11,1197 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-17 13:41+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-05-16 16:47+0000\n" "Last-Translator: Miroslav Bartos \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/" +"modoboa/language/cs_CZ/)\n" +"Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domény" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Povolit MX kontroly" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Ověřit, zda má každá doména platný MX záznam" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "Platné MX záznamy" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud toto záznam nerespektuje, bude odesláno varování." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"Seznam IP nebo síťových adres, které by každý MX záznam měl obsahovat. Pokud " +"toto záznam nerespektuje, bude odesláno varování." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Nové domény musí používat autorizovaný/é MX záznam(y)" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." -msgstr "Zamezit vytvoření nové domény, pokud její MX záznamy neodpovídají jedné ze zadaných adres." +msgstr "" +"Zamezit vytvoření nové domény, pokud její MX záznamy neodpovídají jedné ze " +"zadaných adres." -#: app_settings.py:55 +#: admin/app_settings.py:51 +#, fuzzy +#| msgid "Enable DNS checks" +msgid "Enable SPF checks" +msgstr "Zapnout kontrolu DNS" + +#: admin/app_settings.py:54 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid SPF record" +msgstr "Ověřit, zda má každá doména platný MX záznam" + +#: admin/app_settings.py:59 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable DKIM checks" +msgstr "Povolit MX kontroly" + +#: admin/app_settings.py:62 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain with DKIM signin enabled has a valid DNS record" +msgstr "Ověřit, zda má každá doména platný MX záznam" + +#: admin/app_settings.py:68 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable DMARC checks" +msgstr "Povolit MX kontroly" + +#: admin/app_settings.py:71 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid DMARC record" +msgstr "Ověřit, zda má každá doména platný MX záznam" + +#: admin/app_settings.py:76 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable autoconfig checks" +msgstr "Povolit MX kontroly" + +#: admin/app_settings.py:79 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid records for autoconfiguration" +msgstr "Ověřit, zda má každá doména platný MX záznam" + +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Povolit DNSBL kontroly" -#: app_settings.py:58 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Ověřit každou doménu vůči hlavním DNSBL providerům" -#: app_settings.py:63 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "Vlastní DNS server" -#: app_settings.py:66 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "Místo konfigurace lokálního serveru použijte vlastní server DNS" -#: app_settings.py:71 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "Složka pro uložení DKIM klíčů" -#: app_settings.py:74 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Absolutní cesta ke složce, kde budou uloženy privátní DKIM klíče. Ujistěte se, že vytvořená složka patří uživateli root a není možné z ní číst okolním světem." +msgstr "" +"Absolutní cesta ke složce, kde budou uloženy privátní DKIM klíče. Ujistěte " +"se, že vytvořená složka patří uživateli root a není možné z ní číst okolním " +"světem." -#: app_settings.py:82 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Výchozí délka DKIM klíče" -#: app_settings.py:86 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Výchozí délka v bitech pro nově vygenerované DKIM klíče." -#: app_settings.py:90 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Schránky" -#: app_settings.py:93 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Spravovat schránky v souborovém systému" -#: app_settings.py:96 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" -msgstr "Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou přejmenovány nebo odstraněny v Modoboa" +msgstr "" +"Přejmenovat nebo odstranit schránky v souborovém systému, pokud jsou " +"přejmenovány nebo odstraněny v Modoboa" -#: app_settings.py:102 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Majitel schránky" -#: app_settings.py:105 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Účet UNIXu, který vlastní schránky v souborovém systému" -#: app_settings.py:110 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Výchozí kvóta domény" -#: app_settings.py:113 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "Výchozí kvóta (v MB), které se použije u nově vytvořených domén bez uvedené hodnoty kvóty. Hodnota 0 znamená, že se kvóta nepoužívá." +msgstr "" +"Výchozí kvóta (v MB), které se použije u nově vytvořených domén bez uvedené " +"hodnoty kvóty. Hodnota 0 znamená, že se kvóta nepoužívá." -#: app_settings.py:119 forms/domain.py:53 models/domain.py:41 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Výchozí kvóta schránky" -#: app_settings.py:122 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." -msgstr "Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou kvótu." +msgstr "" +"Výchozí kvóta mailové schránky (v MB) aplikovaná nově vytvořeným doménám, " +"které nemají specifikovanou vlastní hodnotu. Hodnota 0 znamená neomezenou " +"kvótu." -#: app_settings.py:128 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Automatické odstranění účtu" -#: app_settings.py:131 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "Když je schránka odstraněná, odstranit také přiřazený účet uživatele" -#: app_settings.py:135 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Automatické vytvoření domény/schránky" -#: app_settings.py:138 -msgid "" -"Create a domain and a mailbox when an account is automatically created." +#: admin/app_settings.py:167 +msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Při založení účtu automaticky vytvořit doménu a schránku." -#: app_settings.py:144 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Vytvořit alias, pokud je mailová schránka přejmenována" -#: app_settings.py:147 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." -msgstr "Vytvořit alias použitím původní adresy, pokud je mailová schránka přejmenována." +msgstr "" +"Vytvořit alias použitím původní adresy, pokud je mailová schránka " +"přejmenována." -#: app_settings.py:196 app_settings.py:204 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Musí se jednat o kladné číslo" -#: app_settings.py:214 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Složka nenalezena." -#: app_settings.py:220 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "openssl nenalezeno, prosím ujistěte se, že je nainstalováno." -#: app_settings.py:234 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Definujte alespoň jednu autorizovanou síť / adresu" -#: app_settings.py:244 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Správa" -#: constants.py:98 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Doména" -#: constants.py:99 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Relay doména" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Uživatelské jméno" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "Název uživatele. U běžných uživatelů musí být uvedena platná e-mailová adresa nebo u administrátorů schránka." +msgstr "" +"Název uživatele. U běžných uživatelů musí být uvedena platná e-mailová " +"adresa nebo u administrátorů schránka." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Role" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Vybrat" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Jaká úroveň oprávnění bude tomuto uživateli nastavena" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Náhodné heslo" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto položku, bude vygenerováno nové heslo." +msgstr "" +"Vygenerovat náhodné heslo. Pokud upravujete tento účet a zaškrtnete tuto " +"položku, bude vygenerováno nové heslo." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Heslo" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Potvrzení" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Vložte stejné heslo jako v poli výše, pro jeho ověření." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Povoleno" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Pouze super správci jsou oprávnění pro tento režim" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:279 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Toto pole je vyžadováno." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Obě pole s heslem se neshodují." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Nemůžete zakázat váš vlastní účet" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Vytvořit alias použitím původní adresy" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 -#: templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Kvóta" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" -"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a" -" custom value or use domain's default one. Leave empty to define an " -"unlimited value (not allowed for domain administrators)." -msgstr "Kvóta pro tuto poštovní schránku může být vyjádřena v KB, MB (výchozí) nebo GB. Definujte vlastní hodnotu nebo použijte výchozí pro doménu. Nechte prázdné pro definování neomezené hodnoty (není povoleno pro správce domény)." +"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " +"custom value or use domain's default one. Leave empty to define an unlimited " +"value (not allowed for domain administrators)." +msgstr "" +"Kvóta pro tuto poštovní schránku může být vyjádřena v KB, MB (výchozí) nebo " +"GB. Definujte vlastní hodnotu nebo použijte výchozí pro doménu. Nechte " +"prázdné pro definování neomezené hodnoty (není povoleno pro správce domény)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(y)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)." +msgstr "" +"Alias(y) této schránky. V rámci vstupu vložte pouze jeden alias, stiskněte " +"ENTER pro vložení dalšího aliasu. Pro vytvoření doménového koše vložte " +"'*' (např. *@domena.cz)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Adresa odesílatele" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat e-maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy." +msgstr "" +"Další adresa(y) odesílatele pro tento účet. Uživatel bude moci posílat e-" +"maily pomocí této adresy, a to i v případě, že neexistuje lokálně. V rámci " +"vstupu vložte pouze jednu adresu. Stiskněte ENTER pro vložení další adresy." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Doména neexistuje" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Lokální doména neexistuje" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Nemáte oprávnění k přístupu k této doméně" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Doména(y)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Doména(y) pod správou uživatele" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Obecné" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Mail" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Oprávnění" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Účet aktualizován" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nový účet" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Účet vytvořen" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Náhodná adresa" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Emailová adresa" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias adresy. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)." +msgstr "" +"Alias adresy. Pro vytvoření doménového koše vložte '*' (např. *@domena.cz)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Příjemci" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Adresy na které bude tento alias ukazovat. Adresy zadávejte jednotlivo, stisknutím klávesy ENTER přidáte nový vstup." +msgstr "" +"Adresy na které bude tento alias ukazovat. Adresy zadávejte jednotlivo, " +"stisknutím klávesy ENTER přidáte nový vstup." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Toto pole je vyžadováno" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Nebyl určen příjemce" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího aliasu stiskněte po vložení ENTER." +msgstr "" +"Alias(y) této domény. Uveďte na řádek pouze jeden alias; pro vložení dalšího " +"aliasu stiskněte po vložení ENTER." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Identifikátor klíče" -#: forms/domain.py:48 models/domain.py:36 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." -msgstr "Kvóta sdílená mezi poštovními schránkami. Lze vyjádřit v KB, MB (výchozí) nebo GB. Hodnota 0 znamená žádnou kvótu." +msgstr "" +"Kvóta sdílená mezi poštovními schránkami. Lze vyjádřit v KB, MB (výchozí) " +"nebo GB. Hodnota 0 znamená žádnou kvótu." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." -msgstr "Výchozí kvóta pro poštovní schránky. Lze vyjádřit v KB, MB (výchozí) nebo GB. Hodnota 0 znamená žádnou kvótu." +msgstr "" +"Výchozí kvóta pro poštovní schránky. Lze vyjádřit v KB, MB (výchozí) nebo " +"GB. Hodnota 0 znamená žádnou kvótu." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "doménový alias" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "%s s tímto názvem již existuje" -#: forms/domain.py:109 serializers.py:56 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Nebyly nalezeny žádné autorizované MX záznamy pro tuto doménu" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "Není nastavena složka pro ukládání DKIM klíčů" -#: forms/domain.py:151 serializers.py:74 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Nemůže být vyšší než kvóta domény" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Neomezená kvóta nelze definovat." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "doména" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Vytvořit správce domény" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Automaticky vytvořit správce této domény" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Jméno" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." -msgstr "Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn." +msgstr "" +"Jméno správce. Nevkládejte sem název domény, název bude automaticky doplněn." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Generovat náhodné heslo pro administrátora." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "S mailovou schránkou" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Vytvořit mailovou schránku pro administrátora." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Vytvořit aliasy" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Automaticky vytvořit běžné aliasy pro tuto doménu" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Neplatný formát" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Uživatel '%s' již existuje" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Doména upravena" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Možnosti" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Nová doména" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Doména vytvořena" -#: forms/export.py:11 -msgid "File name" -msgstr "Název souboru" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Oddělovač" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Příjemce(i)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Uveďte jednoho nebo více příjemců oddělených pomocí ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Ponechat místní kopie" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Přeposílat zprávy a ukládat kopie do místní schránky" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Vybrat soubor" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Při výskytu chyby pokračovat" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Nepovažovat duplikáty objektů za chybu" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Zašifrovat hesla" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Zatrhněte toto pole, pokud hesla ve vašem souboru nejsou zašifrována" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Import účtu nebyl úspěšný (%s): doména neexistuje" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Schránka {} již existuje" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Import účtu selhal (%s): chybná hodnota kvóty" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identity" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Přeposlat" -#: lib.py:41 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Schránka je vyžadována" -#: lib.py:131 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Nemáte oprávnění pro import domén" -#: lib.py:142 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Nemáte oprávnění pri import doménových aliasů" -#: lib.py:187 tests/test_mx.py:135 -#, python-format -msgid "No DNS records found for %s" +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 +#, fuzzy, python-format +#| msgid "No DNS records found for %s" +msgid "No DNS record found for %s" msgstr "Nenalezeny žádné DNS záznamy pro %s" -#: lib.py:189 tests/test_mx.py:138 -#, python-format -msgid "No MX record for %s" +#: admin/lib.py:192 +#, fuzzy, python-format +#| msgid "No MX record for %s" +msgid "No %(type)s record for %(name)s" msgstr "Žádný MX záznam pro %s" -#: lib.py:191 tests/test_mx.py:139 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "Nenalezeny žádné funkční DNS servery" -#: lib.py:194 tests/test_mx.py:141 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "Vypršel časový limit DNS požadavku, nelze získat %s v tuto chvíli" -#: lib.py:205 -#, python-brace-format -msgid "No {type} record found for MX {mx}" -msgstr "Nenalezen žádný {type} záznam pro MX {mx}" - -#: lib.py:214 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "Neplatný formát IP adresy pro {domain}; {addr}" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "Soubor CSV není kódován v UTF-8, pokouším se odhadnout kódování" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "Čtu CSV soubor pomocí %(encoding)s kódování" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "Soubor CSV nelze dekódovat pomocí %(encoding)s kódování" -#: management/commands/subcommands/_mx.py:135 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problém(y) pro doménu {}" -#: management/commands/subcommands/_mx.py:155 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Doména {} nemá MX záznam" -#: management/commands/subcommands/_mx.py:166 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "MX záznam pro doménu {0} je neplatný: {1}" -#: management/commands/subcommands/_mx.py:183 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problém(y) pro doménu {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "adresa" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Adresa aliasu." -#: models/alias.py:43 models/domain.py:49 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "povoleno" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Zatrhněte pole pro povolení tohoto aliasu" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Popis" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Vyprší o" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Neplatná adresa" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Lokální příjemce {}@{} nebyl nalezen" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Neplatný řádek: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Doména '%s' neexistuje" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "název" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Doménové jméno" -#: models/domain.py:44 -msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "Výchozí kvóta v MB pro schránky. Hodnota 0 = žádná kvóta." - -#: models/domain.py:50 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Zatrhněte pole pro povolení této domény" -#: models/domain.py:55 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Zapnout kontrolu DNS" -#: models/domain.py:56 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Zaškrtněte pro zapnutí kontroly DNS pro tuto doménu" -#: models/domain.py:63 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Povolit DKIM podepisování" -#: models/domain.py:65 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." -msgstr "Pokud povolíte tuto možnost, bude vygenerován DKIM klíč pro tuto doménu." +msgstr "" +"Pokud povolíte tuto možnost, bude vygenerován DKIM klíč pro tuto doménu." -#: models/domain.py:71 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Délka klíče" -#: models/domain.py:303 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Neplatný řádek" -#: models/domain.py:313 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Nenalezeny žádný autorizovaný MX záznam pro doménu {}" -#: models/domain.py:320 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Neplatná hodnota kvóty pro doménu '{}'" -#: models/domain.py:327 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Neplatná výchozí hodnota kvóty schránky pro doménu '{}'" -#: models/domain.py:332 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "Výchozí kvóta mailové schránky nemůže být větší než kvóta domény" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Název aliasu" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "cíl" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Doména, na kterou tento alias odkazuje" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Neznámá doména %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresa schránky (bez části @doména.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Nebylo možné zjistit umístění schránky (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Kvóta je vyžadována" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Kvóta domény byla překročena" -#: serializers.py:99 serializers.py:304 serializers.py:402 +#: admin/serializers.py:37 +msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." +msgstr "Výchozí kvóta v MB pro schránky. Hodnota 0 = žádná kvóta." + +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Přístup zamítnut." -#: serializers.py:150 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "Zobrazit spravované domény (jenom distributori a správci domén)" -#: serializers.py:254 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Není povoleno pro tuto roli." -#: serializers.py:266 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Musí být rovno hodnote schránky celá_adresa" -#: serializers.py:291 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Lokální doména {} neexistuje" -#: serializers.py:389 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Seznam příjemců" -#: serializers.py:400 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Doména nebyla nalezena." -#: serializers.py:449 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "K této doméně nemáte přístup." -#: serializers.py:457 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "K této schránce nemáte přístup." -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Zavřít" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "Veřejný DKIM klíč pro %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Raw formát" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Bind/named formát" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Zákázáno" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Čeká na kontrolu" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 +#, fuzzy +#| msgid "No DNS records found for %s" +msgid "No record found" +msgstr "Nenalezeny žádné DNS záznamy pro %s" + +#: admin/templates/admin/_domain_dnschecks_status.html:24 +msgid "Waiting for key to be generated" +msgstr "" + +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Globální statistiky" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Počet" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Doménové aliasy" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statistiky pro jednotlivé domény" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(zákázáno)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Shrnutí" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Celé jméno" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Vytvořeno" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Poslední přihlášení" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Sekundární email" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Není definováno" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Telefonní číslo" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Spravované domény" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Není vytvořena žádná doména." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Aliasy" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Není vytvořen žádný alias" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Další adresa odesílatele" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Není uvedena žádná adresa odesílatele" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Doména je zakázána" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Upraveno" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Poskytovatel" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adresa" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Stav" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "v seznamu" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Všechno je v pořádku, doména není v seznamu." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Pro tuto doménu nejsou k dispozici žádné informace." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Datum vytvoření" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Datum poslední změny" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Aliasy schránek" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Využití" -#: templates/admin/domain_detail.html:57 -#: templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "využito" -#: templates/admin/domain_detail.html:58 -#: templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "alokováno" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "DKIM klíč" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Zobrazit klíč" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "Vygenerovat nový klíč" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Nevygenerováno" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Správci" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Odstranit toto oprávnění" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Dosud nebyl určen správce domény." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Značky" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "DNS stav" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Akce" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Nemůžete vytvořit nového správce domény" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Přidat" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Omezení" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Použito" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Alokováno" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Využití (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "zákázáno" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Automaticky přesměrovat emaily na jinou adresu" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Aktualizovat" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Účet" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Hodnota" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Celé jméno/Příjemce" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
    " "
  • domain; name; quota; default mailbox quota; enabled
  • " @@ -1097,154 +1210,169 @@ msgid "" "verify recipients

The first element of each line is " "mandatory and must be equal to one of the previous values.

You can " "use a different character as separator.

" -msgstr "Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených formátů:
  • doména; název; kvóta, výchotí_kvóta schránky; povoleno
  • doménový_alias; název; cílová_doména; povoleno
  • relay_doména; název; cílový_host; cílový_port; služba; povoleno; ověřit_příjemce

První element každého řádku je povinný a musí být shodný s některou z předchozích hodnot.

Můžete také použít jiný oddělovač hodnot.

" +msgstr "" +"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených " +"formátů:
  • doména; název; kvóta, výchotí_kvóta schránky; povoleno
  • doménový_alias; název; cílová_doména; povoleno
  • relay_doména; název; cílový_host; cílový_port; služba; povoleno; " +"ověřit_příjemce

První element každého řádku je povinný a " +"musí být shodný s některou z předchozích hodnot.

Můžete také použít " +"jiný oddělovač hodnot.

" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
    " -"
  • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
  • alias; address; enabled; " +"
  • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
  • alias; address; enabled; " "recipient; recipient; ...

The first element of each line " -"is mandatory and must be equal to one of the previous values.

You can" -" use a different character as separator.

" -msgstr "Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených formátů:\n
  • uživatelské_konto; přihlašovací_jméno; heslo; křestní_jméno; příjmení; povoleno; skupina; adresa; kvóta; [, doména, ...]
  • alias; adresa; povoleno; příjemce; příjemce; ...
    • První element každého řádku je povinný a musí být shodný s některou z předchozích hodnot.

      Můžete také použít jiný oddělovač hodnot.

      " +"is mandatory and must be equal to one of the previous values.

      You can " +"use a different character as separator.

      " +msgstr "" +"Nahrajte CSV soubor, který bude mít jednotlivé řádky v některém z uvedených " +"formátů:\n" +"
      • uživatelské_konto; přihlašovací_jméno; heslo; křestní_jméno; " +"příjmení; povoleno; skupina; adresa; kvóta; [, doména, ...]
      • alias; adresa; povoleno; příjemce; příjemce; ...

          První element každého řádku je povinný a musí být shodný s " +"některou z předchozích hodnot.

          Můžete také použít jiný oddělovač " +"hodnot.

          " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Nápověda" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importuji..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Admin" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Zvolte hodnotu" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Použít výchozí hodnotu domény" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Aktualizováno" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "Tato IP neodpovídá žádnému z platných MX-ů zadefinovaných v možnostech" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Pro tuto doménu nebyl nalezen žádný MX záznam." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "Modoboa zjistilo, že doména %(domain)s je uvedena v seznamu u následujících poskytovatelů DNSBL:" +msgstr "" +"Modoboa zjistilo, že doména %(domain)s je uvedena v seznamu u následujících " +"poskytovatelů DNSBL:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "Reputace domény bude ovlivněna, a je možné, že e-maily přicházející z ní jsou považovány za spam. Měli byste kontaktovat tyto poskytovatele a požádat je o odstranění IP adresy (adres) ze seznamu." +msgstr "" +"Reputace domény bude ovlivněna, a je možné, že e-maily přicházející z ní " +"jsou považovány za spam. Měli byste kontaktovat tyto poskytovatele a požádat " +"je o odstranění IP adresy (adres) ze seznamu." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "Modoboa zjistilo, že doména %(domain)s nemá platný MX záznam:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Hledat" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "Aktivovaný" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "Aktivovaná" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Seznam domén" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Seznam kvót" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Import" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Export" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Seznam identit" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Zobrazit seznam identit domény" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Upravit {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Smazat %s?" -#: tests/test_mx.py:144 +#: admin/tests/test_mx.py:130 #, python-format -msgid "No A record found for MX %(domain)s" -msgstr "Nenalezen žádný A záznam pro MX %(domain)s" +msgid "No MX record for %s" +msgstr "Žádný MX záznam pro %s" -#: tests/test_mx.py:147 -#, python-format -msgid "No AAAA record found for MX %(domain)s" -msgstr "Nenalezen žádný AAAA záznam pro MX %(domain)s" - -#: tests/test_mx.py:150 tests/test_mx.py:153 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Neplatný formát IP adresy pro %(domain)s; %(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Alias s tímto názvem již existuje" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Vytvořit" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nový alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias vytvořen" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias upraven" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias smazán" @@ -1252,19 +1380,19 @@ msgstr[1] "Alias smazán" msgstr[2] "Aliasy smazány" msgstr[3] "Aliasy smazány" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "MX záznamy pro {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "DNSBL přehled pro {}" -#: views/domain.py:199 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Nemůžete smazat vlastní doménu" -#: views/domain.py:202 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Doména smazána" @@ -1272,19 +1400,20 @@ msgstr[1] "Domény smazány" msgstr[2] "Domén smazáno" msgstr[3] "Domén smazáno" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Exportovat identity" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exportovat domény" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Neplatný požadavek" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Účet smazán" @@ -1292,24 +1421,36 @@ msgstr[1] "Účty smazány" msgstr[2] "Účtů smazáno" msgstr[3] "Účtů smazáno" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Objekt již existuje: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objektů úspěšně importováno" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importovat domény" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importovat identity" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Přeposílání aktualizováno" + +#~ msgid "File name" +#~ msgstr "Název souboru" + +#~ msgid "No {type} record found for MX {mx}" +#~ msgstr "Nenalezen žádný {type} záznam pro MX {mx}" + +#~ msgid "No A record found for MX %(domain)s" +#~ msgstr "Nenalezen žádný A záznam pro MX %(domain)s" + +#~ msgid "No AAAA record found for MX %(domain)s" +#~ msgstr "Nenalezen žádný AAAA záznam pro MX %(domain)s" diff --git a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/djangojs.po index a4ae1c9e1..bfc771426 100644 --- a/modoboa/admin/locale/cs_CZ/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/cs_CZ/LC_MESSAGES/djangojs.po @@ -1,53 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Miroslav Abrahám , 2013,2015 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: Antoine Nguyen \n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/" +"modoboa/language/cs_CZ/)\n" +"Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Žádná další doména k zobrazení" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Nemazat adresář domény" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Tento krok odstraní VŠECHNA data související s touto doménou." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Tento krok odstraní VŠECHNA data související s touto doménou, vyjma účtů." +msgstr "" +"Tento krok odstraní VŠECHNA data související s touto doménou, vyjma účtů." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Žádná další kvóta k zobrazení" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Není určen správce domény" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Žádná další identita k zobrazení" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Nemazat adresář schránky" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Žádná další kvóta k zobrazení" diff --git a/modoboa/admin/locale/de/LC_MESSAGES/django.po b/modoboa/admin/locale/de/LC_MESSAGES/django.po index f9be7231d..943f0b348 100644 --- a/modoboa/admin/locale/de/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/de/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2015-09-09 09:33+0000\n" "Last-Translator: controlc.de\n" "Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n" @@ -20,116 +20,116 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domains" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 msgid "Enable SPF checks" msgstr "" -#: app_settings.py:58 +#: admin/app_settings.py:54 msgid "Check if every domain has a valid SPF record" msgstr "" -#: app_settings.py:63 +#: admin/app_settings.py:59 msgid "Enable DKIM checks" msgstr "" -#: app_settings.py:66 +#: admin/app_settings.py:62 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "" -#: app_settings.py:72 +#: admin/app_settings.py:68 msgid "Enable DMARC checks" msgstr "" -#: app_settings.py:75 +#: admin/app_settings.py:71 msgid "Check if every domain has a valid DMARC record" msgstr "" -#: app_settings.py:80 +#: admin/app_settings.py:76 msgid "Enable autoconfig checks" msgstr "" -#: app_settings.py:83 +#: admin/app_settings.py:79 msgid "Check if every domain has a valid records for autoconfiguration" msgstr "" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Postfächer" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Postfächer im Dateisystem verwalten" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -137,21 +137,21 @@ msgstr "" "Postfächer auch in Dateisystem umbenennen oder entfernen wenn sie in Modoboa " "umbenannt oder entfernt werden" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Postfach-Besitzer" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" "UID des virtuellen Benutzers, der Besitzer der Domains, Mailboxen und " "Nachrichten im Dateisystem ist." -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Standard-Domainquota" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -159,14 +159,14 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "Standard-Domainquota" -#: app_settings.py:155 +#: admin/app_settings.py:151 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -178,71 +178,72 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Automatische Konto-Entfernung" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "Beim Löschen des Postfachs auch das Konto entfernen." -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Automatische Domain- /Postfach-Erstellung" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Erstelle eine Domain und ein Postfach, wenn ein Konto automatisch erstellt " "wurde." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Muss eine positive Ganzzahl sein" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Domain verändert" -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Verwaltung" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domain" -#: constants.py:97 +#: admin/constants.py:29 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Neue Domain" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Benutzername" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -250,79 +251,81 @@ msgstr "" "Der Benutzername. Muss eine gültige E-Mail-Adresse für 'Normale Benutzer' " "oder Administratoren mit einer Mailbox sein." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rolle" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Auswählen" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Rechte, die der Benutzer haben wird" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 #, fuzzy #| msgid "Invalid address" msgid "Random password" msgstr "Ungültige Adresse" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Passwort" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Bestätigung" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Passwort bestätigen" -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Aktiviert" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Nur Super-Administratoren dürfen diesen Modus benutzen." -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "Ein Postfach ist erforderlich" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Die angegebenen Passwörter stimmen nicht überein" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Sie können Ihr eigenes Konto nicht deaktivieren" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-Mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -337,12 +340,12 @@ msgstr "" "nutzen Sie den Standardwert der Domain. Lassen Sie das Feld leer für " "unbegrenztes Quota (Domain-Administratoren ist dies nicht gestattet)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(e)" -#: forms/account.py:249 +#: admin/forms/account.py:245 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -357,13 +360,13 @@ msgstr "" "an. Bestätigen Sie die Eingabe mit ENTER. Geben Sie '*' an, um einen " "'catchall'-Alias (Bsp: *@example.com) zu erstellen." -#: forms/account.py:255 +#: admin/forms/account.py:251 #, fuzzy #| msgid "Invalid address" msgid "Sender addresses" msgstr "Ungültige Adresse" -#: forms/account.py:258 +#: admin/forms/account.py:254 #, fuzzy #| msgid "" #| "Addresses this alias will point to. Indicate only one address per input, " @@ -376,68 +379,70 @@ msgstr "" "Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein " "und bestätigen Sie mit ENTER." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domain existiert nicht" -#: forms/account.py:349 +#: admin/forms/account.py:345 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "Domain existiert nicht" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domain(s)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domain(s), die dieser Benutzer administriert" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Allgemein" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "E-Mail" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Berechtigungen" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Konto aktualisiert" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Neues Konto" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Konto erstellt" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 #, fuzzy #| msgid "Invalid address" msgid "Random address" msgstr "Ungültige Adresse" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "E-Mail Adresse" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -445,11 +450,11 @@ msgstr "" "Die Alias-Adresse. Geben Sie nur den Domainnamen (@domain.tld) für eine " "'catch-all' Alias an." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Empfänger" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -457,21 +462,22 @@ msgstr "" "Adressen, auf die der Alias verweist. Geben Sie jeweils nur eine Adresse ein " "und bestätigen Sie mit ENTER." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required" msgstr "Ein Postfach ist erforderlich" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Keine Empfänger angegeben" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -480,11 +486,11 @@ msgstr "" "Eingabefeld an. Bestätigen Sie mit ENTER, um ein neues Eingabefeld zu " "erhalten." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -496,7 +502,7 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -508,51 +514,51 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "Domain-Alias" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Ein %s mit diesem Namen existiert bereits" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "Domain" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Domain-Administrator erstellen" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Automatisch Administrator für diese Domain anlegen" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Name" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -560,336 +566,335 @@ msgstr "" "Name des Administrators. Geben Sie nicht den Domainnamen mit an. Er wird " "automatisch angehängt." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Domain-Administrator erstellen" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Domain-Administrator erstellen" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Aliase erstellen" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Automatisch Standard-Aliase für Domain anlegen" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Ungültiges Format" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Benutzer %s existiert bereits" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domain verändert" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Optionen" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Neue Domain" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domain erstellt." -#: forms/export.py:11 -msgid "File name" -msgstr "Dateiname" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separator" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Empfänger" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Geben sie einen oder mehrere, durch ',' separierte Empfänger an" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Lokale Kopien behalten" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Nachricht weiterleiten und Kopie in Mailbox ablegen" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Wählen Sie eine Datei" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Bei Fehler fortfahren" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Doppelte Objekte nicht als Fehler behandeln" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Passwörter verschlüsseln" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Auswählen, wenn Kennwörter in Datei nicht verschlüsselt sind" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Kann Konto nicht importieren (%s): Die Domain existiert nicht" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Postfach %s existiert bereits" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Konto Import fehlgeschlagen (%s): ungültiger Quota-Wert" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identitäten" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Weiterleiten" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Ein Postfach ist erforderlich" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Sie verfügen nicht über ausreichend Rechte, um Domains zu importieren." -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "" "Sie verfügen nicht über ausreichend Rechte, um Domain Aliase zu importieren." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, python-format msgid "No DNS record found for %s" msgstr "" -#: lib.py:196 +#: admin/lib.py:192 #, python-format msgid "No %(type)s record for %(name)s" msgstr "" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '%s'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Ungültiger Quota-Wert für Domain '%s'" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "Adresse" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Die Alias-Adresse" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "aktiviert" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Auswählen, um den Alias zu aktivieren" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "Alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Ungültige Adresse" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Lokaler Empfänger {}@{} nicht gefunden" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Ungültige Zeile: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Domain '%s' existiert nicht" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "Name" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Name der Domain" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Auswählen, um diese Domain zu aktivieren" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "" -#: models/domain.py:48 +#: admin/models/domain.py:44 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Auswählen, um diese Domain zu aktivieren" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Ungültige Zeile" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "" -#: models/domain.py:337 +#: admin/models/domain.py:329 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "Ungültiger Quota-Wert für Domain '%s'" -#: models/domain.py:344 +#: admin/models/domain.py:336 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Ungültiger Quota-Wert für Domain '%s'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Der Alias-Name" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "Ziel" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Domain, auf die dieser Alias verweist" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Unbekannte Domain %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Postfach-Adresse (ohne den '@domain.tld' Teil)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Der Speicherort des Postfachs (%s) konnte nicht bestimmt werden" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Ein Quota ist erforderlich" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Domain erstellt." -#: serializers.py:41 +#: admin/serializers.py:37 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -899,385 +904,398 @@ msgstr "" "Standardquota (in MB) für neu erstelle Domains ohne explizite Wertangabe. " "Der Wert 0 bedeutet „Kein Quota“" -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Berechtigungen" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "" -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "" -#: serializers.py:303 +#: admin/serializers.py:299 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "Domain existiert nicht" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:412 +#: admin/serializers.py:408 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Domain verändert" -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "Der Zugriff auf diese Domain ist Ihnen nicht gestattet" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "Ungültiges Format" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "Ungültiges Format" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 #, fuzzy #| msgid "disabled" msgctxt "checks" msgid "Disabled" msgstr "deaktiviert" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "Domain modified" msgid "No record found" msgstr "Domain verändert" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 #, fuzzy #| msgid "Statistics" msgid "Global statistics" msgstr "Statistiken" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Anzahl" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Domain-Aliase" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 #, fuzzy #| msgid "Per-domain counters" msgid "Per-domain statistics" msgstr "pro Domain" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 #, fuzzy #| msgid "disabled" msgid "(disabled)" msgstr "deaktiviert" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 #, fuzzy #| msgid "File name" msgid "Full name" msgstr "Dateiname" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 #, fuzzy #| msgid "Create" msgid "Created" msgstr "Erstellen" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 #, fuzzy #| msgid "No recipient defined" msgid "Not defined" msgstr "Keine Empfänger angegeben" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 #, fuzzy #| msgid "Administration" msgid "Administered domains" msgstr "Verwaltung" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 #, fuzzy #| msgid "No recipient defined" msgid "No domain defined." msgstr "Keine Empfänger angegeben" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 #, fuzzy #| msgid "Alias(es)" msgid "Aliases" msgstr "Alias(e)" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 #, fuzzy #| msgid "No recipient defined" msgid "No alias defined" msgstr "Keine Empfänger angegeben" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Domain ist deaktiviert" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 #, fuzzy #| msgid "alias" msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 #, fuzzy #| msgid "Alias modified" msgid "Modified" msgstr "Alias verändert" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adresse" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 #, fuzzy #| msgid "Statistics" msgid "Status" msgstr "Statistiken" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Erstellungsdatum" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Datum der letzten Änderung" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Postfach-Aliase" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 #, fuzzy #| msgid "Usage (%%)" msgid "Usage" msgstr "Verwendung (%%)" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Keine Empfänger angegeben" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administratoren" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Diese Berechtigung entfernen" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." msgstr "Kein Domain-Administrator definiert" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tags" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 #, fuzzy #| msgid "Statistics" msgid "DNS status" msgstr "Statistiken" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Aktionen" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Sie können keinen neuen Domain-Administrator erstellen" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 #, fuzzy #| msgid "Address" msgid "Add" msgstr "Adresse" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limit" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 #, fuzzy #| msgid "Alias created" msgid "Allocated" msgstr "Alias erstellt" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Verwendung (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "deaktiviert" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Nachrichten automatisch an andere Adresse weiterleiten" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Aktualisieren" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 #, fuzzy #| msgid "Add account" msgid "Account" msgstr "Konto hinzufügen" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Wert" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Name/Empfänger" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 #, fuzzy #| msgid "" #| "Provide a CSV file where lines respect one of the following formats:\n" @@ -1308,7 +1326,7 @@ msgstr "" "vorhergehenden sein.

          \n" "

          Ein anderes Zeichen als Trenner ist gestattet.

          \n" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 #, fuzzy #| msgid "" #| "Provide a CSV file where lines respect one of the following formats:\n" @@ -1344,139 +1362,139 @@ msgstr "" "\n" "

          Ein anderes Zeichen als Separator ist gestattet.

          \n" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Hilfe" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importiere…" -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Wert auswählen" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Standardwert der Domain verwenden" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 #, fuzzy #| msgid "Update" msgid "Updated" msgstr "Aktualisieren" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." msgstr "" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Suchen" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "aktiviert_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "aktiviert_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Domain-Liste" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Quota-Liste" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Import" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Export" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Identitäten-Liste" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Domain-Identitäten anzeigen" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "%s löschen?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Ein Alias mit diesem Namen existiert bereits" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Erstellen" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Neuer Alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias erstellt" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias verändert" -#: views/alias.py:107 +#: admin/views/alias.py:103 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1484,64 +1502,68 @@ msgid_plural "Aliases deleted" msgstr[0] "Alias erstellt" msgstr[1] "Alias erstellt" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Sie können Ihre eigene Domain nicht löschen" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domain gelöscht" msgstr[1] "Domains gelöscht" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Identitäten exportieren" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Domains exportieren" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto gelöscht" msgstr[1] "Konten gelöscht" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Objekt existiert bereits: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d Objekte erfolgreich importiert" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Domains importieren" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Identitäten importieren" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Weiterleitung aktualisiert" +#~ msgid "File name" +#~ msgstr "Dateiname" + #, fuzzy #~| msgid "" #~| "Default quota (in MB) applied to freshly created domains with no value " diff --git a/modoboa/admin/locale/de/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/de/LC_MESSAGES/djangojs.po index 1c8876dc4..6899a2c37 100644 --- a/modoboa/admin/locale/de/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/de/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Arvedui , 2014 # Patrick Koetter , 2010 @@ -9,46 +9,48 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Keine weiteren Domains" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Verzeichnis der Domain nicht löschen" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Diese Aktion wird ALLE mit der Domain verbundenen Daten löschen." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Diese Aktion wird ALLE mit der Domain verbundenen Daten, außer Mailkonten, löschen." +msgstr "" +"Diese Aktion wird ALLE mit der Domain verbundenen Daten, außer Mailkonten, " +"löschen." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Keine weiteren Quotas" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Domain-Administrator fehlt" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Keine weiteren Identitäten" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Verzeichnis der Mailbox nicht löschen" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Keine weiteren Quotas" diff --git a/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po b/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po index 42f22db03..701706b74 100644 --- a/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-10-12 08:13+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,25 +20,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domains" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Ενεργοποίηση ελέγχου MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "Έγκυρα MXς" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -46,11 +46,11 @@ msgstr "" "Μια λίστα από IP ή δικτυακές διευθύνσεις που κάθε εγράφη MX πρέπει να " "ταιριάζει. " -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Τα νέα domain πρέπει να χρησιμοποιούν εξουσιοδοτημένους MX(s)" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -58,98 +58,98 @@ msgstr "" "Αποτροπή δημιουργίας νέου domain, εάν η εγράφη MX χρησιμοποιεί μια από τις " "είδη ορισμένες διευθύνσεις." -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Ενεργοποίση ελέγχου DNS" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Ενεργοποίηση ελέγχου MX" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Ενεργοποίηση ελέγχου MX" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Ενεργοποίηση ελέγχου MX" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Έλεγχος ότι κάθε domain έχει μια έγκυρη εγράφη MX" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Ενεργοποίηση ελέγχου DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Έλεγχος κάθε domain κατά κύριους DNSBL πάροχους" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Γραμματοκιβώτια" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Χειριστείτε γραμματοκιβώτια στο σύστημα αρχείων" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -157,21 +157,21 @@ msgstr "" "Μετονομασία και διαγραφή γραμματοκιβωτίων στο σύστημα αρχείων, όταν " "μετονομάζονται ή διαγράφονται από το Medaboa " -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Ο ιδιοκτήτης των γραμματοκιβωτίων" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" "Ο UNIX λογαριασμός που είναι ιδιοκτήτης των γραμματοκιβωτίων στο σύστημα " "αρχείων" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Προκαθορισμένο domain quota" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -179,12 +179,12 @@ msgstr "" "Προκαθορισμένο quota (σε MB) που εφαρμόζεται στα νέα domains χωρίς " "προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. " -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Προκαθορισμένο quota γραμματοκιβωτίου " -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -192,74 +192,75 @@ msgstr "" "Προκαθορισμένο quota γραμματοκιβωτίου (σε MB) που εφαρμόζεται στα νέα " "domains χωρίς προκαθορισμένες τιμές. Μια τιμή 0 σημαίνει ότι δεν έχει quota. " -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Αυτόματη αφαίρεση λογαριασμών" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Όταν αφαιρείται ένα γραμματοκιβώτιο, να αφαιρείται και ο σχετικός λογαριασμός" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Αυτόματη δημιουργία domain/γραμματοκιβωτίων" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Δημιουργία domain και γραμματοκιβωτίου κατά την αυτόματη δημιουργία " "λογαριασμού" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Δημιουργία ενός ψευδώνυμου κατά τη μετονομασία ενός γραμματοκιβωτίου" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση όταν " "μετονομάζεται ένα γραμματοκιβώτιο." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Πρέπει να είναι θετικός ακέραιος" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "To domain δεν βρέθηκε." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Ορίστε τουλάχιστον μια εξουσιοδοτημένη διεύθυνση / δίκτυο" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Διαχείριση" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domain" -#: constants.py:97 +#: admin/constants.py:29 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Νέο domain" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Όνομα Χρήστη" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -267,23 +268,23 @@ msgstr "" "Το όνομα του χρήστη. Πρέπει να είναι μια έγκυρη e-mail διεύθυνση για απλούς " "χρήστες ή διαχειριστές με γραμματοκιβώτιο." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Ρόλος" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Επιλογή" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Το επίπεδο δικαιωμάτων αυτού του χρήστη" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Τυχαίως κωδικός" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -291,53 +292,55 @@ msgstr "" "Δημιουργία ενός τυχαίου κωδικού. Εάν ενημερώνεται αυτό το λογαριασμό και " "επιλέξετε το box, ένας νέος τυχαίος κωδικός θα δημιουργηθεί. " -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Κωδικός" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Επιβεβαίωση" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Εισάγετε τον ίδιο κωδικό για επιβεβαίωση. " -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Ενεργοποιημένο" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Μόνο σε super διαχειριστές επιτρέπεται αυτή η λειτουργία. " -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Αυτό το πεδίο απαιτείτε." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Οι δύο κωδικοί δεν είναι ίδιοι" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Δεν μπορείτε να απενεργοποιήσετε τον δικό σας λογαριασμό" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Δημιουργήστε ένα ψευδώνυμο χρησιμοποιώντας την παλιά διεύθυνση" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -352,12 +355,12 @@ msgstr "" "χρησιμοποιήστε την προεπιλεγμένη του τομέα. Αφήστε το κενό για να μη βάλετε " "όριο (δεν επιτρέπεται για διαχειριστές domain)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Ψευδώνυμο(μα) " -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -367,11 +370,11 @@ msgstr "" "πατήστε ENTER για να προσθέσετε επιπλέον. Για να δημιουργήσετε ένα catchall " "ψευδώνυμο, εισάγετε το όνομα τομέα (@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Διεύθυνση αποστολέα" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -382,64 +385,66 @@ msgstr "" "ακόμη και εάν αυτή δεν υπάρχει τοπικά στον server. Εισάγετε μόνο μια " "διεύθυνση ανά γραμμή. Πιέστε ENTER για να εισάγεται επιπλέον διευθύνσεις. " -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Το domain δεν υπάρχει" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "To τοπικό domain δεν υπάρχει" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Δεν έχετε πρόσβαση σε αυτό το domain" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domain(s)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Τα domains που ο χρήστης διαχειρίζεται" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Γενικά" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Προφιλ" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Μήνυμα" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Δικαιώματα" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Ο λογαριασμός ενημερώθηκε" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Νέος λογαριασμός" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Ο λογαριασμός δημιουργήθηκε" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Τυχαία διεύθυνση" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Διεύθυνση Email" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -447,11 +452,11 @@ msgstr "" "Διεύθυνση ψευδώνυμου. Για να δημιουργήσεις catchall ψευδώνυμα, απλός " "εισάγεται το όνομα του domain (@domain.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Παραλήπτες" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -459,19 +464,20 @@ msgstr "" "Οι διευθύνσεις στις οποίες το ψευδώνυμο θα δείχνει. Εισάγεται μόνο μία " "διεύθυνση ανά εγράφη, πατήστε ENTER για να εισάγεται επιπλέον." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Το πεδίο απαιτείται " -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Δεν έχει ορισθεί παραλήπτης" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Τύπος" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -479,11 +485,11 @@ msgstr "" "Ψευδώνυμο(μα) από το domain. Εισάγεται μόνο ένα όνομα ανά γραμμή, πατήστε " "ENTER για να εισάγεται επιπλέον. " -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -494,7 +500,7 @@ msgstr "" "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 " "σημαίνει ότι δεν υπάρχει quota. " -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -505,51 +511,51 @@ msgstr "" "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 " "σημαίνει ότι δεν υπάρχει quota. " -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "Ψευδώνυμα (alias) domain " -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Το '%s' με αυτό το όνομα υπάρχει ήδη" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Δεν υπάρχουν ΜΧ έγραφες για αυτό το domain " -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Δεν μπορεί να είναι μεγαλύτερο από το domain quota." -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Δεν μπορείτε να ορίσετε ένα απεριόριστο quota." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domain" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Δημιουργία διαχειριστή domain" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Αυτόματη δημιουργία διαχειριστή για αυτό το domain" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Όνομα" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -557,668 +563,680 @@ msgstr "" "Το όνομα του διαχειριστή. Μην συμπεριλάβετε το όνομα του domain, γιατί θα " "προσαρτηθεί αυτόματα στο τέλος." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Δημιουργήστε έναν τυχαίο κωδικό πρόσβασης για το διαχειριστή." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Με ένα γραμματοκιβώτιο" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Δημιουργήστε ένα γραμματοκιβώτιο για το διαχειριστή." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Δημιουργία Ψευδώνυμου" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Δημιουργήστε αυτόματα standard ψευδώνυμα για αυτόν το domain" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Λάθος μορφοποίηση" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Ο χρήστης '%s' υπάρχει ήδη" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Το domain άλλαξε" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Επιλογές" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Νέο domain" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Το domain δημιουργήθηκε" -#: forms/export.py:11 -msgid "File name" -msgstr "Όνομα αρχείου" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Διαχωριστικό" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Παραλήπτες" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Προσθέστε παραπάνω από έναν παραλήπτη μετά το διαχωριστικό ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Αποθήκευση τοπικών αντιγράφων" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Προώθηση μηνυμάτων και αποθήκευση αντιγράφων στο τοπικό γραμματοκιβώτιο" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Επιλέξτε αρχείο" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Συνέχεια σε περίπτωση σφάλματος" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Μην αντιμετωπίζετε τα διπλότυπα αντικείμενα ως σφάλματα" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Κρυπτογράφηση κωδικών" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Επιλέξτε εάν οι κωδικοί που βρίσκονται στο αρχείο δεν είναι κρυπτογραφημένοι" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Η εισαγωγή λογαριασμού απέτυχε (%s): το domain δεν υπάρχει" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Το γραμματοκιβώτιο {} είδη υπάρχει " -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Η εισαγωγή του λογαριασμού (%s) απέτυχε: λάθος τιμή στο quota" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Ταυτότητες" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Προώθηση" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Απαιτείται γραμματοκιβώτιο" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Δεν έχετε δικαίωμα εισαγωγής domain" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Δεν επιτρέπεται να εισαγάγετε ψευδώνυμα στο domain." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS record found for %s" msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. " -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No %(type)s record for %(name)s" msgstr "Έγραφες MX από{}" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '{}'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Μη έγκυρη τιμή quota για το domain '{}'" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL ζήτημα(τα) για το domain {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Το Domain {} δεν έχει εγγραφή MX " -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Η εγγραφή MX για το domain {0} δεν είναι έγκυρη: {1} " -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX ζήτημα(τα) για το domain {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "διεύθυνση" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Η εναλλακτική διεύθυνση." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "ενεργοποιημένο" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Επιλέξτε για να ενεργοποιήσετε αυτό το ψευδώνυμο" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Περιγραφή" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Λήγει την " -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "Ψευδώνυμο" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Λάθος διεύθυνση" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Ο τοπικός παραλήπτης {}@{} δεν βρέθηκε" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Λάθος γραμμή: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Το domain '%s' δεν υπάρχει" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "όνομα" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Το όνομα του domain" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Επιλέξτε για να ενεργοποιηθεί αυτό το domain" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Ενεργοποίση ελέγχου DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Επιλέξτε για να ενεργοποιήσετε τους ελέγχους DNS για αυτόν το domain" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Λάθος γραμμή" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Δεν βρέθηκε εξουσιοδοτημένη εγγραφή MX για το domain {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Μη έγκυρη τιμή quota για το domain '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" "Μη έγκυρη τιμή quota για το προεπιλεγμένο γραμματοκιβώτιο για το domain '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Το προεπιλεγμένο quota για το γραμματοκιβώτιο δεν πρέπει να είναι μεγαλύτερο " "από το domain quota. " -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Το όνομα του ψευδώνυμου" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "στόχος" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "To domain στο οποίο αναφέρεται αυτό το ψευδώνυμο" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Άγνωστο domain %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Διεύθυνση γραμματοκιβωτίου (χωρίς το @domain.tld κομμάτι)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Σφάλμα κατά την ανάκτηση της τοποθεσίας του γραμματοκιβωτίου (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Ένα quota απαιτείται " -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Υπέρβαση του domain quota" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Προκαθορισμένο quota σε MB που εφαρμόζεται στα γραμματοκιβώτια. Μια τιμή 0 " "σημαίνει ότι δεν υπάρχει quota. " -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Η άδεια απορρίφθηκε." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Λίστα διαχειριζόμενων domains (αφορά μόνο μεταπωλητές και διαχειριστές " "domain)" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Δεν επιτρέπεται για αυτόν τον ρόλο." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Πρέπει να είναι ίσο με την full_address του γραμματοκιβωτίου" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Το τοπικός domain {} δεν υπάρχει" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Λίστα παραληπτών" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "To domain δεν βρέθηκε." -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Δεν έχετε πρόσβαση σε αυτό το domain" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "Δεν έχετε πρόσβαση σε αυτό το domain" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "Λάθος μορφοποίηση" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "Λάθος μορφοποίηση" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Απενεργοποιήθηκε " -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Αναμονή ελέγχων" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No MX record found for this domain." msgid "No record found" msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. " -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Γενικά στατιστικά" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Ποσότητα" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Ψευδώνυμα domain" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Στατιστικά ανά-domain" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(απενεργοποιήθηκε)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Περίληψη" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Πλήρες όνομα" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Δημιουργήθηκε" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Τελευταία είσοδος" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Δευτερεύων email" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Μη καθορισμένο" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Τηλέφωνο" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Δια χειριζόμενα domains " -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Δεν ορίστηκε domain" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Ψευδώνυμα" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Δεν ορίστηκε ψευδώνυμο" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Επιπρόσθετη διεύθυνση αποστολέα" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Δεν ορίστηκε διεύθυνση αποστολέα " -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Το domain είναι απενεργοποιημένο" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Ψευδώνυμο " -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Τροποποιήθηκε" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Πάροχος" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Διεύθυνση" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Κατάσταση" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "καταχωρημένο" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Όλα είναι καλά, αυτό το domain δεν είναι καταχωρημένο." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες για αυτό το domain" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Ημερομηνία δημιουργίας" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Τελευταία ημερομηνία αλλαγής" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Ψευδώνυμο γραμματοκιβωτίου " -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Χρήση" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "χρησιμοποιείται " -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "Κατανεμημένο" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 #, fuzzy #| msgid "Not defined" msgid "Not generated" msgstr "Μη καθορισμένο" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Διαχειριστές" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Αφαίρεση αυτού του δικαιώματος" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Δεν έχει καθοριστεί ακόμη διαχειριστής του domain." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Ετικέτες" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Κατάσταση DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Ενέργειες" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Δεν μπορείτε να δημιουργήσετε έναν νέο διαχειριστή domain" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Προσθέτω" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Όριο" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Χρησιμοποιούμενος" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Δεσμευμένος" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Χρήση (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "απενεργοποιημένο" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Αυτόματη προώθηση των email σε άλλη διεύθυνση" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Ενημέρωση" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Λογαριασμός" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Τιμή" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Όνομα/Παραλήπτης" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
            " "
          • domain; name; quota; default mailbox quota; enabled
          • " @@ -1238,7 +1256,7 @@ msgstr "" "προηγούμενες τιμές.

            Μπορείτε να χρησιμοποιήσετε διαφορετικό χαρακτήρα " "ως διαχωριστικό.

            " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
              " "
            • account; loginname; password; first name; last name; enabled; group; " @@ -1255,41 +1273,41 @@ msgstr "" "είναι ίδιο με μία από τις προηγούμενες τιμές.

              Μπορείτε να " "χρησιμοποιήσετε διαφορετικό χαρακτήρα ως διαχωριστικό." -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Βοήθεια" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Εισαγωγή..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Διαχειριστής" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Επιλέξτε μία τιμή" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Χρήση της προεπιλεγμένης τιμής του domain" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Ενημερώθηκε" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" "Αυτή η διεύθυνση IP δεν αντιστοιχεί σε κανένα από τα έγκυρο MX που ορίζονται " "στις παραμέτρους" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Δεν βρέθηκε εγράφη MX για αυτό το domain. " -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1298,7 +1316,7 @@ msgstr "" "Η Modoboa ανίχνευσε ότι το domain %(domain)s είναι καταχωρημένος στους " "ακόλουθους παρόχους DNSBL:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1309,156 +1327,160 @@ msgstr "" "ανεπιθύμητα. Θα πρέπει να επικοινωνήσετε με αυτούς τους παροχους και να τους " "ζητήσετε να σας βγάλουν από τη λίστα ανεπιθύμητων διευθύνσεων IP." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "To Modoboa ανίχνευσε ότι το domain %(domain)s δεν έχει έγκυρη εγγραφή MX:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Αναζήτηση" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Λίστα domains" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "List Quotas" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Εισαγωγή" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Εξαγωγή" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Λίστα ταυτοτήτων" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Εμφάνιση των ταυτοτήτων του domain" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Επεξεργασία{}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Διαγραφή %s;" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No MX record for %s" msgstr "Έγραφες MX από{}" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Υπάρχει είδη αυτό το ψευδώνυμο" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Δημιουργία" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Νέο ψευδώνυμο" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Το ψευδώνυμο δημιουργήθηκε" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Το ψευδώνυμο τροποποιήθηκε" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Το ψευδώνυμο διαγράφηκε" msgstr[1] "Ψευδώνυμο διαγράφηκε" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Έγραφες MX από{}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Περίληψη DNSBL για{}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Δεν μπορείτε να σβήσετε το δικό σας domain" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Το domain διαφράφηκε" msgstr[1] "Τα domains διαφράφηκαν" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Εξαγωγή ταυτοτήτων" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Εξαγωγή των domain" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Λάθος αίτημα" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Ο λογαριασμός διαγράφηκε" msgstr[1] "Οι λογαριασμοί διαγράφηκαν" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Το αντικείμενο υπάρχει ήδη: %s'" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d αντικείμενα εισήχθησαν με επιτυχία" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Εισαγωγή των domain" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Εισαγωγή ταυτοτήτων" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Η προώθηση ενημερώθηκε" +#~ msgid "File name" +#~ msgstr "Όνομα αρχείου" + #, fuzzy #~| msgid "No MX record found for this domain." #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/el_GR/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/el_GR/LC_MESSAGES/djangojs.po index 2150858fe..9679d1807 100644 --- a/modoboa/admin/locale/el_GR/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/el_GR/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giannis Kapetanakis , 2016 # Kostas Moumouris , 2017 @@ -9,46 +9,51 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-10-05 20:01+0000\n" "Last-Translator: Kostas Moumouris \n" -"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/language/el_GR/)\n" +"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" +"language/el_GR/)\n" +"Language: el_GR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Δεν υπάρχουν άλλα domains για εμφάνιση" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Να μην διαγραφεί ο κατάλογος αρχείων του domain " -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." -msgstr "Αυτή η λειτουργία θα καταργήσει ΟΛΑ τα δεδομένα που σχετίζονται με αυτό το domain." +msgstr "" +"Αυτή η λειτουργία θα καταργήσει ΟΛΑ τα δεδομένα που σχετίζονται με αυτό το " +"domain." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Αυτή η λειτουργία θα καταργήσει όλα τα δεδομένα που σχετίζονται με αυτό το domain, εκτός από τους λογαριασμούς χρηστών." +msgstr "" +"Αυτή η λειτουργία θα καταργήσει όλα τα δεδομένα που σχετίζονται με αυτό το " +"domain, εκτός από τους λογαριασμούς χρηστών." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Δεν υπάρχει κανένα quota" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Δεν έχει οριστεί διαχειριστής domain" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Δεν υπάρχουν άλλες ταυτότητες για εμφάνιση" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Να μην διαγραφεί ο κατάλογος αρχείων του γραμματοκιβωτίου " - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Δεν υπάρχει κανένα quota" diff --git a/modoboa/admin/locale/en/LC_MESSAGES/django.po b/modoboa/admin/locale/en/LC_MESSAGES/django.po index 2b40edee2..5725f35b9 100644 --- a/modoboa/admin/locale/en/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,1107 +17,1125 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 msgid "Enable SPF checks" msgstr "" -#: app_settings.py:58 +#: admin/app_settings.py:54 msgid "Check if every domain has a valid SPF record" msgstr "" -#: app_settings.py:63 +#: admin/app_settings.py:59 msgid "Enable DKIM checks" msgstr "" -#: app_settings.py:66 +#: admin/app_settings.py:62 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "" -#: app_settings.py:72 +#: admin/app_settings.py:68 msgid "Enable DMARC checks" msgstr "" -#: app_settings.py:75 +#: admin/app_settings.py:71 msgid "Check if every domain has a valid DMARC record" msgstr "" -#: app_settings.py:80 +#: admin/app_settings.py:76 msgid "Enable autoconfig checks" msgstr "" -#: app_settings.py:83 +#: admin/app_settings.py:79 msgid "Check if every domain has a valid records for autoconfiguration" msgstr "" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" msgstr "" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." msgstr "" -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." msgstr "" -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "" -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." msgstr "" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "" -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " "custom value or use domain's default one. Leave empty to define an unlimited " "value (not allowed for domain administrators)." msgstr "" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." msgstr "" -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." msgstr "" -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "" -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." msgstr "" -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." msgstr "" -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "" -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "" -#: forms/export.py:11 -msgid "File name" -msgstr "" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, python-format msgid "No DNS record found for %s" msgstr "" -#: lib.py:196 +#: admin/lib.py:192 #, python-format msgid "No %(type)s record for %(name)s" msgstr "" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "" -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "" -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "" -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 msgid "No record found" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:

                " "
              • domain; name; quota; default mailbox quota; enabled
              • " @@ -1128,7 +1146,7 @@ msgid "" "use a different character as separator.

                " msgstr "" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                  " "
                • account; loginname; password; first name; last name; enabled; group; " @@ -1138,196 +1156,197 @@ msgid "" "use a different character as separator.

                  " msgstr "" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "" -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." msgstr "" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "" msgstr[1] "" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "" msgstr[1] "" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "" msgstr[1] "" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "" diff --git a/modoboa/admin/locale/en/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/en/LC_MESSAGES/djangojs.po index 60b6d3764..9de0501d4 100644 --- a/modoboa/admin/locale/en/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/en/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,36 +17,36 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "" -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." msgstr "" -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "" diff --git a/modoboa/admin/locale/es/LC_MESSAGES/django.po b/modoboa/admin/locale/es/LC_MESSAGES/django.po index 0949420e7..a8dc32e42 100644 --- a/modoboa/admin/locale/es/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/es/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-06-28 00:48+0000\n" "Last-Translator: Evilham \n" "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/" @@ -20,25 +20,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Dominios" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Habilitar comprobación MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Compruebe que cada dominio tenga un registro MX válido" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "MX Validos" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -46,108 +46,108 @@ msgstr "" "Una lista de IP o dirección de red, cada registro MX debe coincidir. Se " "enviará una advertencia si un registro no la respeta." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Activar comprobación de DNS" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Compruebe que cada dominio tenga un registro MX válido" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Habilitar comprobación MX" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Compruebe que cada dominio tenga un registro MX válido" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Habilitar comprobación MX" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Compruebe que cada dominio tenga un registro MX válido" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Habilitar comprobación MX" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Compruebe que cada dominio tenga un registro MX válido" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Habilitar comprobación DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Compruebe cada dominio con los principales proveedores de DNSBL" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Mailboxes" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Manejar mailboxes en el sistema de fichero" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -155,19 +155,19 @@ msgstr "" "Renombrar o eliminar mailboxes en el sistema de ficheros cuando sean " "renombrados o eliminados dentro de Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Propietario de los mailboxes" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Cuenta de UNIX que posee los mailboxes en el sistema de ficheros" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Cuota del dominio por defecto" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -175,12 +175,12 @@ msgstr "" "Cuota por defecto (en MB) que se aplica a la creación de nuevos dominios que " "no tuvieran un valor especificado. Un valor de 0 significa que no hay cuota." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Cuota de mailbox por defecto" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -188,69 +188,70 @@ msgstr "" "La cuota de mailbox por defecto (en MB) se aplica a los dominios nuevos que " "no especifican este valor. Un valor de 0 significa ningún limite." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Elminar cuentas automáticamente" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "Cuando un mailbox es eliminado, también lo es su cuenta asociada." -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Creación automática de dominio/buzón" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Crear un dominio y un buzón cuando se cree automáticamente una cuenta." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Debe ser un entero positivo" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "Dominio no encontrado." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administración" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Dominio" -#: constants.py:97 +#: admin/constants.py:29 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Nuevo dominio" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Nombre de usuario" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -258,77 +259,79 @@ msgstr "" "El nombre del usuario. Debe ser una dirección de 'e-mail' válida para " "usuarios simples o administradores con un buzón." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Elija" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Qué nivel de permiso tendrá este usuario" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 #, fuzzy #| msgid "Random address" msgid "Random password" msgstr "Dirección aleatoria" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Contraseña" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Confirmación" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Introduzca la misma contraseña que arriba, para verificación." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Activado" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Sólo se permiten superadministradores para este modo" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Este campo es obligatorio." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Las contraseñas no concuerdan" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "No puede deshabilitar su propia cuenta" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "Email" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Cuota" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -343,12 +346,12 @@ msgstr "" "dominio por defecto. Déjelo vacío para definir un valor ilimitado (no " "permitido para los administradores del dominio)" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -358,11 +361,11 @@ msgstr "" "ENTER para agregar una nueva entrada. Para crear un alias catchall, " "simplemente ingrese el nombre de dominio (@ domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Direcciónes de remitente" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -373,64 +376,66 @@ msgstr "" "exista localmente. Indique una dirección por entrada. Presione ENTER para " "agregar una nueva entrada." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "El dominio no existe" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "El dominio no existe" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "No tienes acceso a este dominio" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Dominio(s)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Dominio(s) que el usuario administra" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "General" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Correo" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Permisos" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Cuenta actualizada" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nueva cuenta" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Cuenta creada" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Dirección aleatoria" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Dirección de email" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -438,11 +443,11 @@ msgstr "" "La dirección del alias. Para crear un alias catchall, simplemente ingrese el " "nombre de dominio (@ domain.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatarios" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -450,19 +455,20 @@ msgstr "" "Las direcciones a las que apunta este alias. Indique sólo una dirección por " "entrada, presione ENTER para agregar una nueva entrada." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Este campo es obligatorio" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "No ha puesto destinatario" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -470,11 +476,11 @@ msgstr "" "Alia(s) de este dominio. Indique únicamente un nombre por entrada, presione " "ENTER para añadir una nueva entrada." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -484,7 +490,7 @@ msgid "" msgstr "" "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -494,53 +500,53 @@ msgid "" msgstr "" "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias del dominio" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Ya existe un %s con ese nombre" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 #, fuzzy #| msgid "No MX record found for this domain." msgid "No authorized MX record found for this domain" msgstr "No se encontró ningún registro MX para este dominio." -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "No puede superar la cuota de dominio" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "No puede definir una cuota ilimitada." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "dominio" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Crear un administrador del dominio" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Automáticamente crear una administrador para este dominio" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nombre" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -548,670 +554,682 @@ msgstr "" "El nombre del administrador. No incluya el nombre del dominio aquí, será " "añadido automáticamente." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 #, fuzzy #| msgid "Create a mailbox for the administrator." msgid "Generate a random password for the administrator." msgstr "Crear mailbox para el administrador." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Con una mailbox" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Crear mailbox para el administrador." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Crear alias" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Automáticamente crear alias estándar para este dominio" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Formato inválido" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "El usuario '%s' ya existe" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Dominio modificado" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opciones" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Nuevo dominio" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Dominio creado" -#: forms/export.py:11 -msgid "File name" -msgstr "Nombre del fichero" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separador" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Destinatario(s)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Indique uno o más destinatarios separados por una ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Mantener copias locales" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Reenvía mensajes y guarda copias en su mailbox local" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Seleccione un fichero" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Continúe en error." -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "No tratar objetos duplicados como error" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Contraseñas cifradas" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Marque esta opción si las contraseñas que contiene su fichero no están " "cifradas" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Falló la importación de la cuenta (%s): el dominio no existe" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "El buzón {} ya existe" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Error en la importación de la cuenta (%s): valor de cuota incorrecto" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identidades" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Siguiente" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Es obligatorio un buzón" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "No está autorizado para importar dominios" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "No está autorizado para importar alias de dominio." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS record found for %s" msgstr "No se encontró ningún registro MX para este dominio." -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No %(type)s record for %(name)s" msgstr "Registros MX de {}" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '{}'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Cuota inválida para dominio '{}'" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problema(s) para el dominio {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "El dominio {} no tiene registro MX" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "El registro MX para el dominio {0} no es válido: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problema(s) para el dominio {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "dirección" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "La dirección del alias." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "activado" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Marcar para activar este alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descripción" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Caduca en" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Dirección inválida" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Receptor local {}@{} no encontrado" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Línea inválida: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "El dominio '%s' no existe" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "nombre" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Nombre del dominio" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Marcar para activar este dominio" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Activar comprobación de DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Seleccionar para activar la comprobación de DNS para este dominio" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Línea inválida" -#: models/domain.py:330 +#: admin/models/domain.py:322 #, fuzzy #| msgid "No MX record found for this domain." msgid "No authorized MX record found for domain {}" msgstr "No se encontró ningún registro MX para este dominio." -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Cuota inválida para dominio '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Cuota de mailbox por defecto inválida para dominio '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "La cuota de mailbox por defecto no puede superar la cuota de dominio" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Nombre del alias" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "objetivo" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "El dominio al que este alias apunta" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Dominio desconocido %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Dirección del mailbox (sin la parte @dominio.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Fallo al recuperar la localización del mailbox (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Una cuota es obligatoria" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Cuota de dominio excedida" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Permiso denegado." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista de dominios administrados (sólo distribuidores y administradores de " "dominio)." -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "No estás autorizado para esta función." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Debe ser igual a la dirección completa del buzón" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "El dominio local {} no existe" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Lista de destinatarios" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Dominio no encontrado." -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "No tienes acceso a este dominio" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "No tienes acceso a este dominio" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "Formato inválido" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "Formato inválido" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Deshabilitado" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Esperando verificación" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No MX record found for this domain." msgid "No record found" msgstr "No se encontró ningún registro MX para este dominio." -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Estadísticas globales" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Cantidad" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Alias del dominio" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Estadísticas por dominio" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(deshabilitado)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Resumen" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Nombre completo" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Creado" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Últimao acceso" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Email secundario" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Sin definir" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Numero de telefono " -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Dominios administrados" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "No se ha definido ningún dominio." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Alias" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "No se ha definido ningún alias" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Direcciones de remitente adicionales" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "No se ha definido la dirección del remitente" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "El dominio está deshabilitado" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Modificado" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Proveedor" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Dirección" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Estatus" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "listado" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Todo está bien, este dominio no está en la lista." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "No hay información disponible para este dominio." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Fecha de creación" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Última fecha de modificación" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Alias del mailbox" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Uso" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "usado" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "reservado" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 #, fuzzy #| msgid "Not defined" msgid "Not generated" msgstr "Sin definir" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administradores" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Eliminar este permiso" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Aún no se define un administrador de dominio." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tags" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Estado de DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Acciones" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "No puedes crear un nuevo administrador de dominio" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Añadir" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Límite" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 #, fuzzy #| msgid "allocated" msgid "Allocated" msgstr "reservado" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Uso (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "deshabilitado" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Reenvía automáticamente los correos a otra dirección" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Actualizar" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Cuenta" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Valor" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Nombre completo/Destinatario" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                    " "
                  • domain; name; quota; default mailbox quota; enabled
                  • " @@ -1230,7 +1248,7 @@ msgstr "" "línea es obligatorio y debe ser igual a uno de los valores anteriores.

                    Puede utilizar un carácter diferente como Separador.

                    " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                      " "
                    • account; loginname; password; first name; last name; enabled; group; " @@ -1247,41 +1265,41 @@ msgstr "" "obligatorio y debe ser igual a uno de los valores anteriores.

                      Puede " "utilizar un carácter diferente como separador. " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Ayuda" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importando..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Administrador" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Elija un valor" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Usar el valor por defecto del dominio" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Actualizado" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" "Esta IP no coincide con ninguno de los registros MX válidos definidos en los " "parámetros" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "No se encontró ningún registro MX para este dominio." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1290,7 +1308,7 @@ msgstr "" "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los " "siguientes proveedores DNSBL:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1301,157 +1319,161 @@ msgstr "" "Debe comunicarse con estos proveedores y pedirles que elimine la(s) " "dirección(es) IP detectada(s)." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "Modoboa detectó que el(los) dominio(s) %(domain)s está(n) listado(s) por los " "siguientes proveedores DNSBL:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Buscar" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "Activado" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "Activado" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Listar dominios" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Listar cuotas" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importar" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exportar" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Listar identidades" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Ver las identidades del dominio" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Editar {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "¿Eliminar %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No MX record for %s" msgstr "Registros MX de {}" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Ya existe un alias con este nombre" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Crear" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nuevo alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias creado" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias modificado" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias eliminado" msgstr[1] "Aliases eliminados" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Registros MX de {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Resumen de DNSBL para {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "No puedo eliminar su propio dominio" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Dominio eliminado" msgstr[1] "Dominios eliminados" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Exportar identidades" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exportar dominios" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Petición inválida" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Cuenta eliminada" msgstr[1] "Cuentas eliminadas" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "El objeto ya existe: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objetos importados con éxito" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importar dominios" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importar identidades" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Reenvío actualizado" +#~ msgid "File name" +#~ msgstr "Nombre del fichero" + #, fuzzy #~| msgid "No MX record found for this domain." #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/es/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/es/LC_MESSAGES/djangojs.po index 8a247e117..e17431d9b 100644 --- a/modoboa/admin/locale/es/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/es/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Pedro Gracia , 2011,2013 # Pedro Gracia , 2010-2011 @@ -10,46 +10,49 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-02-21 00:55+0000\n" "Last-Translator: samuel santos \n" -"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/" +"es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Sin dominios que mostrar" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "No eleminar el directorio del dominio" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Esta operación eliminará TODOS los datos asociados a este dominio." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Esta operación eliminará todos los datos asociados a este dominio, excepto las cuentas." +msgstr "" +"Esta operación eliminará todos los datos asociados a este dominio, excepto " +"las cuentas." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Sin cuota para mostrar" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "No hay un administrador de dominio definido" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Sin identidades que mostrar" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "No eliminar el directorio del mailbox" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Sin cuota para mostrar" diff --git a/modoboa/admin/locale/fr/LC_MESSAGES/django.po b/modoboa/admin/locale/fr/LC_MESSAGES/django.po index 2e5b5ea58..c15f8ff7f 100644 --- a/modoboa/admin/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-20 10:36+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -18,25 +18,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domaines" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Activer la vérification des MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Vérifie que chaque domaine a un enregistrement MX valide" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "MX(s) valide(s)" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -45,11 +45,11 @@ msgstr "" "respecter. Un avertissement sera envoyé dès qu'un enregistrement ne la " "respecte pas." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Les nouveaux domaines doivent utiliser un ou plusieurs MX autorisés" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -57,61 +57,65 @@ msgstr "" "Empêcher la création d'un domaine s'il n'a pas au moins un MX utilisant une " "adresse autorisée." -#: app_settings.py:55 +#: admin/app_settings.py:51 msgid "Enable SPF checks" msgstr "Activer les tests SPF" -#: app_settings.py:58 +#: admin/app_settings.py:54 msgid "Check if every domain has a valid SPF record" msgstr "Vérifie que chaque domaine a un enregistrement SPF valide" -#: app_settings.py:63 +#: admin/app_settings.py:59 msgid "Enable DKIM checks" msgstr "Activer les tests DKIM" -#: app_settings.py:66 +#: admin/app_settings.py:62 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" -msgstr "Vérifie que chaque domaine ayant la signature DKIM activée dispose d'un enregistrement DNS valide" +msgstr "" +"Vérifie que chaque domaine ayant la signature DKIM activée dispose d'un " +"enregistrement DNS valide" -#: app_settings.py:72 +#: admin/app_settings.py:68 msgid "Enable DMARC checks" msgstr "Activer les tests DMARC" -#: app_settings.py:75 +#: admin/app_settings.py:71 msgid "Check if every domain has a valid DMARC record" msgstr "Vérifie que chaque domaine a un enregistrement DMARC valide" -#: app_settings.py:80 +#: admin/app_settings.py:76 msgid "Enable autoconfig checks" msgstr "Activer les tests d'autoconfiguration" -#: app_settings.py:83 +#: admin/app_settings.py:79 msgid "Check if every domain has a valid records for autoconfiguration" -msgstr "Vérifie que chaque domaine a les enregistrements nécessaires à l'autoconfiguration" +msgstr "" +"Vérifie que chaque domaine a les enregistrements nécessaires à " +"l'autoconfiguration" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Activer les vérifications DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Vérifie chaque domaine auprès des fournisseurs de DNSBL" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "Serveur DNS personnalisé" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" "Utiliser un serveur DNS personnalisé à la place de la configuration par " "défaut du serveur" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "Répertoire de stockage des clés DKIM" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " @@ -121,23 +125,23 @@ msgstr "" "Assurez vous que ce répertoire appartient à l'utilisateur root et qu'il " "n'est pas lisible par le monde extérieur." -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Taille par défaut d'une clé DKIM" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Taille par défaut en octets des clés DKIM nouvellement générées." -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Boites" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Gérer les boites sur le système de fichiers" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -145,19 +149,19 @@ msgstr "" "Renommer ou supprimer les boites sur le système de fichiers quand elles sont " "renommées ou supprimées dans Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Propriétaire des boites" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Le compte UNIX qui possède les boites sur le système de fichiers" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Quota de domaine par défaut" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -165,12 +169,12 @@ msgstr "" "Quota par défaut (en Mo) appliqué aux domaines fraichement créés et ne " "spécifiant pas de valeur. 0 signifie qu'aucun quota ne sera appliqué." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Quota par défaut pour une boîte aux lettres" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -178,72 +182,73 @@ msgstr "" "Quota par défaut pour une boîte aux lettres utilisé pour les domaines " "nouvellement créés. Une valeur à 0 signifie pas de quota." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Suppression automatique de compte" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Lorsqu'une boite aux lettres est supprimée, supprimer le compte associé en " "même temps" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Création automatique de domaine/boite aux lettres" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Créer un domaine et une boite aux lettres quand un compte est créé " "automatiquement." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Créer un alias quand une boite aux lettres est renommée" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Créer un alias en utilisant l'ancienne adresse quand une boite aux lettres " "est renommée." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Doit être un entier positif" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Répertoire introuvable." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" "impossible de trouver openssl, veuillez vous assurer vous qu'il est installé." -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Définissez au moins un réseau / une adresse autorisé" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administration" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domaine" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Domaine relais" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Nom d'utilisateur" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -251,23 +256,23 @@ msgstr "" "Le nom de l'utilisateur. Doit être une adresse e-mail valide pour les " "utilisateurs simples ou les administrateurs avec une boite aux lettres." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rôle" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Choisir" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Quel niveau de permission cet utilisateur aura" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Mot de passe aléatoire" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -275,53 +280,55 @@ msgstr "" "Générer un mot de passe aléatoire. Si vous modifiez ce compte et cochez " "cette case, un nouveau mot de passe sera généré." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Mot de passe" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Confirmation" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Entrer le même mot de passe, pour vérification." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Activé" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Seuls les super administrateurs sont autorisés pour ce mode" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Ce champ est requis." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Les deux mots de passe ne correspondent pas." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Vous ne pouvez pas désactiver votre propre compte" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Créer un alias en utilisant l'ancienne adresse" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " "custom value or use domain's default one. Leave empty to define an unlimited " @@ -332,12 +339,12 @@ msgstr "" "vide pour définir une valeur illimitée (interdit pour les admins. de " "domaine)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -347,11 +354,11 @@ msgstr "" "sur ENTREE pour ajouter un nouveau champ. Pour créer un alias 'fourre-tout', " "entrer seulement le nom du domaine (@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Adresses d'envoi" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -362,64 +369,66 @@ msgstr "" "même si elle(s) n'existe(nt) pas localement. Indiquer une adresse par champ. " "Appuyer sur ENTREE pour ajouter un nouveau champ." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domaine inexistant" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Le domaine local n'existe pas" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Vous n'avez pas accès à ce domaine" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domaine(s)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domaine(s) que cet utilisateur administre" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Général" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Courrier" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Permissions" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Compte mis à jour" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nouveau compte" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Compte créé" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Adresse aléatoire" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Adresse email" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -427,11 +436,11 @@ msgstr "" "L'adresse de l'alias. Pour créer un alias \"fourre-tout\", saisissez " "uniquement le nom du domaine (@domain.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinataires" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -439,19 +448,20 @@ msgstr "" "Les adresses vers lesquelles cet alias pointera. Indiquer une adresse par " "champ, appuyer sur ENTREE pour ajouter un nouveau champ." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Ce champ est requis." -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Aucune destinataire défini" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Type" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -459,11 +469,11 @@ msgstr "" "Alias de ce domaine. Indiquer seulement un nom par champ, appuyer sur ENTREE " "pour ajouter un nouveau champ." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Sélecteur de clé" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." @@ -471,7 +481,7 @@ msgstr "" "Quota partagé entre les boîtes aux lettres. Peut être exprimé en Ko, Mo " "(défaut) ou Go. Une valeur à 0 signifie pas de quota." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." @@ -479,51 +489,51 @@ msgstr "" "Quota par défaut appliqué aux boîtes aux lettres. Peut être exprimé en Ko, " "Mo (défaut) ou Go. Une valeur à 0 signifie pas de quota." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias de domaine" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Un %s de ce nom existe déjà" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Aucun enregistrement MX autorisé trouvé pour ce domaine" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "Répertoire de stockage des clés DKIM non configuré" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Ne peut pas être supérieur au quota du domaine" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Vous ne pouvez pas définir de quota illimité" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domaine" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Créer un administrateur de domaine" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Créer automatiquement un administrateur pour ce domaine" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nom" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -531,655 +541,667 @@ msgstr "" "Le nom de l'administrateur. Ne pas include un nom de domaine ici, il sera " "ajouté automatiquement." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Générer un mot de passe aléatoire pour cet administrateur." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Avec une boite aux lettres" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Créer une boite aux lettres pour l'administrateur" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Créer des alias" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Créer automatiquement des alias standard pour ce domaine" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Format invalide" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "L'utilisateur '%s' existe déjà" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domaine modifié" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Options" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Nouveau domaine" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domaine créé" -#: forms/export.py:11 -msgid "File name" -msgstr "Nom du fichier" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Séparateur" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Destinataire(s)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Indiquer un ou plusieurs destinataires séparés par une ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Conserver des copies locales" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Transférer les messages et conserver une copie dans votre boite locale" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Sélectionner un fichier" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Continuer en cas d'erreur" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Ne pas traiter les objets dupliqués comme des erreurs" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Chiffrer les mots de passe" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Cocher cette option si les mots de passe contenus dans votre fichier ne sont " "pas chiffrés" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "L'import du compte a échoué (%s): le domaine n'existe pas" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "La boite {} existe déjà" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "L'import du compte a échoué (%s): mauvais quota" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identités" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Transfert" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Une boite aux lettres est requise" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Vous n'êtes pas autorisé à importer des domaines" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Vous n'êtes pas autorisé à importer des alias de domaine." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, python-format msgid "No DNS record found for %s" msgstr "Aucun enregistrement DNS trouvé pour %s." -#: lib.py:196 +#: admin/lib.py:192 #, python-format msgid "No %(type)s record for %(name)s" msgstr "Aucun enregistrement %(type)s trouvé pour %(name)s" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "Aucun serveur de noms fonctionnel trouvé" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "Timeout de résolution DNS, impossible de requêter %s pour l'instant" -#: lib.py:231 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "Format d'adresse IP incorrect pour {domain}; {addr}" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Problème(s) DNSBL pour le domaine {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Le domaine {} n'a pas d'enregistrement MX" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Enregistrement MX invalide pour le domaine {0} : {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] problème(s) de MX pour le domaine {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "Adresse" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "L'adresse de l'alias" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "Activé" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Cocher pour activer cet alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Description" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Expire le" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Adresse invalide" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Destinataire local {}@{} introuvable" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Ligne invalide : %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Domaine '%s' inexistant" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "Nom" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Le nom du domaine" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Cocher pour activer ce domaine" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Activer les tests DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Cocher pour activer les tests DNS pour ce domaine" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Activer la signature DKIM" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" "Si vous activez cette fonctionnalité, une clé DKIM sera générée pour ce " "domain." -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Taille de la clé" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Ligne invalide" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Aucun enregistrement MX autorisé trouvé pour le domaine {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Quota invalide pour le domaine '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" "Quota par défaut pour une boîte aux lettres invalide pour le domaine '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Le quota par défaut d'une boîte aux lettres ne peut pas être supérieur au " "quota du domaine" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Le nom de l'alias" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "cible" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Le domaine vers lequel cet alias pointe" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Domaine %s inconnu" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresse de la boite aux lettres (sans la partie @domain.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Impossible de récuperer l'emplacement de la boite (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Un quota est requis" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Quota du domaine dépassé" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Quota par défaut en Mo appliqué aux boîtes aux lettres. Une valeur à 0 " "signifie pas de quota." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Permission refusée." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Liste des domaines administrés (revendeurs et administrateurs de domaine " "seulement)." -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Non autorisé pour ce rôle." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Doit être égale au champ full_address dans mailbox" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Le domaine local {} n'existe pas" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Une liste de destinataire" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Domaine introuvable." -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "Vous n'avez pas accès à ce domaine." -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "Vous n'avez pas accès à cette boîtes aux lettres." -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Fermer" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "Clé publique DKIM pour %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Format brut" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Format Bind/named" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Désactivés" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "En attente de vérification" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 msgid "No record found" msgstr "Aucun enregistrement trouvé" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "En attente de génération de la clé" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Statistiques globales" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Quantité" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Alias de domaine" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statistiques par domaine" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(désactivé)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Résumé" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Nom complet" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Créé" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Dernière connexion" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "E-mail secondaire" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Non défini" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Numéro de téléphone" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Domaines gérés" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Aucun domaine défini." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Alias" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Aucun alias défini" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Adresses d'envoi supplémentaires" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Aucune adresse d'envoi déclarée" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Le domaine est désactivé" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Modifié" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Fournisseur" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adresse" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Statut" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "listé" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Tout va bien, ce domaine n'est pas listé." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Aucune information disponible pour ce domaine." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Date de création" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Date de dernière modification" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Alias de boite." -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "Mo" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Utilisation" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "utilisé" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "alloué" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "Clé DKIM" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Afficher la clé" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "Générer une nouvelle clé" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Non générée" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administrateurs" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Supprimer cette permission" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Aucun administrateur de domaine défini." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tags" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Statut DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Actions" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Vous ne pouvez pas créer de nouvel administrateur de domaine" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Ajouter" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limite" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Utilisé" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Alloué" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Utilisation (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "Desactivé" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Transférer automatiquement les messages vers une autre adresse" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Mettre à jour" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Compte" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Valeur" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Nom complet/Destinataire" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:

                        " "
                      • domain; name; quota; default mailbox quota; enabled
                      • " @@ -1197,7 +1219,7 @@ msgstr "" "mandatory and must be equal to one of the previous values.

                        Vous " "pouvez utiliser un caractère différent comme séparateur.

                        " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                          " "
                        • account; loginname; password; first name; last name; enabled; group; " @@ -1214,41 +1236,41 @@ msgstr "" "valeurs présentées.

                          Vous pouvez utiliser un caractère différent en " "tant que séparateur.

                          " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Aide" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Import en cours..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Admin" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Choisir une valeur" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Utiliser la valeur par défaut du domaine" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Mis à jour" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" "Cette IP ne correspond à un aucun des MX valides déclarés dans les " "paramètres." -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Aucun enregistrement MX trouvé pour ce domaine." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1257,7 +1279,7 @@ msgstr "" "Modoboa a détecté que le domaine %(domain)s est listé par les fournisseurs " "de DNSBL suivants :" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1267,156 +1289,160 @@ msgstr "" "venant de lui soient considérés comme du spam. Vous devriez contacter ces " "fournisseurs pour leur demander de délister la/les adresse(s) détectée(s)." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "Modoboa a détecté que le domain %(domain)s n'a aucun enregistrement MX " "valide :" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Chercher" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "Activé" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "Activée" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Lister les domaines" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Lister les quotas" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importer" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exporter" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Lister les identités" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Voir les identités du domaine" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Modifier {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Supprimer %s ?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "Aucun enregistrement MX trouvé pour %s" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Format d'adresse IP incorrect pour %(domain)s; %(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Un alias de ce nom existe déjà" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Créer" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nouvel alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias créé" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias modifié" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias supprimé" msgstr[1] "Alias supprimés" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Enregistrements MX de {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Résumé DNSBL pour {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Vous ne pouvez pas supprimer votre propre domaine" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domaine supprimé" msgstr[1] "Domaines supprimés" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Export d'identités" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Export de domaines" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Requête invalide" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Compte supprimé" msgstr[1] "Comptes supprimés" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "L'objet existe déjà : %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objets importés avec succès" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importer des domaines" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importer des identités" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Transfert mis à jour" +#~ msgid "File name" +#~ msgstr "Nom du fichier" + #~ msgid "No {type} record found for MX {mx}" #~ msgstr "Aucun enregistrement {type} trouvé pour le MX {mx}." diff --git a/modoboa/admin/locale/fr/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/fr/LC_MESSAGES/djangojs.po index 919862caf..3cfb4313a 100644 --- a/modoboa/admin/locale/fr/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/fr/LC_MESSAGES/djangojs.po @@ -1,52 +1,54 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Plus de domaine à afficher" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Ne pas supprimer le répertoire du domaine" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Cette opération supprimera TOUTES les données associées à ce domaine." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Cette opération supprimera toutes les données associées à ce domaine à l'exception des comptes." +msgstr "" +"Cette opération supprimera toutes les données associées à ce domaine à " +"l'exception des comptes." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Plus de quota à afficher" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Aucun administrateur de domaine défini" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Plus d'identité à afficher" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Ne pas supprimer le répertoire de la boite aux lettres" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Plus de quota à afficher" diff --git a/modoboa/admin/locale/it/LC_MESSAGES/django.po b/modoboa/admin/locale/it/LC_MESSAGES/django.po index 1f99c2694..b4d7b8dd9 100644 --- a/modoboa/admin/locale/it/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/it/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-02 14:26+0000\n" "Last-Translator: marcotrevisan \n" "Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" @@ -21,25 +21,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domini" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Abilita i controlli MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Verifica che ogni dominio abbia un record MX valido" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "MX validi" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -47,11 +47,11 @@ msgstr "" "Una lista di indirizzi IP o host a cui ciascun record MX dovrebbe " "appartenere. Verrà inviato un avviso se un record non la rispetta. " -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Nuovi domini devono utilizzare MX autorizzati" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -59,75 +59,75 @@ msgstr "" "Impedisci la creazione di un nuovo dominio se il suo record MX non utilizza " "uno degli indirizzi definiti." -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Abilita i controlli DNS" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Verifica che ogni dominio abbia un record MX valido" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Abilita i controlli MX" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Verifica che ogni dominio abbia un record MX valido" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Abilita i controlli MX" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Verifica che ogni dominio abbia un record MX valido" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Abilita i controlli MX" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Verifica che ogni dominio abbia un record MX valido" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Abilita i controlli DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Verifica ciascun dominio sui principali provider DNSBL" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "DNS server custom" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "Usa un DNS server custom invece della configurazione a sever locale" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "Cartella di salvataggio delle chiavi DKIM" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " @@ -137,23 +137,23 @@ msgstr "" "salvate. Assicurarsi che questa cartella sia di proprietà dell'utente root e " "che non sia leggibile da altri." -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Lunghezza predefinita delle chiavi DKIM" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Lunghezza predefinita in numero di bit per nuove chiavi DKIM." -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Caselle di posta" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Gestione delle caselle di posta nel filsystem" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -161,19 +161,19 @@ msgstr "" "Rinomina o rimuovi le caselle di posta nel filesystem quando vengono " "rinominate o cancellate in Modoboa " -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Proprietario delle caselle postali" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "L'account UNIX a cui appartengono le caselle postali nel filsystem" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Quota predefinita per il domini" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -181,12 +181,12 @@ msgstr "" "Quota predefinita (in MB) applicata ai nuovi domini che non la specificano. " "Un valore 0 implica nessuna quota." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Dimensione massima predefinita per le mailbox" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -194,69 +194,70 @@ msgstr "" "Dimensione massima predefinita (in MB) applicata per nuovi domini creati " "senza alcun valore specificato. Un valore 0 indica nessun limite." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Rimozione automatica dell'account" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Quando una casella postale viene rimossa rimuovi anche l'account associato" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Creazione automatica del domini/casella di posta elettronica" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Crea un dominio ed una casella di posta elettronica quando si crea un " "account utente" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Crea un alias quando una mailbox viene rinominata" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Crea un alias con il vecchio indirizzo quando una mailbox viene rinominata." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Dev'essere un intero positivo" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Cartella non trovata." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "openssl non trovato, assicurarsi che sia installato." -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Definire almeno una rete / indirizzo autorizzato" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Amministrazione" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Dominio" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Dominio di relay" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Nome utente" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -264,23 +265,23 @@ msgstr "" "Il nome dell'utente. Dev'essere un indirizzo e-mail per gli utenti semplici " "o gli amministratori che posseggono una casella" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Ruolo" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Scegli" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Il livello di permessi che avrà questo utente" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Password casuale" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -288,54 +289,56 @@ msgstr "" "Genera una password casuale. Selezionando questa casella durante " "l'aggioenamento dell'account, verrà generata una nuova password." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Password" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Conferma" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "" "Inserisci la medesima password che hai inserito sopra, per la verifica." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Abilitato" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Solo i super amministratori possono operare in questa modalità" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Questo campo è obbligatorio." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Le password nei due campi non corrispondono" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Tu non puoi disabilitare il tuo account" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Crea un alias con il vecchio indirizzo." -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" "Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " "custom value or use domain's default one. Leave empty to define an unlimited " @@ -346,12 +349,12 @@ msgstr "" "predefinito per il dominio. Lasciare vuoto per specificare un valore non " "limitato (non permesso per amministratori di dominio)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -361,11 +364,11 @@ msgstr "" "ENTER per effettuare un nuovo inserimento. Per creare un alias \"intercetta-" "tutto\", inserire semplicemente il nome dominio (@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Indirizzi mittenti" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -375,64 +378,66 @@ msgstr "" "email usando questo indirizzo/i, anche se non esiste localmente. Indicare un " "indirizzo per inserimento. Premere ENTER per un nuovo inserimento." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Il dominio non esiste" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Il dominio locale non esiste" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Non hai accesso a questo dominio" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Dominio(i)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Dominio(i) amministrato(i) dall'utente" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Generale" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profilo" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Posta" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Permessi" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Account aggiornato" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nuovo account" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Account creato" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Indirizzo casuale" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Indirizzo email" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -440,11 +445,11 @@ msgstr "" "Indirizzi email alias. Per creare un alias catchall specifica il nome del " "dominio (@domain.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatari" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -452,19 +457,20 @@ msgstr "" "Indirizzi verso il quale questo alias punterà . Indicare un solo indirizzo " "per ogni ingresso , premere INVIO per aggiungere un nuovo input ." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Questo campo è obbligatorio" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Non è stato definito un destinatario" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -472,11 +478,11 @@ msgstr "" "Alias per questo dominio. Inserire un solo nome alla volta, premere INVIO " "per aggiungere un nuovo elemento" -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Selettore di chiave" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." @@ -484,7 +490,7 @@ msgstr "" "Spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB " "(predefinito) o GB. Il valore 0 indica nessun limite." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." @@ -493,52 +499,52 @@ msgstr "" "essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun " "limite." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias del dominio" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Un %s con questo nome esiste già" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Non è stato trovato alcun record MX autorizzato per questo dominio" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "Cartella di salvataggio per le chiavi DKIM non configurata." -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" "Non può essere maggiore dello spazio massimo definito a livello di dominio" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Non puoi definire uno spazio illimitato." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "dominio" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Crea un amministratore di dominio" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Crea automaticamente un amministratore per questo dominio" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nome" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -546,660 +552,672 @@ msgstr "" "Il nome dell'amministratore. Non includere il nome del dominio, verrà " "aggiunto automaticamente." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Genera una password casuale per l'amministratore." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Con una casella di posta" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Crea una casella di posta per l'amministratore." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Crea alias" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Crea automaticamente gli alias standard per questo dominio" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Formato non valido" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "L'utente '%s' esiste già" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Dominio modificato" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opzioni" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Nuovo dominio" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Dominio creato" -#: forms/export.py:11 -msgid "File name" -msgstr "Nome del file" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separatore" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Destinatario(i)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Indicare uno o più destinatari separati da ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Mantieni copie locali" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Inoltra i messaggi e memorizza le copie nella tua casella di posta locale" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Seleziona un file" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Continuare in caso di errore" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Non considerare errore gli oggetti duplicati" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Cripta le password" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Seleziona questa opzione se le password contenute nel file non sono criptate" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Importazione dell'account fallito (%s): il dominio non esiste" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "La La casella di posta {} esiste già" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importazione account fallito(%s): valore della quota errato" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identità" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Inoltra" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "É necessaria una casella" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Non hai i permessi di importare domini" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Non hai i permessi di importare gli alias dominio" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No DNS records found for %s" msgid "No DNS record found for %s" msgstr "Nessun record DNS trovato per %s" -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "No MX record for %s" msgid "No %(type)s record for %(name)s" msgstr "Nessun record MX per %s" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "Nessun DNS server funzionante trovato" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" "Timeout nella risoluzione DNS del nome, problema momentaneo nell'interrogare " "%s " -#: lib.py:231 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "Formato di indirizzo IP non valido per {domain}; {addr}" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "Il file CSV non è codificato UTF-8, cerco di determinare l'encoding" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "Lettura del file CSV utilizzando la codifica %(encoding)s" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" "Impossibile decodificare il file CSV utilizzando la codifica %(encoding)s" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] problema(/i) DNSBL per il dominio {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Il dominio {} non ha record MX" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Il record MX per il dominio {0} non è valido: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] problema(/i) MX per il dominio {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "indirizzo" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Indirizzi Alias." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "Attivato" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Seleziona per attivare questo alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descrizione" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Scade il" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Indirizzo non valido" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Destinatario locale {}@{} non trovato" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Riga non valida: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Il dominio '%s' non esiste" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "nome" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Il nome del dominio" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Seleziona per attivare questo dominio" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Abilita i controlli DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Seleziona per abilitare i controlli DNS per questo dominio" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Abilita la firma DKIM" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" "Se attivi questa feature, verrà generata una chiave DKIM per questo dominio." -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Lunghezza della chiave" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Riga non valida" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Non è stato trovato alcun record MX autorizzato per il dominio {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Valore di spazio massimo non valido per il dominio '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Valore di spazio massimo predefinito non valido per il dominio '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Lo spazio massimo predefinito per una casella di posta non può superare " "quello definito a livello di dominio" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Il nome dell'alias" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "destinazione" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Il dominio a cui punta questo alias" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Dominio sconosciuto %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Indirizzo della casella di posta (senza la parte @dominio.org)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Impossibile recuperare la posizione della casella di posta (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "È richiesta una quota" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Superato lo spazio massimo per il dominio" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Spazio massimo predefinito in MB applicato alle caselle di posta. Un valore " "0 indica nessun limite." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Permesso negato." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista dei domini amministrati (solo per rivenditori e amministratori di " "dominio)." -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Non consentito per questo ruolo." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Deve essere uguale a full_address della casella di posta" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Il dominio locale {} non esiste" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Una lista di destinatari" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Dominio non trovato." -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "Non hai accesso a questo dominio" -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "Non hai accesso a questa casella di posta." -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Chiudi" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "Chiave pubblica DKIM per %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Formato raw" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Formato bind/named" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Disabilitato" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "In attesa dei controlli" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No DNS records found for %s" msgid "No record found" msgstr "Nessun record DNS trovato per %s" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Statistiche globali" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Quantità" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Alias del dominio" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statistiche per dominio" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(disabilitato)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Sommario" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Nome completo" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Creato" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Ultimo accesso" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Email secondaria" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Non definito" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Numero di telefono" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Domini amministrati" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Nessun dominio defnito." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Alias" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Nessun alias definito" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Indirizzi mittente aggiuntivi" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Nessun indirizzo mittente definito" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "il Dominio è disabilitato" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Modificato" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Provider" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Indirizzo" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Stato" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "in lista" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Tutto bene, il dominio non è nelle liste" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Nessuna informazione disponibile per questo dominio." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Data di creazione" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Data dell'ultima modifica" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Alias delle caselle di posta" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Utilizzo" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "utilizzato" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "allocato" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "Chiave DKIM" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Visualizza chiave" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "Genera una nuova chiave" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Non generata" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Amministratori" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Rimuovi questo permesso" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Non è stato ancora definito nessun amministratore di dominio." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tag" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Stato del DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Azioni" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Non ti è possibile creare un amministratore di dominio" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Aggiungi" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limite" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Utilizzato" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Allocato" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Utilizzo (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "Disabilitato" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Inoltra automaticamente le e-mail ad un altro indirizzo" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Aggiorna" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Account" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Valore" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Nome completo/Destinatario" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                            " "
                          • domain; name; quota; default mailbox quota; enabled
                          • " @@ -1218,7 +1236,7 @@ msgstr "" "obbligatorio e deve essere uguale ad uno dei precedenti valori.

                            Si uò " "utilizzare un diverso separatore.

                            " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                              " "
                            • account; loginname; password; first name; last name; enabled; group; " @@ -1234,41 +1252,41 @@ msgstr "" "primo elemento di ciascuna linea è obbligatorio e deve essere uguale ad uno " "dei precedenti valori.

                              Si può utilizzare un diverso separatore.

                              " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Aiuto" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importazione..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Amministratore" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Scegli un valore" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Usa il valore predefinito" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Aggiornato" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" "Questo indirizzo IP non coincide con nessuno degli MX validi definiti nei " "parametri." -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Non è stato trovato alcun record MX per questo dominio" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1277,7 +1295,7 @@ msgstr "" "Modoboa ha rilevato che il dominio %(domain)sè presente nelle liste dei " "seguenti provider DNSBL:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1288,155 +1306,159 @@ msgstr "" "contattare questi provider e chiedere loro di togliere dalla lista gli " "indirizzi IP identificati." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "Modoboa ha rilevato che il dominio %(domain)snon ha un record MX valido:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Ricerca" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "Abilitato" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "Abilitata" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Lista domini" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Elenco quote" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importa" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Esporta" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Elenco identità" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Visualizza le identita del dominio" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Modifica {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Eliminare %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "Nessun record MX per %s" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Formato non valido per l'indirizzo IP %(domain)s;%(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Un alias con questo nome esiste già" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Crea" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nuovo alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias creato" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias modificato" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias eliminato" msgstr[1] "Alias eliminati" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Record MX di {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Sommario DNSBL per {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Non puoi cancellare il tuo dominio" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Dominio cancellato" msgstr[1] "Domini cancellati" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Identità di esportazione" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Esporta domini" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Richiesta non valida" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Account cancellato" msgstr[1] "Account cancellati" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "L'oggetto esiste già: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d oggetti importati correttamente" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importa domini" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Identità di importazione" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Inoltro aggiornato" +#~ msgid "File name" +#~ msgstr "Nome del file" + #~ msgid "No {type} record found for MX {mx}" #~ msgstr "Nessun record {type} trovato per l'MX {mx}" diff --git a/modoboa/admin/locale/it/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/it/LC_MESSAGES/djangojs.po index 1b813a425..38b493a61 100644 --- a/modoboa/admin/locale/it/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/it/LC_MESSAGES/djangojs.po @@ -1,53 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Rocco , 2015 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: Rocco \n" -"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" +"it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Non ci sono altri domini da mostrare" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Non eliminare la cartella dei domini" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Questa operazione eliminerà TUTTI i dati associati a questo dominio." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Questa operazione eliminerà tutti i dati associati a questo dominio tranne gli account" +msgstr "" +"Questa operazione eliminerà tutti i dati associati a questo dominio tranne " +"gli account" -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Non ci sono altre quote da mostrare" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Non è stato definito un amministratore di dominio" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Non ci sono altre identità da mostrare" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Non eliminare la cartella della casella posta" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Non ci sono altre quote da mostrare" diff --git a/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po index 41f553ed9..897c28357 100644 --- a/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-09-14 17:06+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,128 +19,128 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "ドメイン" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNSBL checks" msgid "Enable SPF checks" msgstr "DNSBL チェックを有効にする" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check every domain against major DNSBL providers" msgid "Check if every domain has a valid SPF record" msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable DNSBL checks" msgid "Enable DKIM checks" msgstr "DNSBL チェックを有効にする" -#: app_settings.py:66 +#: admin/app_settings.py:62 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable DNSBL checks" msgid "Enable DMARC checks" msgstr "DNSBL チェックを有効にする" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check every domain against major DNSBL providers" msgid "Check if every domain has a valid DMARC record" msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable DNSBL checks" msgid "Enable autoconfig checks" msgstr "DNSBL チェックを有効にする" -#: app_settings.py:83 +#: admin/app_settings.py:79 msgid "Check if every domain has a valid records for autoconfiguration" msgstr "" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "DNSBL チェックを有効にする" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "すべてのドメインを 主な DNSBL プロバイダーでチェックする" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "メールボックス" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "ファイルシステムのメールボックスを操作する" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -148,19 +148,19 @@ msgstr "" "Modoboa で、メールボックスの名前の変更もしくは、削除したとき、ファイルシステ" "ム上のメールボックスも、名前の変更もしくは削除する。" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "メールボックス所有者" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "ファイルシステム上のメールボックスを所有するUNIXアカウント" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "デフォルトドメインクォータ" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -169,14 +169,14 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "デフォルトドメインクォータ" -#: app_settings.py:155 +#: admin/app_settings.py:151 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -189,70 +189,71 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "アカウントの自動削除" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "メールボックスが削除されたとき、関連するアカウントも削除します" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "ドメインとメールボックスを自動作成" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "アカウントが自動的に作成されたとき、ドメインとメールボックを作成します。" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "正の整数でなければいけません" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "ドメインが見つかりません" -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "管理" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "ドメイン" -#: constants.py:97 +#: admin/constants.py:29 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "新しいドメイン" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "ユーザー名" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -261,79 +262,81 @@ msgstr "" "メールボックスを持つユーザーもしくは管理者の有効な電子メールアドレスでなけれ" "ばなりません。" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "ロール" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "選ぶ" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "このユーザーは、アクセス許可のレベルを持つことになります" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 #, fuzzy #| msgid "Invalid address" msgid "Random password" msgstr "不正なアドレス" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "パスワード" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "確認" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "確認のため、上記と同じパスワードを入力します。" -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "有効化" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "スーパー管理者だけが、このモードのために許可されています。" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "メールボックスは必須です" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "2つのパスワード項目が一致しません" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "あなた自身のアカウントは無効化できません" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "電子メール" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "クォータ" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -349,12 +352,12 @@ msgstr "" "無制限の値を定義する場合は空白のままにします\n" "(ドメイン管理者には許可されていません)" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "エイリアス" -#: forms/account.py:249 +#: admin/forms/account.py:245 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -371,77 +374,79 @@ msgstr "" " 「キャッチオール」エイリアスを作成するには、 ' * '文字を使用してください " "(例: *@domain.tld)" -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." msgstr "" -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "ドメインは存在しません" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "ローカルドメインは存在しません" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "このドメインにアクセスする権限がありません" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "ドメイン" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "ユーザーに管理されたドメイン" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "全般" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "メール" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "アクセス許可" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "アカウントを更新しました" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "新しいアカウト" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "アカウントを作成しました" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 #, fuzzy #| msgid "Invalid address" msgid "Random address" msgstr "不正なアドレス" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "メールアドレス" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -450,11 +455,11 @@ msgstr "" "キャッチオールエイリアスを作成するためには、ドメイン名だけを入力します " "(@domain.tld)" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "受信者" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -463,19 +468,20 @@ msgstr "" "input ごとに1つだけのアドレスを記入し、 ENTER キーを押して、新しい input を追" "加します" -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "受信者が定義されていません" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "タイプ" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -484,11 +490,11 @@ msgstr "" "input ごとに1つの名前を入力して、 ENTER キーを押して、新しい input を追加しま" "す" -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -501,7 +507,7 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -514,53 +520,53 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "ドメインエイリアス" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr " %s という名前は、すでに存在しています" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 #, fuzzy #| msgid "No information available for this domain." msgid "No authorized MX record found for this domain" msgstr "このドメインに関する情報がありません。" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "ドメイン" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "ドメイン管理者を作成する" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "自動的にドメインの管理者を作成する" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "名前" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -568,341 +574,340 @@ msgstr "" "管理者の名前\n" "ここでは、ドメイン名を含めないでください、それが自動的に付加されます。" -#: forms/domain.py:252 +#: admin/forms/domain.py:248 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "ドメイン管理者を作成する" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "ドメイン管理者を作成する" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "エイリアスを作成" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "自動的にドメインの標準的なエイリアスを作成する" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "不正なフォーマット" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "ユーザー %s はすでに存在します" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "ドメインが修正されました" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "オプション" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "新しいドメイン" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "ドメインが作成されました" -#: forms/export.py:11 -msgid "File name" -msgstr "ファイル名" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "セパレーター" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "受信者" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "\",\"で区切られた1つまたは複数の受信者を示します" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "ローカルコピーを保持する" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "メッセージを転送して、ローカルのメールボックスへコピーを格納します。" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "ファイルを選択" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "エラーのときに続行する" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "重複したオブジェクトをエラーとして処理しない" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "パスワード暗号化" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "ファイルに含まれるパスワードが暗号化されていない場合は、このオプションを" "チェックしてください" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "アカウントのインポートに失敗しました (%s): ドメインが存在しません" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "メールボックス {} はすでに存在します" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "アカウントのインポートに失敗しました (%s): 不正なクォータの値" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "ID" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "転送先" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "メールボックスは必須です" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "ドメインのインポートは許可されていません" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "ドメインエイリアスのインポートは許可されていません" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No information available for this domain." msgid "No DNS record found for %s" msgstr "このドメインに関する情報がありません。" -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "No information available for this domain." msgid "No %(type)s record for %(name)s" msgstr "このドメインに関する情報がありません。" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '%s'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "不正なドメイン %s のクォータ値" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] ドメイン {} の DNSBL結果" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "アドレス" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "エイリアスアドレス" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "有効" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "このエイリアスをアクティブにするために確認してください" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "エイリアス" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "不正なアドレス" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "ローカル受信者 {}@{} は見つかりません" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "不正な行: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "ドメイン %s は、存在しません" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "名前" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "ドメイン名" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "このドメインをアクティブするために確認してください" -#: models/domain.py:47 +#: admin/models/domain.py:43 #, fuzzy #| msgid "Enable DNSBL checks" msgid "Enable DNS checks" msgstr "DNSBL チェックを有効にする" -#: models/domain.py:48 +#: admin/models/domain.py:44 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "このドメインをアクティブするために確認してください" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "不正な行" -#: models/domain.py:330 +#: admin/models/domain.py:322 #, fuzzy #| msgid "No information available for this domain." msgid "No authorized MX record found for domain {}" msgstr "このドメインに関する情報がありません。" -#: models/domain.py:337 +#: admin/models/domain.py:329 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "不正なドメイン %s のクォータ値" -#: models/domain.py:344 +#: admin/models/domain.py:336 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "不正なドメイン %s のクォータ値" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "エイリアス名" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "ターゲット" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "ドメインこのエイリアスポイントへ" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "不明なドメイン %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "メールボックスアドレス (@domain.tld 部分なし)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "メールボックスの場所の取得に失敗しました (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "クォータは必須です" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "ドメインが作成されました" -#: serializers.py:41 +#: admin/serializers.py:37 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -913,349 +918,362 @@ msgstr "" "用されます。\n" "値が0の場合は、クォータ制限はありません。" -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "アクセス拒否" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "管理しているドメインのリスト (リセーラーとドメイン管理者のみ)" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "このロールには許可されていません" -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "メールボックス full_address に等しくなければなりません" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "ローカルドメイン {} は、存在しません" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "ドメインが見つかりません" -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "このドメインにアクセスする権限がありません" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "このドメインにアクセスする権限がありません" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "不正なフォーマット" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "不正なフォーマット" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 #, fuzzy #| msgid "disabled" msgctxt "checks" msgid "Disabled" msgstr "無効化" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No information available for this domain." msgid "No record found" msgstr "このドメインに関する情報がありません。" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 #, fuzzy #| msgid "Statistics" msgid "Global statistics" msgstr "統計情報" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "数量" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "ドメインエイリアス" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 #, fuzzy #| msgid "Per-domain counters" msgid "Per-domain statistics" msgstr "ドメインごとのカウンター" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "ドメインが無効です" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "プロバイダー" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "アドレス" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "ステータス" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "一覧" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "すべて良好です。このドメインは載っていません。" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "このドメインに関する情報がありません。" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "作成日時" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "最終修正日時" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "メールボックスエイリアス" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 #, fuzzy #| msgid "Usage (%%)" msgid "Usage" msgstr "使用量 (%%)" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "管理者" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "このパーミッションを削除" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "ドメイン管理者が指定されていません" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "タグ" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 #, fuzzy #| msgid "Status" msgid "DNS status" msgstr "ステータス" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "アション" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "新しいドメイン管理者を作成できません" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "制限" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 #, fuzzy #| msgid "Alias created" msgid "Allocated" msgstr "エイリアスが作成されました" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "使用量 (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "無効化" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "電子メールをほかのアドレスへ自動的に転送します" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "更新" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "値" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "フルネーム / 受信者" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 #, fuzzy #| msgid "" #| "Provide a CSV file where lines respect one of the following formats:\n" @@ -1285,7 +1303,7 @@ msgstr "" "

                              各行の最初の要素は必須で、上の値に等しくなければなりません。

                              \n" "

                              セパレータとして別の文字を使用することができます。

                              \n" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 #, fuzzy #| msgid "" #| "Provide a CSV file where lines respect one of the following formats:\n" @@ -1314,43 +1332,43 @@ msgstr "" "

                              各行の最初の要素は必須で、上の値に等しくなければなりません。

                              \n" "

                              セパレータとして別の文字を使用することができます。

                              \n" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "ヘルプ" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "インポート中 ..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "値を選択してください" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "ドメインのデフォルト値を使う" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 #, fuzzy #| msgid "Update" msgid "Updated" msgstr "更新" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 #, fuzzy #| msgid "No information available for this domain." msgid "No MX record found for this domain." msgstr "このドメインに関する情報がありません。" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1359,7 +1377,7 @@ msgstr "" "Modoboa は、ドメイン %(domain)s が、以下の DNSBL プロバイダーに載っていること" "を検出しました:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1369,152 +1387,156 @@ msgstr "" "はスパムと見なされる可能性があります。あなたは、これらのプロバイダーに連絡し" "て、検出されたIPアドレスを登録解除してもらう必要があります。" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "検索" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "ドメイン一覧を表示" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "クォータ一覧を表示" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "インポート" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "エクスポート" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "ID 一覧を表示" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "ドメインの ID を表示" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "{} を編集" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "%s を削除しますか?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, fuzzy, python-format #| msgid "No information available for this domain." msgid "No MX record for %s" msgstr "このドメインに関する情報がありません。" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "このエイリアス名がすでに存在しています" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "作成" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "新しいエイリアス" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "エイリアスが作成されました" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "エイリアスは修正されました" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "{} のDNSBL 要約" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "あなた自身のドメインは削除できません" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "ドメインを削除しました" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "ID をエクスポート" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "ドメインをエクスポート" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "不正なリクエスト" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "アカウントを削除しました" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "オブジェクトはすでに存在します: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d オブジェクトのインポートに成功しました" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "ドメインをインポート" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "ID をインポート" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "転送先が更新されました" +#~ msgid "File name" +#~ msgstr "ファイル名" + #, fuzzy #~| msgid "No information available for this domain." #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/ja_JP/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/ja_JP/LC_MESSAGES/djangojs.po index c17c9dabc..14aee69cf 100644 --- a/modoboa/admin/locale/ja_JP/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/ja_JP/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-06-07 07:01+0000\n" "Last-Translator: cwatanab \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,19 +19,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "表示するドメインはありません。" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "ドメインディレクトリを削除しないでください" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "この操作は、このドメインに関連するすべてのデータを削除します。" -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." @@ -39,18 +39,18 @@ msgstr "" "この操作は、アカウントを除いたこのドメインに関連するすべてのデータを削除しま" "す。" -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "表示するクォータはありません" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "ドメイン管理者が指定されていません" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "表示する ID はありません" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "メールボックスディレクトリを削除しないでください" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "表示するクォータはありません" diff --git a/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po index a64433372..8d7b41788 100644 --- a/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/nl_NL/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrew , 2014 # Chris de Gelder , 2017 @@ -18,1084 +18,1201 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-17 13:41+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-05-30 07:01+0000\n" "Last-Translator: MC Moerkerk \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/" +"language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domeinen" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "MX Controles inschakelen" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Controleer dat ieder domein een geldig MX-record heeft" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "Geldige MX'en" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." -msgstr "Een lijst van IP-adressen waaraan alle MX-records moeten voldoen. Er zal een waarschuwing getoont worden voor records die niet overeenkomen." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." +msgstr "" +"Een lijst van IP-adressen waaraan alle MX-records moeten voldoen. Er zal een " +"waarschuwing getoont worden voor records die niet overeenkomen." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Nieuwe domeinen moeten geauthoriseerde MX-record(s) gebruiken." -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "Een domein niet aanmaken als het MX-record het adres niet gebruikt." -#: app_settings.py:55 +#: admin/app_settings.py:51 +#, fuzzy +#| msgid "Enable DNS checks" +msgid "Enable SPF checks" +msgstr "Schakel DNS checks in." + +#: admin/app_settings.py:54 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid SPF record" +msgstr "Controleer dat ieder domein een geldig MX-record heeft" + +#: admin/app_settings.py:59 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable DKIM checks" +msgstr "MX Controles inschakelen" + +#: admin/app_settings.py:62 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain with DKIM signin enabled has a valid DNS record" +msgstr "Controleer dat ieder domein een geldig MX-record heeft" + +#: admin/app_settings.py:68 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable DMARC checks" +msgstr "MX Controles inschakelen" + +#: admin/app_settings.py:71 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid DMARC record" +msgstr "Controleer dat ieder domein een geldig MX-record heeft" + +#: admin/app_settings.py:76 +#, fuzzy +#| msgid "Enable MX checks" +msgid "Enable autoconfig checks" +msgstr "MX Controles inschakelen" + +#: admin/app_settings.py:79 +#, fuzzy +#| msgid "Check that every domain has a valid MX record" +msgid "Check if every domain has a valid records for autoconfiguration" +msgstr "Controleer dat ieder domein een geldig MX-record heeft" + +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "DNSBL Controles inschakelen" -#: app_settings.py:58 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Controleer ieder domein tegen de bekende DNSBL providers" -#: app_settings.py:63 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "Eigen DNS server" -#: app_settings.py:66 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "Gebruik een eigen DNS server in plaats van lokale server configuratie" -#: app_settings.py:71 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "DKIM Key opslagdirectory" -#: app_settings.py:74 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." -msgstr "Absolute pad van de directory waar DKIM private keys worden opgeslagen. Verzeker u ervan dat deze directory van de user root is en niet leesbaar voor andere gebruikers." +msgstr "" +"Absolute pad van de directory waar DKIM private keys worden opgeslagen. " +"Verzeker u ervan dat deze directory van de user root is en niet leesbaar " +"voor andere gebruikers." -#: app_settings.py:82 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Standaard DKIM key lengte" -#: app_settings.py:86 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Standaard lengte in bits voor nieuw gegenereerde DKIM keys." -#: app_settings.py:90 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Mailboxen" -#: app_settings.py:93 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Pas mailboxen op het bestandssysteem aan" -#: app_settings.py:96 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" -msgstr "Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of verwijderd worden in Modoboa." +msgstr "" +"Hernoem of verwijder mailboxen op het bestandssysteem wanner ze hernoemd of " +"verwijderd worden in Modoboa." -#: app_settings.py:102 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Eigenaar van de mailboxen" -#: app_settings.py:105 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" -msgstr "De UNIX account die de rechten heeft tot de mailboxen op het bestandssysteem" +msgstr "" +"De UNIX account die de rechten heeft tot de mailboxen op het bestandssysteem" -#: app_settings.py:110 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Standaard domein quota" -#: app_settings.py:113 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." -msgstr "Standaard quota (in MB) om op nieuw aangemaakte domeinen zonder waarde toe te passen. Een waarde van 0 betekent geen quota." +msgstr "" +"Standaard quota (in MB) om op nieuw aangemaakte domeinen zonder waarde toe " +"te passen. Een waarde van 0 betekent geen quota." -#: app_settings.py:119 forms/domain.py:53 models/domain.py:41 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Standaard mailbox quota" -#: app_settings.py:122 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." -msgstr "Standaard mailbox-quota (in MB) toegepast op nieuw aangemaakte domeinen zonder waarde gespecificeerd. Een waarde van 0 betekent geen quota." +msgstr "" +"Standaard mailbox-quota (in MB) toegepast op nieuw aangemaakte domeinen " +"zonder waarde gespecificeerd. Een waarde van 0 betekent geen quota." -#: app_settings.py:128 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Automatish een account verwijderen" -#: app_settings.py:131 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" -msgstr "Als een mailbox wordt verwijderd, verwijder dan ook het bijbehorende account" +msgstr "" +"Als een mailbox wordt verwijderd, verwijder dan ook het bijbehorende account" -#: app_settings.py:135 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Domein en mailbox automatisch aanmaken" -#: app_settings.py:138 -msgid "" -"Create a domain and a mailbox when an account is automatically created." -msgstr "Maak een domein en mailbox aan wanneer een account automatisch is aangemaakt." +#: admin/app_settings.py:167 +msgid "Create a domain and a mailbox when an account is automatically created." +msgstr "" +"Maak een domein en mailbox aan wanneer een account automatisch is aangemaakt." -#: app_settings.py:144 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Maak een alias aan als een mailbox hernoemd wordt." -#: app_settings.py:147 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "Maak een alias aan voor het oude adres als een mailbox hernoemd wordt." -#: app_settings.py:196 app_settings.py:204 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Dit moet een positive integer zijn." -#: app_settings.py:214 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Directory niet gevonden." -#: app_settings.py:220 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." -msgstr "Openssl kan niet gevonden worden. Verzeker u ervan dat dit geinstalleerd is." +msgstr "" +"Openssl kan niet gevonden worden. Verzeker u ervan dat dit geinstalleerd is." -#: app_settings.py:234 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Definieer ten minste 1 geautoriseerd netwerk / adres" -#: app_settings.py:244 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administratie" -#: constants.py:98 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domein" -#: constants.py:99 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Doorstuur domein" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Gebruikersnaam" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." -msgstr "De naam van de gebruiker. Moet een geldig e-mail adres zijn voor gebruikers of administrators met een mailbox." +msgstr "" +"De naam van de gebruiker. Moet een geldig e-mail adres zijn voor gebruikers " +"of administrators met een mailbox." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Regel" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Kiezen" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Welk niveau van rechten deze gebruiker zal hebben" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Willekeurig wachtwoord" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." -msgstr "Genereer een willekeurig wachtwoord. Als u dit account bijwerkt en deze optie aanvinkt wordt een nieuw wachtwoord gegenereerd." +msgstr "" +"Genereer een willekeurig wachtwoord. Als u dit account bijwerkt en deze " +"optie aanvinkt wordt een nieuw wachtwoord gegenereerd." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Wachtwoord" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Bevestiging" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Herhaal wachtwoord (voor verificatie)" -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Actief" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Alleen hoofdbeheerders hebben toegang tot deze modus" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:279 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Dit veld is benodigd." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "De wachtwoorden komen niet overeen." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "U kunt uw eigen account niet uitschakelen" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Maak een alias aan voor het oude adres" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 -#: templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" -"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a" -" custom value or use domain's default one. Leave empty to define an " -"unlimited value (not allowed for domain administrators)." -msgstr "Quota voor deze mailbox kan uitgedrukt worden ik KB, MB (standaard) of GB. Geef een aangepaste waarde of gebruik de standaard voor dit domein. Laat dit leeg voor een ongelimiteerde waarde (niet toegestaan voor domein administrators)." +"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " +"custom value or use domain's default one. Leave empty to define an unlimited " +"value (not allowed for domain administrators)." +msgstr "" +"Quota voor deze mailbox kan uitgedrukt worden ik KB, MB (standaard) of GB. " +"Geef een aangepaste waarde of gebruik de standaard voor dit domein. Laat dit " +"leeg voor een ongelimiteerde waarde (niet toegestaan voor domein " +"administrators)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(sen)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Alias(en) van deze mailbox. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen. Om een 'catch-all'-adres te maken voert u alleen het domein in (bijvoorbeeld: @domein.tld)." +msgstr "" +"Alias(en) van deze mailbox. Geef slechts een adres per regel op, en toets " +"ENTER om een nieuwe regel te krijgen. Om een 'catch-all'-adres te maken " +"voert u alleen het domein in (bijvoorbeeld: @domein.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Afzenderadressen" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." -msgstr "Extra afzenderadres(sen) voor dit account. De gebruiker wordt toegestaan om dit adres als verzender te gebruiken voor uitgaande berichten, ook al bestaat dit adres niet lokaal. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen." +msgstr "" +"Extra afzenderadres(sen) voor dit account. De gebruiker wordt toegestaan om " +"dit adres als verzender te gebruiken voor uitgaande berichten, ook al " +"bestaat dit adres niet lokaal. Geef slechts een adres per regel op, en toets " +"ENTER om een nieuwe regel te krijgen." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domein bestaat niet" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Domein bestaat niet lokaal" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "U heeft geen toegang tot dit domein" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domein(en)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domein(en) die gebruiker mag beheren" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Algemeen" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profiel" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Mail" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Rechten" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Account aangepast" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nieuwe account" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Account aangemaakt" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Willekeurig adres" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "E-mail adres" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." -msgstr "Het alias-adres. Om een 'catch-all'-adres te maken voert u alleen het domein in (bijvoorbeeld: @domein.tld)." +msgstr "" +"Het alias-adres. Om een 'catch-all'-adres te maken voert u alleen het domein " +"in (bijvoorbeeld: @domein.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Ontvangers" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." -msgstr "Adressen waarnaar deze alias zal verwijzen. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen." +msgstr "" +"Adressen waarnaar deze alias zal verwijzen. Geef slechts een adres per regel " +"op, en toets ENTER om een nieuwe regel te krijgen." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Dit veld is benodigd" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Geen ontvanger opgegeven" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Type" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." -msgstr "Alias(sen) van dit domein. Geef slechts een adres per regel op, en toets ENTER om een nieuwe regel te krijgen." +msgstr "" +"Alias(sen) van dit domein. Geef slechts een adres per regel op, en toets " +"ENTER om een nieuwe regel te krijgen." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Key selector" -#: forms/domain.py:48 models/domain.py:36 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." -msgstr "Quota gedeeld tussen mailboxen. Kan uitgedrukt worden in KB, MB (standaard) of GB. Een waarde van 0 betekent geen quota." +msgstr "" +"Quota gedeeld tussen mailboxen. Kan uitgedrukt worden in KB, MB (standaard) " +"of GB. Een waarde van 0 betekent geen quota." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." -msgstr "Standaard quota toegepast op alle mailboxen. Kan uitgedrukt worden in KB, MB (standaard) of GB. Een waarde van 0 betekent geen quota." +msgstr "" +"Standaard quota toegepast op alle mailboxen. Kan uitgedrukt worden in KB, MB " +"(standaard) of GB. Een waarde van 0 betekent geen quota." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "domein alias" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Een %s met deze naam bestaat al" -#: forms/domain.py:109 serializers.py:56 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Geen geauthoriseerd MX record gevonden voor dit domein" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "DKIM Key opslagdirectory niet geconfigureerd" -#: forms/domain.py:151 serializers.py:74 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Kan niet groter zijn dan domein quota" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "U kunt geen onbeperkt quotum definiëren." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domein" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Maak een domeinbeheerder aan" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Automatisch een beheerder aanmaken voor dit domein" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Naam" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "De naam van de beheerder. De domeinnaam word automatisch toegevoegd." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Genereer een willekeurig wachtwoord voor de beheerder." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Met een mailbox" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Maak een postbus voor de beheerder." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Aliassen aanmaken" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Automatisch een standaard alias voor dit domein aanmaken" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Verkeerd formaat" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Gebruiker '%s' bestaat al" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domein gewijzigd" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opties" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Nieuw domein" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domein aangemaakt" -#: forms/export.py:11 -msgid "File name" -msgstr "Bestandsnaam" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Scheidingsteken" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Ontvanger(s)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Geef een of meer ontvangers op, gescheiden door een komma" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Lokale kopie behouden" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Stuur berichten door en sla een kopie op in uw mailbox" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Bestand selecteren" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Doorgaan als er een fout optreed" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Zie duplicaten niet als fout" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Versleutel wachtwoorden" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" -msgstr "Vink deze optie aan als wachtwoorden in uw bestand niet versleuteld zijn" +msgstr "" +"Vink deze optie aan als wachtwoorden in uw bestand niet versleuteld zijn" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Accounts importeren mislukt (%s): domein bestaat niet" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Mailbox {} bestaat al" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Account import is mislukt (%s): verkeerd quotum waarde" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identiteiten" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Doorsturen" -#: lib.py:41 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Een mailbox is benodigd" -#: lib.py:131 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "U mag geen domeinen importeren" -#: lib.py:142 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "U heeft geen rechten om domeinaliassen te importeren." -#: lib.py:187 tests/test_mx.py:135 -#, python-format -msgid "No DNS records found for %s" +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 +#, fuzzy, python-format +#| msgid "No DNS records found for %s" +msgid "No DNS record found for %s" msgstr "Geen DNS records gevonden voor %s" -#: lib.py:189 tests/test_mx.py:138 -#, python-format -msgid "No MX record for %s" +#: admin/lib.py:192 +#, fuzzy, python-format +#| msgid "No MX record for %s" +msgid "No %(type)s record for %(name)s" msgstr "Geen MX record voor %s" -#: lib.py:191 tests/test_mx.py:139 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "Geen werkende nameservers gevonden" -#: lib.py:194 tests/test_mx.py:141 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "DNS timeout, het was niet mogelijk om %s op te zoeken" -#: lib.py:205 -#, python-brace-format -msgid "No {type} record found for MX {mx}" -msgstr "Geen {type} record gevonden voor MX {mx}" - -#: lib.py:214 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "Ongeldig IP-adres formaat voor {domain}; {addr}" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" -msgstr "CSV bestand is niet gecodeerd in UTF-8, aan het proberen om de codering te raden" +msgstr "" +"CSV bestand is niet gecodeerd in UTF-8, aan het proberen om de codering te " +"raden" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "CSV bestand aan het lezen met %(encoding)scodering" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "Kan CSV bestand niet decoderen met %(encoding)scodering" -#: management/commands/subcommands/_mx.py:135 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problemen voor domein {}" -#: management/commands/subcommands/_mx.py:155 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Domein {} heeft geen MX-record" -#: management/commands/subcommands/_mx.py:166 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "MX-record voor domein {0} is onjuist: {1}" -#: management/commands/subcommands/_mx.py:183 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problemen voor domein {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "adres" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Het alias adres" -#: models/alias.py:43 models/domain.py:49 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "actief" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Selecteer om deze alias te activeren" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Omschrijving" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Verloop op" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Ongeldig adres" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Lokale ontvanger {}@{} niet gevonden" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Ongeldige regel: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Domein '%s' bestaat niet" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "naam" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "De domeinnaam" -#: models/domain.py:44 -msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "Standaard quotum in MB per mailbox. 0 Betekent geen quotum." - -#: models/domain.py:50 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Selecteer om dit domein te activeren" -#: models/domain.py:55 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Schakel DNS checks in." -#: models/domain.py:56 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Schakel in om DNS controles voor dit domein uit te voeren. " -#: models/domain.py:63 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Zet DKIM ondertekening aan" -#: models/domain.py:65 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." -msgstr "Als u deze functie aanzet, zal er een DKIM key gegenereerd worden voor dit domein." +msgstr "" +"Als u deze functie aanzet, zal er een DKIM key gegenereerd worden voor dit " +"domein." -#: models/domain.py:71 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Key lengte" -#: models/domain.py:303 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Verkeerde regel" -#: models/domain.py:313 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Geen geauthoriseerd MX record gevonden voor domein {}" -#: models/domain.py:320 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Ongeldige quota waarde voor domein '{}'" -#: models/domain.py:327 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Ongeldige standaard mailbox quota waarde voor domein '{}'" -#: models/domain.py:332 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "Standaard mailboxquotum kan niet groter zijn dan het domeinquotum" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "De aliasnaam" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "doel" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "De domeinalias verwijst naar" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Onbekend domein %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Mailbox adres (zonder het @domein.naam deel)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Mislukt om de mailbox locatie te verkijgen (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Een quota is vereist" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Domein quota overschreden" -#: serializers.py:99 serializers.py:304 serializers.py:402 +#: admin/serializers.py:37 +msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." +msgstr "Standaard quotum in MB per mailbox. 0 Betekent geen quotum." + +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Toegang geweigerd." -#: serializers.py:150 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "Lijst van beheerde domeinen (alleen resellers en domeinbeheerders)." -#: serializers.py:254 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Niet toegestaan voor deze rol." -#: serializers.py:266 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Moet gelijk zijn aan de mailbox full_address" -#: serializers.py:291 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Lokaal domein {} bestaat niet" -#: serializers.py:389 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Lijst ontvangers." -#: serializers.py:400 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Domein niet gevonden." -#: serializers.py:449 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "U hebt geen toegang tot dit domein." -#: serializers.py:457 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "U hebt geen toegang tot deze mailbox." -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Sluiten" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "DKIM publieke key voor %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Ruwe formaat" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Bind/named formaat" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Uitgeschakeld" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "In afwachting van controles" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 +#, fuzzy +#| msgid "No DNS records found for %s" +msgid "No record found" +msgstr "Geen DNS records gevonden voor %s" + +#: admin/templates/admin/_domain_dnschecks_status.html:24 +msgid "Waiting for key to be generated" +msgstr "" + +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Globale statistieken" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Hoeveelheid" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Domeinaliassen" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statistieken per domein" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(uitgeschakeld)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Overzicht" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Naam" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Aangemaakt" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Laatste login" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Tweede e-mailadres" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Niet opgegeven" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Telefoonnummer" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Beheerde domeinen" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Geen domein opgegeven." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Aliassen" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Geen alias opgegeven" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Extra afzenderadressen" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Geen afzenderadres opgegeven" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Domein is gedeactiveerd" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Aangepast" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Provider" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adres" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Status" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "Staat op de lijst" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Alles is prima, dit domein staat niet op de lijst." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Geen informatie beschikbaar over dit domein." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Datum van aanmaken" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Laatst gewijzigd" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Mailbox aliassen" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Gebruik" -#: templates/admin/domain_detail.html:57 -#: templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "gebruikt" -#: templates/admin/domain_detail.html:58 -#: templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "toegewezen" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "DKIM key" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Toon key" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "Nieuwe sleutel genereren" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Niet gegenereerd" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Beheerders" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Deze bevoegdheid verwijderen" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Nog geen domeinbeheerder opgegeven" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Labels" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "DNS status" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Acties" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "U kunt geen nieuwe domeinbeheerder aanmaken" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Toevoegen" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limiet" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Gebruikt" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Toegewezen" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Gebruik (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "uitgeschakeld" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Mail automatisch doorsturen naar een ander adres" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Toepassen" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Account" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Waarde" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Volledige naam/Ontvanger" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                " "
                              • domain; name; quota; default mailbox quota; enabled
                              • " @@ -1104,213 +1221,249 @@ msgid "" "verify recipients

                              The first element of each line is " "mandatory and must be equal to one of the previous values.

                              You can " "use a different character as separator.

                              " -msgstr "Lever een CSV bestand en zorg dat de regels voldoen aan een van de volgende formaten:
                              • domain; name; quota; default mailbox quota; enabled
                              • domainalias; name; targeted domain; enabled
                              • relaydomain; name; target host; target port; service; enabled; verify recipients

                              Het eerste element van elke regel is verplicht en moet gelijk zijn aan een van de vorige waarden.

                              U kunt een eigen scheidingsteken gebruiken.

                              " +msgstr "" +"Lever een CSV bestand en zorg dat de regels voldoen aan een van de volgende " +"formaten:
                              • domain; name; quota; default mailbox quota; enabled
                              • domainalias; name; targeted domain; enabled
                              • " +"
                              • relaydomain; name; target host; target port; service; enabled; " +"verify recipients

                              Het eerste element van elke regel is " +"verplicht en moet gelijk zijn aan een van de vorige waarden.

                              U kunt " +"een eigen scheidingsteken gebruiken.

                              " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                " -"
                              • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
                              • alias; address; enabled; " +"
                              • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
                              • alias; address; enabled; " "recipient; recipient; ...

                              The first element of each line " -"is mandatory and must be equal to one of the previous values.

                              You can" -" use a different character as separator.

                              " -msgstr "Lever een CSV bestand en zorg dat de regels voldoen aan een van de volgende formaten:\n
                                \n
                              • account; loginname; password; first name; last name; enabled; group; address; quota; [, domain, ...]
                              • \n
                              • alias; address; enabled; internal recipient
                              • \n
                              • forward; address; enabled; external recipient
                              • \n
                              • dlist; address; enabled; recipient; recipient; ...
                              • \n
                              \n

                              Het eerste element van elke regel is verplicht en moet gelijk zijn aan een van de vorige waarden.

                              \n

                              U kunt een eigen scheidingsteken gebruiken.

                              " +"is mandatory and must be equal to one of the previous values.

                              You can " +"use a different character as separator.

                              " +msgstr "" +"Lever een CSV bestand en zorg dat de regels voldoen aan een van de volgende " +"formaten:\n" +"
                                \n" +"
                              • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
                              • \n" +"
                              • alias; address; enabled; internal recipient
                              • \n" +"
                              • forward; address; enabled; external recipient
                              • \n" +"
                              • dlist; address; enabled; recipient; recipient; ...
                              • \n" +"
                              \n" +"

                              Het eerste element van elke regel is verplicht en moet gelijk zijn aan " +"een van de vorige waarden.

                              \n" +"

                              U kunt een eigen scheidingsteken gebruiken.

                              " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Help" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importeren..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Admin" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Kies een waarde" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Gebruik de standaard waarde van dit domein" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Bijgewerkt" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" -msgstr "Dit IP-adres komt niet overeen met een van de valide MX'en zoals gedefinieerd in de instellingen" +msgstr "" +"Dit IP-adres komt niet overeen met een van de valide MX'en zoals " +"gedefinieerd in de instellingen" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Geen geldig MX-record voor dit domein gevonden." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" -msgstr "Modoboa heeft vastgesteld dat het domein %(domain)s op de volgende DNSBL lijsten staat:" +msgstr "" +"Modoboa heeft vastgesteld dat het domein %(domain)s op de volgende DNSBL " +"lijsten staat:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." -msgstr "De reputatie van dit domein wordt hierdoor aangetast er bestaat een kans dat e-mail van dit domein als spam wordt gezien. U zou contact moeten opnemen met deze providers en hen vragen om deze IP adressen van de lijst te halen." +msgstr "" +"De reputatie van dit domein wordt hierdoor aangetast er bestaat een kans dat " +"e-mail van dit domein als spam wordt gezien. U zou contact moeten opnemen " +"met deze providers en hen vragen om deze IP adressen van de lijst te halen." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" -msgstr "Modoboa heeft vastgesteld dat het domein %(domain)s geen geldig MX-record heeft:" +msgstr "" +"Modoboa heeft vastgesteld dat het domein %(domain)s geen geldig MX-record " +"heeft:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Zoeken" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "geactiveerd_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "geactiveerd_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Toon domeinen" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Toon quota's" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importeren" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exporteren" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Toon identiteiten" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Toon de identiteiten van dit domein" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Bewerk {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Verwijder %s?" -#: tests/test_mx.py:144 +#: admin/tests/test_mx.py:130 #, python-format -msgid "No A record found for MX %(domain)s" -msgstr "Geen A record gevonden voor MX %(domain)s" +msgid "No MX record for %s" +msgstr "Geen MX record voor %s" -#: tests/test_mx.py:147 -#, python-format -msgid "No AAAA record found for MX %(domain)s" -msgstr "Geen AAAA record gevonden voor MX%(domain)s" - -#: tests/test_mx.py:150 tests/test_mx.py:153 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Onjuist IP adres voor %(domain)s: %(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Een alias met deze naam bestaat al" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Aanmaken" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nieuwe alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias aangemaakt" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias aangepast" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias verwijderd" msgstr[1] "Aliasen verwijderd" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "MX-records van {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "DNSBL overzicht voor {}" -#: views/domain.py:199 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "U kunt uw eigen domein niet verwijderen" -#: views/domain.py:202 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domeinen verwijderd" msgstr[1] "Domeinen verwijderd" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Identiteiten exporteren" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exporteer domeinen" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Ongeldig verzoek" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Account verwijderd" msgstr[1] "Accounts verwijderd" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Object bestaat al: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objecten succesvol geïmporteerd" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importeer domeinen" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importeer identiteiten" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Doorstuuradres aangepast" + +#~ msgid "File name" +#~ msgstr "Bestandsnaam" + +#~ msgid "No {type} record found for MX {mx}" +#~ msgstr "Geen {type} record gevonden voor MX {mx}" + +#~ msgid "No A record found for MX %(domain)s" +#~ msgstr "Geen A record gevonden voor MX %(domain)s" + +#~ msgid "No AAAA record found for MX %(domain)s" +#~ msgstr "Geen AAAA record gevonden voor MX%(domain)s" diff --git a/modoboa/admin/locale/nl_NL/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/nl_NL/LC_MESSAGES/djangojs.po index 8987ca74b..1791a83ab 100644 --- a/modoboa/admin/locale/nl_NL/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/nl_NL/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Harrie v.d. Vegt , 2016 # TuxBrother , 2014 @@ -10,46 +10,49 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-23 21:20+0000\n" "Last-Translator: Tuxis Internet Engineering V.O.F. \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/" +"language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Geen domeinen meer om weer te geven" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "De map van dit domein niet verwijderen" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Deze actie zal ALLE data verwijderen die bij dit domein hoort." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Deze actie zal alle data die bij dit domein hoort verwijderen, behalve de accounts." +msgstr "" +"Deze actie zal alle data die bij dit domein hoort verwijderen, behalve de " +"accounts." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Geen quotum meer om weer te geven" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Geen domeinbeheerder toegewezen" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Geen identiteiten meer om weer te geven" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Verwijder de map van deze mailbox niet" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Geen quotum meer om weer te geven" diff --git a/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po index d0f9583aa..3f8fa1a3d 100644 --- a/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/pl_PL/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-07 08:37+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -24,25 +24,25 @@ msgstr "" "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domeny" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Włącz sprawdzanie rekordów MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "Poprawne MXy" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -50,11 +50,11 @@ msgstr "" "Lista adresów IP lub sieci dla każdego pasującego rekordu MX. Monit zostanie " "wysłany w przypadku błędu." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Nowe domeny muszą używać autoryzowanych MX'ów" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -62,98 +62,98 @@ msgstr "" "Zapobiegaj tworzeniu nowych domen jeśli ich MXy nie są jednym ze " "zdefiniowanych adresów." -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Aktywuj sprawdzanie rekordów DNS" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Włącz sprawdzanie rekordów MX" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Włącz sprawdzanie rekordów MX" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Włącz sprawdzanie rekordów MX" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Sprawdź czy dla domeny zdefiniowano poprawny rekord MX" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Włącz sprawdzanie DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Sprawdź każdą domenę po kątem głównych providerów DNSBL" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Skrzynki pocztowe" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Przechowuj skrzynka na filesystemie" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -161,19 +161,19 @@ msgstr "" "Zmieniaj lub usuwaj skrzynki na filesystemie jeśli zostały zmodyfikowane lub " "usuniętę przez Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Właściciel skrzynek" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Konto UNIX właściciela skrzynek na filesystemie" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Domyślne ograniczenie dla domeny" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -181,12 +181,12 @@ msgstr "" "Domyślne ograniczenie (w MB) dla nowych domen, gdy nie zostało podane. (0 - " "brak ograniczenia)" -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Domyślna przestrzeń dla konta pocztowego" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -194,67 +194,68 @@ msgstr "" "Domyślna pojemność skrzynki (w MB) dla nowo tworzonych domen bez podanej " "wartości. 0 oznacza brak limitu." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Automatyczne usuwanie konta" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "Gdy usuwana jest skrzynka usuń powizane z nią konto" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Automatyczne tworzenie domeny/skrzynki" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Utwórz domenę i skrzynkę gdy tworzone jest konto" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Utwórz alias podczas zmiany nazwy skrzynki" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "Utwórz alias używając starego adresu podczas zmiany nazwy skrzynki." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Musi być liczbą całkowitą dodatnią" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain not found." msgid "Directory not found." msgstr "Domena nie znaleziona." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Zdefiniuj przynajmniej jedną autoryzowaną sieć / adres" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administracja" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domena" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Username" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -262,23 +263,23 @@ msgstr "" "Username musi być poprawnym adresem e-mail dla zwykłych użytkowników i " "administratorów posiadających skrzynkę." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rola" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Wybierz" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Jaki zakres uprawnień będzie miał użytkownik" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Losowe hasło" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -286,53 +287,55 @@ msgstr "" "Wygeneruj losowe hasło. Jeśli aktualizujesz to konto i zaznaczysz te pole, " "to zostanie wygenerowane nowe hasło." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Hasło" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Potwierdzenie" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Wprowadź hasło ponownie" -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Włączone" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Tylko super administratorzy mogą korzystać z tej opcji" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "To pole jest wymagane" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Hasła nie są zgodne" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Nie możesz wyłączyć swojego konta" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Utwórz alias używając starego adresu" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Limit" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -347,12 +350,12 @@ msgstr "" "wartości dla domeny. Brak limitu jeśli pozostawisz niewypełnione (opcja " "niedozwolona dla administratorów domen)" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(y)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -362,11 +365,11 @@ msgstr "" "kolejne pole. Aby stworzyć alias \"catchall\" po prostu podaj nazwę domeny " "(@domena.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Adres nadawcy" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -376,64 +379,66 @@ msgstr "" "podczas wysyłania wiadomości, nawet jeśli taki nie istnieje lokalnie. Podaj " "jeden adres w polu. Naciśnij ENTER aby dodać nowe pole." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domena nie istnieje" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Domena lokalna nie istnieje" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Nie masz uprawnień dla tej domeny" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domena(y)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domena(y), którmi zarządza użytkownik" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Ogólne" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Mail" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Uprawnienia" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Konto zaktualizowane" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nowe konto" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Konto utworzone" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Adres losowy" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Adres e-mail" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -441,11 +446,11 @@ msgstr "" "Adres aliasu. W celu utworzenia aliasu typu catchall wprowadź jedynie nazwę " "domeny (np. @domena.pl)" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Odbiorcy" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -453,30 +458,31 @@ msgstr "" "Adres na który wskazuje alias. Wprowadź pojedynczo. Wciśnij ENTER aby dodać " "kolejny." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "To pole jest wymagane" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Nie zdefiniowano odbiorców" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "" "Alias(y) tej domeny. Wprowadź pojedynczo. Wciśnij ENTER aby dodać kolejny." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -487,7 +493,7 @@ msgstr "" "Domyślne ograniczenie (w MB) dla nowych skrzynek. Wartość 0 oznacza brak " "ograniczenia." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -498,51 +504,51 @@ msgstr "" "Domyślne ograniczenie (w MB) dla nowych skrzynek. Wartość 0 oznacza brak " "ograniczenia." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias domeny" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Nazwa %s już istnieje" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Nie znaleziono autoryzowanych dla tej domeny rekordów MX " -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Nie może być wyższa niż limit domeny" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Nie możesz przypisać nielimitowanej przestrzeni" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domena" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Utwórz administratora domeny" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Automatycznie utwórz administratora dla tej domeny" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nazwa" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -550,663 +556,675 @@ msgstr "" "Nazwa administratora. Nie dodawaj tutaj nazwy domeny, zostanie dodana " "automatycznie" -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Wygeneruj losowe hasło dla administratora." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Ze skrzynką" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Utwórz skrzynkę dla administratora." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Utwórz aliasy" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Automatycznie utwórz standardowe aliasy dla tej domeny" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Niepoprawny format" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Użytkownik '%s' już istnieje" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domena zmodyfikowana" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opcje" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Nowa domena" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domena utworzona" -#: forms/export.py:11 -msgid "File name" -msgstr "Nazwa pliku" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separator" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Odbiorca(y)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Wprowadź jednego lub wielu odbiorców używając przecinka" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Zachowuj lokalne kopie" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Przekazuj wiadomości i przechowuj kopie w twojej skrzynce" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Wybierz plik" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Kontynuuj przy błędzie" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Nie traktuj zdublowanych obiektów jako błąd" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Szyfruj hasła" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Zaznacz opcję jeśli hasła w twoim pliku nie są zaszyfrowane" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Błąd importu (%s): domena nie istnieje" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Skrzynka {} już istnieje" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Błąd importu (%s): błędna wartość limitu" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Tożsamości" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Przekaż" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Skrzynka jest obowiązkowa" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Nie masz uprawnień do importowania domen" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Nie masz uprawnień do importowania aliasów." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS record found for %s" msgstr "Nie znaleziono rekordu MX dla tej domeny" -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No %(type)s record for %(name)s" msgstr "Rekordy MX dla {}" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '{}'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Niepoprawna wartość przydziału (quoty) dla domeny {}" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL problem(y) dla domeny {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Domena {} nie ma zdefiniowanego rekordu MX" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Rekord MX dla domeny {0} jest niepoprawny: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] Wykryto problem(y) z MX dla domeny {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "adres" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Adres aliasu." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "włączone" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Zaznacz aby włączyć alias." -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Opis" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Wygasa" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Niepoprawny adres" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Lokalny odbiorca {}@{} nie został odnaleziony" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Niepoprawna linia: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Domena '%s' nie istnieje" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "nazwa" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Nazwa domeny" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Zaznacz, aby aktywować domenę" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Aktywuj sprawdzanie rekordów DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Zaznacz aby aktywować sprawdzanie DNS dla tej domeny" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Niepoprawna linia" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Nie znaleziono autoryzowanego rekordu MX dla domeny {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Niepoprawna wartość przydziału (quoty) dla domeny {}" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Niepoprawna wartość domyślna przydziału (quoty) dla domeny '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Domyślna wartość przydziału (quota) nie może być wyższa niż przydział domeny" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Nazwa aliasu" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "cel" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Alias wskazuje na" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Nieznana domena %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adres skrzynki (bez części @domena.pl)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Błąd - nie udało się odczytać lokalizacji skrzynki (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Limit jest wymagany" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Przekroczono limit przydziału" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Domyślne ograniczenie (w MB) dla nowych skrzynek. Wartość 0 oznacza brak " "ograniczenia." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Odmowa dostępu" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista administratorów domen (tylko resellerów i administratorów domen)." -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Niedozwolone dla tej roli." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Musi być równe z full_address skrzynki." -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Lokalna domena {} nie istnieje" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "Lista odbiorców" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Domena nie znaleziona." -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Nie masz uprawnień dla tej domeny" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "Nie masz uprawnień dla tej domeny" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "Niepoprawny format" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "Niepoprawny format" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Wyłączony" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Czeka na sprawdzenie" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No MX record found for this domain." msgid "No record found" msgstr "Nie znaleziono rekordu MX dla tej domeny" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Statystyki globalne" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Ilość" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Aliasy domen" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statystyki dla domeny" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(wyłączone)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Podsumowanie" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Pełna nazwa" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Utworzono" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Ostatnie logowanie" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Drugi adres email" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Nie zdefiniowano" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Numer telefonu" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Zarządzane domeny" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Brak zdefiniowanej domeny" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Alias" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Brak zdefiniowanych aliasów" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Dodatkowy adres nadawcy" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Brak zdefiniowanego adresu nadawcy" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Domen wyłączona" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Modyfikowano" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Dostawca" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adres" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Status" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "wylistowane" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Wszystko ok, ta domena nie jest wylistowana." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Brak dostępnych informacji dla tej domeny." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Data utworzenia" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Data ostatniej modyfikacji" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Aliasy skrzynki" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Wykorzystanie" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "użyto" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "przydzielono" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 #, fuzzy #| msgid "Not defined" msgid "Not generated" msgstr "Nie zdefiniowano" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administratorzy" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Usuń to uprawnienie" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Nie zdefiniowano jeszcze administratorów domeny." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tagi" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Status DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Akcje" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Nie możesz utworzyć nowego administratora domeny" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Dodaj" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limit" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Użyto" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Przydzielono" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Wykorzystanie (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "wyłączone" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Automatycznie przekazuj wiadomości do do innych odbiorców" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Zaktualizuj" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Konto" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Wartość" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Pełna nazwa/Odbiorcy" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                " "
                              • domain; name; quota; default mailbox quota; enabled
                              • " @@ -1227,7 +1245,7 @@ msgstr "" "z powyższych wartości.

                                \n" "

                                Możesz użyc różnych znaków jako separatora pól.

                                " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                  " "
                                • account; loginname; password; first name; last name; enabled; group; " @@ -1246,39 +1264,39 @@ msgstr "" "z powyższych wartości.

                                  \n" "

                                  Możesz użyć różnych znaków jako separatora pól." -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Pomoc" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importowanie..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Admin" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Wybierz wartość" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Użyj domyślnej wartości dla domeny" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Zaktualizowane" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "Ten IP nie pasuje do żadnego poprawnego MX'a określonego w parametrach" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Nie znaleziono rekordu MX dla tej domeny" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1286,7 +1304,7 @@ msgid "" msgstr "" "Modoboa znalazło tą domenę %(domain)s na liście DNSBL poniższych providerów:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1296,94 +1314,94 @@ msgstr "" "pochodzące zostaną zakwalifikowane jako spam. Powinieneś skontaktować się z " "tymi providerami i poprości o usunięcie wykrytych adresów IP." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "Modoboa sygnalizuje że ta domena %(domain)s nie posiada poprawnego rekordu " "MX:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Szukaj" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Lista domen" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Lista limitów" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importuj" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exportuj" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Lista tożsamości" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Pokaż tożsamości domeny" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Edytuj {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Usunąć %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, fuzzy, python-format #| msgid "MX records of {}" msgid "No MX record for %s" msgstr "Rekordy MX dla {}" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Alias z taką nazwą już istnieje" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Utwórz" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nowy alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias utworzony" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias zmodyfikowany" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias skasowano" @@ -1391,19 +1409,19 @@ msgstr[1] "Alias skasowano" msgstr[2] "Alias skasowano" msgstr[3] "Aliasy skasowano" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Rekordy MX dla {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "DNSBL podsumowanie dla {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Nie możesz usunąć swoje własnej domeny" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domena usunięta" @@ -1411,19 +1429,20 @@ msgstr[1] "Domeny usunięte" msgstr[2] "Domeny usunięte" msgstr[3] "Domeny usunięte" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Eksportuj tożsamości" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Eksportuj domeny" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Nieprawidłowe żądanie" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto usunięte" @@ -1431,28 +1450,31 @@ msgstr[1] "Konta usunięte" msgstr[2] "Konta usunięte" msgstr[3] "Konta usunięte" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Obiekt %s już istnieje" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "Zaimportowano %d obiektów z sukcesem" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importuj domeny" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importuj tożsamości" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Reguła przekazywania zmodyfikowana" +#~ msgid "File name" +#~ msgstr "Nazwa pliku" + #, fuzzy #~| msgid "No MX record found for this domain." #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po index 1145e2a5f..13b772b87 100644 --- a/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/pl_PL/LC_MESSAGES/djangojs.po @@ -1,53 +1,57 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # sin88 , 2016 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: sin88 \n" -"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/language/pl_PL/)\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" +"language/pl_PL/)\n" +"Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl_PL\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" +"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" +"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Brak domen do pokazania" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Nie usuwaj katalogu domeny" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Ta operacja usunie WSZYSTKIE dane powiązane z tą domeną." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Ta operacja usunie wszystkie dane powiązana z tą domeną za wyjątkiem kont." +msgstr "" +"Ta operacja usunie wszystkie dane powiązana z tą domeną za wyjątkiem kont." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Brak limitów do wyświetlenia" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Nie zdefiniowano administratora domeny" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Brak tożsamości do wyświetlenia" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Nie usuwaj katalogu skrzynki pocztowej" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Brak limitów do wyświetlenia" diff --git a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po index 182ed14a4..063d1204a 100644 --- a/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/pt_BR/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-09-25 03:25+0000\n" "Last-Translator: Rafael Barretto \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" @@ -26,25 +26,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domínios" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Habilitar checagens MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Checar se todo domínio tem um registro MX válido" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "MXs válidos" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -52,11 +52,11 @@ msgstr "" "Uma lista de IP ou endereços de rede devem ser compatíveis com todas as " "entradas MX. Um a será enviado caso alguma entrada não respeitar isso." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Novos domínios devem usar MX (s) autorizados" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -64,75 +64,75 @@ msgstr "" "Impedir a criação de um novo domínio se o registro MX não usar um dos " "endereços definidos." -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Habilitar verificação DNS" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Checar se todo domínio tem um registro MX válido" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Habilitar checagens MX" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Checar se todo domínio tem um registro MX válido" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Habilitar checagens MX" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Checar se todo domínio tem um registro MX válido" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Habilitar checagens MX" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Checar se todo domínio tem um registro MX válido" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Habilitar checagens DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Checar cada domínio em relação aos principais provedores DNSBL." -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "Diretório de armazenamento de chaves DKIM" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " @@ -142,23 +142,23 @@ msgstr "" "armazenadas. Certifique-se de que este diretório pertença ao usuário root e " "não seja legível pelo mundo externo." -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Comprimento padrão da chave DKIM" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Comprimento padrão em bits para chaves DKIM recém-geradas." -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Caixas de correios" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Tratar caixas de mensagens no sistema de arquivos." -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -166,19 +166,19 @@ msgstr "" "Renomeia ou remove caixas de mensagens do sistema de arquivos quando elas " "são renomeadas ou removidas dentro do Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Proprietário de caixas de mensagens" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "A conta UNIX que possui caixas de mensagens no sistema de arquivos" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Cota padrão do domínio" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -186,12 +186,12 @@ msgstr "" "Cota padrão (em MB) aplicada para novos domínios sem nenhum valor " "especificado. Um valor de 0 indica que não existe cota." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Cota padrão da caixa de correio" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -199,70 +199,71 @@ msgstr "" "Cota padrão para caixas de correio (em MB) aplicadas a domínios recém " "criados sem nenhum valor especificado. Um valor de 0 significa sem cota." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Remoção automática da conta" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Quando uma caixa de correio é removida, também remove a conta associada" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Criação automática de domínio/caixa de correio" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Criar um domínio e uma caixa de correio quando uma conta é automaticamente " "criada." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Criar um alias quando uma caixa de correio é renomeada" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Crie um alias usando o endereço antigo quando uma caixa de correio for " "renomeada." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Deve ser um inteiro positivo" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Diretório não encontrado." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "openssl não encontrado, por favor, verifique se ele está instalado." -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Defina pelo menos uma rede ou endereço autorizado" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administração" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domínio" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Domínio de relay" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Nome de usuário" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -270,23 +271,23 @@ msgstr "" "O nome de usuário. Deve ser um endereço de e-mail válido para usuários " "simples ou administradores com uma caixa de mensagens." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Papel" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Escolher" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Qual nível de permissão terá esse usuário" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Senha aleatória" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -294,53 +295,55 @@ msgstr "" "Gerar uma senha aleatória. Se você estiver atualizando esta conta e marcar " "essa opção, uma nova senha será gerada." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Senha" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Confirmação" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Para verificação, digite a mesma senha que a anterior." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Ativado" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Apenas super administradores estão liberados para este modo" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Este campo é obrigatório." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Os dois campos de senha não coincidiram." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Você não pode desabilitar seu própria conta" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Criar um alias usando o endereço antigo" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Cota" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -355,12 +358,12 @@ msgstr "" "o padrão do domínio. Deixe em branco para definir um valor ilimitado (não " "permitido para administradores de domínios)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(es)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -370,11 +373,11 @@ msgstr "" "pressione ENTER para adicionar uma nova entrada. Para criar um catchall " "alias, apenas insira o nome do domínio (@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Endereços do remetente" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -385,64 +388,66 @@ msgstr "" "localmente. Indique um endereço por entrada. Pressione ENTER para adicionar " "uma nova entrada." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domínio não existe" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Domínio local não existe" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Você não tem acesso a esse domínio" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domínio(s)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domínio(s) que o usuário administra" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Geral" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Perfil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Correio" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Permissões" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Conta atualizada" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nova conta" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Conta criada" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Endereços aleatórios" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Endereço de e-mail" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -450,11 +455,11 @@ msgstr "" "O endereço alias. Para criar um alias de captura, basta digitar o nome de " "domínio (@domain.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatários" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -462,19 +467,20 @@ msgstr "" "Endereços que este alias vai apontar. Indique apenas um endereço por " "entrada, pressione ENTER para adicionar uma nova entrada." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Este campo é obrigatório" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Nenhum destinatário definido" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -482,11 +488,11 @@ msgstr "" "Alias(es) para esse domínio. Indique apenas um nome por entrada, pressione " "ENTER para adicionar uma nova entrada." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -497,7 +503,7 @@ msgstr "" "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem " "cota." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -508,51 +514,51 @@ msgstr "" "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem " "cota." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias de domínio" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Já existe um %s com este nome" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Não pode ser maior do que a cota de domínio" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Você não pode definir cota ilimitada." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domínio" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Criar um administrador de domínio" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Criar automaticamente um administrador para este domínio" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nome" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -560,656 +566,668 @@ msgstr "" "O nome de administrador. Não inclua aqui o nome de domínio. Ele será " "automaticamente adicionado." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Criar alias" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Criar automaticamente aliases padrão para este domínio" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Formato inválido" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "O usuário '%s' já existe" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domínio alterado" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opções" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Novo domínio" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domínio criado" -#: forms/export.py:11 -msgid "File name" -msgstr "Nome do arquivo" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separador" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Destinatário(s)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Indique um ou mais destinatários separados por uma ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Manter cópias locais" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Encaminhar mensagens e armazenar cópias em sua caixa de correio local" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Selecione um arquivo" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Continuar em caso de erro" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Não tratar como erro objetos duplicados" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Criptografar senhas" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Marcar essa opção se as senhas contidas no seu arquivo estão criptografadas" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Falha ao importar a conta (%s): domínio não existe" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Caixa de e-mail {} já existente" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Falha na importação de conta (%s): valor de cota errado" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identidades" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Encaminhar" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "Um caixa de mensagens é obrigatória" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Você não tem permissão para importar domínios" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Você não tem permissão para importar aliases de domínio." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No DNS record found for %s" msgstr "Nenhum registro MX foi encontrado para este domínio." -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "No MX record found for this domain." msgid "No %(type)s record for %(name)s" msgstr "Nenhum registro MX foi encontrado para este domínio." -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '{}'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Valor de cota inválida para o domínio '{}'" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Problema(s) de DNSBL para o domínio {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "O domínio {} não possui registro MX" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "O registro MX para o domínio {0} é inválido: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] Problema(s) de MX para o domínio {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "endereço" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "O endereço alias." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "ativado" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Verificar para ativar o alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descrição" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Expira em" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Endereço inválido" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Destinatário local {}@{} não encontrado" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Linha inválida: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "O domínio '%s' não existe" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "nome" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Nome do domínio" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Marque para ativar esse domínio" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Habilitar verificação DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Marque para habilitar verificações DNS para este domínio" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Linha inválida" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Valor de cota inválida para o domínio '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Valor padrão de cota inválido para caixas de correio do domínio '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Valor padrão de cota para caixas de correio não pode ser maior que a cota do " "domínio" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Nome de alias" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "alvo" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Esse alias aponta para o domínio" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Domínio desconhecido %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Endereço da caixa de correio (sem a parte @meu.dominio)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Falha ao recuperar a localização da caixa de mensagens (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Uma cota é requerida" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Cota do domínio excedida" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Cota padrão em MB aplicada a caixas de correio. Um valor de 0 significa sem " "cota." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Permissão negada." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista dos domínios administrados (somente revendedores e administradores de " "domínio)." -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Não permitido para este perfil." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Deve ser igual ao endereço completo da conta" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Domínio local {} não existe" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Domínio não encontrado." -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "" -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Fechar" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "Chave pública DKIM para %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Formato RAW" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Desabilitado" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Aguardando checagens" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "Directory not found." msgid "No record found" msgstr "Diretório não encontrado." -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Estatísticas globais" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Quantidade" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Alias de domínios" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Estatísticas por domínio" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(desabilitado)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Sumário" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Nome completo" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Criado" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Último login" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "E-mail secundário" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Não definido" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Número de telefone" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Domínios administrados" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Nenhum domínio definido." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Aliases" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Nenhum alias definido" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Endereços adicionais de remetente" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Nenhum endereço de remetente definido" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Domínio está desabilitado" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Modificado" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Provedor" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Endereço" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Status" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "listado" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Está tudo ótimo, este domínio não está listado." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Nenhuma informação disponível para este domínio." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Data de criação" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Data da última modificação" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Alias de caixas de correio" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Uso" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "usado" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "alocado" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "Chave DKIM" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Mostrar chave" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Não gerado" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administradores" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Remover essa persmissão" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Nenhum domínio de administrador definido ainda." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tags" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Status DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Ações" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Você não pode criar um novo administrador de domínio" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Adicionar" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limite" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Usado" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Alocado" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Uso (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "desabilitado" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Encaminhar e-mails automaticamente para outro endereço" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Atualizar" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Conta" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Valor" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Nome completo/Destinatário" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:

                                    " "
                                  • domain; name; quota; default mailbox quota; enabled
                                  • " @@ -1227,7 +1245,7 @@ msgstr "" "obrigatório e deve ser igual a um dos valores anteriores.

                                    Você pode " "usar um carácter diferente como separador.

                                    " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                      " "
                                    • account; loginname; password; first name; last name; enabled; group; " @@ -1243,40 +1261,40 @@ msgstr "" "cada linha é obrigatório e deve ser igual a um dos valores anteriores.

                                      " "

                                      Você pode usar um carácter diferente como separador.

                                      " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Ajuda" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importando..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Admin" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Escolher um valor" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Usar valor padrão do domínio" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Atualizado" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" "Este IP não corresponde a nenhum dos MXs válidos definidos nos parâmetros" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Nenhum registro MX foi encontrado para este domínio." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1285,7 +1303,7 @@ msgstr "" "O Modoboa detectou que o domínio %(domain)s está listado pelos seguintes " "provedores DNSBL:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1295,155 +1313,159 @@ msgstr "" "dele sejam considerados spam. Você deve contatar aqueles provedores e pedir " "a eles a retirada do(s) endereço(s) IP(s) detectado(s) da lista." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "O Modoboa detectou que o domínio %(domain)s não possui registro MX válido." -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Busca" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "Ativado" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "Ativada" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Listardomínios" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Listar quotas" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importar" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exportar" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Listar identidades" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Ver as identidades de domínios" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Editar {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Remover %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Um alias para esse nome já existe" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Criar" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Novo alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias criado" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias modificado" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Aliases apagados" msgstr[1] "Aliases apagados" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Registro MX para {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Sumário DNSBL para {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Você não pode deletar seu próprio domínio" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domínio deletado" msgstr[1] "Domínios deletados" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Exportar identidades" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exportar domínios" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Solicitação inválida" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Conta deletada" msgstr[1] "Contas deletadas" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "O objeto já existe: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objetos importados com sucesso" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importar domínios" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importar identidades" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Encaminhamento atualizado" +#~ msgid "File name" +#~ msgstr "Nome do arquivo" + #, fuzzy #~| msgid "No MX record found for this domain." #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po index 9b2000c33..f6b183da3 100644 --- a/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/pt_BR/LC_MESSAGES/djangojs.po @@ -1,53 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Paulino Michelazzo , 2014 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-23 21:20+0000\n" "Last-Translator: Rafael Barretto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Nenhum domínio a mais para mostrar" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Não remova o diretório de domínio" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Esta operação removerá TODOS os dados associados com este domínio." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Esta operação removerá todos os dados associados com este domínio, exceto contas." +msgstr "" +"Esta operação removerá todos os dados associados com este domínio, exceto " +"contas." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Nenhuma quota a mais para mostrar" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Nenhum administrador de domínio definido" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Nenhuma identidade a mais para mostrar" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Não remova o diretório de caixas de mensagens" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Nenhuma quota a mais para mostrar" diff --git a/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po index db5c7af17..00db9d240 100644 --- a/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/pt_PT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-29 12:51+0000\n" "Last-Translator: Mike C. \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" @@ -24,116 +24,116 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domínios" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 msgid "Enable SPF checks" msgstr "" -#: app_settings.py:58 +#: admin/app_settings.py:54 msgid "Check if every domain has a valid SPF record" msgstr "" -#: app_settings.py:63 +#: admin/app_settings.py:59 msgid "Enable DKIM checks" msgstr "" -#: app_settings.py:66 +#: admin/app_settings.py:62 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "" -#: app_settings.py:72 +#: admin/app_settings.py:68 msgid "Enable DMARC checks" msgstr "" -#: app_settings.py:75 +#: admin/app_settings.py:71 msgid "Check if every domain has a valid DMARC record" msgstr "" -#: app_settings.py:80 +#: admin/app_settings.py:76 msgid "Enable autoconfig checks" msgstr "" -#: app_settings.py:83 +#: admin/app_settings.py:79 msgid "Check if every domain has a valid records for autoconfiguration" msgstr "" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Caixas de Correio" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Lidar com caixas de correio no sistema de ficheiros" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -141,19 +141,19 @@ msgstr "" "Renomear ou remover as caixas de correio no sistema de ficheiros quando " "estas são renomeadas no Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Dono das caixas de correio" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "A conta UNIX que detém as caixas de correio no sistema de ficheiros" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Quota pré-definida para o domínio" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -161,14 +161,14 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 #, fuzzy #| msgid "Default domain quota" msgid "Default mailbox quota" msgstr "Quota pré-definida para o domínio" -#: app_settings.py:155 +#: admin/app_settings.py:151 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -180,150 +180,153 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Remoção automática de conta" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" "Ao remover uma caixa de correio estará também a remover a conta associada" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Criação automatica de domino/caixa de correio" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Criar um dominio e uma caixa de correio quando uma conta é criada " "automátiamente." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Tem de ser um inteiro, positivo" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Domínio alterado" -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administração" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domínio" -#: constants.py:97 +#: admin/constants.py:29 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Novo domínio" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Nome de Utilizador" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." msgstr "" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Papel" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Escolher" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Que nível de permissões terá o utilizador" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 #, fuzzy #| msgid "Invalid request" msgid "Random password" msgstr "Pedido inválido" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Password" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Confirmação" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Repita a password acima, para verificação." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Ativo" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required." msgstr "É necessária uma caixa de correio" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Os dois campos de password não são idênticos." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Não pode desativar a sua própria conta" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Quota" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -338,12 +341,12 @@ msgstr "" "usar o valor predefinido pelo domínio. Deixar em branco para definir uma " "valor ilimitado (não permitido para administradores do domínio)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(es)" -#: forms/account.py:249 +#: admin/forms/account.py:245 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -358,13 +361,13 @@ msgstr "" "clique ENTER para adicionar uma nova entrada. Use o '*' para criar um alias " "'catchall' (ex: *@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 #, fuzzy #| msgid "Invalid request" msgid "Sender addresses" msgstr "Pedido inválido" -#: forms/account.py:258 +#: admin/forms/account.py:254 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -377,68 +380,70 @@ msgstr "" "Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um " "endereço por entrada, pressionar ENTER para acrescentar uma nova entrada." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "O domínio não existe" -#: forms/account.py:349 +#: admin/forms/account.py:345 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "O domínio não existe" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Não tem acesso a este domínio" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domínio(s)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domínio(s) administrado pelo utilizador" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Geral" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Correio" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Permissões" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Conta actualizada" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nova conta" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Conta criada" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 #, fuzzy #| msgid "Invalid request" msgid "Random address" msgstr "Pedido inválido" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Endereço de e-mail" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 #, fuzzy #| msgid "" #| "The alias address (without the domain part). For a 'catch-all' address, " @@ -450,11 +455,11 @@ msgstr "" "O endereço do alias (sem a parte do domínio). Para um endereço 'cath-all', " "digite apenas o caractere *" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatários" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -466,21 +471,22 @@ msgstr "" "Caixa(s) de correio para o qual este 'alias' aponta. Indicar apenas um " "endereço por entrada, pressionar ENTER para acrescentar uma nova entrada." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 #, fuzzy #| msgid "A mailbox is required" msgid "This field is required" msgstr "É necessária uma caixa de correio" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Sem destinatário definido" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tipo" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -488,11 +494,11 @@ msgstr "" "Alias(es) deste domínio. Indicar apenas um nome por entrada, pressionar " "ENTER para acrescentar uma nova entrada." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -504,7 +510,7 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -516,51 +522,51 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "'Alias' de domínio" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Já existe um(a) %s com este nome. " -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domínio" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Criar um administrador de domínio" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Criar automaticamente um administrador para este domínio" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nome" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -568,344 +574,343 @@ msgstr "" "O nome do administrador. Não inclua o nome do domínio já que este será " "automaticamente anexado." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Criar um administrador de domínio" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Criar um administrador de domínio" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr " Criar aliases" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Criar automaticamente aliases para este domínio" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Formato inválido" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "O utilizador '%s' já existe" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domínio alterado" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opções" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Novo domínio" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domínio criado" -#: forms/export.py:11 -msgid "File name" -msgstr "Nome do ficheiro" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separador" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Destinatário(s)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Indicar um ou mais destinatários separados por ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Conservar cópias locais" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Reencaminhar mensagens e armazenar cópias na sua caixa de correio local" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Escolha um ficheiro" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Continua com erro" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Não tratar objetos duplicados como erro" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Passwords encriptadas" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Marque esta opção se as senhas contidas no arquivo não são encriptadas" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Importação da conta falhou (%s): domínio não existe" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Caixa de correio %s já existe" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importação da conta falhou (%s): valor para quota inválido" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identidades" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Reencaminhar" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "É necessária uma caixa de correio" -#: lib.py:132 +#: admin/lib.py:128 #, fuzzy #| msgid "You can't delete your own domain" msgid "You are not allowed to import domains" msgstr "Não é possível eliminar o seu próprio domínio" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, python-format msgid "No DNS record found for %s" msgstr "" -#: lib.py:196 +#: admin/lib.py:192 #, python-format msgid "No %(type)s record for %(name)s" msgstr "" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid quota value for domain '%s'" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Valor de quota inválido para o dominio '%s'" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "endereços" -#: models/alias.py:38 +#: admin/models/alias.py:34 #, fuzzy #| msgid "The alias name" msgid "The alias address." msgstr "O nome do 'alias'" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "ativo" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Marcar para ativar este alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 #, fuzzy #| msgid "Invalid request" msgid "Invalid address" msgstr "Pedido inválido" -#: models/alias.py:147 +#: admin/models/alias.py:140 #, fuzzy #| msgid "Local recipient %s not found" msgid "Local recipient {}@{} not found" msgstr "O destinatário local %s não foi encontrado" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Linha inválida: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "O domínio '%s' não existe" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "nome" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "O nome do domínio" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Marcar para ativar este domínio" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "" -#: models/domain.py:48 +#: admin/models/domain.py:44 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Marcar para ativar este domínio" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Linha inválida" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "" -#: models/domain.py:337 +#: admin/models/domain.py:329 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid quota value for domain '{}'" msgstr "Valor de quota inválido para o dominio '%s'" -#: models/domain.py:344 +#: admin/models/domain.py:336 #, fuzzy #| msgid "Invalid quota value for domain '%s'" msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Valor de quota inválido para o dominio '%s'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "O nome do 'alias'" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "alvo" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "O domínio para o qual este alias irá apontar" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Domínio desconhecido: %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Endereços das caixas de correio (sem a parte @domain.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Falha ao recuperar a localização da caixa de correio (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "É necessário uma quota" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Domínio criado" -#: serializers.py:41 +#: admin/serializers.py:37 #, fuzzy #| msgid "" #| "Default quota (in MB) applied to freshly created domains with no value " @@ -915,385 +920,398 @@ msgstr "" "Quota (em MB) a aplicar a domínios recentemente criados sem valor " "especificado. Um valor de 0 implica sem quota." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Permissões" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "" -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "" -#: serializers.py:303 +#: admin/serializers.py:299 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "O domínio não existe" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:412 +#: admin/serializers.py:408 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Domínio alterado" -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Não tem acesso a este domínio" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "Não tem acesso a este domínio" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "Formato inválido" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "Formato inválido" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 #, fuzzy #| msgid "disabled" msgctxt "checks" msgid "Disabled" msgstr "inativo" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "Domain modified" msgid "No record found" msgstr "Domínio alterado" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 #, fuzzy #| msgid "Statistics" msgid "Global statistics" msgstr "Estatísticas" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Quantidade" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Aliases de domínio" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 #, fuzzy #| msgid "Per-domain counters" msgid "Per-domain statistics" msgstr "Contadores por-domínio" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 #, fuzzy #| msgid "disabled" msgid "(disabled)" msgstr "inativo" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 #, fuzzy #| msgid "File name" msgid "Full name" msgstr "Nome do ficheiro" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 #, fuzzy #| msgid "Create" msgid "Created" msgstr "Criar" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 #, fuzzy #| msgid "No recipient defined" msgid "Not defined" msgstr "Sem destinatário definido" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 #, fuzzy #| msgid "Administration" msgid "Administered domains" msgstr "Administração" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 #, fuzzy #| msgid "No recipient defined" msgid "No domain defined." msgstr "Sem destinatário definido" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 #, fuzzy #| msgid "Alias(es)" msgid "Aliases" msgstr "Alias(es)" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 #, fuzzy #| msgid "No recipient defined" msgid "No alias defined" msgstr "Sem destinatário definido" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "O dominio está inativo" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 #, fuzzy #| msgid "alias" msgid "Alias" msgstr "alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 #, fuzzy #| msgid "Alias modified" msgid "Modified" msgstr "'Alias' modificado" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Endereço" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 #, fuzzy #| msgid "Statistics" msgid "Status" msgstr "Estatísticas" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Data de criação" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Data da última modificação" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Aliases para caixas de correio" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 #, fuzzy #| msgid "Usage (%%)" msgid "Usage" msgstr "Utilização (%%)" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Sem destinatário definido" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administradores" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Remover esta permissão" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." msgstr "Nenhum administrador de domínio definido" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tags" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 #, fuzzy #| msgid "Statistics" msgid "DNS status" msgstr "Estatísticas" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Ações" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Não pode criar administradores de domínio" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 #, fuzzy #| msgid "Address" msgid "Add" msgstr "Endereço" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limite" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 #, fuzzy #| msgid "Alias created" msgid "Allocated" msgstr "Alias criado" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Utilização (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "inativo" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Reenviar automaticamente e-mails para outro endereço" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Actualizar" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 #, fuzzy #| msgid "Add account" msgid "Account" msgstr "Adicionar conta" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Valor" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Nome Completo / Destinatário" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                        " "
                                      • domain; name; quota; default mailbox quota; enabled
                                      • " @@ -1304,7 +1322,7 @@ msgid "" "use a different character as separator.

                                        " msgstr "" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                          " "
                                        • account; loginname; password; first name; last name; enabled; group; " @@ -1314,139 +1332,139 @@ msgid "" "use a different character as separator.

                                          " msgstr "" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Ajuda" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "A importar..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Escolha um valor" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Usar um valor padrão de domínio" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 #, fuzzy #| msgid "Update" msgid "Updated" msgstr "Actualizar" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." msgstr "" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Procurar" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Listar domínios" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Listar as quotas" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importar" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exportar" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Listar identidades" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Visualizar as identidades do domínio" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Eliminar %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Já existe um 'alias' com este nome" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Criar" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Novo 'alias'" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias criado" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "'Alias' modificado" -#: views/alias.py:107 +#: admin/views/alias.py:103 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1454,64 +1472,68 @@ msgid_plural "Aliases deleted" msgstr[0] "Alias criado" msgstr[1] "Alias criado" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Não é possível eliminar o seu próprio domínio" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domínio criado" msgstr[1] "Domínios eliminados" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Exportar identidades" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exportar domínios" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Pedido inválido" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Conta eliminada" msgstr[1] "Contas eliminadas" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Este objeto já existe: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objetos importados com sucesso" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importar domínios" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importar identidades" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Reencaminhamento atualizado" +#~ msgid "File name" +#~ msgstr "Nome do ficheiro" + #, fuzzy #~| msgid "" #~| "Default quota (in MB) applied to freshly created domains with no value " diff --git a/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po index 1cb4ecfbc..94d1357b4 100644 --- a/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/pt_PT/LC_MESSAGES/djangojs.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-29 12:08+0000\n" "Last-Translator: Mike C. \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" @@ -24,19 +24,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Não existem mais dominios para mostrar" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Não excluir o diretório do domínio" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Esta operação irá remover TODOS os dados associados a este domínio." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." @@ -44,18 +44,18 @@ msgstr "" "Esta operação irá remover TODOS os dados associados a este domínio, excepto " "as contas." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Não existem mais quotas para mostrar" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Não está definido nenhum administrador para o domínio" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Não existem mais identidades para mostrar" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Não excluir o diretório da caixa de correio" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Não existem mais quotas para mostrar" diff --git a/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po index e078f31e0..f645b07fc 100644 --- a/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-07-03 13:17+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" "Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" @@ -20,25 +20,25 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domenii" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Activează verificările MX" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Verifică ca fiecare domeniu are asociat un MX valid" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "MX-uri valide" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -47,11 +47,11 @@ msgstr "" "ar trebui să se potrivească. O avertizare va fi trimisă dacă o înregistrare " "nu respectă această conformitate." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Domeniile noi trebuie să utilizeze MX(-uri) autorizate" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -59,75 +59,75 @@ msgstr "" "Împiedică crearea unui nou domeniu dacă înregistrarea MX nu utilizează una " "dintre adresele definite." -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Activează verificările DNS" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Verifică ca fiecare domeniu are asociat un MX valid" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Activează verificările MX" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Verifică ca fiecare domeniu are asociat un MX valid" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Activează verificările MX" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Verifică ca fiecare domeniu are asociat un MX valid" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Activează verificările MX" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Verifică ca fiecare domeniu are asociat un MX valid" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Activează verificările DNSBL" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Verificați fiecare domeniu folosind furnizorii DNSBL majori" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "Folderul de stocare pentru cheile DKIM" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " @@ -137,23 +137,23 @@ msgstr "" "Asigurați-vă că acest director aparține utilizatorului root și nu poate fi " "citit de orice user." -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Mărimea implicită în caractere a chei DKIM" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Mărimea implicită în biți pentru o cheie DKIM nou generată" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Cutii poștale" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Gestionați cutiile poștale în sistemul de fișiere" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -161,20 +161,20 @@ msgstr "" "Redenumește sau eliminează căsuțele poștale din sistemul de fișiere atunci " "când se redenumesc sau se elimină în Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Propietarul cutiilor postale" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" "Contul UNIX care are in propietate casuțele poștale în sistemul de fișiere" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Cota-parte implicită a domeniului" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -182,12 +182,12 @@ msgstr "" "Cota implicită (în MB) aplicată domeniilor nou create, care nu au nicio " "valoare specificată. O valoare de 0 înseamnă că nu există o cotă." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Cota implicită pentru cutia poștală" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -196,68 +196,69 @@ msgstr "" "care nu au nicio valoare specificată. O valoare de 0 înseamnă că nu există o " "cotă." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Ștergere automată a contului" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "Când se șterge o cutie poștală, șterge, de asemenea și contul asociat" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Crearea automată a domeniului / cutiei poștale" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" "Creați un domeniu și o căsuță poștală atunci când un cont este creat automat." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Creați un alias când o cutie poștală este redenumită" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" "Creați un alias utilizând vechea adresă atunci când o cutie poștală este " "redenumită." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Trebuie să fie un număr întreg pozitiv" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Directorul nu a fost găsit." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "openssl nu a fost găsit, asigurați-vă că este instalat." -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Definiți cel puțin o adresă de rețea autorizată" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administrare" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domeniu" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Domeniu de relay" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Username" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -265,23 +266,23 @@ msgstr "" "Numele de utilizator. Trebuie sa fie o adresa de e-mail valida pentru " "tilizatori simpli sau pentru administratori care au casuță poștală." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Alege" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Ce nivel de permisiune va avea acest utilizator" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Parolă aleatorie" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -289,53 +290,55 @@ msgstr "" "Generați o parolă aleatorie. Dacă actualizați acest cont și bifați această " "casetă, va fi generată o nouă parolă." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Parolă" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Confirmare" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Introduce aceiași parolă ca deasupra, pentru verificare." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Activat" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Numai superadministratorii sunt permiși la acest mod" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Acest câmp este necesar." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Cele două câmpuri de parolă nu s-au potrivit." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Nu poți să îți ștergi propriul cont" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-mail" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Crează un alias folosind vechea adresă" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Cotă-parte" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -350,12 +353,12 @@ msgstr "" "sau utilizați valurea prestabilită a domeniului. Lăsați gol pentru a defini " "o valoare nelimitată (nu este permisă pentru administratorii de domeniu)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias(uri)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -366,11 +369,11 @@ msgstr "" "un alias de captură care sa prindă toate emailurile, trebuie doar să " "introduceți numele domeniului (@ domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Adresa expeditorului" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -381,64 +384,66 @@ msgstr "" "există pe plan local. Indicați o adresă pentru fiecare intrare. Apăsați " "ENTER pentru a adăuga o intrare nouă." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domeniul nu există" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Domeniul local nu există" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Nu aveți acces la acest domeniu" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domeniu(ii)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domeniu(ii) pe care utilizatorul le administrează" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "General" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Mail" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Permisiuni" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Cont actualizat" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Cont nou" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Cont creat" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Adresă aleatorie" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Adresă email" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." @@ -446,11 +451,11 @@ msgstr "" "Adresa aliasului. Pentru a crea un alias care caputrează tot, trebuie doar " "să introduceți numele domeniului (@ domain.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Destinatarii" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -458,19 +463,20 @@ msgstr "" "Adresele pe care sunt asociate cu acest alias. Indicați numai o singură " "adresă pentru fiecare intrare, apăsați ENTER pentru a adăuga o intrare nouă." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Acest câmp este necesar" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Nu fost definit niciun destinatar" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tip" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -478,11 +484,11 @@ msgstr "" "Alias (uri) la acest domeniu. Indicați un singur nume pe fiecare intrare, " "apăsați ENTER pentru a adăuga o intrare nouă." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Selector cheie" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -493,7 +499,7 @@ msgstr "" "Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 " "înseamnă fără cotă." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -504,51 +510,51 @@ msgstr "" "Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 " "înseamnă fără cotă." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "alias domeniu" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "Itemul%s cu acest nume există" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "Folderul de stocare a cheilor DKIM nu este configurat" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Nu poate fi mai mare decat cota domeniului" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Nu poți sa definești o cotă nelimitată" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domeniu" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Creați un administrator de domeniu" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Creează automat un administrator pentru acest domeniu" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Nume" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -556,661 +562,673 @@ msgstr "" "Numele administratorului. Nu include aici si numele domeniului, el va fi " "automat alipit. " -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Generează o parolă aleatorie pentru administrator." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Cu casuță postală" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Creează o căsuță postală pentru administrator. " -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Crează aliasuri " -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Creează automat aliasuri standard pentru acest domeniu" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Format invalid" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Utilizatorul '%s'  exista deja" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domeniu modficat" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Opțiuni" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Domeniu nou" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domeniu creat" -#: forms/export.py:11 -msgid "File name" -msgstr "Nume fișier" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Sepatator" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Destinatar(i)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Indica unul sau mai mulți destinatari separați prin ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Ține o copii locale" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Redirecționează mesajele și stochează copiile în căsuța postală locală " -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Selectează un fișier" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Continuă și dacă apar erori" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Nu trata obiecte dublicat ca eroare" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Encriptează parola" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" "Bifeaza această opțune dacă parolele conținute în fșierul tău nu sunt " "encriptate" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Importul de cont a esuat (%s): domeniul nu există" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Căsuța poștală {} deja există" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importul de cont a esuat (%s): valuare de cotă incorectă" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Identități" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Redirecționează" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "O căsuță poștală este necesară" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Nu ești autorizat să imporți domenii" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Nu ești autorizat să imporți aliasuri de domenii" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No DNS records found for %s" msgid "No DNS record found for %s" msgstr "Nu s-au găsit înregistrări DNS pentru %s" -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "No MX record for %s" msgid "No %(type)s record for %(name)s" msgstr "Nu există înregidtrări MX pentru %s" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "Nu s-au găsit NS-uri funcționale" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" "Timeout întâmpinat la rezolvarea cererii DNS, imposibilă de interogat %s în " "acest moment" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid IP address format for %(domain)s; %(addr)s" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Format invalid de IP pentru %(domain)s; %(addr)s " -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] Problemă(e) DNSBL pentru domeniul {} " -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Domeniul {} nu are înregistrări MX" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "Înregistrarea MX pentru domeniul {0} este invalidă: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] Problemă(e) MX pentru domeniul {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "adresă" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Adresă alias." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "activat" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Bifează pentru a activa acest alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Descriere" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Expiră la" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Adresă invalidă" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Destinatar local {}@{} nu poate fi găsit" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Linie invalidă: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Domeniul '%s' nu există" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "nume" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Numele domeniului" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Bifează pentru a activa domeniul" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Activează verificările DNS" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Bifează pentru a activa verificările DNS pentru acest domeniu" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Activează semnarea DKIM" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" "Dacă activezi această facilitate, o chieie DKIM se va genera pt acest " "domeniu." -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Mărime cheie" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Linie invalidă" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Nu s-au gasit înregistrări MX autorizate pentru acest domeniu {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Valuare de cotă invalidă pentru domeniul '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Valuare implicită de cotă invalidă pentru domeniul '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" "Valuarea de cotă implicită a unei cutii poștale nu poate fi mai mare decât " "cota de domeniu" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Numele aliasului" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "Țintă" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Domeniul către care indică acest alias" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Domeniu necunoscut %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Adresa de email (fără partea @domeniu)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Nu s-a reușit preluarea locației pentru cutia poștală (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "O cotă este necesară" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Cota pentru domeniu a fost depașită" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" "Cota implicită exprimată în MB aplivată la cutiile poștale. O valuare 0 " "înseamnă fără cotă." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Permisiune refuzată." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista domenilor administrate (doar reselleri și administratori de domeniu)" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Ne permis pentru acest rol." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Trebuie să fie egal cu mailbox full_address" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Domeniu local {} nu există" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "O listă de destinatari" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Domeniu negăsit" -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "Nu ai acces la acest domeniu." -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "Nu ai acces la această cutie postală" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Închide" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "Cheia DKIM publică pentru %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Format Raw" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Format de tip bind/named" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Dezactivat" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Se așteaptă verificările" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No DNS records found for %s" msgid "No record found" msgstr "Nu s-au găsit înregistrări DNS pentru %s" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Statistici globale" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Cantitate" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Aliasuri de domeniu" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Statistici per domeniu" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(dezactivat)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Sumar" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Numele complet" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Creat" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Ultima autentficare" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Email secundar" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Nedefinit" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Număr telefon" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Domenii administrate" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Nu există domenii administrate" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Aliasuri" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Ne există alias definit" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Adresa adițională a expeditorului" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Nu există o adresă a expeditorului definită" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Domeniul este dezactivat" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Modificat" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Furnizor" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adresă" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Statut" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "listat" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Totul este în regulă, domeniul este nelistat." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Nu există informații valabile pentru acest domeniu." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Dată de creare" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Data ultimei modficări" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Alias-uri cutii poștale" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Utilizare" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "utilizat" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "alocat" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "Cheie DKIM" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Arată cheia" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Negenerat" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administratori" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Elimină această permisie" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Nu există un domeniu de administrator definit incă" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Taguri" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "Status DNS" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Acțiuni" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Nu puteți crea un nou administrator de domeniu" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Adaugă" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Limită" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Utilizat" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Alocat" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Utilizat (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "dezactivat" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Redirecționează automat emailuri la altă adresă" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Actualizează" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Cont" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Valuare" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Nume Complet/Destinatar" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                            " "
                                          • domain; name; quota; default mailbox quota; enabled
                                          • " @@ -1228,7 +1246,7 @@ msgstr "" "obligatoriu și trebuie să fie egal cu una dintre valorile anterioare. Puteți " "utiliza un caracter diferit ca separator." -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                              " "
                                            • account; loginname; password; first name; last name; enabled; group; " @@ -1245,40 +1263,40 @@ msgstr "" "valorile anterioare.

                                              Puteți utiliza un caracter diferit ca separator." "

                                              " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Ajutor" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importare..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Administrator" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Alege o valuare" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Folosește valuarea implicită a domeniului" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Actualizat" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" "Acest IP nu se potrivește cu nicio înregistrare MX definită în parametrii" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Nu există înregistrări MX pentru acest domeniu." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1287,7 +1305,7 @@ msgstr "" "Modoboa a detectat ca domeniul %(domain)s este listat sub DNSBL la urmatorii " "furnizori DNSBL:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1297,158 +1315,162 @@ msgstr "" "de la acestă adresă să fie considerate spam. Ar trebui să contactați acești " "furnizori și să îi solicitați să elimine adresele(sau adresa) IP detectate." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" "Modoboa a detectat ca domeniul %(domain)s nu are înregistrări MX valide: " -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Caută" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "activat_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "activat_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Listă domenii" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Listă cote" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Import" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Export" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Listare identități" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Afișare identități domeniului" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Editează {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Șterge %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "Nu există înregidtrări MX pentru %s" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Format invalid de IP pentru %(domain)s; %(addr)s " -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Un alias cu acelasi nume deja există" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Creează" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Alias nou" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias creat" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias modificat" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias șters" msgstr[1] "Aliasuri șterse" msgstr[2] "Aliasuri șterse" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "Înregistrări MX ale {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "Sumar DNSBL pentru {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Nu poți să îți ștergi propriul domeniu" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domeniu șters" msgstr[1] "Domenii șterse" msgstr[2] "Domenii șterse" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Exportă identități" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exportă domenii" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Cerere invalidă" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Cont șters" msgstr[1] "Conturi șterse" msgstr[2] "Conturi șterse" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Obiectul deja există: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d obiecte importate cu succes" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importă domenii" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importă identități" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Redirecționare actualizată" +#~ msgid "File name" +#~ msgstr "Nume fișier" + #, fuzzy #~| msgid "No DNS records found for %s" #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po index 9abc7c5a5..e99908f06 100644 --- a/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/ro_RO/LC_MESSAGES/djangojs.po @@ -1,53 +1,58 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrei-Ilie Olteanu , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-12 11:38+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" +"language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Nu mai sunt domenii de afișat" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Nu sterge directorul pentru domeniu" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." -msgstr "Această operațiune va șterge toată informația asociată cu acest domeniu." +msgstr "" +"Această operațiune va șterge toată informația asociată cu acest domeniu." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Această operațiune va șterge toată informația asociată cu acest domeniu, cu excepția conturilor." +msgstr "" +"Această operațiune va șterge toată informația asociată cu acest domeniu, cu " +"excepția conturilor." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Nu mai există cote de afișat" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Nu există configurat un administartor de domeniu" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Nu mai sunt identități de afișat" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Nu sterge directorul mailbox" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Nu mai există cote de afișat" diff --git a/modoboa/admin/locale/ru/LC_MESSAGES/django.po b/modoboa/admin/locale/ru/LC_MESSAGES/django.po index 129a6ef31..9ef129c79 100644 --- a/modoboa/admin/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2013-12-03 09:35+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/" @@ -19,116 +19,116 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Домены" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 msgid "Enable SPF checks" msgstr "" -#: app_settings.py:58 +#: admin/app_settings.py:54 msgid "Check if every domain has a valid SPF record" msgstr "" -#: app_settings.py:63 +#: admin/app_settings.py:59 msgid "Enable DKIM checks" msgstr "" -#: app_settings.py:66 +#: admin/app_settings.py:62 msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "" -#: app_settings.py:72 +#: admin/app_settings.py:68 msgid "Enable DMARC checks" msgstr "" -#: app_settings.py:75 +#: admin/app_settings.py:71 msgid "Check if every domain has a valid DMARC record" msgstr "" -#: app_settings.py:80 +#: admin/app_settings.py:76 msgid "Enable autoconfig checks" msgstr "" -#: app_settings.py:83 +#: admin/app_settings.py:79 msgid "Check if every domain has a valid records for autoconfiguration" msgstr "" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Почтовые ящики" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Обрабатывать почтовые ящики на диске" -#: app_settings.py:129 +#: admin/app_settings.py:125 #, fuzzy msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " @@ -137,177 +137,180 @@ msgstr "" "Удалять или переименовывать почтовые ящики на диске, если они удалены или " "переименованы в Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Почтовые ящики закончились" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "UNIX аккаунт владельца почтового ящика на диске" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." msgstr "" -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." msgstr "" -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Автоматическое удаление аккаунта" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "При удалении почтового ящика, так же удалять и аккаунт владельца" -#: app_settings.py:168 +#: admin/app_settings.py:164 #, fuzzy msgid "Automatic domain/mailbox creation" msgstr "Домен создан" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "" -#: app_settings.py:247 +#: admin/app_settings.py:243 #, fuzzy #| msgid "Domain modified" msgid "Directory not found." msgstr "Домен изменен" -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "" -#: constants.py:97 +#: admin/constants.py:29 #, fuzzy #| msgid "New domain" msgid "Relay domain" msgstr "Новый домен" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Логин пользователя" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." msgstr "" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Роль" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Выбрать" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Разрешения для этого пользователя" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 #, fuzzy #| msgid "Invalid request" msgid "Random password" msgstr "Ошибочный запрос" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Пароль" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Подтверждение" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Введите такой же пароль как выше. Для проверки." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Разрешено" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 #, fuzzy #| msgid "A quota is required" msgid "This field is required." msgstr "Требуется квота" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Пароли не совпадают" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Вы не можете запретить собственный аккаунт" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "Е-майл" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Квота" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -323,12 +326,12 @@ msgstr "" "Оставьте пустым для неограниченного значения. (Не разрешено администраторам " "домена)" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Синоним(ы)" -#: forms/account.py:249 +#: admin/forms/account.py:245 #, fuzzy #| msgid "" #| "Alias(es) of this mailbox. Indicate only one address per input, press " @@ -342,13 +345,13 @@ msgstr "" "Синонимы этого почтового ящика. Вводите один адрес за раз. Нажмите ENTER для " "добавления. Используйте '*' для создания синонима 'для всех' (*@domain.tld)" -#: forms/account.py:255 +#: admin/forms/account.py:251 #, fuzzy #| msgid "Invalid request" msgid "Sender addresses" msgstr "Ошибочный запрос" -#: forms/account.py:258 +#: admin/forms/account.py:254 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -361,68 +364,70 @@ msgstr "" "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для " "добавления." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Домен не существует" -#: forms/account.py:349 +#: admin/forms/account.py:345 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain does not exist" msgstr "Домен не существует" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Вы не имеете права доступа к этому домену" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Домен(ы)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Домен(ы) администрируемые пользователем" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Основные" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Почта" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Права" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "аккаунт изменен" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Новый аккаунт" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Аккаунт создан" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 #, fuzzy #| msgid "Invalid request" msgid "Random address" msgstr "Ошибочный запрос" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "Е-майл адрес" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 #, fuzzy #| msgid "" #| "The alias address (without the domain part). For a 'catch-all' address, " @@ -434,11 +439,11 @@ msgstr "" "Адреса синонимов (без доменной части). Для указания адреса 'для всех' " "введите символ *" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Получатели" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 #, fuzzy #| msgid "" #| "Mailbox(es) this alias will point to. Indicate only one address per " @@ -450,21 +455,22 @@ msgstr "" "Этот синоним почтового ящика. Вводите один адрес за раз. Нажмите ENTER для " "добавления." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 #, fuzzy #| msgid "A quota is required" msgid "This field is required" msgstr "Требуется квота" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Получатель не определен" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -472,67 +478,67 @@ msgstr "" "Синоним(ы) этого домена. Вводите одно имя за раз. Нажмите ENTER для " "добавления." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." msgstr "" -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." msgstr "" -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Создание администратора домена" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Автоматически создаст администратора для этого домена" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Логин" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -540,720 +546,732 @@ msgstr "" "Имя администратора. Не включайте имя домена оно будет добавлено " "автоматически." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 #, fuzzy #| msgid "Create a domain administrator" msgid "Generate a random password for the administrator." msgstr "Создание администратора домена" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 #, fuzzy #| msgid "Create a domain administrator" msgid "Create a mailbox for the administrator." msgstr "Создание администратора домена" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Создание синонимов" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Автоматически создает стандартные синонимы для этого домена" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Неверный формат" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Пользователь '%s' уже существует" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Домен изменен" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Опции" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Новый домен" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Домен создан" -#: forms/export.py:11 -msgid "File name" -msgstr "Имя файла" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Разделитель" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Получатели" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Укажите одного или нескольких получателей, разделенных запятой ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Сохранить локальную копию" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" "Перенаправление сообщения, и сохранение копии в вашем локальном почтовом " "ящике" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Выберите файл" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Продолжать при ошибке" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Не исправлять дублирующийся объект при ошибке" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Шифровать пароль" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован " -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Ошибка импорта аккаунта (%s): домен должен существовать " -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 #, fuzzy #| msgid "Mailbox %s already exists" msgid "Mailbox {} already exists" msgstr "Почтовый ящик %s существует" -#: handlers.py:235 +#: admin/handlers.py:231 #, fuzzy, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Ошибка импорта аккаунта (%s): домен должен существовать " -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Пользователи" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Перенаправленые" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "" -#: lib.py:132 +#: admin/lib.py:128 #, fuzzy #| msgid "You can't delete your own domain" msgid "You are not allowed to import domains" msgstr "Вы не можете удалить собственный домен" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, python-format msgid "No DNS record found for %s" msgstr "" -#: lib.py:196 +#: admin/lib.py:192 #, python-format msgid "No %(type)s record for %(name)s" msgstr "" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:231 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "адрес" -#: models/alias.py:38 +#: admin/models/alias.py:34 #, fuzzy #| msgid "The alias name" msgid "The alias address." msgstr "Имя синонима" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "Разрешен" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Отметить для активации синонима" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "Синоним" -#: models/alias.py:126 +#: admin/models/alias.py:119 #, fuzzy #| msgid "Invalid request" msgid "Invalid address" msgstr "Ошибочный запрос" -#: models/alias.py:147 +#: admin/models/alias.py:140 #, fuzzy #| msgid "Local recipient %s not found" msgid "Local recipient {}@{} not found" msgstr "Локальный получатель %s не найден" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Неверная строка %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Домен '%s' не существует" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "имя" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Имя домена" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Отметить для активации этого домена" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "" -#: models/domain.py:48 +#: admin/models/domain.py:44 #, fuzzy #| msgid "Check to activate this domain" msgid "Check to enable DNS checks for this domain" msgstr "Отметить для активации этого домена" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Ошибочная строка" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Имя синонима" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "адресат" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Домен этого синонима указывает на" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Неизвестный домен %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Адрес почтового ящика (без @domain.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Ошибка получения места находжения почтового ящика (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "Требуется квота" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 #, fuzzy #| msgid "Domain created" msgid "Domain quota exceeded" msgstr "Домен создан" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "" -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 #, fuzzy #| msgid "Permissions" msgid "Permission denied." msgstr "Права" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "" -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "" -#: serializers.py:303 +#: admin/serializers.py:299 #, fuzzy #| msgid "Domain does not exist" msgid "Local domain {} does not exist" msgstr "Домен не существует" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:412 +#: admin/serializers.py:408 #, fuzzy #| msgid "Domain modified" msgid "Domain not found." msgstr "Домен изменен" -#: serializers.py:461 +#: admin/serializers.py:457 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this domain." msgstr "Вы не имеете права доступа к этому домену" -#: serializers.py:469 +#: admin/serializers.py:465 #, fuzzy #| msgid "You don't have access to this domain" msgid "You don't have access to this mailbox." msgstr "Вы не имеете права доступа к этому домену" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 #, fuzzy #| msgid "Invalid format" msgid "Raw format" msgstr "Неверный формат" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 #, fuzzy #| msgid "Invalid format" msgid "Bind/named format" msgstr "Неверный формат" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 #, fuzzy msgctxt "checks" msgid "Disabled" msgstr "Разрешен" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "Domain modified" msgid "No record found" msgstr "Домен изменен" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 #, fuzzy #| msgid "Statistics" msgid "Global statistics" msgstr "Статистика" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 #, fuzzy msgid "Quantity" msgstr "Карантин" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Синонимы доменов" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 #, fuzzy msgid "(disabled)" msgstr "Разрешен" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 #, fuzzy #| msgid "File name" msgid "Full name" msgstr "Имя файла" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 #, fuzzy #| msgid "Create" msgid "Created" msgstr "Создать" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 #, fuzzy #| msgid "No recipient defined" msgid "Not defined" msgstr "Получатель не определен" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 #, fuzzy msgid "Administered domains" msgstr "Список квот" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 #, fuzzy #| msgid "No recipient defined" msgid "No domain defined." msgstr "Получатель не определен" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 #, fuzzy #| msgid "Alias(es)" msgid "Aliases" msgstr "Синоним(ы)" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 #, fuzzy #| msgid "No recipient defined" msgid "No alias defined" msgstr "Получатель не определен" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 #, fuzzy msgid "Domain is disabled" msgstr "Домен удален" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 #, fuzzy #| msgid "alias" msgid "Alias" msgstr "Синоним" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 #, fuzzy #| msgid "Alias modified" msgid "Modified" msgstr "Синоним изменен" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Адрес" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 #, fuzzy #| msgid "Statistics" msgid "Status" msgstr "Статистика" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Дата создания" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Дата последней модификации" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Синонимы почтового ящика" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "Мб" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 #, fuzzy #| msgid "Usage (%%)" msgid "Usage" msgstr "использование (%%)" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 #, fuzzy #| msgid "No recipient defined" msgid "Not generated" msgstr "Получатель не определен" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Администраторы" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Удалить это разрешение" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 #, fuzzy #| msgid "No domain administrator defined" msgid "No domain administrator defined yet." msgstr "Администратор домена не определен" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Теги" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 #, fuzzy #| msgid "Statistics" msgid "DNS status" msgstr "Статистика" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Действие" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 #, fuzzy #| msgid "Address" msgid "Add" msgstr "Адрес" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Лимит" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 #, fuzzy #| msgid "Alias created" msgid "Allocated" msgstr "Синоним создан" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "использование (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 #, fuzzy msgid "disabled" msgstr "Разрешен" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Автоматически перенаправлять письма на другой адрес" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Обновление" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 #, fuzzy #| msgid "Add account" msgid "Account" msgstr "Добавить аккаунт" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Значение" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Полное имя/получатель" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                " "
                                              • domain; name; quota; default mailbox quota; enabled
                                              • " @@ -1264,7 +1282,7 @@ msgid "" "use a different character as separator.

                                                " msgstr "" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                  " "
                                                • account; loginname; password; first name; last name; enabled; group; " @@ -1274,140 +1292,140 @@ msgid "" "use a different character as separator.

                                                  " msgstr "" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Подсказка" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Импорт..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Выбрать значение" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Используются значения домена по умолчанию " -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 #, fuzzy #| msgid "Update" msgid "Updated" msgstr "Обновление" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." msgstr "" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Поиск" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 #, fuzzy msgid "List domains" msgstr "Список квот" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Список квот" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Импорт" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Экспорт" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Список пользователей" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Информация о домене" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Удалить %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Синоним с таким именем уже есть" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Создать" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Новый синоним" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Синоним создан" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Синоним изменен" -#: views/alias.py:107 +#: admin/views/alias.py:103 #, fuzzy #| msgid "Alias created" msgid "Alias deleted" @@ -1416,66 +1434,70 @@ msgstr[0] "Синоним создан" msgstr[1] "Синоним создан" msgstr[2] "Синоним создан" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Вы не можете удалить собственный домен" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Домен удален" msgstr[1] "Домена удалено" msgstr[2] "Доменов удалено" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Экспорт пользователя" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Экспорт доменов" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Ошибочный запрос" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Аккаунт удален" msgstr[1] "Аккаунта удалено" msgstr[2] "Аккаунтов удалено" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Объект уже существует: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d объектов импортировано" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Импорт доменов" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Импорт информации о пользователях" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Перенаправление обновлено" +#~ msgid "File name" +#~ msgstr "Имя файла" + #~ msgid "" #~ "You can't define a forward to a local destination. Please ask your " #~ "administrator to create an alias instead." diff --git a/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po index 813f9230d..934ad4217 100644 --- a/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/ru/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Ravil Kadyrbayev, 2015 # Yuriy Matskanyuk , 2018 @@ -9,46 +9,51 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-27 17:54+0000\n" "Last-Translator: Yuriy Matskanyuk \n" -"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/" +"ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Нет больше доменов для показа" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Не удаляйте каталог домена" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Эта операция удалит ВСЕ данные, связанные с этим доменом." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Эта операция удалит ВСЕ данные, связанные с этим доменом, за исключением аккаунтов." +msgstr "" +"Эта операция удалит ВСЕ данные, связанные с этим доменом, за исключением " +"аккаунтов." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Нет больше квоты для показа" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Не указан администратор домена" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Нет личности для показа" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Не удаляйте каталог почтовых ящиков" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Нет больше квоты для показа" diff --git a/modoboa/admin/locale/sv/LC_MESSAGES/django.po b/modoboa/admin/locale/sv/LC_MESSAGES/django.po index 41048cb06..8a06d45f7 100644 --- a/modoboa/admin/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/sv/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-08-14 08:35+0000\n" "Last-Translator: Olle Gustafsson \n" "Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" @@ -21,25 +21,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "Domäner" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "Aktivera MX kontroll" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "Kontrollera att varje domän har ett giltigt MX record" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "Giltiga MX" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." @@ -47,11 +47,11 @@ msgstr "" "En lista över IP eller nätverksadresser varje MX record skall matcha. En " "varning kommer skickas om ett record inte matchar." -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "Nya domäner måste använda auktoriseradade MX inlägg" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." @@ -59,75 +59,75 @@ msgstr "" "Förhindra uppskapandet av nya domäner om ett MX inlägg inte använder ett " "fördefinerat." -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "Aktivera DNS kontroller" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "Kontrollera att varje domän har ett giltigt MX record" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "Aktivera MX kontroll" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "Kontrollera att varje domän har ett giltigt MX record" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "Aktivera MX kontroll" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "Kontrollera att varje domän har ett giltigt MX record" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "Aktivera MX kontroll" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "Kontrollera att varje domän har ett giltigt MX record" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "Aktivera DNSBL kontroller" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "Kontrollera varje domän mot större DNSBL leverantörer" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "DKIM nycklar lagrings katalog" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " @@ -137,23 +137,23 @@ msgstr "" "till att den här katalogen ägs av root-användaren och inte kan läsas av " "utomstående." -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "Standard DKIM nyckellängd" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "Standardlängd i bitar för genererade DKIM nycklar." -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "Brevlådor" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "Hantera brevlådor på filsystem" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" @@ -161,19 +161,19 @@ msgstr "" "Byt namn på eller ta bort brevlådor på filsystemet när de kommer byta namn " "eller tas bort inom Modoboa" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Brevlådans ägare" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "Den UNIX-konto som äger brevlådor på filsystemet" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "Standard domän kvota" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." @@ -181,12 +181,12 @@ msgstr "" "Standard kvota (i MB) applicerad på nyskapade domäner som inte har något " "värde specificerat. Ett värde på 0 betyder ingen kvota." -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "Standard brevlåde kvota" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." @@ -194,65 +194,66 @@ msgstr "" "Standard brevlåde kvota (i MB) applicerad på nyligen skapade domäner där " "inget värde angetts. 0 betyder ingen kvota." -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "Automatisk konto borttagning" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "När en brevlåda raderas, radera också tillhörande konto" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "Automatisk skapande av domän/brevlåda" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "Skapa en domän och en brevlåda när ett konto skapas automatiskt." -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "Skapa ett alias när en brevlåda döps om" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "Skapa ett alias med den gamla adressen när en brevlåda bytt namn." -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "Måste vara ett positivt heltal" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "Katalog kunde ej hittas." -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "openssl hittades inte, kontroller att det är installerat." -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "Ange åtminstonde en auktoriserad nätverk / adress" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Administration" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "Domän" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "Relay domän" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Användarnamn" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." @@ -260,23 +261,23 @@ msgstr "" "Användarens namn. Måste vara en giltig e-postadress för vanliga användare " "eller för administratörer med brevlåda." -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Roll" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Välj" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Vilken nivå av behörighet den här användaren har" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "Slumpmässigt lösenord" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." @@ -284,53 +285,55 @@ msgstr "" "Skapa ett slumpmässigt lösenord. Om du uppdaterar det här kontot och " "markerar den här rutan genereras ett nytt lösenord." -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Lösenord" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Bekräftelse" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Ange samma lösenord som ovan för verifiering." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Aktiverad" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Endast superadmininstratörer tillåts åtkomst till det här läget" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "Detta fält krävs." -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "Dessa två lösnordsfält matchar inte." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Du kan inte inaktivera ditt eget konto" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-post" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "Skapa ett alias med den gamla adressen" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Kvot" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -345,12 +348,12 @@ msgstr "" "domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej " "tillåtet för domänadministratörer)." -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "Alias" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -360,11 +363,11 @@ msgstr "" "för att lägga till nytt. För att skapa ett \"catch-all\" alias, ange bara " "domännamnet (@domain.tld)." -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "Avsändaradress" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -374,75 +377,77 @@ msgstr "" "med från denna adress, även om den inte finns lokalt. Ange en adress per " "rad. Tryck RETUR för att lägga till ny rad." -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "Domän existerar inte" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "Lokal domän existerar inte" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "Du har inte åtkomst till denna domän" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "Domän(er)" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "Domän(er) användaren administrerar" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Generellt" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "Profil" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Post" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "Rättigheter" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Konto uppdaterat" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Nytt konto" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "Konto skapat" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "Slumpmässig adress" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "E-post adress" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" "Alias adress. För en \"catch-all\"-alias, ange bara domännamnet (@domän.tld)." -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Mottagare" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." @@ -450,19 +455,20 @@ msgstr "" "Adresser detta alias kommer peka på. Ange bara en adress per fält, tryck " "RETUR för att lägga till ytterligare." -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "Detta fält krävs" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "Ingen mottagare definierad" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Typ" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." @@ -470,11 +476,11 @@ msgstr "" "Alias för denna domän. Ange endast ett namn per rad, tryck ENTER för att " "lägga till en rad." -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Nyckelväljare" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -483,7 +489,7 @@ msgid "" "A value of 0 means no quota." msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -492,51 +498,51 @@ msgid "" "GB. A value of 0 means no quota." msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "domän alias" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "En %s med detta namn finns redan" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "Inga auktoriserade MX inlägg finns för denna domänen" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "DKIM nycklar lagringskatalog ej konfigurerad" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "Får inte vara större än domän kvot" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "Du kan inte ange en obegränsad kvota." -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "domän" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "Skapa en domän administratör" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "Skapa en domän administratör automatiskt för denna domän" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "Namn" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." @@ -544,653 +550,665 @@ msgstr "" "Administratörens namn. Inkludera inte domänens namn här, den kommer att " "läggas till automatiskt." -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "Skapa ett slumpmässigt lösenord för administratören." -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "Med en brevlåda" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "Skapa en brevlåda för administratören." -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "Skapa alias." -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "Skapa automatiskt standard alias för den här domänen" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Ogiltigt format" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "Användare '%s' finns redan" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "Domän ändrad" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Inställningar" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "Ny domän" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "Domän skapad" -#: forms/export.py:11 -msgid "File name" -msgstr "Filnamn" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Separator" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Mottagare" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "Ange en eller flera mottagare separerade med ett ','" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "Behåll lokal kopia" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "Vidarebefordra meddelande och spara kopia i din lokala brevlåda" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "Välj en fil" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "Fortsätt vid fel" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "Behandla inte dubletter som fel" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "Krypterade lösenord" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Markera det här alternativet om lösenord i filen inte är krypterad" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "Konto import misslyckades (%s): domänen existerar inte" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "Brevlåda {} finns redan" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "Importering av konto misslyckades (%s): Fel kvota värde" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "Konton" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "Vidarebefordra" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "En brevlåda krävs" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "Du tillåts inte att importera domäner" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "Du tillåts inte att importera domän alias." -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No DNS records found for %s" msgid "No DNS record found for %s" msgstr "Inga DNS-poster hittades för %s" -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "No MX record for %s" msgid "No %(type)s record for %(name)s" msgstr "Ingen MX-post för %s" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "Inga fungerande namnservrar hittades" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "DNS-upplösning timeout, kan inte fråga %s för tillfället" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid IP address format for %(domain)s; %(addr)s" msgid "Invalid IP address format for {domain}; {addr}" msgstr "Ogiltigt IP-adress format för %(domain)s; %(addr)s" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] DNSBL fråga(or) för domän {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "Domän {} saknar MX record" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "MX record för domän {0} är ogiltig: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] MX problem för domän {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "adress" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "Alias adressen." -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "aktiverad" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "Markera för aktivera detta alias" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "Beskrivning" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "Går ut" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "alias" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "Ogiltigt adress" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "Lokal mottagare {}@{} kunde inte hittas." -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "Ogiltig rad: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "Domänen '%s' existerar inte" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "namn" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "Domännamnet" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "Markera för att aktivera denna domän" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "Aktivera DNS kontroller" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "Markera för att aktivera DNS kontroller för den här domänen" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "Aktivera DKIM-signering" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" "Om du aktiverar den här funktionen genereras en DKIM-nyckel för den här " "domänen." -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "Nyckellängd" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "Ogiltig rad" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "Inga auktoriserade MX inlägg finns för domänen {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "Ogiltig kvota värd för domän '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "Ogiltig standard brevlådekvota för domän '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "Standard brevlådekvota kan inte vara större än domänkvotan" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "Alias namn" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "mål" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "Domän dit detta alias pekar mot" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "Okänt kommando %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "Brevlåde adress (utan @domain.tld)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "Kunde inte hitta brevlådans sökväg (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "En kvota krävs" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "Domänkvota överskriden" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "Åtskomst nekad." -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" "Lista över administrerade domäner (endast återförsäljare och " "domänadministratörer)." -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "Inte tillåtet för denna roll." -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "Måste vara lika med brevlådans full_address" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "Lokal domän {} finns inte" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "En lista på mottagare" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "Domän kunde ej hittas." -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "Du har inte åtkomst till denna domän." -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "Du har inte åtkomst till denna brevlåda." -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "Stäng" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "DKIM publik nyckel for %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Råformat" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Bind/named format" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "Inaktiverad" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "Väntar kontroll" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No DNS records found for %s" msgid "No record found" msgstr "Inga DNS-poster hittades för %s" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "Global statistik" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "Mängd" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "Domän alias" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "Per domän statistik" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(inaktiverad)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "Sammanställning" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "Fullständigt nam" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "Skapad" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "Senast inloggad" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "Sekundär e-post" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "Ej definierad" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "Telefonnummer" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "Administrerade domäner" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "Ingen domän angedd." -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "Alias" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "Inga alias angedda" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "Övriga avsändaradresser" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "Inga avsändaradresser angedda" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "Domänen är inaktiverad" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "Alias" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "Ändrad" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "Leverantör" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "Adress" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "Status" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "listad" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "Allt är okej, denna domän är ej listad." -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "Ingen information tillgänglig för den här domänen." -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "Skapelsedatum" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "Senast ändrad" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "Brevlåde alias" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "Användande" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "använt" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "allokerat" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "DKIM nyckel" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "Visa nyckel" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "Ej genererad" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "Administratörer" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "Radera detta tillstånd" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "Ingen domänadministratöre ännu definierad." -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "Tagg" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "DNS status" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "Åtgärder" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "Du kan inte skapa en ny domänadministratör" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "Lägg till" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "Gräns" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "Använd" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "Allokerad" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "Användning (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "inaktiverad" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "Vidarebefordra automatiskt e-post till en annan adress" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "Uppdatera" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "Konto" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "Värde" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "Fullständigt namn/Mottagare" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                    " "
                                                  • domain; name; quota; default mailbox quota; enabled
                                                  • " @@ -1208,7 +1226,7 @@ msgstr "" "obligatoriskt och måste vara lika med en av de tidigare värdena.

                                                    Du " "kan använda ett annat tecken som separator.

                                                    " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                      " "
                                                    • account; loginname; password; first name; last name; enabled; group; " @@ -1224,39 +1242,39 @@ msgstr "" "rad är obligatorisk och måste vara lika med en av de tidigare värdena.

                                                      " "

                                                      Du kan använda ett annat tecken separator.

                                                      " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "Hjälp" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "Importerar..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "Administratör" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "Välj ett värde" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "Använd domänens standardvärde" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "Uppdaterad" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "Detta IP matchar inget av de giltiga MX records" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "Inget MX record funnet för denna domän." -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " @@ -1265,7 +1283,7 @@ msgstr "" "Modoboa har upptäckt att domän %(domain)s är listad host följande DNSBL " "leverantörer:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1275,154 +1293,158 @@ msgstr "" "från den anses vara skräppost. Du bör kontakta dessa leverantörer och be den " "att avlista upptäckt IP adress(er)." -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "Modoboa upptäckte att domänen %(domain)s saknar giltiga MX record:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "Sök" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "Lista domäner" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "Lista kvoter" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "Importera" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "Exportera" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "Lista konton" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "Visa domänens konton" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "Redigera {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "Radera %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "Ingen MX-post för %s" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "Ogiltigt IP-adress format för %(domain)s; %(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "Alias med detta namn existerar redan" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "Skapa" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "Nytt alias" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "Alias skapat" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "Alias ändrat" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "Alias raderat" msgstr[1] "Alias raderade" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "MX record för {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "DNSBL summering för {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "Du kan inte radera din egen domän" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "Domän raderad" msgstr[1] "Domäner raderade" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "Exportera konton" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "Exportera domäner" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "Ogiltig förfrågan" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "Konto raderat" msgstr[1] "Konton raderade" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "Objektet existerar redan: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d objekt importerade" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "Importera domäner" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "Importera konton" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "Vidarebefordring uppdaterad" +#~ msgid "File name" +#~ msgstr "Filnamn" + #, fuzzy #~| msgid "No DNS records found for %s" #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/sv/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/sv/LC_MESSAGES/djangojs.po index d8fe91577..8f26b0c22 100644 --- a/modoboa/admin/locale/sv/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/sv/LC_MESSAGES/djangojs.po @@ -1,53 +1,56 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Olle Gustafsson , 2013,2015 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: Antoine Nguyen \n" -"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/sv/)\n" +"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" +"sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Inga fler domäner att visa" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Radera inte domän katalog" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Denna åtgärd kommer radera ALL data associerad med den här domänen." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." -msgstr "Den här operationen raderar all data som är associerad med denna domän, förutom konton." +msgstr "" +"Den här operationen raderar all data som är associerad med denna domän, " +"förutom konton." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Ingen mer kvota att visa" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "Ingen domänadministratör definierad" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Inga fler konton att visa" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Radera inte brevlådans katalog" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Ingen mer kvota att visa" diff --git a/modoboa/admin/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/admin/locale/tr_TR/LC_MESSAGES/django.po index 7fed8a178..c42f476da 100644 --- a/modoboa/admin/locale/tr_TR/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/tr_TR/LC_MESSAGES/django.po @@ -1,1091 +1,1143 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Ediz Duman , 2016 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-17 13:41+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-10-17 12:40+0000\n" "Last-Translator: Antoine Nguyen \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" -"A list of IP or network address every MX record should match. A warning will" -" be sent if a record does not respect it." +"A list of IP or network address every MX record should match. A warning will " +"be sent if a record does not respect it." msgstr "" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "" -#: app_settings.py:55 +#: admin/app_settings.py:51 +msgid "Enable SPF checks" +msgstr "" + +#: admin/app_settings.py:54 +msgid "Check if every domain has a valid SPF record" +msgstr "" + +#: admin/app_settings.py:59 +msgid "Enable DKIM checks" +msgstr "" + +#: admin/app_settings.py:62 +msgid "Check if every domain with DKIM signin enabled has a valid DNS record" +msgstr "" + +#: admin/app_settings.py:68 +msgid "Enable DMARC checks" +msgstr "" + +#: admin/app_settings.py:71 +msgid "Check if every domain has a valid DMARC record" +msgstr "" + +#: admin/app_settings.py:76 +msgid "Enable autoconfig checks" +msgstr "" + +#: admin/app_settings.py:79 +msgid "Check if every domain has a valid records for autoconfiguration" +msgstr "" + +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "" -#: app_settings.py:58 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "" -#: app_settings.py:63 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:66 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:71 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "" -#: app_settings.py:74 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " "world." msgstr "" -#: app_settings.py:82 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "" -#: app_settings.py:86 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "" -#: app_settings.py:90 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "" -#: app_settings.py:93 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "" -#: app_settings.py:96 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" msgstr "" -#: app_settings.py:102 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "Posta kutularının sahibi" -#: app_settings.py:105 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "" -#: app_settings.py:110 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "" -#: app_settings.py:113 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." msgstr "" -#: app_settings.py:119 forms/domain.py:53 models/domain.py:41 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "" -#: app_settings.py:122 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." msgstr "" -#: app_settings.py:128 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "" -#: app_settings.py:131 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "" -#: app_settings.py:135 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "" -#: app_settings.py:138 -msgid "" -"Create a domain and a mailbox when an account is automatically created." +#: admin/app_settings.py:167 +msgid "Create a domain and a mailbox when an account is automatically created." msgstr "" -#: app_settings.py:144 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "" -#: app_settings.py:147 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "" -#: app_settings.py:196 app_settings.py:204 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "" -#: app_settings.py:214 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "" -#: app_settings.py:220 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "" -#: app_settings.py:234 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "" -#: app_settings.py:244 +#: admin/app_settings.py:273 msgid "Administration" msgstr "Yönetim" -#: constants.py:98 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "" -#: constants.py:99 +#: admin/constants.py:29 msgid "Relay domain" msgstr "" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "Kullanıcı adı" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." msgstr "" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "Rol" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "Seçme" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "Bu kullanıcının izni hangi düzeyde olacak" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "Parola" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "Doğrulama" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "Doğrulama için, yukarıdaki aynı şifreyi girin." -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "Etkin" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "Sadece süper yöneticiler bu mod için izinli" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:279 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "İki şifre alanlarını eşleşmiyor." -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "Kendi hesabınızı devre dışı bırakamazsınız" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "E-posta" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 -#: templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "Kota" -#: forms/account.py:236 +#: admin/forms/account.py:232 msgid "" -"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a" -" custom value or use domain's default one. Leave empty to define an " -"unlimited value (not allowed for domain administrators)." +"Quota for this mailbox, can be expressed in KB, MB (default) or GB. Define a " +"custom value or use domain's default one. Leave empty to define an unlimited " +"value (not allowed for domain administrators)." msgstr "" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " "one address per input. Press ENTER to add a new input." msgstr "" -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "Genel" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "Posta" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "İzinler" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "Hesap güncellendi" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "Yeni hesap" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "E-posta adresi" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "Alıcılar" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." msgstr "" -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "Tip" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "" -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "" -#: forms/domain.py:48 models/domain.py:36 +#: admin/forms/domain.py:44 admin/serializers.py:30 msgid "" "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " "A value of 0 means no quota." msgstr "" -#: forms/domain.py:56 +#: admin/forms/domain.py:52 msgid "" "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " "GB. A value of 0 means no quota." msgstr "" -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "" -#: forms/domain.py:109 serializers.py:56 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "" -#: forms/domain.py:151 serializers.py:74 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "" -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "Geçersiz format" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "Seçenekler" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "" -#: forms/export.py:11 -msgid "File name" -msgstr "Dosya adı" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "Ayraç" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "Alıcı (lar)" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "" -#: lib.py:41 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "" -#: lib.py:131 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "" -#: lib.py:142 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "" -#: lib.py:187 tests/test_mx.py:135 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, python-format -msgid "No DNS records found for %s" +msgid "No DNS record found for %s" msgstr "" -#: lib.py:189 tests/test_mx.py:138 +#: admin/lib.py:192 #, python-format -msgid "No MX record for %s" +msgid "No %(type)s record for %(name)s" msgstr "" -#: lib.py:191 tests/test_mx.py:139 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "" -#: lib.py:194 tests/test_mx.py:141 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "" -#: lib.py:205 -#, python-brace-format -msgid "No {type} record found for MX {mx}" -msgstr "" - -#: lib.py:214 +#: admin/lib.py:227 #, python-brace-format msgid "Invalid IP address format for {domain}; {addr}" msgstr "" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:135 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "" -#: management/commands/subcommands/_mx.py:155 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "" -#: management/commands/subcommands/_mx.py:166 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "" -#: management/commands/subcommands/_mx.py:183 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "" -#: models/alias.py:43 models/domain.py:49 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "" -#: models/domain.py:44 -msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." -msgstr "" - -#: models/domain.py:50 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "" -#: models/domain.py:55 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "" -#: models/domain.py:56 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "" -#: models/domain.py:63 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "" -#: models/domain.py:65 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "" -#: models/domain.py:71 +#: admin/models/domain.py:59 msgid "Key length" msgstr "" -#: models/domain.py:303 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "" -#: models/domain.py:313 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "" -#: models/domain.py:320 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "" -#: models/domain.py:327 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "" -#: models/domain.py:332 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "" -#: serializers.py:99 serializers.py:304 serializers.py:402 +#: admin/serializers.py:37 +msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." +msgstr "" + +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "" -#: serializers.py:150 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "" -#: serializers.py:254 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "" -#: serializers.py:266 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "" -#: serializers.py:291 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "" -#: serializers.py:389 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "" -#: serializers.py:400 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "" -#: serializers.py:449 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "" -#: serializers.py:457 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 +msgid "No record found" +msgstr "" + +#: admin/templates/admin/_domain_dnschecks_status.html:24 +msgid "Waiting for key to be generated" +msgstr "" + +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "" -#: templates/admin/domain_detail.html:57 -#: templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "" -#: templates/admin/domain_detail.html:58 -#: templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                        " "
                                                      • domain; name; quota; default mailbox quota; enabled
                                                      • " @@ -1096,211 +1148,210 @@ msgid "" "use a different character as separator.

                                                        " msgstr "" -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                          " -"
                                                        • account; loginname; password; first name; last name; enabled; group;" -" address; quota; [, domain, ...]
                                                        • alias; address; enabled; " +"
                                                        • account; loginname; password; first name; last name; enabled; group; " +"address; quota; [, domain, ...]
                                                        • alias; address; enabled; " "recipient; recipient; ...

                                                        The first element of each line " -"is mandatory and must be equal to one of the previous values.

                                                        You can" -" use a different character as separator.

                                                        " +"is mandatory and must be equal to one of the previous values.

                                                        You can " +"use a different character as separator.

                                                        " msgstr "" -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "" -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" msgstr "" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " "and ask them to unlist detected IP address(es)." msgstr "" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "" -#: tests/test_mx.py:144 +#: admin/tests/test_mx.py:130 #, python-format -msgid "No A record found for MX %(domain)s" +msgid "No MX record for %s" msgstr "" -#: tests/test_mx.py:147 -#, python-format -msgid "No AAAA record found for MX %(domain)s" -msgstr "" - -#: tests/test_mx.py:150 tests/test_mx.py:153 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "" msgstr[1] "" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "" -#: views/domain.py:199 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "" -#: views/domain.py:202 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "" msgstr[1] "" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "" msgstr[1] "" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "" + +#~ msgid "File name" +#~ msgstr "Dosya adı" diff --git a/modoboa/admin/locale/tr_TR/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/tr_TR/LC_MESSAGES/djangojs.po index 1f07a8b60..9af4cba4b 100644 --- a/modoboa/admin/locale/tr_TR/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/tr_TR/LC_MESSAGES/djangojs.po @@ -1,53 +1,54 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Ediz Duman , 2016 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: Ediz Duman \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "Gösterilecek başka domain yok" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "Domain dizini silmeyin" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "Bu işlem, bu domain ilişkili TÜM verileri kaldıracaktır." -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." msgstr "Bu işlem hesap dışında bu domain ilişkili tüm verileri kaldıracaktır." -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "Gösterilecek kota yok" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "domain yöneticisi tanımlanmadı" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "Gösterilecek daha fazla kimlik yok" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "Posta kutusu dizini silmeyin" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "Gösterilecek kota yok" diff --git a/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po index 38b8775a1..ff84ef662 100644 --- a/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/admin/locale/zh_TW/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 10:32+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-07-09 04:17+0000\n" "Last-Translator: akong \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" @@ -21,110 +21,110 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: app_settings.py:24 handlers.py:265 -#: templates/admin/_global_statistics_widget.html:11 -#: templates/admin/domains.html:5 +#: admin/app_settings.py:20 admin/handlers.py:261 +#: admin/templates/admin/_global_statistics_widget.html:11 +#: admin/templates/admin/domains.html:5 msgid "Domains" msgstr "網域" -#: app_settings.py:27 +#: admin/app_settings.py:23 msgid "Enable MX checks" msgstr "啟用 MX 檢查" -#: app_settings.py:30 +#: admin/app_settings.py:26 msgid "Check that every domain has a valid MX record" msgstr "檢查每個網域都有正確的 MX 紀錄" -#: app_settings.py:35 +#: admin/app_settings.py:31 msgid "Valid MXs" msgstr "正確的 MX" -#: app_settings.py:38 +#: admin/app_settings.py:34 msgid "" "A list of IP or network address every MX record should match. A warning will " "be sent if a record does not respect it." msgstr "" "每個 MX 紀錄應該要跟列出來的 IP 或網路位址一樣。假如紀錄不同的會有警告送出。" -#: app_settings.py:46 +#: admin/app_settings.py:42 msgid "New domains must use authorized MX(s)" msgstr "新的網域必須要有已驗立的 MX(s)" -#: app_settings.py:49 +#: admin/app_settings.py:45 msgid "" "Prevent the creation of a new domain if its MX record does not use one of " "the defined addresses." msgstr "假如 MX 紀錄未使用定義的位址請避免建立新的網域。" -#: app_settings.py:55 +#: admin/app_settings.py:51 #, fuzzy #| msgid "Enable DNS checks" msgid "Enable SPF checks" msgstr "啟用 DNS 檢查" -#: app_settings.py:58 +#: admin/app_settings.py:54 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid SPF record" msgstr "檢查每個網域都有正確的 MX 紀錄" -#: app_settings.py:63 +#: admin/app_settings.py:59 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DKIM checks" msgstr "啟用 MX 檢查" -#: app_settings.py:66 +#: admin/app_settings.py:62 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain with DKIM signin enabled has a valid DNS record" msgstr "檢查每個網域都有正確的 MX 紀錄" -#: app_settings.py:72 +#: admin/app_settings.py:68 #, fuzzy #| msgid "Enable MX checks" msgid "Enable DMARC checks" msgstr "啟用 MX 檢查" -#: app_settings.py:75 +#: admin/app_settings.py:71 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid DMARC record" msgstr "檢查每個網域都有正確的 MX 紀錄" -#: app_settings.py:80 +#: admin/app_settings.py:76 #, fuzzy #| msgid "Enable MX checks" msgid "Enable autoconfig checks" msgstr "啟用 MX 檢查" -#: app_settings.py:83 +#: admin/app_settings.py:79 #, fuzzy #| msgid "Check that every domain has a valid MX record" msgid "Check if every domain has a valid records for autoconfiguration" msgstr "檢查每個網域都有正確的 MX 紀錄" -#: app_settings.py:88 +#: admin/app_settings.py:84 msgid "Enable DNSBL checks" msgstr "啟用 DNSBL 檢查" -#: app_settings.py:91 +#: admin/app_settings.py:87 msgid "Check every domain against major DNSBL providers" msgstr "針對每個 DNSBL 供應商來檢查每個網域" -#: app_settings.py:96 +#: admin/app_settings.py:92 msgid "Custom DNS server" msgstr "" -#: app_settings.py:99 +#: admin/app_settings.py:95 msgid "Use a custom DNS server instead of local server configuration" msgstr "" -#: app_settings.py:104 +#: admin/app_settings.py:100 msgid "DKIM keys storage directory" msgstr "DKIM 金鑰儲存目錄" -#: app_settings.py:107 +#: admin/app_settings.py:103 msgid "" "Absolute path of the directory where DKIM private keys will be stored. Make " "sure this directory belongs to root user and is not readable by the outside " @@ -133,191 +133,194 @@ msgstr "" "絕對路徑的目錄將會給 DKIM 私鑰儲存。確認這個目錄屬於 root 使用者並且外面的世" "界無法讀取。" -#: app_settings.py:115 +#: admin/app_settings.py:111 msgid "Default DKIM key length" msgstr "預設 DKIM 金鑰長度" -#: app_settings.py:119 +#: admin/app_settings.py:115 msgid "Default length in bits for newly generated DKIM keys." msgstr "預設長度是給新產生的 DKIM 金鑰用。" -#: app_settings.py:123 templates/admin/domain_detail.html:41 +#: admin/app_settings.py:119 admin/templates/admin/domain_detail.html:41 msgid "Mailboxes" msgstr "信箱" -#: app_settings.py:126 +#: admin/app_settings.py:122 msgid "Handle mailboxes on filesystem" msgstr "在檔案系統上處理信箱" -#: app_settings.py:129 +#: admin/app_settings.py:125 msgid "" "Rename or remove mailboxes on the filesystem when they get renamed or " "removed within Modoboa" msgstr "當他要在 Modoboa 上取得更名或移除就會在檔案系統上更名或移除信箱" -#: app_settings.py:135 +#: admin/app_settings.py:131 msgid "Mailboxes owner" msgstr "信箱擁有者" -#: app_settings.py:138 +#: admin/app_settings.py:134 msgid "The UNIX account who owns mailboxes on the filesystem" msgstr "UNIX 帳號是檔案系統上擁有的信箱" -#: app_settings.py:143 +#: admin/app_settings.py:139 msgid "Default domain quota" msgstr "預設網域配額" -#: app_settings.py:146 +#: admin/app_settings.py:142 msgid "" "Default quota (in MB) applied to freshly created domains with no value " "specified. A value of 0 means no quota." msgstr "預設配額(以MB為單位)應用於未指定值的創立網域。值為0表示沒有配額。" -#: app_settings.py:152 forms/domain.py:53 models/domain.py:37 -#: templates/admin/domain_detail.html:64 +#: admin/app_settings.py:148 admin/forms/domain.py:49 admin/models/domain.py:33 +#: admin/templates/admin/domain_detail.html:64 msgid "Default mailbox quota" msgstr "預設信箱配額" -#: app_settings.py:155 +#: admin/app_settings.py:151 msgid "" "Default mailbox quota (in MB) applied to freshly created domains with no " "value specified. A value of 0 means no quota." msgstr "" "預設信箱配額(以MB為單位)應用於未指定值的建立網域。值為0表示沒有配額。" -#: app_settings.py:161 +#: admin/app_settings.py:157 msgid "Automatic account removal" msgstr "自動刪除帳號" -#: app_settings.py:164 +#: admin/app_settings.py:160 msgid "When a mailbox is removed, also remove the associated account" msgstr "當信箱移除時,也會移除關聯的帳號" -#: app_settings.py:168 +#: admin/app_settings.py:164 msgid "Automatic domain/mailbox creation" msgstr "自動建立網域/信箱" -#: app_settings.py:171 +#: admin/app_settings.py:167 msgid "Create a domain and a mailbox when an account is automatically created." msgstr "當帳號自動建立後會建立網域和一個信箱。" -#: app_settings.py:177 +#: admin/app_settings.py:173 msgid "Create an alias when a mailbox is renamed" msgstr "當信箱更名時會建立別名" -#: app_settings.py:180 +#: admin/app_settings.py:176 msgid "Create an alias using the old address when a mailbox is renamed." msgstr "當信箱更名時建立別名並使用在舊的位址。" -#: app_settings.py:229 app_settings.py:237 forms/account.py:339 +#: admin/app_settings.py:225 admin/app_settings.py:233 +#: admin/forms/account.py:335 msgid "Must be a positive integer" msgstr "必須是正整數" -#: app_settings.py:247 +#: admin/app_settings.py:243 msgid "Directory not found." msgstr "目錄不存在" -#: app_settings.py:253 +#: admin/app_settings.py:249 msgid "openssl not found, please make sure it is installed." msgstr "openssl 找不到,請確認已安裝。" -#: app_settings.py:267 +#: admin/app_settings.py:263 msgid "Define at least one authorized network / address" msgstr "定義至少一個已驗證網路/位址" -#: app_settings.py:277 +#: admin/app_settings.py:273 msgid "Administration" msgstr "管理員" -#: constants.py:96 forms/alias.py:47 -#: templates/admin/_per_domain_statistics_widget.html:7 -#: templates/admin/domains_quota_headers.html:2 +#: admin/constants.py:28 admin/forms/alias.py:43 +#: admin/templates/admin/_per_domain_statistics_widget.html:7 +#: admin/templates/admin/domains_quota_headers.html:2 msgid "Domain" msgstr "網域" -#: constants.py:97 +#: admin/constants.py:29 msgid "Relay domain" msgstr "網域轉送" -#: forms/account.py:36 templates/admin/domain_detail.html:121 +#: admin/forms/account.py:32 admin/templates/admin/domain_detail.html:125 msgid "Username" msgstr "使用者名稱" -#: forms/account.py:38 +#: admin/forms/account.py:34 msgid "" "The user's name. Must be a valid e-mail address for simple users or " "administrators with a mailbox." msgstr "使用者名稱。必須是單純使用者的正確電子郵件地址或是管理員的信箱。" -#: forms/account.py:43 templates/admin/account_detail.html:29 +#: admin/forms/account.py:39 admin/templates/admin/account_detail.html:29 msgid "Role" msgstr "身份" -#: forms/account.py:44 +#: admin/forms/account.py:40 msgid "Choose" msgstr "選擇" -#: forms/account.py:45 +#: admin/forms/account.py:41 msgid "What level of permission this user will have" msgstr "這個使用者有什麼樣的權限等級" -#: forms/account.py:48 forms/domain.py:249 +#: admin/forms/account.py:44 admin/forms/domain.py:245 msgid "Random password" msgstr "隨機密碼" -#: forms/account.py:50 +#: admin/forms/account.py:46 msgid "" "Generate a random password. If you're updating this account and check this " "box, a new password will be generated." msgstr "產生一個隨機密碼。假如您更新這個帳號也勾選這個選項,新的密碼就會產生。" -#: forms/account.py:56 +#: admin/forms/account.py:52 msgid "Password" msgstr "密碼" -#: forms/account.py:61 +#: admin/forms/account.py:57 msgid "Confirmation" msgstr "確認" -#: forms/account.py:64 +#: admin/forms/account.py:60 msgid "Enter the same password as above, for verification." msgstr "為了驗證,在下方輸入相同的密碼。" -#: forms/account.py:76 +#: admin/forms/account.py:72 msgid "Enabled" msgstr "已啟用" -#: forms/account.py:171 +#: admin/forms/account.py:167 msgid "Only super administrators are allowed for this mode" msgstr "只有超級管理員在這個模式下是允許的" -#: forms/account.py:182 forms/account.py:184 forms/domain.py:166 -#: forms/domain.py:295 forms/domain.py:298 serializers.py:291 +#: admin/forms/account.py:178 admin/forms/account.py:180 +#: admin/forms/domain.py:162 admin/forms/domain.py:291 +#: admin/forms/domain.py:294 admin/serializers.py:287 msgid "This field is required." msgstr "這個欄位是必填的" -#: forms/account.py:190 +#: admin/forms/account.py:186 msgid "The two password fields didn't match." msgstr "兩次鍵入的密碼不相符。" -#: forms/account.py:203 +#: admin/forms/account.py:199 msgid "You can't disable your own account" msgstr "您不可以停用您擁有的帳號" -#: forms/account.py:226 +#: admin/forms/account.py:222 msgid "E-mail" msgstr "電郵" -#: forms/account.py:228 +#: admin/forms/account.py:224 msgid "Create an alias using the old address" msgstr "用舊的位址來建立別名" -#: forms/account.py:233 forms/domain.py:45 -#: templates/admin/account_detail.html:45 templates/admin/domain_detail.html:49 +#: admin/forms/account.py:229 admin/forms/domain.py:41 +#: admin/templates/admin/account_detail.html:45 +#: admin/templates/admin/domain_detail.html:49 msgid "Quota" msgstr "配額" -#: forms/account.py:236 +#: admin/forms/account.py:232 #, fuzzy #| msgid "" #| "Quota in MB for this mailbox. Define a custom value or use domain's " @@ -331,12 +334,12 @@ msgstr "" "這個信箱有多少 MB 的配額。定義一個自訂的值或使用網域的預設值。保持空白是定義" "為無限制 (不允許網域管理者)。" -#: forms/account.py:246 forms/domain.py:35 -#: templates/admin/domain_headers.html:4 +#: admin/forms/account.py:242 admin/forms/domain.py:31 +#: admin/templates/admin/domain_headers.html:4 msgid "Alias(es)" msgstr "別名(是)" -#: forms/account.py:249 +#: admin/forms/account.py:245 msgid "" "Alias(es) of this mailbox. Indicate only one address per input, press ENTER " "to add a new input. To create a catchall alias, just enter the domain name " @@ -345,11 +348,11 @@ msgstr "" "這個信箱的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行,要建立抓" "取別名,只要輸入網域名稱 (@domain.tld)。" -#: forms/account.py:255 +#: admin/forms/account.py:251 msgid "Sender addresses" msgstr "傳送地址" -#: forms/account.py:258 +#: admin/forms/account.py:254 msgid "" "Additional sender address(es) for this account. The user will be allowed to " "send emails using this address, even if it does not exist locally. Indicate " @@ -358,103 +361,106 @@ msgstr "" "新增這個帳號的寄件地址(es)。此使用者將會允許使用這個位址寄送郵件,即使這個不" "在本機。一行輸入一個位址。按 Enter 新增新的一行。" -#: forms/account.py:313 forms/alias.py:92 models/mailbox.py:317 +#: admin/forms/account.py:309 admin/forms/alias.py:88 +#: admin/models/mailbox.py:310 msgid "Domain does not exist" msgstr "網域不存在" -#: forms/account.py:349 +#: admin/forms/account.py:345 msgid "Local domain does not exist" msgstr "本地網域不存在" -#: forms/account.py:353 forms/account.py:361 forms/alias.py:95 +#: admin/forms/account.py:349 admin/forms/account.py:357 +#: admin/forms/alias.py:91 msgid "You don't have access to this domain" msgstr "您無權訪問此網域" -#: forms/account.py:460 +#: admin/forms/account.py:456 msgid "Domain(s)" msgstr "網域" -#: forms/account.py:462 +#: admin/forms/account.py:458 msgid "Domain(s) that user administrates" msgstr "系統管理者網域(S)" -#: forms/account.py:508 forms/account.py:598 forms/domain.py:366 -#: forms/domain.py:437 +#: admin/forms/account.py:505 admin/forms/account.py:595 +#: admin/forms/domain.py:362 admin/forms/domain.py:433 msgid "General" msgstr "一般" -#: forms/account.py:512 +#: admin/forms/account.py:509 msgid "Profile" msgstr "檔案" -#: forms/account.py:516 forms/account.py:604 +#: admin/forms/account.py:513 admin/forms/account.py:601 msgid "Mail" msgstr "電子郵件" -#: forms/account.py:519 +#: admin/forms/account.py:516 msgid "Permissions" msgstr "權限" -#: forms/account.py:587 +#: admin/forms/account.py:584 msgid "Account updated" msgstr "帳號已更新" -#: forms/account.py:612 +#: admin/forms/account.py:609 msgid "New account" msgstr "新帳號" -#: forms/account.py:622 +#: admin/forms/account.py:619 msgid "Account created" msgstr "帳號已建立" -#: forms/alias.py:24 +#: admin/forms/alias.py:20 msgid "Random address" msgstr "隨機位址" -#: forms/alias.py:27 +#: admin/forms/alias.py:23 msgid "Email address" msgstr "電郵地址" -#: forms/alias.py:29 +#: admin/forms/alias.py:25 msgid "" "The alias address. To create a catchall alias, just enter the domain name " "(@domain.tld)." msgstr "此別名位址。要建立抓取別名,只要輸入網域名稱 (@domain.tld)。" -#: forms/alias.py:35 templates/admin/alias_detail.html:37 +#: admin/forms/alias.py:31 admin/templates/admin/alias_detail.html:37 msgid "Recipients" msgstr "收件人" -#: forms/alias.py:37 +#: admin/forms/alias.py:33 msgid "" "Addresses this alias will point to. Indicate only one address per input, " "press ENTER to add a new input." msgstr "" "這個別名的位址將會指到這。一行只能輸入一個電子郵件,按 Enter 新增新的一行。" -#: forms/alias.py:112 forms/alias.py:114 +#: admin/forms/alias.py:108 admin/forms/alias.py:110 msgid "This field is required" msgstr "這個欄位是必填的" -#: forms/alias.py:118 +#: admin/forms/alias.py:114 msgid "No recipient defined" msgstr "沒有定義收件人" -#: forms/domain.py:32 templates/admin/_global_statistics_widget.html:7 +#: admin/forms/domain.py:28 +#: admin/templates/admin/_global_statistics_widget.html:7 msgid "Type" msgstr "類型" -#: forms/domain.py:38 +#: admin/forms/domain.py:34 msgid "" "Alias(es) of this domain. Indicate only one name per input, press ENTER to " "add a new input." msgstr "這個網域的別名(es)。一行只能輸入一個電子郵件,按 Enter 新增新的一行。" -#: forms/domain.py:43 +#: admin/forms/domain.py:39 msgid "Key selector" msgstr "Key selector" -#: forms/domain.py:48 serializers.py:34 +#: admin/forms/domain.py:44 admin/serializers.py:30 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -463,7 +469,7 @@ msgid "" "A value of 0 means no quota." msgstr "預設套用在信箱幾 MB 的配額。值為0表示沒配額。" -#: forms/domain.py:56 +#: admin/forms/domain.py:52 #, fuzzy #| msgid "" #| "Default quota in MB applied to mailboxes. A value of 0 means no quota." @@ -472,699 +478,711 @@ msgid "" "GB. A value of 0 means no quota." msgstr "預設套用在信箱幾 MB 的配額。值為0表示沒配額。" -#: forms/domain.py:98 handlers.py:165 +#: admin/forms/domain.py:94 admin/handlers.py:161 msgid "domain alias" msgstr "網域別名" -#: forms/domain.py:101 forms/domain.py:177 forms/domain.py:185 +#: admin/forms/domain.py:97 admin/forms/domain.py:173 admin/forms/domain.py:181 #, python-format msgid "A %s with this name already exists" msgstr "此 %s 及這個名稱已存在" -#: forms/domain.py:109 serializers.py:68 +#: admin/forms/domain.py:105 admin/serializers.py:64 msgid "No authorized MX record found for this domain" msgstr "沒有找到這個網域已驗證過的 MX 紀錄" -#: forms/domain.py:121 +#: admin/forms/domain.py:117 msgid "DKIM keys storage directory not configured" msgstr "未設置 DKIM 金鑰儲存目錄" -#: forms/domain.py:151 serializers.py:86 +#: admin/forms/domain.py:147 admin/serializers.py:82 msgid "Cannot be greater than domain quota" msgstr "不可以超過網域配額" -#: forms/domain.py:156 +#: admin/forms/domain.py:152 msgid "You can't define an unlimited quota." msgstr "您不可以定義無限制配額。" -#: forms/domain.py:177 forms/domain.py:182 +#: admin/forms/domain.py:173 admin/forms/domain.py:178 msgid "domain" msgstr "網域" -#: forms/domain.py:231 +#: admin/forms/domain.py:227 msgid "Create a domain administrator" msgstr "建立網域管理者" -#: forms/domain.py:234 +#: admin/forms/domain.py:230 msgid "Automatically create an administrator for this domain" msgstr "自動建立這個網域的管理者" -#: forms/domain.py:239 templates/admin/domain_detail.html:121 -#: templates/admin/domain_headers.html:3 -#: templates/admin/identity_headers.html:2 -#: templates/admin/mx_domain_detail.html:9 +#: admin/forms/domain.py:235 admin/templates/admin/domain_detail.html:125 +#: admin/templates/admin/domain_headers.html:3 +#: admin/templates/admin/identity_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:9 msgid "Name" msgstr "名稱" -#: forms/domain.py:242 +#: admin/forms/domain.py:238 msgid "" "The administrator's name. Don't include the domain's name here, it will be " "automatically appended." msgstr "管理者的名稱。不可以包括這裡的網域名稱,這將會自動附加。" -#: forms/domain.py:252 +#: admin/forms/domain.py:248 msgid "Generate a random password for the administrator." msgstr "產生隨機密碼給管理員。" -#: forms/domain.py:258 +#: admin/forms/domain.py:254 msgid "With a mailbox" msgstr "有附信箱" -#: forms/domain.py:261 +#: admin/forms/domain.py:257 msgid "Create a mailbox for the administrator." msgstr "建立信箱給管理員" -#: forms/domain.py:267 +#: admin/forms/domain.py:263 msgid "Create aliases" msgstr "建立別名" -#: forms/domain.py:270 +#: admin/forms/domain.py:266 msgid "Automatically create standard aliases for this domain" msgstr "自動建立這個網域的標準別名" -#: forms/domain.py:286 +#: admin/forms/domain.py:282 msgid "Invalid format" msgstr "無效格式" -#: forms/domain.py:315 +#: admin/forms/domain.py:311 #, python-format msgid "User '%s' already exists" msgstr "使用者 '%s' 已存在" -#: forms/domain.py:427 +#: admin/forms/domain.py:423 msgid "Domain modified" msgstr "網域已修改" -#: forms/domain.py:448 +#: admin/forms/domain.py:444 msgid "Options" msgstr "選項" -#: forms/domain.py:456 +#: admin/forms/domain.py:452 msgid "New domain" msgstr "新網域" -#: forms/domain.py:469 +#: admin/forms/domain.py:465 msgid "Domain created" msgstr "網域已建立" -#: forms/export.py:11 -msgid "File name" -msgstr "檔案名稱" - -#: forms/export.py:17 forms/import_.py:17 +#: admin/forms/export.py:9 admin/forms/import_.py:13 msgid "Separator" msgstr "分開" -#: forms/forward.py:16 +#: admin/forms/forward.py:12 msgid "Recipient(s)" msgstr "收件人" -#: forms/forward.py:20 +#: admin/forms/forward.py:16 msgid "Indicate one or more recipients separated by a ','" msgstr "指定一個或多個收件人並用 ',' 來分開" -#: forms/forward.py:23 +#: admin/forms/forward.py:19 msgid "Keep local copies" msgstr "本機儲存" -#: forms/forward.py:26 +#: admin/forms/forward.py:22 msgid "Forward messages and store copies into your local mailbox" msgstr "轉寄郵件及儲存一份到您的本機信箱" -#: forms/import_.py:15 +#: admin/forms/import_.py:11 msgid "Select a file" msgstr "選擇檔案" -#: forms/import_.py:23 +#: admin/forms/import_.py:19 msgid "Continue on error" msgstr "錯誤時仍繼續" -#: forms/import_.py:24 +#: admin/forms/import_.py:20 msgid "Don't treat duplicated objects as error" msgstr "錯誤時不用處理重複的物件" -#: forms/import_.py:42 +#: admin/forms/import_.py:38 msgid "Crypt passwords" msgstr "加密密碼" -#: forms/import_.py:44 +#: admin/forms/import_.py:40 msgid "Check this option if passwords contained in your file are not crypted" msgstr "假如密碼包含在您的檔案且未加密時請勾選這個選項" -#: handlers.py:214 +#: admin/handlers.py:210 #, python-format msgid "Account import failed (%s): domain does not exist" msgstr "帳號匯入失敗 (%s): 網域不存在" -#: handlers.py:227 models/mailbox.py:345 +#: admin/handlers.py:223 admin/models/mailbox.py:338 msgid "Mailbox {} already exists" msgstr "信箱 {} 已存在" -#: handlers.py:235 +#: admin/handlers.py:231 #, python-format msgid "Account import failed (%s): wrong quota value" msgstr "帳號匯入失敗 (%s): 錯誤配額" -#: handlers.py:275 templates/admin/_global_statistics_widget.html:17 -#: templates/admin/_per_domain_statistics_widget.html:8 -#: templates/admin/identities.html:5 +#: admin/handlers.py:271 +#: admin/templates/admin/_global_statistics_widget.html:17 +#: admin/templates/admin/_per_domain_statistics_widget.html:8 +#: admin/templates/admin/identities.html:5 msgid "Identities" msgstr "使用者" -#: handlers.py:291 templates/admin/forward.html:2 +#: admin/handlers.py:287 admin/templates/admin/forward.html:2 msgid "Forward" msgstr "轉發" -#: lib.py:42 +#: admin/lib.py:38 msgid "A mailbox is required" msgstr "信箱是必要的" -#: lib.py:132 +#: admin/lib.py:128 msgid "You are not allowed to import domains" msgstr "您未允許匯入網域" -#: lib.py:143 +#: admin/lib.py:139 msgid "You are not allowed to import domain aliases." msgstr "您未允許匯入網域別名。" -#: lib.py:193 tests/test_mx.py:136 tests/test_mx.py:145 tests/test_mx.py:148 +#: admin/lib.py:189 admin/tests/test_mx.py:127 admin/tests/test_mx.py:136 +#: admin/tests/test_mx.py:139 #, fuzzy, python-format #| msgid "No DNS records found for %s" msgid "No DNS record found for %s" msgstr "沒有找到 %s 的 DNS 紀錄" -#: lib.py:196 +#: admin/lib.py:192 #, fuzzy, python-format #| msgid "No MX record for %s" msgid "No %(type)s record for %(name)s" msgstr "沒有 %s 的 MX 紀錄" -#: lib.py:200 tests/test_mx.py:140 +#: admin/lib.py:196 admin/tests/test_mx.py:131 msgid "No working name servers found" msgstr "沒有找到執行中的名稱伺服器" -#: lib.py:203 tests/test_mx.py:142 +#: admin/lib.py:199 admin/tests/test_mx.py:133 #, python-format msgid "DNS resolution timeout, unable to query %s at the moment" msgstr "DNS 解析逾時,無法查詢 %s 在這個時間點" -#: lib.py:231 +#: admin/lib.py:227 #, fuzzy, python-brace-format #| msgid "Invalid IP address format for %(domain)s; %(addr)s" msgid "Invalid IP address format for {domain}; {addr}" msgstr "無效的 IP 位址格式 %(domain)s; %(addr)s" -#: management/commands/subcommands/_import.py:102 +#: admin/management/commands/subcommands/_import.py:93 msgid "CSV file is not encoded in UTF-8, attempting to guess encoding" msgstr "" -#: management/commands/subcommands/_import.py:114 +#: admin/management/commands/subcommands/_import.py:105 #, python-format msgid "Reading CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_import.py:126 +#: admin/management/commands/subcommands/_import.py:116 #, python-format msgid "Unable to decode CSV file using %(encoding)s encoding" msgstr "" -#: management/commands/subcommands/_mx.py:136 +#: admin/management/commands/subcommands/_mx.py:132 msgid "[modoboa] DNSBL issue(s) for domain {}" msgstr "[modoboa] 此網域的 DNSBL 問題(s) {}" -#: management/commands/subcommands/_mx.py:156 +#: admin/management/commands/subcommands/_mx.py:152 msgid "Domain {} has no MX record" msgstr "網域 {} 沒有 MX 紀錄" -#: management/commands/subcommands/_mx.py:167 +#: admin/management/commands/subcommands/_mx.py:163 #, python-brace-format msgid "MX record for domain {0} is invalid: {1}" msgstr "此網域的 MX 紀錄 {0} 是無效的: {1}" -#: management/commands/subcommands/_mx.py:184 +#: admin/management/commands/subcommands/_mx.py:180 msgid "[modoboa] MX issue(s) for domain {}" msgstr "[modoboa] 此網域的 MX 問題(s) {}" -#: models/alias.py:36 models/mailbox.py:99 +#: admin/models/alias.py:32 admin/models/mailbox.py:95 msgid "address" msgstr "地址" -#: models/alias.py:38 +#: admin/models/alias.py:34 msgid "The alias address." msgstr "別名位址。" -#: models/alias.py:43 models/domain.py:41 models/domain_alias.py:46 +#: admin/models/alias.py:39 admin/models/domain.py:37 +#: admin/models/domain_alias.py:42 msgid "enabled" msgstr "已啟用" -#: models/alias.py:44 models/domain_alias.py:47 +#: admin/models/alias.py:40 admin/models/domain_alias.py:43 msgid "Check to activate this alias" msgstr "點擊啟用這個別名" -#: models/alias.py:49 templates/admin/alias_detail.html:32 +#: admin/models/alias.py:45 admin/templates/admin/alias_detail.html:32 msgid "Description" msgstr "描述" -#: models/alias.py:51 templates/admin/alias_detail.html:29 +#: admin/models/alias.py:47 admin/templates/admin/alias_detail.html:29 msgid "Expire at" msgstr "過期在" -#: models/alias.py:94 +#: admin/models/alias.py:87 msgid "alias" msgstr "別名" -#: models/alias.py:126 +#: admin/models/alias.py:119 msgid "Invalid address" msgstr "無效位址" -#: models/alias.py:147 +#: admin/models/alias.py:140 msgid "Local recipient {}@{} not found" msgstr "本機收件人 {}@{} 未找到" -#: models/alias.py:177 +#: admin/models/alias.py:170 #, python-format msgid "Invalid line: %s" msgstr "無效行: %s" -#: models/alias.py:183 +#: admin/models/alias.py:176 #, python-format msgid "Domain '%s' does not exist" msgstr "網域 '%s' 不存在" -#: models/domain.py:31 models/domain_alias.py:38 +#: admin/models/domain.py:27 admin/models/domain_alias.py:34 msgid "name" msgstr "名稱" -#: models/domain.py:32 +#: admin/models/domain.py:28 msgid "The domain name" msgstr "網域名稱" -#: models/domain.py:42 +#: admin/models/domain.py:38 msgid "Check to activate this domain" msgstr "點擊啟用這個網域" -#: models/domain.py:47 +#: admin/models/domain.py:43 msgid "Enable DNS checks" msgstr "啟用 DNS 檢查" -#: models/domain.py:48 +#: admin/models/domain.py:44 msgid "Check to enable DNS checks for this domain" msgstr "點擊啟用這個網域的 DNS 檢查" -#: models/domain.py:55 +#: admin/models/domain.py:51 msgid "Enable DKIM signing" msgstr "啟用 DKIM 簽署" -#: models/domain.py:57 +#: admin/models/domain.py:53 msgid "" "If you activate this feature, a DKIM key will be generated for this domain." msgstr "假如您啟用這個功能,DKIM 金鑰將會產生給這個網域。" -#: models/domain.py:63 +#: admin/models/domain.py:59 msgid "Key length" msgstr "金鑰長度" -#: models/domain.py:320 models/domain_alias.py:74 +#: admin/models/domain.py:312 admin/models/domain_alias.py:67 msgid "Invalid line" msgstr "無效的行" -#: models/domain.py:330 +#: admin/models/domain.py:322 msgid "No authorized MX record found for domain {}" msgstr "沒有找到這個網域已驗證過的 MX 紀錄 {}" -#: models/domain.py:337 +#: admin/models/domain.py:329 msgid "Invalid quota value for domain '{}'" msgstr "此網域有無效的配額值 '{}'" -#: models/domain.py:344 +#: admin/models/domain.py:336 msgid "Invalid default mailbox quota value for domain '{}'" msgstr "此網域有無效的預設信箱配額值 '{}'" -#: models/domain.py:349 +#: admin/models/domain.py:341 msgid "Default mailbox quota cannot be greater than domain quota" msgstr "預設的信箱配額不可以超過網域配額" -#: models/domain_alias.py:39 +#: admin/models/domain_alias.py:35 msgid "The alias name" msgstr "別名名稱" -#: models/domain_alias.py:41 +#: admin/models/domain_alias.py:37 msgid "target" msgstr "目標" -#: models/domain_alias.py:42 +#: admin/models/domain_alias.py:38 msgid "The domain this alias points to" msgstr "此網域的這個別名指到" -#: models/domain_alias.py:83 +#: admin/models/domain_alias.py:76 #, python-format msgid "Unknown domain %s" msgstr "未知網域 %s" -#: models/mailbox.py:101 +#: admin/models/mailbox.py:97 msgid "Mailbox address (without the @domain.tld part)" msgstr "信箱位址 (不要有 @domain.tld 這個部份)" -#: models/mailbox.py:167 +#: admin/models/mailbox.py:160 #, python-format msgid "Failed to retrieve mailbox location (%s)" msgstr "無法收回信箱位置 (%s)" -#: models/mailbox.py:260 +#: admin/models/mailbox.py:253 msgid "A quota is required" msgstr "配額是必要的" -#: models/mailbox.py:266 +#: admin/models/mailbox.py:259 msgid "Domain quota exceeded" msgstr "網域配額已超過" -#: serializers.py:41 +#: admin/serializers.py:37 msgid "Default quota in MB applied to mailboxes. A value of 0 means no quota." msgstr "預設套用在信箱幾 MB 的配額。值為0表示沒配額。" -#: serializers.py:111 serializers.py:316 serializers.py:414 +#: admin/serializers.py:107 admin/serializers.py:312 admin/serializers.py:410 msgid "Permission denied." msgstr "權限不足" -#: serializers.py:162 +#: admin/serializers.py:158 msgid "" "List of administered domains (resellers and domain administrators only)." msgstr "管理員網域列表 (只有經銷商和網域管理員)。" -#: serializers.py:266 +#: admin/serializers.py:262 msgid "Not allowed for this role." msgstr "不允許這個身份" -#: serializers.py:278 +#: admin/serializers.py:274 msgid "Must be equal to mailbox full_address" msgstr "必須跟信箱完整位址一樣" -#: serializers.py:303 +#: admin/serializers.py:299 msgid "Local domain {} does not exist" msgstr "本機網域 {} 不存在" -#: serializers.py:401 +#: admin/serializers.py:397 msgid "A list of recipient" msgstr "收件人列表" -#: serializers.py:412 +#: admin/serializers.py:408 msgid "Domain not found." msgstr "網域不存在。" -#: serializers.py:461 +#: admin/serializers.py:457 msgid "You don't have access to this domain." msgstr "您不能存取這個網域。" -#: serializers.py:469 +#: admin/serializers.py:465 msgid "You don't have access to this mailbox." msgstr "您不能存取這個信箱。" -#: templates/admin/_domain_dkim_key.html:6 -#: templates/admin/_domain_dkim_key.html:20 +#: admin/templates/admin/_domain_dkim_key.html:6 +#: admin/templates/admin/_domain_dkim_key.html:20 msgid "Close" msgstr "關閉" -#: templates/admin/_domain_dkim_key.html:7 +#: admin/templates/admin/_domain_dkim_key.html:7 #, python-format msgid "DKIM public key for %(domain)s" msgstr "DKIM 公鑰給 %(domain)s" -#: templates/admin/_domain_dkim_key.html:11 +#: admin/templates/admin/_domain_dkim_key.html:11 msgid "Raw format" msgstr "Raw 格式" -#: templates/admin/_domain_dkim_key.html:15 +#: admin/templates/admin/_domain_dkim_key.html:15 msgid "Bind/named format" msgstr "Bind/named 格式" -#: templates/admin/_domain_dnschecks_status.html:4 +#: admin/templates/admin/_domain_dnschecks_status.html:4 msgctxt "checks" msgid "Disabled" msgstr "已停用" -#: templates/admin/_domain_dnschecks_status.html:6 +#: admin/templates/admin/_domain_dnschecks_status.html:6 msgid "Awaiting checks" msgstr "等待檢查" -#: templates/admin/_domain_dnschecks_status.html:16 -#: templates/admin/_domain_dnschecks_status.html:32 -#: templates/admin/_domain_dnschecks_status.html:40 +#: admin/templates/admin/_domain_dnschecks_status.html:16 +#: admin/templates/admin/_domain_dnschecks_status.html:26 +#: admin/templates/admin/_domain_dnschecks_status.html:34 +#: admin/templates/admin/_domain_dnschecks_status.html:42 #, fuzzy #| msgid "No DNS records found for %s" msgid "No record found" msgstr "沒有找到 %s 的 DNS 紀錄" -#: templates/admin/_domain_dnschecks_status.html:24 +#: admin/templates/admin/_domain_dnschecks_status.html:24 msgid "Waiting for key to be generated" msgstr "" -#: templates/admin/_global_statistics_widget.html:4 +#: admin/templates/admin/_global_statistics_widget.html:4 msgid "Global statistics" msgstr "全域狀態" -#: templates/admin/_global_statistics_widget.html:8 +#: admin/templates/admin/_global_statistics_widget.html:8 msgid "Quantity" msgstr "數量" -#: templates/admin/_global_statistics_widget.html:14 -#: templates/admin/domain_detail.html:37 templates/admin/domain_detail.html:73 +#: admin/templates/admin/_global_statistics_widget.html:14 +#: admin/templates/admin/domain_detail.html:37 +#: admin/templates/admin/domain_detail.html:73 msgid "Domain aliases" msgstr "網域別名" -#: templates/admin/_per_domain_statistics_widget.html:4 +#: admin/templates/admin/_per_domain_statistics_widget.html:4 msgid "Per-domain statistics" msgstr "每個網域狀態" -#: templates/admin/account_detail.html:16 templates/admin/alias_detail.html:16 -#: templates/admin/domain_detail.html:19 -#: templates/admin/identities_table.html:7 +#: admin/templates/admin/account_detail.html:16 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/domain_detail.html:19 +#: admin/templates/admin/identities_table.html:7 msgid "(disabled)" msgstr "(已停用)" -#: templates/admin/account_detail.html:22 templates/admin/alias_detail.html:22 -#: templates/admin/domain_detail.html:25 +#: admin/templates/admin/account_detail.html:22 +#: admin/templates/admin/alias_detail.html:22 +#: admin/templates/admin/domain_detail.html:25 msgid "Summary" msgstr "摘要" -#: templates/admin/account_detail.html:26 +#: admin/templates/admin/account_detail.html:26 msgid "Full name" msgstr "全名" -#: templates/admin/account_detail.html:32 templates/admin/alias_detail.html:26 +#: admin/templates/admin/account_detail.html:32 +#: admin/templates/admin/alias_detail.html:26 msgid "Created" msgstr "已建立" -#: templates/admin/account_detail.html:35 +#: admin/templates/admin/account_detail.html:35 msgid "Last login" msgstr "最後登入" -#: templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:38 msgid "Secondary email" msgstr "次要電子郵件" -#: templates/admin/account_detail.html:38 -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:38 +#: admin/templates/admin/account_detail.html:41 msgid "Not defined" msgstr "未定義" -#: templates/admin/account_detail.html:41 +#: admin/templates/admin/account_detail.html:41 msgid "Phone number" msgstr "電話號碼" -#: templates/admin/account_detail.html:55 +#: admin/templates/admin/account_detail.html:55 msgid "Administered domains" msgstr "管理員網域" -#: templates/admin/account_detail.html:61 +#: admin/templates/admin/account_detail.html:61 msgid "No domain defined." msgstr "未定義網域" -#: templates/admin/account_detail.html:75 +#: admin/templates/admin/account_detail.html:75 msgid "Aliases" msgstr "別名" -#: templates/admin/account_detail.html:81 +#: admin/templates/admin/account_detail.html:81 msgid "No alias defined" msgstr "未定義別名" -#: templates/admin/account_detail.html:87 +#: admin/templates/admin/account_detail.html:87 msgid "Additional sender addresses" msgstr "新增寄件者地址" -#: templates/admin/account_detail.html:93 +#: admin/templates/admin/account_detail.html:93 msgid "No sender address defined" msgstr "未定義寄件者地址" -#: templates/admin/account_general_form.html:12 -#: templates/admin/aliasform.html:13 +#: admin/templates/admin/account_general_form.html:12 +#: admin/templates/admin/aliasform.html:13 msgid "Domain is disabled" msgstr "網域已停用" -#: templates/admin/alias_detail.html:16 templates/admin/identities.html:33 +#: admin/templates/admin/alias_detail.html:16 +#: admin/templates/admin/identities.html:33 msgid "Alias" msgstr "別名" -#: templates/admin/alias_detail.html:27 +#: admin/templates/admin/alias_detail.html:27 msgid "Modified" msgstr "已修改" -#: templates/admin/dnsbl_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:10 msgid "Provider" msgstr "提供者" -#: templates/admin/dnsbl_domain_detail.html:11 -#: templates/admin/identities_quota_headers.html:2 -#: templates/admin/mx_domain_detail.html:10 +#: admin/templates/admin/dnsbl_domain_detail.html:11 +#: admin/templates/admin/identities_quota_headers.html:2 +#: admin/templates/admin/mx_domain_detail.html:10 msgid "Address" msgstr "地址" -#: templates/admin/dnsbl_domain_detail.html:12 -#: templates/admin/domain_detail.html:96 +#: admin/templates/admin/dnsbl_domain_detail.html:12 +#: admin/templates/admin/domain_detail.html:100 msgid "Status" msgstr "狀態" -#: templates/admin/dnsbl_domain_detail.html:21 +#: admin/templates/admin/dnsbl_domain_detail.html:21 msgid "listed" msgstr "已列表" -#: templates/admin/dnsbl_domain_detail.html:29 +#: admin/templates/admin/dnsbl_domain_detail.html:29 msgid "Everything is fine, this domain is not listed." msgstr "所有都正常,這個網域未列出。" -#: templates/admin/dnsbl_domain_detail.html:32 +#: admin/templates/admin/dnsbl_domain_detail.html:32 msgid "No information available for this domain." msgstr "沒有這個網域的有效資訊。" -#: templates/admin/domain_detail.html:29 +#: admin/templates/admin/domain_detail.html:29 msgid "Creation date" msgstr "建立日期" -#: templates/admin/domain_detail.html:33 +#: admin/templates/admin/domain_detail.html:33 msgid "Last modification date" msgstr "最後修改日期" -#: templates/admin/domain_detail.html:45 +#: admin/templates/admin/domain_detail.html:45 msgid "Mailbox aliases" msgstr "信箱別名" -#: templates/admin/domain_detail.html:50 templates/admin/domain_detail.html:57 -#: templates/admin/domain_detail.html:58 templates/admin/domain_detail.html:65 -#: templates/admin/domains_quotas.html:11 -#: templates/admin/domains_quotas.html:12 templates/admin/newdomainform.html:3 +#: admin/templates/admin/domain_detail.html:50 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domain_detail.html:65 +#: admin/templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domains_quotas.html:12 +#: admin/templates/admin/newdomainform.html:3 msgid "MB" msgstr "MB" -#: templates/admin/domain_detail.html:54 +#: admin/templates/admin/domain_detail.html:54 msgid "Usage" msgstr "使用率" -#: templates/admin/domain_detail.html:57 templates/admin/domains_quotas.html:11 +#: admin/templates/admin/domain_detail.html:57 +#: admin/templates/admin/domains_quotas.html:11 msgctxt "quota" msgid "used" msgstr "已使用" -#: templates/admin/domain_detail.html:58 templates/admin/domains_quotas.html:12 +#: admin/templates/admin/domain_detail.html:58 +#: admin/templates/admin/domains_quotas.html:12 msgid "allocated" msgstr "分配" -#: templates/admin/domain_detail.html:91 +#: admin/templates/admin/domain_detail.html:92 msgid "DNS" msgstr "DNS" -#: templates/admin/domain_detail.html:103 +#: admin/templates/admin/domain_detail.html:107 msgid "DKIM key" msgstr "DKIM 金鑰" -#: templates/admin/domain_detail.html:107 +#: admin/templates/admin/domain_detail.html:111 msgid "Show key" msgstr "顯示金鑰" -#: templates/admin/domain_detail.html:109 +#: admin/templates/admin/domain_detail.html:113 msgid "Generate new key" msgstr "" -#: templates/admin/domain_detail.html:111 +#: admin/templates/admin/domain_detail.html:115 msgid "Not generated" msgstr "沒有產生" -#: templates/admin/domain_detail.html:118 +#: admin/templates/admin/domain_detail.html:122 msgid "Administrators" msgstr "管理員" -#: templates/admin/domain_detail.html:130 templatetags/admin_tags.py:269 +#: admin/templates/admin/domain_detail.html:134 +#: admin/templatetags/admin_tags.py:265 msgid "Remove this permission" msgstr "移除這個權限" -#: templates/admin/domain_detail.html:135 +#: admin/templates/admin/domain_detail.html:139 msgid "No domain administrator defined yet." msgstr "沒有定義網域管理員。" -#: templates/admin/domain_headers.html:5 -#: templates/admin/identity_headers.html:4 +#: admin/templates/admin/domain_headers.html:5 +#: admin/templates/admin/identity_headers.html:4 msgid "Tags" msgstr "標籤" -#: templates/admin/domain_headers.html:7 +#: admin/templates/admin/domain_headers.html:7 msgid "DNS status" msgstr "DNS 狀態" -#: templates/admin/domain_headers.html:9 -#: templates/admin/identity_headers.html:5 +#: admin/templates/admin/domain_headers.html:9 +#: admin/templates/admin/identity_headers.html:5 msgid "Actions" msgstr "動作" -#: templates/admin/domain_options_form.html:10 +#: admin/templates/admin/domain_options_form.html:10 msgid "You can't create a new domain administrator" msgstr "您不可能建立新的網域管理員" -#: templates/admin/domains.html:28 templates/admin/identities.html:29 +#: admin/templates/admin/domains.html:28 +#: admin/templates/admin/identities.html:29 msgid "Add" msgstr "新增" -#: templates/admin/domains_quota_headers.html:3 -#: templates/admin/identities_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:4 msgid "Limit" msgstr "限制" -#: templates/admin/domains_quota_headers.html:4 +#: admin/templates/admin/domains_quota_headers.html:4 msgid "Used" msgstr "已使用" -#: templates/admin/domains_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:5 msgid "Allocated" msgstr "分配" -#: templates/admin/domains_quota_headers.html:6 -#: templates/admin/identities_quota_headers.html:5 +#: admin/templates/admin/domains_quota_headers.html:6 +#: admin/templates/admin/identities_quota_headers.html:5 #, python-format msgid "Usage (%%)" msgstr "使用率 (%%)" -#: templates/admin/domains_table.html:5 +#: admin/templates/admin/domains_table.html:5 msgid "disabled" msgstr "已停用" -#: templates/admin/forward.html:2 +#: admin/templates/admin/forward.html:2 msgid "Automatically forward emails to another address" msgstr "自動轉寄郵件到其他位址" -#: templates/admin/forward.html:9 views/alias.py:91 +#: admin/templates/admin/forward.html:9 admin/views/alias.py:87 msgid "Update" msgstr "更新" -#: templates/admin/identities.html:32 +#: admin/templates/admin/identities.html:32 msgid "Account" msgstr "帳號" -#: templates/admin/identities_quota_headers.html:3 +#: admin/templates/admin/identities_quota_headers.html:3 msgid "Value" msgstr "值" -#: templates/admin/identity_headers.html:3 +#: admin/templates/admin/identity_headers.html:3 msgid "Fullname/Recipient" msgstr "完整名稱/收件人" -#: templates/admin/import_domains_form.html:6 +#: admin/templates/admin/import_domains_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                          " "
                                                        • domain; name; quota; default mailbox quota; enabled
                                                        • " @@ -1180,7 +1198,7 @@ msgstr "" "li>

                                                        每一行的第一個元件都是強制性的且必須跟之前值是一樣的。

                                                        您" "可以使用不同的字元來分開。

                                                        " -#: templates/admin/import_identities_form.html:6 +#: admin/templates/admin/import_identities_form.html:6 msgid "" "Provide a CSV file where lines respect one of the following formats:
                                                          " "
                                                        • account; loginname; password; first name; last name; enabled; group; " @@ -1194,46 +1212,46 @@ msgstr "" "用; 收件人; 收件人; ...

                                                        每一行的第一個元件都是強制性的且必" "須跟之前值是一樣的。

                                                        您可以使用不同的字元來分開。

                                                        " -#: templates/admin/importform.html:6 +#: admin/templates/admin/importform.html:6 msgid "Help" msgstr "幫助" -#: templates/admin/importform.html:13 +#: admin/templates/admin/importform.html:13 msgid "Importing..." msgstr "匯入中..." -#: templates/admin/index.html:6 +#: admin/templates/admin/index.html:6 msgid "Admin" msgstr "管理" -#: templates/admin/mailboxes_raw.html:3 +#: admin/templates/admin/mailboxes_raw.html:3 msgid "Choose a value" msgstr "選擇一個值" -#: templates/admin/mailform.html:7 +#: admin/templates/admin/mailform.html:7 msgid "Use domain default value" msgstr "使用網域預設值" -#: templates/admin/mx_domain_detail.html:11 +#: admin/templates/admin/mx_domain_detail.html:11 msgid "Updated" msgstr "已更新" -#: templates/admin/mx_domain_detail.html:23 +#: admin/templates/admin/mx_domain_detail.html:23 msgid "This IP does not match any of the valid MXs defined in parameters" msgstr "這個 IP 與參數中定義任何有效 MX 不正確" -#: templates/admin/mx_domain_detail.html:36 +#: admin/templates/admin/mx_domain_detail.html:36 msgid "No MX record found for this domain." msgstr "沒有找到這個網域的 MX 紀錄。" -#: templates/admin/notifications/domain_in_dnsbl.html:3 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:3 #, python-format msgid "" "Modoboa detected that domain %(domain)s is listed by the following DNSBL " "providers:" msgstr "Modoboa 已偵測到網域 %(domain)s 是列表在以下的 DNSBL 提供者:" -#: templates/admin/notifications/domain_in_dnsbl.html:11 +#: admin/templates/admin/notifications/domain_in_dnsbl.html:11 msgid "" "The domain's reputation will be affected and there is a chance that emails " "coming from it are considered as spam. You should contact those providers " @@ -1242,151 +1260,155 @@ msgstr "" "此網域的信用將有機會影響從這裡寄出的郵件被當作垃圾郵件。您應該聯絡提供者並要" "求他們取消 IP 位址(es) 的偵測列表。" -#: templates/admin/notifications/domain_invalid_mx.html:3 +#: admin/templates/admin/notifications/domain_invalid_mx.html:3 #, python-format msgid "Modoboa detected that domain %(domain)s has no valid MX record:" msgstr "Modoboa 已偵測到網域 %(domain)s 沒有正確的 MX 紀錄:" -#: templates/admin/searchform.html:6 +#: admin/templates/admin/searchform.html:6 msgid "Search" msgstr "搜尋" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_m" msgstr "enabled_m" -#: templatetags/admin_tags.py:23 +#: admin/templatetags/admin_tags.py:19 msgid "enabled_f" msgstr "enabled_f" -#: templatetags/admin_tags.py:49 +#: admin/templatetags/admin_tags.py:45 msgid "List domains" msgstr "網域清單" -#: templatetags/admin_tags.py:54 templatetags/admin_tags.py:109 +#: admin/templatetags/admin_tags.py:50 admin/templatetags/admin_tags.py:105 msgid "List quotas" msgstr "配額清單" -#: templatetags/admin_tags.py:66 templatetags/admin_tags.py:114 -#: views/import_.py:94 views/import_.py:116 +#: admin/templatetags/admin_tags.py:62 admin/templatetags/admin_tags.py:110 +#: admin/views/import_.py:85 admin/views/import_.py:107 msgid "Import" msgstr "匯入" -#: templatetags/admin_tags.py:72 templatetags/admin_tags.py:120 -#: views/export.py:48 views/export.py:76 +#: admin/templatetags/admin_tags.py:68 admin/templatetags/admin_tags.py:116 +#: admin/views/export.py:39 admin/views/export.py:67 msgid "Export" msgstr "匯出" -#: templatetags/admin_tags.py:104 +#: admin/templatetags/admin_tags.py:100 msgid "List identities" msgstr "使用者清單" -#: templatetags/admin_tags.py:139 +#: admin/templatetags/admin_tags.py:135 msgid "View the domain's identities" msgstr "查看網域使用者" -#: templatetags/admin_tags.py:145 templatetags/admin_tags.py:188 -#: templatetags/admin_tags.py:201 +#: admin/templatetags/admin_tags.py:141 admin/templatetags/admin_tags.py:184 +#: admin/templatetags/admin_tags.py:197 msgid "Edit {}" msgstr "編輯 {}" -#: templatetags/admin_tags.py:155 templatetags/admin_tags.py:192 -#: templatetags/admin_tags.py:206 +#: admin/templatetags/admin_tags.py:151 admin/templatetags/admin_tags.py:188 +#: admin/templatetags/admin_tags.py:202 #, python-format msgid "Delete %s?" msgstr "刪除 %s?" -#: tests/test_mx.py:139 +#: admin/tests/test_mx.py:130 #, python-format msgid "No MX record for %s" msgstr "沒有 %s 的 MX 紀錄" -#: tests/test_mx.py:151 tests/test_mx.py:154 +#: admin/tests/test_mx.py:142 admin/tests/test_mx.py:145 #, python-format msgid "Invalid IP address format for %(domain)s; %(addr)s" msgstr "無效的 IP 位址格式 %(domain)s; %(addr)s" -#: views/alias.py:33 +#: admin/views/alias.py:29 msgid "Alias with this name already exists" msgstr "這個名稱的別名已存在" -#: views/alias.py:58 +#: admin/views/alias.py:54 msgid "Create" msgstr "建立" -#: views/alias.py:70 +#: admin/views/alias.py:66 msgid "New alias" msgstr "新的別名" -#: views/alias.py:71 +#: admin/views/alias.py:67 msgid "Alias created" msgstr "別名已建立" -#: views/alias.py:83 +#: admin/views/alias.py:79 msgid "Alias modified" msgstr "別名已修改" -#: views/alias.py:107 +#: admin/views/alias.py:103 msgid "Alias deleted" msgid_plural "Aliases deleted" msgstr[0] "別名已刪除" -#: views/dns.py:32 +#: admin/views/dns.py:28 msgid "MX records of {}" msgstr "MX 紀錄 {}" -#: views/dns.py:55 +#: admin/views/dns.py:51 msgid "DNSBL summary for {}" msgstr "DNSBL 摘要 {}" -#: views/domain.py:206 +#: admin/views/domain.py:202 msgid "You can't delete your own domain" msgstr "您不可以刪除您擁有的網域" -#: views/domain.py:209 +#: admin/views/domain.py:205 msgid "Domain deleted" msgid_plural "Domains deleted" msgstr[0] "網域移除" -#: views/export.py:47 +#: admin/views/export.py:38 msgid "Export identities" msgstr "匯出使用者" -#: views/export.py:75 +#: admin/views/export.py:66 msgid "Export domains" msgstr "匯出網域" -#: views/identity.py:111 views/identity.py:205 views/identity.py:210 +#: admin/views/identity.py:107 admin/views/identity.py:201 +#: admin/views/identity.py:206 msgid "Invalid request" msgstr "無效請求" -#: views/identity.py:195 +#: admin/views/identity.py:191 msgid "Account deleted" msgid_plural "Accounts deleted" msgstr[0] "帳號已刪除" -#: views/import_.py:70 +#: admin/views/import_.py:61 #, python-format msgid "Object already exists: %s" msgstr "元件已存在: %s" -#: views/import_.py:74 +#: admin/views/import_.py:65 #, python-format msgid "%d objects imported successfully" msgstr "%d 元件已匯入成功" -#: views/import_.py:93 +#: admin/views/import_.py:84 msgid "Import domains" msgstr "匯入網域" -#: views/import_.py:115 +#: admin/views/import_.py:106 msgid "Import identities" msgstr "匯入使用者" -#: views/user.py:40 +#: admin/views/user.py:36 msgid "Forward updated" msgstr "轉寄已更新" +#~ msgid "File name" +#~ msgstr "檔案名稱" + #, fuzzy #~| msgid "No DNS records found for %s" #~ msgid "No {type} record found for MX {mx}" diff --git a/modoboa/admin/locale/zh_TW/LC_MESSAGES/djangojs.po b/modoboa/admin/locale/zh_TW/LC_MESSAGES/djangojs.po index a03a0d19a..72183e2a0 100644 --- a/modoboa/admin/locale/zh_TW/LC_MESSAGES/djangojs.po +++ b/modoboa/admin/locale/zh_TW/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # akong , 2018 # Radium , 2017 @@ -9,46 +9,47 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-29 00:40+0000\n" "Last-Translator: akong \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/language/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" +"language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: admin/static/admin/js/admin.js:131 +#: admin/static/admin/js/admin.js:129 admin/static/admin/js/admin.js:174 msgid "No more domain to show" msgstr "無更多網域可展示" -#: admin/static/admin/js/admin.js:150 +#: admin/static/admin/js/admin.js:149 msgid "Do not delete domain directory" msgstr "不可以刪除網域目錄" -#: admin/static/admin/js/admin.js:152 +#: admin/static/admin/js/admin.js:151 msgid "This operation will remove ALL data associated to this domain." msgstr "這個操作將會刪除所有這個網域有關的資料。" -#: admin/static/admin/js/admin.js:153 +#: admin/static/admin/js/admin.js:152 msgid "" "This operation will remove all data associated to this domain, excepting " "accounts." msgstr "這個操作將會刪除所有這個網域有關的資料,除了帳號。" -#: admin/static/admin/js/admin.js:236 +#: admin/static/admin/js/admin.js:177 admin/static/admin/js/admin.js:433 +msgid "No more quota to show" +msgstr "沒有配額可能顯示" + +#: admin/static/admin/js/admin.js:306 msgid "No domain administrator defined" msgstr "網域管理員未指定" -#: admin/static/admin/js/admin.js:291 admin/static/admin/js/admin.js:359 +#: admin/static/admin/js/admin.js:362 admin/static/admin/js/admin.js:430 msgid "No more identity to show" msgstr "沒有身份可以顯示" -#: admin/static/admin/js/admin.js:333 +#: admin/static/admin/js/admin.js:404 msgid "Do not delete mailbox directory" msgstr "不可能刪除郵件目錄" - -#: admin/static/admin/js/admin.js:362 -msgid "No more quota to show" -msgstr "沒有配額可能顯示" diff --git a/modoboa/dnstools/locale/br/LC_MESSAGES/django.po b/modoboa/dnstools/locale/br/LC_MESSAGES/django.po new file mode 100644 index 000000000..67381ef5e --- /dev/null +++ b/modoboa/dnstools/locale/br/LC_MESSAGES/django.po @@ -0,0 +1,166 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: dnstools/lib.py:78 +msgid "Wrong ip4 mechanism syntax" +msgstr "" + +#: dnstools/lib.py:82 +msgid "Wrong IPv4 address format" +msgstr "" + +#: dnstools/lib.py:88 +msgid "Wrong ip6 mechanism syntax" +msgstr "" + +#: dnstools/lib.py:93 +msgid "Wrong IPv6 address format" +msgstr "" + +#: dnstools/lib.py:108 dnstools/lib.py:134 +msgid "Invalid syntax for {} mechanism" +msgstr "" + +#: dnstools/lib.py:110 +msgid "Invalid mask found {}" +msgstr "" + +#: dnstools/lib.py:155 +msgid "Not an SPF record" +msgstr "" + +#: dnstools/lib.py:177 +msgid "Unknown mechanism {}" +msgstr "" + +#: dnstools/lib.py:179 +msgid "Unknown modifier {}" +msgstr "" + +#: dnstools/lib.py:182 +msgid "Duplicate modifier {} found" +msgstr "" + +#: dnstools/lib.py:186 +msgid "No mechanism found" +msgstr "" + +#: dnstools/lib.py:193 +msgid "Not a valid DKIM record" +msgstr "" + +#: dnstools/lib.py:201 dnstools/lib.py:254 +msgid "Invalid tag {}" +msgstr "" + +#: dnstools/lib.py:206 +msgid "No key found in record" +msgstr "" + +#: dnstools/lib.py:213 +msgid "Wrong value {} for tag {}" +msgstr "" + +#: dnstools/lib.py:228 +msgid "Wrong value {} for tag {}:" +msgstr "" + +#: dnstools/lib.py:232 +msgid " not an integer" +msgstr "" + +#: dnstools/lib.py:235 +msgid " less than {}" +msgstr "" + +#: dnstools/lib.py:238 +msgid " greater than {}" +msgstr "" + +#: dnstools/lib.py:246 +msgid "Not a valid DMARC record" +msgstr "" + +#: dnstools/lib.py:257 +msgid "Unknown tag {}" +msgstr "" + +#: dnstools/lib.py:262 +msgid "Missing required p tag" +msgstr "" + +#: dnstools/models.py:77 +msgid "Public key mismatchs" +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:8 +msgid "autoconfig record (Mozilla) found: " +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:12 +msgid "autoconfig record (Mozilla) not found." +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:17 +msgid "autodiscover record (Microsoft) found: " +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:21 +msgid "autodiscover record (Microsoft) not found." +msgstr "" + +#: dnstools/templates/dnstools/dns_record_detail.html:8 +msgid "A DNS record has been found and is valid." +msgstr "" + +#: dnstools/templates/dnstools/dns_record_detail.html:12 +msgid "A DNS record has been found but its syntax is not valid:" +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:7 +msgid "" +"Here is an example of DNS configuration (bind format). Replace value between " +"[ ] by the appropriate ones." +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:15 +msgid "IP address of your Modoboa server" +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:28 +msgid "Auto configuration" +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:30 +#: dnstools/templates/dnstools/domain_dns_configuration.html:31 +msgid "hostname of your automx server" +msgstr "" + +#: dnstools/views.py:36 +msgid "{} record of {}" +msgstr "" + +#: dnstools/views.py:64 +msgid "Auto configuration records for {}" +msgstr "" + +#: dnstools/views.py:84 +msgid "DNS configuration for {}" +msgstr "" diff --git a/modoboa/dnstools/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/dnstools/locale/cs_CZ/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/de/LC_MESSAGES/django.po b/modoboa/dnstools/locale/de/LC_MESSAGES/django.po index a6f6165d2..b3307df5e 100644 --- a/modoboa/dnstools/locale/de/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,96 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: dnstools/lib.py:86 + +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/el_GR/LC_MESSAGES/django.po b/modoboa/dnstools/locale/el_GR/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/el_GR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/en/LC_MESSAGES/django.po b/modoboa/dnstools/locale/en/LC_MESSAGES/django.po index a72e91518..2c3455add 100644 --- a/modoboa/dnstools/locale/en/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 16:48+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,149 +17,149 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: lib.py:116 lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: lib.py:183 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: lib.py:185 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: lib.py:188 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: lib.py:192 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: lib.py:199 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: lib.py:205 lib.py:256 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: lib.py:210 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: lib.py:217 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: lib.py:232 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: lib.py:236 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: lib.py:239 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: lib.py:242 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: lib.py:250 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: lib.py:259 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: lib.py:264 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" -#: templates/dnstools/autoconfig_records_status.html:8 +#: dnstools/templates/dnstools/autoconfig_records_status.html:8 msgid "autoconfig record (Mozilla) found: " msgstr "" -#: templates/dnstools/autoconfig_records_status.html:12 +#: dnstools/templates/dnstools/autoconfig_records_status.html:12 msgid "autoconfig record (Mozilla) not found." msgstr "" -#: templates/dnstools/autoconfig_records_status.html:17 +#: dnstools/templates/dnstools/autoconfig_records_status.html:17 msgid "autodiscover record (Microsoft) found: " msgstr "" -#: templates/dnstools/autoconfig_records_status.html:21 +#: dnstools/templates/dnstools/autoconfig_records_status.html:21 msgid "autodiscover record (Microsoft) not found." msgstr "" -#: templates/dnstools/dns_record_detail.html:8 +#: dnstools/templates/dnstools/dns_record_detail.html:8 msgid "A DNS record has been found and is valid." msgstr "" -#: templates/dnstools/dns_record_detail.html:12 +#: dnstools/templates/dnstools/dns_record_detail.html:12 msgid "A DNS record has been found but its syntax is not valid:" msgstr "" -#: templates/dnstools/domain_dns_configuration.html:7 +#: dnstools/templates/dnstools/domain_dns_configuration.html:7 msgid "" "Here is an example of DNS configuration (bind format). Replace value between " "[ ] by the appropriate ones." msgstr "" -#: templates/dnstools/domain_dns_configuration.html:15 +#: dnstools/templates/dnstools/domain_dns_configuration.html:15 msgid "IP address of your Modoboa server" msgstr "" -#: templates/dnstools/domain_dns_configuration.html:28 +#: dnstools/templates/dnstools/domain_dns_configuration.html:28 msgid "Auto configuration" msgstr "" -#: templates/dnstools/domain_dns_configuration.html:30 -#: templates/dnstools/domain_dns_configuration.html:31 +#: dnstools/templates/dnstools/domain_dns_configuration.html:30 +#: dnstools/templates/dnstools/domain_dns_configuration.html:31 msgid "hostname of your automx server" msgstr "" -#: views.py:36 +#: dnstools/views.py:36 msgid "{} record of {}" msgstr "" -#: views.py:64 +#: dnstools/views.py:64 msgid "Auto configuration records for {}" msgstr "" -#: views.py:84 +#: dnstools/views.py:84 msgid "DNS configuration for {}" msgstr "" diff --git a/modoboa/dnstools/locale/es/LC_MESSAGES/django.po b/modoboa/dnstools/locale/es/LC_MESSAGES/django.po index a6f6165d2..b3307df5e 100644 --- a/modoboa/dnstools/locale/es/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,96 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: dnstools/lib.py:86 + +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/fr/LC_MESSAGES/django.po b/modoboa/dnstools/locale/fr/LC_MESSAGES/django.po index 4c6be5d71..cc2860a0f 100644 --- a/modoboa/dnstools/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-11-20 16:48+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-20 16:50+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,149 +17,151 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "Mauvaise syntaxe de mécanisme ip4" -#: lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "Mauvais format d'adresse IPv4" -#: lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "Mauvaise syntaxe de mécanisme ip6" -#: lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "Mauvais format d'adresse IPv6" -#: lib.py:116 lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "Mauvaise syntaxe de mécanisme {}" -#: lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "Masque incorrect trouvé {}" -#: lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "Ce n'est pas un enregistrement SPF" -#: lib.py:183 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "Mécanisme inconnu {}" -#: lib.py:185 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "Modificateur inconnu {}" -#: lib.py:188 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "Modificateur dupliqué {} trouvé" -#: lib.py:192 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "Aucun mécanisme trouvé" -#: lib.py:199 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "Ce n'est pas un enregistrement DKIM" -#: lib.py:205 lib.py:256 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "Tag incorrect {}" -#: lib.py:210 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "Pas de clé trouvée dans l'enregistrement" -#: lib.py:217 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "Mauvaise valeur {} pour le tag {}" -#: lib.py:232 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "Mauvaise valuer {} pour le tag {} :" -#: lib.py:236 +#: dnstools/lib.py:232 msgid " not an integer" msgstr " ce n'est pas un entier" -#: lib.py:239 +#: dnstools/lib.py:235 msgid " less than {}" msgstr " inférieur à {}" -#: lib.py:242 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr " supérieur à {}" -#: lib.py:250 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "Ce n'est pas un enregistrement DMARC" -#: lib.py:259 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "Tag inconnu {}" -#: lib.py:264 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "Tag obligatoire p introuvable" -#: models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "La clé publique ne correspond pas" -#: templates/dnstools/autoconfig_records_status.html:8 +#: dnstools/templates/dnstools/autoconfig_records_status.html:8 msgid "autoconfig record (Mozilla) found: " msgstr "Enregistrement autoconfig (Mozilla) trouvé :" -#: templates/dnstools/autoconfig_records_status.html:12 +#: dnstools/templates/dnstools/autoconfig_records_status.html:12 msgid "autoconfig record (Mozilla) not found." msgstr "Enregistrement autoconfig (Mozilla) introuvable." -#: templates/dnstools/autoconfig_records_status.html:17 +#: dnstools/templates/dnstools/autoconfig_records_status.html:17 msgid "autodiscover record (Microsoft) found: " msgstr "Enregistrement autodiscover (Microsoft) trouvé :" -#: templates/dnstools/autoconfig_records_status.html:21 +#: dnstools/templates/dnstools/autoconfig_records_status.html:21 msgid "autodiscover record (Microsoft) not found." msgstr "Enregistrement autodiscover (Microsoft) introuvable." -#: templates/dnstools/dns_record_detail.html:8 +#: dnstools/templates/dnstools/dns_record_detail.html:8 msgid "A DNS record has been found and is valid." msgstr "Un enregistrement DNS a été trouvé et est correct." -#: templates/dnstools/dns_record_detail.html:12 +#: dnstools/templates/dnstools/dns_record_detail.html:12 msgid "A DNS record has been found but its syntax is not valid:" msgstr "Un enregistrement DNS a été trouvé mais sa syntaxe est incorrecte :" -#: templates/dnstools/domain_dns_configuration.html:7 +#: dnstools/templates/dnstools/domain_dns_configuration.html:7 msgid "" "Here is an example of DNS configuration (bind format). Replace value between " "[ ] by the appropriate ones." -msgstr "Voici un exemple de configuration DNS (format bind). Remplacez les valeurs entre [ ] par celles appropriées." +msgstr "" +"Voici un exemple de configuration DNS (format bind). Remplacez les valeurs " +"entre [ ] par celles appropriées." -#: templates/dnstools/domain_dns_configuration.html:15 +#: dnstools/templates/dnstools/domain_dns_configuration.html:15 msgid "IP address of your Modoboa server" msgstr "Adresse IP de votre serveur Modoboa" -#: templates/dnstools/domain_dns_configuration.html:28 +#: dnstools/templates/dnstools/domain_dns_configuration.html:28 msgid "Auto configuration" msgstr "Configuration automatique" -#: templates/dnstools/domain_dns_configuration.html:30 -#: templates/dnstools/domain_dns_configuration.html:31 +#: dnstools/templates/dnstools/domain_dns_configuration.html:30 +#: dnstools/templates/dnstools/domain_dns_configuration.html:31 msgid "hostname of your automx server" msgstr "Nom d'hôte de votre serveur automx" -#: views.py:36 +#: dnstools/views.py:36 msgid "{} record of {}" msgstr "Enregistrement {} de {}" -#: views.py:64 +#: dnstools/views.py:64 msgid "Auto configuration records for {}" msgstr "Enregistrements d'autoconfiguration pour {}" -#: views.py:84 +#: dnstools/views.py:84 msgid "DNS configuration for {}" msgstr "Configuration DNS pour {}" diff --git a/modoboa/dnstools/locale/it/LC_MESSAGES/django.po b/modoboa/dnstools/locale/it/LC_MESSAGES/django.po index a6f6165d2..b3307df5e 100644 --- a/modoboa/dnstools/locale/it/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,96 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: dnstools/lib.py:86 + +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/dnstools/locale/ja_JP/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/dnstools/locale/nl_NL/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/nl_NL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/dnstools/locale/pl_PL/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/pl_PL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/dnstools/locale/pt_BR/LC_MESSAGES/django.po index d73835415..67381ef5e 100644 --- a/modoboa/dnstools/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,96 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: dnstools/lib.py:86 + +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/dnstools/locale/pt_PT/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/pt_PT/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/dnstools/locale/ro_RO/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/ru/LC_MESSAGES/django.po b/modoboa/dnstools/locale/ru/LC_MESSAGES/django.po index 9431b0dd6..b0b2eb9a6 100644 --- a/modoboa/dnstools/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,95 +19,96 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" -#: dnstools/lib.py:86 + +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/sv/LC_MESSAGES/django.po b/modoboa/dnstools/locale/sv/LC_MESSAGES/django.po index a6f6165d2..b3307df5e 100644 --- a/modoboa/dnstools/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/sv/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,96 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: dnstools/lib.py:86 + +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/dnstools/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/dnstools/locale/tr_TR/LC_MESSAGES/django.po new file mode 100644 index 000000000..2c3455add --- /dev/null +++ b/modoboa/dnstools/locale/tr_TR/LC_MESSAGES/django.po @@ -0,0 +1,165 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: dnstools/lib.py:78 +msgid "Wrong ip4 mechanism syntax" +msgstr "" + +#: dnstools/lib.py:82 +msgid "Wrong IPv4 address format" +msgstr "" + +#: dnstools/lib.py:88 +msgid "Wrong ip6 mechanism syntax" +msgstr "" + +#: dnstools/lib.py:93 +msgid "Wrong IPv6 address format" +msgstr "" + +#: dnstools/lib.py:108 dnstools/lib.py:134 +msgid "Invalid syntax for {} mechanism" +msgstr "" + +#: dnstools/lib.py:110 +msgid "Invalid mask found {}" +msgstr "" + +#: dnstools/lib.py:155 +msgid "Not an SPF record" +msgstr "" + +#: dnstools/lib.py:177 +msgid "Unknown mechanism {}" +msgstr "" + +#: dnstools/lib.py:179 +msgid "Unknown modifier {}" +msgstr "" + +#: dnstools/lib.py:182 +msgid "Duplicate modifier {} found" +msgstr "" + +#: dnstools/lib.py:186 +msgid "No mechanism found" +msgstr "" + +#: dnstools/lib.py:193 +msgid "Not a valid DKIM record" +msgstr "" + +#: dnstools/lib.py:201 dnstools/lib.py:254 +msgid "Invalid tag {}" +msgstr "" + +#: dnstools/lib.py:206 +msgid "No key found in record" +msgstr "" + +#: dnstools/lib.py:213 +msgid "Wrong value {} for tag {}" +msgstr "" + +#: dnstools/lib.py:228 +msgid "Wrong value {} for tag {}:" +msgstr "" + +#: dnstools/lib.py:232 +msgid " not an integer" +msgstr "" + +#: dnstools/lib.py:235 +msgid " less than {}" +msgstr "" + +#: dnstools/lib.py:238 +msgid " greater than {}" +msgstr "" + +#: dnstools/lib.py:246 +msgid "Not a valid DMARC record" +msgstr "" + +#: dnstools/lib.py:257 +msgid "Unknown tag {}" +msgstr "" + +#: dnstools/lib.py:262 +msgid "Missing required p tag" +msgstr "" + +#: dnstools/models.py:77 +msgid "Public key mismatchs" +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:8 +msgid "autoconfig record (Mozilla) found: " +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:12 +msgid "autoconfig record (Mozilla) not found." +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:17 +msgid "autodiscover record (Microsoft) found: " +msgstr "" + +#: dnstools/templates/dnstools/autoconfig_records_status.html:21 +msgid "autodiscover record (Microsoft) not found." +msgstr "" + +#: dnstools/templates/dnstools/dns_record_detail.html:8 +msgid "A DNS record has been found and is valid." +msgstr "" + +#: dnstools/templates/dnstools/dns_record_detail.html:12 +msgid "A DNS record has been found but its syntax is not valid:" +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:7 +msgid "" +"Here is an example of DNS configuration (bind format). Replace value between " +"[ ] by the appropriate ones." +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:15 +msgid "IP address of your Modoboa server" +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:28 +msgid "Auto configuration" +msgstr "" + +#: dnstools/templates/dnstools/domain_dns_configuration.html:30 +#: dnstools/templates/dnstools/domain_dns_configuration.html:31 +msgid "hostname of your automx server" +msgstr "" + +#: dnstools/views.py:36 +msgid "{} record of {}" +msgstr "" + +#: dnstools/views.py:64 +msgid "Auto configuration records for {}" +msgstr "" + +#: dnstools/views.py:84 +msgid "DNS configuration for {}" +msgstr "" diff --git a/modoboa/dnstools/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/dnstools/locale/zh_TW/LC_MESSAGES/django.po index a5c83b262..2c3455add 100644 --- a/modoboa/dnstools/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/dnstools/locale/zh_TW/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,95 +17,95 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: dnstools/lib.py:86 +#: dnstools/lib.py:78 msgid "Wrong ip4 mechanism syntax" msgstr "" -#: dnstools/lib.py:90 +#: dnstools/lib.py:82 msgid "Wrong IPv4 address format" msgstr "" -#: dnstools/lib.py:96 +#: dnstools/lib.py:88 msgid "Wrong ip6 mechanism syntax" msgstr "" -#: dnstools/lib.py:101 +#: dnstools/lib.py:93 msgid "Wrong IPv6 address format" msgstr "" -#: dnstools/lib.py:116 dnstools/lib.py:142 +#: dnstools/lib.py:108 dnstools/lib.py:134 msgid "Invalid syntax for {} mechanism" msgstr "" -#: dnstools/lib.py:118 +#: dnstools/lib.py:110 msgid "Invalid mask found {}" msgstr "" -#: dnstools/lib.py:163 +#: dnstools/lib.py:155 msgid "Not an SPF record" msgstr "" -#: dnstools/lib.py:185 +#: dnstools/lib.py:177 msgid "Unknown mechanism {}" msgstr "" -#: dnstools/lib.py:187 +#: dnstools/lib.py:179 msgid "Unknown modifier {}" msgstr "" -#: dnstools/lib.py:190 +#: dnstools/lib.py:182 msgid "Duplicate modifier {} found" msgstr "" -#: dnstools/lib.py:194 +#: dnstools/lib.py:186 msgid "No mechanism found" msgstr "" -#: dnstools/lib.py:201 +#: dnstools/lib.py:193 msgid "Not a valid DKIM record" msgstr "" -#: dnstools/lib.py:209 dnstools/lib.py:262 +#: dnstools/lib.py:201 dnstools/lib.py:254 msgid "Invalid tag {}" msgstr "" -#: dnstools/lib.py:214 +#: dnstools/lib.py:206 msgid "No key found in record" msgstr "" -#: dnstools/lib.py:221 +#: dnstools/lib.py:213 msgid "Wrong value {} for tag {}" msgstr "" -#: dnstools/lib.py:236 +#: dnstools/lib.py:228 msgid "Wrong value {} for tag {}:" msgstr "" -#: dnstools/lib.py:240 +#: dnstools/lib.py:232 msgid " not an integer" msgstr "" -#: dnstools/lib.py:243 +#: dnstools/lib.py:235 msgid " less than {}" msgstr "" -#: dnstools/lib.py:246 +#: dnstools/lib.py:238 msgid " greater than {}" msgstr "" -#: dnstools/lib.py:254 +#: dnstools/lib.py:246 msgid "Not a valid DMARC record" msgstr "" -#: dnstools/lib.py:265 +#: dnstools/lib.py:257 msgid "Unknown tag {}" msgstr "" -#: dnstools/lib.py:270 +#: dnstools/lib.py:262 msgid "Missing required p tag" msgstr "" -#: dnstools/models.py:79 +#: dnstools/models.py:77 msgid "Public key mismatchs" msgstr "" diff --git a/modoboa/ldapsync/locale/br/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/br/LC_MESSAGES/django.po new file mode 100644 index 000000000..4ea009924 --- /dev/null +++ b/modoboa/ldapsync/locale/br/LC_MESSAGES/django.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ldapsync/lib.py:84 +msgid "Failed to create LDAP account: {}" +msgstr "" + +#: ldapsync/lib.py:124 +msgid "Failed to update LDAP account: {}" +msgstr "" + +#: ldapsync/lib.py:138 +msgid "Failed to delete LDAP account: {}" +msgstr "" + +#: ldapsync/lib.py:149 +msgid "Failed to disable LDAP account: {}" +msgstr "" diff --git a/modoboa/ldapsync/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/cs_CZ/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/de/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/de/LC_MESSAGES/django.po index ce1bb6dec..4f5696995 100644 --- a/modoboa/ldapsync/locale/de/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ldapsync/lib.py:63 + +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/el_GR/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/el_GR/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/el_GR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/en/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/en/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/en/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/es/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/es/LC_MESSAGES/django.po index ce1bb6dec..4f5696995 100644 --- a/modoboa/ldapsync/locale/es/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ldapsync/lib.py:63 + +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/fr/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/fr/LC_MESSAGES/django.po index 4dde88cec..c267f55a8 100644 --- a/modoboa/ldapsync/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-05-07 10:50+0200\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "Impossible de créer le compte LDAP : {}" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "Impossible de mettre à jour le compte LDAP : {}" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "Impossible de supprimer le compte LDAP : {}" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "Impossible de désactiver le compte LDAP : {}" diff --git a/modoboa/ldapsync/locale/it/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/it/LC_MESSAGES/django.po index ce1bb6dec..4f5696995 100644 --- a/modoboa/ldapsync/locale/it/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/it/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ldapsync/lib.py:63 + +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/ja_JP/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/nl_NL/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/nl_NL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/pl_PL/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/pl_PL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/pt_BR/LC_MESSAGES/django.po index e939f7c74..4ea009924 100644 --- a/modoboa/ldapsync/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ldapsync/lib.py:63 + +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/pt_PT/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/pt_PT/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/ro_RO/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/ru/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/ru/LC_MESSAGES/django.po index 6469e52bb..3a0d30a22 100644 --- a/modoboa/ldapsync/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,18 +19,19 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" -#: ldapsync/lib.py:63 + +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/sv/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/sv/LC_MESSAGES/django.po index ce1bb6dec..4f5696995 100644 --- a/modoboa/ldapsync/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/sv/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ldapsync/lib.py:63 + +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/ldapsync/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/tr_TR/LC_MESSAGES/django.po new file mode 100644 index 000000000..324be8cce --- /dev/null +++ b/modoboa/ldapsync/locale/tr_TR/LC_MESSAGES/django.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ldapsync/lib.py:84 +msgid "Failed to create LDAP account: {}" +msgstr "" + +#: ldapsync/lib.py:124 +msgid "Failed to update LDAP account: {}" +msgstr "" + +#: ldapsync/lib.py:138 +msgid "Failed to delete LDAP account: {}" +msgstr "" + +#: ldapsync/lib.py:149 +msgid "Failed to disable LDAP account: {}" +msgstr "" diff --git a/modoboa/ldapsync/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/ldapsync/locale/zh_TW/LC_MESSAGES/django.po index fafbea881..324be8cce 100644 --- a/modoboa/ldapsync/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/ldapsync/locale/zh_TW/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,18 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ldapsync/lib.py:63 +#: ldapsync/lib.py:84 msgid "Failed to create LDAP account: {}" msgstr "" -#: ldapsync/lib.py:102 +#: ldapsync/lib.py:124 msgid "Failed to update LDAP account: {}" msgstr "" -#: ldapsync/lib.py:116 +#: ldapsync/lib.py:138 msgid "Failed to delete LDAP account: {}" msgstr "" -#: ldapsync/lib.py:127 +#: ldapsync/lib.py:149 msgid "Failed to disable LDAP account: {}" msgstr "" diff --git a/modoboa/limits/locale/br/LC_MESSAGES/django.po b/modoboa/limits/locale/br/LC_MESSAGES/django.po index 4c5ac3674..022fe7ecc 100644 --- a/modoboa/limits/locale/br/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/br/LC_MESSAGES/django.po @@ -1,201 +1,230 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Irriep Nala Novram , 2019 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-03-11 10:20+0000\n" "Last-Translator: Irriep Nala Novram \n" "Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Bevennoù dre-ziouer dre-verour" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Enaouiñ bevennoù diouer dre-verour" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Enaouiñ pe lazhañ ar bevennoù dre-verour" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Merourien domani" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a verourien zomani aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +msgstr "" +"Niver brasañ a verourien zomani aotreet evit ur merour nevez anezhañ. (0 " +"evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domanioù" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a zomanioù aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +msgstr "" +"Niver brasañ a zomanioù aotreet evit ur merour nevez anezhañ. (0 evit berzañ " +"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Aliasoù domani" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a aliasoù domani aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Niver brasañ a aliasoù domani aotreet evit ur merour nevez anezhañ. (0 evit " +"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Boest-posteloù" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a voestoù-postel aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +msgstr "" +"Niver brasañ a voestoù-postel aotreet evit ur merour nevez anezhañ. (0 evit " +"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Aliasoù boes-postel" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a aliasoù aotreet evit ur merour nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +msgstr "" +"Niver brasañ a aliasoù aotreet evit ur merour nevez anezhañ. (0 evit berzañ " +"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "Kota" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" -msgstr "Kota un eilgwerzher a vo aotreet da rannañ kenetre an domanioù krouet gantañ. (0 a dalvez tamm kota ebet)" +msgstr "" +"Kota un eilgwerzher a vo aotreet da rannañ kenetre an domanioù krouet " +"gantañ. (0 a dalvez tamm kota ebet)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Bevennoù dre-zomani dre-ziouer" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Enaouiñ ar bevennoù dre-zomani" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Enaouiñ pe lazhañ ar bevennoù dre-zomani" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a verourien zomani aotreet evit un domani nevez (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Niver brasañ a verourien zomani aotreet evit un domani nevez (0 evit berzañ " +"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a aliasoù domani aotreet evit un domani nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +msgstr "" +"Niver brasañ a aliasoù domani aotreet evit un domani nevez anezhañ. (0 evit " +"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Niver brasañ a voestoù-postel aotreet evit un domani nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +msgstr "" +"Niver brasañ a voestoù-postel aotreet evit un domani nevez anezhañ. (0 evit " +"berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation," -" -1 to allow unlimited creations)" -msgstr "Niver brasañ a aliasoù aotreet evit un domani nevez anezhañ. (0 evit berzañ kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" +msgstr "" +"Niver brasañ a aliasoù aotreet evit un domani nevez anezhañ. (0 evit berzañ " +"kement krouidigezh, -1 evit aotren ar c'hrouidigezhioù divevenn)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Bevennoù" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Niver brasañ a zomanioù a c'hall bezañ krouet gant an implijer-mañ" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" -msgstr "Niver brasañ a aliasoù domanioù a c'hall bezañ krouet gant an implijer-mañ" +msgstr "" +"Niver brasañ a aliasoù domanioù a c'hall bezañ krouet gant an implijer-mañ" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" -msgstr "Niver brasañ a voestoù-postel a c'hall bezañ krouet gant an implijer-mañ" +msgstr "" +"Niver brasañ a voestoù-postel a c'hall bezañ krouet gant an implijer-mañ" + +#: limits/constants.py:21 +msgid "Maximum number of mailbox aliases this user can create" +msgstr "" +"Niver brasañ a aliasoù boest-postel a c'hall bezañ krouet gant an implijer-" +"mañ" #: limits/constants.py:25 -msgid "Maximum number of mailbox aliases this user can create" -msgstr "Niver brasañ a aliasoù boest-postel a c'hall bezañ krouet gant an implijer-mañ" - -#: limits/constants.py:29 msgid "Maximum number of domain administrators this user can create" -msgstr "Niver brasañ a verourien domani a c'hall bezañ krouet gant an implijer-mañ" +msgstr "" +"Niver brasañ a verourien domani a c'hall bezañ krouet gant an implijer-mañ" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "Kota rannet kenetre domanioù an eilgwerzher-mañ" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Niver brasañ a aliasoù domani aotreet evit an domani-mañ." -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Niver brasañ a voestoù-postel aotreet evit an domani-mañ." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Niver brasañ a aliasoù aotreet evit an domani-mañ." -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "Niver brasañ a verourien zomani aotreet evit an domani-mañ." -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Bevenn fall" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Mammennoù" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: bevenn tizhet" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Ket trawalc'h a vammennoù" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "N'hoc'h ket aotreet da dermeniñ talvoudegezhioù divevenn" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "divevennet" diff --git a/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po index 6b108b637..d3d6b1936 100644 --- a/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2015-01-06 10:05+0000\n" "Last-Translator: Miroslav Abrahám \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/" @@ -19,26 +19,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Výchozí omezení" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Správci domén" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -47,11 +47,11 @@ msgid "" "to deny any creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet správců domény (nastavení nového správce)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domény" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -59,12 +59,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet domén (nastavení nového správce)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Doménové aliasy" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -72,12 +72,12 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Schránky" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -85,12 +85,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet schránek (nastavení nového správce)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Aliasy schránek" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -98,31 +98,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet aliasů (nastavení nového správce)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Výchozí omezení" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -131,7 +131,7 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet správců domény (nastavení nového správce)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -139,7 +139,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet doménových aliasů (nastavení nového správce)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -147,7 +147,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximální povolený počet schránek (nastavení nového správce)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -155,39 +155,39 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Maximální povolený počet aliasů (nastavení nového správce)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Omezení" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Maximální povolený počet domén, které může tento uživatel vytvořit" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "" "Maximální povolený počet doménových aliasů, které může tento uživatel " "vytvořit" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Maximální povolený počet správců domény, které může tento uživatel vytvořit" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." @@ -195,48 +195,48 @@ msgstr "" "Maximální povolený počet doménových aliasů, které může tento uživatel " "vytvořit" -#: limits/constants.py:50 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximální povolený počet schránek, které může tento uživatel vytvořit" -#: limits/constants.py:54 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Maximální povolený počet aliasů chránek, které může tento uživatel vytvořit" -#: limits/constants.py:59 +#: limits/constants.py:55 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Maximální povolený počet správců domény, které může tento uživatel vytvořit" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Neplatné omezení" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Zdroje" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: limit byl dosažen" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Nedostatek zdrojů" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Nemáte oprávnění nastavovat neomezené hodnoty" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "neomezeno" diff --git a/modoboa/limits/locale/de/LC_MESSAGES/django.po b/modoboa/limits/locale/de/LC_MESSAGES/django.po index 175a353da..c09ab6794 100644 --- a/modoboa/limits/locale/de/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/de/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-03 11:02+0000\n" "Last-Translator: Arvedui \n" "Language-Team: German (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,26 +20,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Standard-Grenzwerte" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Domain-Administratoren" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -50,11 +50,11 @@ msgstr "" "Maximale Anzahl der Domain-Administratoren, die ein neuer Administrator " "erstellen darf" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domains" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -62,12 +62,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Domains, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Domain-Aliase" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -76,12 +76,12 @@ msgid "" msgstr "" "Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Mailboxen" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -89,12 +89,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Mailboxen-Aliase" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -102,31 +102,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Standard-Grenzwerte" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -137,7 +137,7 @@ msgstr "" "Maximale Anzahl der Domain-Administratoren, die ein neuer Administrator " "erstellen darf" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -146,7 +146,7 @@ msgid "" msgstr "" "Maximale Anzahl Domain-Aliase, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -154,7 +154,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximale Anzahl Mailboxen, die ein neuer Administrator erstellen darf" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -162,82 +162,82 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Maximale Anzahl Aliase, die ein neuer Administrator erstellen darf" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Grenzwerte" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Maximale Anzahl Domains, die dieser Benutzer erstellen darf" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Maximale Anzahl Domain Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:50 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximale Anzahl Mailboxen, die dieser Benutzer erstellen darf" -#: limits/constants.py:54 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Maximale Anzahl Mailbox-Aliase, die dieser Benutzer erstellen darf" -#: limits/constants.py:59 +#: limits/constants.py:55 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "Maximale Anzahl Domains, die ein Administrator erstellen darf" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Ungültiger Grenzwert" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Ressourcen" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: Grenze erreicht" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Nicht ausreichend Ressourcen" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "" "Sie verfügen nicht über die erforderlichen Rechte, um unbegrenzte Werte " "anzugeben" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "unbegrenzt" diff --git a/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po b/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po index 13b5a2dce..a3a991f07 100644 --- a/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-10-11 19:02+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,24 +20,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Προεπιλεγμένα όρια ανά διαχειριστή" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Ενεργοποίηση ορίων ανά διαχειριστή" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Ενεργοποίηση ή απενεργοποίηση ορίων ανά διαχειριστή" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Διαχειριστές domain" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -45,11 +45,11 @@ msgstr "" "Μέγιστος αριθμός επιτρεπτών διαχειριστών domain ενός νέου διαχειριστή. (0 " "για καμία δημιουργία, -1 για απεριόριστες δημιουργίες)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domains" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -57,12 +57,12 @@ msgstr "" "Μέγιστος αριθμός επιτρεπτών domain ενός νέου διαχειριστή. (0 για καμία " "δημιουργία, -1 για απεριόριστες δημιουργίες)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Ψευδώνυμα Domain" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -70,12 +70,12 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για domain, για νέους " "διαχειριστές. (Το 0 δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) " -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Γραμματοκιβώτια" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -83,12 +83,12 @@ msgstr "" "Μέγιστος αριθμός επιτρεπτών γραμματοκιβωτίων ενός νέου διαχειριστή. (0 για " "καμία δημιουργία, -1 για απεριόριστες δημιουργίες)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Ψευδώνυμο γραμματοκιβώτιου" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -96,11 +96,11 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για νέους διαχειριστές. (Το 0 " "δεν επιτρέπει κανένα, το -1 επιτρέπει απεριόριστα) " -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "Quota" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -108,19 +108,19 @@ msgstr "" "To quota που ένας μεταπωλητής επιτρέπεται να μοιράζει μεταξύ των domains που " "δημιουργεί. (0 σημαίνει χωρίς quota)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Προκαθορισμένα ανά domain όρια" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Ενεργοποίηση ορίων ανά domain" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Ενεργοποίηση ή απενεργοποίηση ορίων ανά domain" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -128,7 +128,7 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενους διαχειριστές domain για ένα νέο domain. " "(0 απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -136,7 +136,7 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα domain για ένα νέο domain. (0 " "απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -144,7 +144,7 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα γραμματοκιβώτια για ένα νέο domain. (0 " "απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -152,85 +152,85 @@ msgstr "" "Μέγιστος αριθμός από επιτρεπόμενα ψευδώνυμα για ένα νέο domain. (0 " "απαγορεύει την δημιουργία, -1 επιτρέπει άπειρες δημιουργίες)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Όρια" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "" "Ο μέγιστος αριθμός domain που μπορούν να δημιουργηθούν από αυτόν τον χρήστη" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "" "Ο μέγιστος αριθμός από ψευδώνυμα domain που ο συγκεκριμένος χρήστης μπορεί " "να δημιουργήσει" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "" "Ο μέγιστος αριθμός γραμματοκυβωτίων που μπορούν να δημιουργηθούν από αυτόν " "τον χρήστη" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Ο μέγιστος αριθμός από ψευδώνυμα γραμματοκιβώτιον που ο συγκεκριμένος " "χρήστης μπορεί να δημιουργήσει. " -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Ο μέγιστος αριθμός διαχειριστών domain που μπορούν να δημιουργηθούν από " "αυτόν τον χρήστη" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "Διαμοιραζόμενο quota μεταξύ των domains του μεταπωλητή" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "" "Μέγιστος αριθμός από ψευδώνυμα domain που επιτρέπονται για αυτό το domain" -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "" "Μέγιστος αριθμός από γραμματοκιβώτια που επιτρέπονται για αυτό το domain." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Μέγιστος αριθμός από ψευδώνυμα γραμματοκιβωτίων που επιτρέπονται για αυτό το " "domain. " -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "Μέγιστος αριθμός διαχειριστών domain για αυτό το domain" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Λάθος όριο" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Πόροι" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: χρήση ορίου" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Δεν υπάρχουν διαθέσιμοι πόροι" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Δεν έχετε δικαίωμα καταχώρισης απεριόριστων τιμών" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "χωρίς περιορισμούς" diff --git a/modoboa/limits/locale/en/LC_MESSAGES/django.po b/modoboa/limits/locale/en/LC_MESSAGES/django.po index b7fd1e123..1fbf7e6ac 100644 --- a/modoboa/limits/locale/en/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,184 +17,184 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" msgstr "" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "" -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "" -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "" diff --git a/modoboa/limits/locale/es/LC_MESSAGES/django.po b/modoboa/limits/locale/es/LC_MESSAGES/django.po index b5e004584..2b10b4232 100644 --- a/modoboa/limits/locale/es/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/es/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2013-10-01 09:56+0000\n" "Last-Translator: Pedro Gracia \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,26 +20,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Límites por defecto" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Administradores del dominio" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -50,11 +50,11 @@ msgstr "" "Número máximo de dominios permitido de administradores para un nuevo " "administrador" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Dominios" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -62,12 +62,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de dominios permitidos para un nuevo administrador" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Alias del dominio" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -76,12 +76,12 @@ msgid "" msgstr "" "Número máximo permitido de alias de dominio para un nuevo administrador" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Mailboxes" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -89,12 +89,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de mailboxes permitidas para un nuevo administrador" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Alias del mailbox" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -102,31 +102,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máxido de alias permitidos para un nuevo administrador" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Límites por defecto" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -137,7 +137,7 @@ msgstr "" "Número máximo de dominios permitido de administradores para un nuevo " "administrador" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -146,7 +146,7 @@ msgid "" msgstr "" "Número máximo permitido de alias de dominio para un nuevo administrador" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -154,7 +154,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de mailboxes permitidas para un nuevo administrador" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -162,82 +162,82 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Número máxido de alias permitidos para un nuevo administrador" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Límites" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Número máxima de dominios que este usuario puede crear" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Número máximo de alias de dominio que este usuario puede crear" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Número máximo de mailboxes que este usuario puede crear" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "Número máximo de alias a mailboxes que este usuario puede crear" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Número máximo de administradores de dominio que este usuario puede crear" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Número máximo de alias de dominio que este usuario puede crear" -#: limits/constants.py:50 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Número máximo de mailboxes que este usuario puede crear" -#: limits/constants.py:54 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Número máximo de alias a mailboxes que este usuario puede crear" -#: limits/constants.py:59 +#: limits/constants.py:55 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Número máximo de administradores de dominio que este usuario puede crear" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Límite inválido" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Recursos" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: límete alcanzado" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "No hay suficientes recursos" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "No está autorizado definir valores ilimitados" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "ilimitado" diff --git a/modoboa/limits/locale/fr/LC_MESSAGES/django.po b/modoboa/limits/locale/fr/LC_MESSAGES/django.po index 2725045f9..833c345a0 100644 --- a/modoboa/limits/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-03-03 08:05+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -18,24 +18,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Limites administrateur par défaut" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Activer les limites par administrateur" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Activer ou désactiver les limites par administrateur" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Admins de domaine" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -43,11 +43,11 @@ msgstr "" "Nombre maximal d'admins de domaine pour un nouvel administrateur. (0 pour " "interdire toute création, -1 pour autoriser les création illimitées)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domaines" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -55,12 +55,12 @@ msgstr "" "Nombre maximal de domaines pour un nouvel administrateur. (0 pour interdire " "toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Alias de domaine" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -68,12 +68,12 @@ msgstr "" "Nombre maximal d'alias de domaine pour un nouvel administrateur. (0 pour " "interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Boites" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -81,12 +81,12 @@ msgstr "" "Nombre maximal de boites pour un nouvel administrateur. (0 pour interdire " "toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Alias de boite." -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -94,11 +94,11 @@ msgstr "" "Nombre maximal d'alias de boite pour un nouvel administrateur. (0 pour " "interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "Quota" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -106,19 +106,19 @@ msgstr "" "Le quota qu'un revendeur sera autorisé à partager entre les domaines qu'il " "créé. (0 signifie pas de quota)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Limites domaine par défaut" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Activer les limites par domaine" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Activer ou désactiver les limites par domaine" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -127,7 +127,7 @@ msgstr "" "domaine (0 pour interdire toute création, -1 pour autoriser les créations " "illimitées)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -135,7 +135,7 @@ msgstr "" "Nombre maximal d'alias de domaine autorisés pour un nouveau domaine. (0 pour " "interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -143,7 +143,7 @@ msgstr "" "Nombre maximal de boites aux lettres autorisées pour un nouveau domaine. (0 " "pour interdire toute création, -1 pour autoriser les créations illimitées)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -151,72 +151,72 @@ msgstr "" "Nombre maximal d'alias autorisés pour un nouveau domaine. (0 pour interdire " "toute création, -1 pour autoriser les créations illimitées)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limites" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Nombre maximal de domaines que cet utilisateur peut créer" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Nombre maximal d'alias de domain que cet utilisateur peut créer" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Nombre maximal de boites que cet utilisateur peut créer" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "Nombre maximal d'alias de boite que cet utilisateur peut créer" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "Nombre maximal d'admins de domaine que cet utilisateur peut créer" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "Quota partagé entre les domaines de ce revendeur" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Nombre maximal d'alias de domaine autorisés pour ce domaine." -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Nombre maximal de boites aux lettres autorisées pour ce domaine." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Nombre maximal d'alias autorisés pour ce domaine." -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "Nombre maximal d'administrateurs de domaine autorisés pour ce domaine." -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Limite invalide" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Ressources" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s : limite atteinte" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Pas assez de ressources" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Vous n'êtes pas autorisé à définir des valeurs illimitées" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "illimité" diff --git a/modoboa/limits/locale/it/LC_MESSAGES/django.po b/modoboa/limits/locale/it/LC_MESSAGES/django.po index eb31747af..47d8476c2 100644 --- a/modoboa/limits/locale/it/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giancarlo Gaifas , 2013 # marcotrevisan , 2018 @@ -10,194 +10,219 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-02 14:34+0000\n" "Last-Translator: marcotrevisan \n" -"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" +"it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Limiti predefiniti per amministratore" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Abilita i limiti per amministratore" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Abilita o disabilita i limiti per amministratore" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Amministratori di domini" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" -msgstr "Il numero massimo di domini amministrabili per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)" +msgstr "" +"Il numero massimo di domini amministrabili per nuovi amministratori. (0 per " +"disabilitare la creazione, -1 per permettere la creazione illimitata)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domini" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Il numero massimo di domini per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)" +msgstr "" +"Il numero massimo di domini per nuovi amministratori. (0 per disabilitare la " +"creazione, -1 per permettere la creazione illimitata)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Alias del dominio" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la " +"creazione, -1 per permettere la creazione illimitata)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Caselle di posta" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Il numero massimo di caselle di posta elettronica per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)" +msgstr "" +"Il numero massimo di caselle di posta elettronica per nuovi amministratori. " +"(0 per disabilitare la creazione, -1 per permettere la creazione illimitata)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Alias delle caselle di posta" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la creazione, -1 per permettere la creazione illimitata)" +msgstr "" +"Il numero massimo di alias per nuovi amministratori. (0 per disabilitare la " +"creazione, -1 per permettere la creazione illimitata)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "Dimensione massima" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" -msgstr "La dimensione massima che un rivenditore potrà condividere tra i domini che crea. (0 significa nessun limite)" +msgstr "" +"La dimensione massima che un rivenditore potrà condividere tra i domini che " +"crea. (0 significa nessun limite)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Limiti predefiniti per dominio" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Abilita i limiti per dominio" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Abilita o disabilita i limiti per dominio" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny" -" any creation, -1 to allow unlimited creations)" -msgstr "Numero massimo di amministratori di dominio consentiti per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" +msgstr "" +"Numero massimo di amministratori di dominio consentiti per un nuovo dominio. " +"(0 per negare qualunque creazione, -1 per permetterne senza limiti)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numero massimo di alias di dominio consentiti per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)" +msgstr "" +"Numero massimo di alias di dominio consentiti per un nuovo dominio. (0 per " +"negare qualunque creazione, -1 per permetterne senza limiti)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" -msgstr "Numero massimo di caselle di posta consentite per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)" +msgstr "" +"Numero massimo di caselle di posta consentite per un nuovo dominio. (0 per " +"negare qualunque creazione, -1 per permetterne senza limiti)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation," -" -1 to allow unlimited creations)" -msgstr "Numero massimo di alias consentiti per un nuovo dominio. (0 per negare qualunque creazione, -1 per permetterne senza limiti)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" +msgstr "" +"Numero massimo di alias consentiti per un nuovo dominio. (0 per negare " +"qualunque creazione, -1 per permetterne senza limiti)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limiti" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Numero massimo di domini che questo utente può creare" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Numero massimo di alias di dominio che questo utente può creare" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Numero massimo di caselle di posta che questo utente può creare" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" -msgstr "Numero massimo di alias di caselle di posta che questo utente può creare" +msgstr "" +"Numero massimo di alias di caselle di posta che questo utente può creare" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" -msgstr "Numero massimo di amministratori di dominio che questo utente può creare" +msgstr "" +"Numero massimo di amministratori di dominio che questo utente può creare" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "Dimensione massima condivisa per i domini di questo rivenditore" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Massimo numero di alias di dominio permessi per questo dominio." -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Numero massimo di caselle di posta consentite per questo dominio." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." -msgstr "Numero massimo di alias di caselle di posta consentite per questo dominio." +msgstr "" +"Numero massimo di alias di caselle di posta consentite per questo dominio." -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." -msgstr "Numero massimo di amministratori di dominio consentiti per questo dominio." +msgstr "" +"Numero massimo di amministratori di dominio consentiti per questo dominio." -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Limite non valido" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Risorse" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: raggiunto il limite" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Risorse insufficienti" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Non ti è consentito definire valori non limitati" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "senza limiti" diff --git a/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po index dbd326623..6eed67117 100644 --- a/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-06-07 07:16+0000\n" "Last-Translator: cwatanab \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,24 +19,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "デフォルトの管理者あたりの制限" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "管理者あたりの制限を有効にする" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "管理者あたりの制限を有効もしくは無効にする" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "ドメイン管理者" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -44,11 +44,11 @@ msgstr "" "新しい管理者に許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の作" "成を許可)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "ドメイン" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -56,12 +56,12 @@ msgstr "" "新しい管理者に許可されたドメインの最大数 (0は作成を拒否、-1は無制限の作成を許" "可)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "ドメインエイリアス" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -69,12 +69,12 @@ msgstr "" "新しい管理者に許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制限" "の作成を許可)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "メールボックス" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -82,12 +82,12 @@ msgstr "" "新しい管理者に許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の作" "成を許可)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "メールボックスエイリアス" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -95,29 +95,29 @@ msgstr "" "新しい管理者に許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成を" "許可)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "デフォルトのドメインあたりの制限" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "ドメインあたりの制限を有効にする" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "ドメインあたりの制限を有効もしくは無効にする" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -125,7 +125,7 @@ msgstr "" "新しいドメインに許可されたドメイン管理者の最大数 (0は作成を拒否、-1は無制限の" "作成を許可)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -133,7 +133,7 @@ msgstr "" "新しいドメインに許可されたドメインエイリアスの最大数 (0は作成を拒否、-1は無制" "限の作成を許可)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -141,7 +141,7 @@ msgstr "" "新しいドメインに許可されたメールボックスの最大数 (0は作成を拒否、-1は無制限の" "作成を許可)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -149,72 +149,72 @@ msgstr "" "新しいドメインに許可されたエイリアスの最大数 (0は作成を拒否、-1は無制限の作成" "を許可)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "制限" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "このユーザーが作成できるドメインの最大数" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "このユーザーが作成できるドメインエイリアスの最大数" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "このユーザーが作成できるメールボックスの最大数" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "このユーザーが作成できるメールボックスエイリアスの最大数" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "このユーザーが作成できるドメイン管理者の最大数" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "このドメインに許可されたドメインエイリアスの最大数" -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "このドメインに許可されたメールボックスの最大数" -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "このドメインに許可されたメールボックスエイリアスの最大数" -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "このドメインに許可されたドメイン管理者の最大数" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "不正な制限" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "リソース" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: 制限に達しました" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "リソースが足りません" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "無制限な値に設定するのは許可されていません" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "無制限" diff --git a/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po index bc2930886..3a073d109 100644 --- a/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,26 +20,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Standaard limieten" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Domein administrators" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -49,11 +49,11 @@ msgid "" msgstr "" "Maximum aantal toegestane domein administrators voor een nieuwe administrator" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domeinen" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -61,12 +61,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal toegestane domeinen voor een nieuwe administrator" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Domein aliassen" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -74,12 +74,12 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Maximum aantal domein aliassen voor een nieuwe administrator" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Mailboxen" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -87,12 +87,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Mailbox aliassen" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -100,31 +100,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal aliassen voor een nieuwe administrator" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Standaard per-domein limieten" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -134,7 +134,7 @@ msgid "" msgstr "" "Maximum aantal toegestane domein administrators voor een nieuwe administrator" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -142,7 +142,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal domein aliassen voor een nieuwe administrator" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -150,7 +150,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Maximum aantal toegestane mailboxen voor een nieuwe administrator" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -158,80 +158,80 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Maximum aantal aliassen voor een nieuwe administrator" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limieten" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Maximum aantal domeinen die deze gebruiker aan kan maken" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Maximum aantal domein-aliassen die deze gebruiker kan aanmaken" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Maximum aantal mailboxen die deze gebruiker kan aanmaken" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximum mailbox aliassen die deze gebruiker kan aanmken" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "Maximum aantal domein administrators die deze gebruiker aan kan maken" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Maximum aantal domein-aliassen die deze gebruiker kan aanmaken" -#: limits/constants.py:50 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Maximum aantal mailboxen die deze gebruiker kan aanmaken" -#: limits/constants.py:54 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Maximum mailbox aliassen die deze gebruiker kan aanmken" -#: limits/constants.py:59 +#: limits/constants.py:55 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "Maximum aantal domein administrators die deze gebruiker aan kan maken" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Ongeldige limiet" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Capaciteiten" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: limiet bereikt" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Niet genoeg capaciteit" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "U mag geen ongelimiteerde waardes opgeven" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "ongelimiteerd" diff --git a/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po index 37e1d6951..400cb6b01 100644 --- a/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/pl_PL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-01 15:11+0000\n" "Last-Translator: Tomasz Proć \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -22,24 +22,24 @@ msgstr "" "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Domyślne limity per admin" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Włącz limity per admin" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Włącz lub wyłącz limity per admin" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Administratorzy domeny" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -47,11 +47,11 @@ msgstr "" "Maksymalna dozwolona liczba administratorów domen dla nowego administratora. " "(0 - tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domeny" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -59,12 +59,12 @@ msgstr "" "Maksymalna dozwolona ilość domen dla nowego administratora. (0 dla tworzenie " "niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Aliasy domen" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -72,12 +72,12 @@ msgstr "" "Maksymalna dozwolona ilość aliasów domen dla nowego administratora. (0 dla " "tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Skrzynki pocztowe" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -85,12 +85,12 @@ msgstr "" "Maksymalna dozwolona liczba skrzynek dla nowego administratora. (0 - " "tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Aliasy skrzynek pocztowych" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -98,11 +98,11 @@ msgstr "" "Maksymalna dozwolona liczba aliasów dla nowego administratora. (0 - " "tworzenie niedozwolone, -1 nielimitowana ilość)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "Pojemność" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -110,19 +110,19 @@ msgstr "" "Pojemność jaką reseller może dzielić między domenami które utworzy. (0 " "oznacza brak limitu)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Domyślne limity per domena" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Włącz limity per domena" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Włącz lub wyłącz limity per domena" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -130,7 +130,7 @@ msgstr "" "Max liczba administratrów nowej domeny. (0 tworzenie niedozwolone, -1 dla " "braku limitu)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -138,7 +138,7 @@ msgstr "" "Max liczba aliasów domen nowej domeny. (0 tworzenie niedozwolone, -1 " "nielimitowana ilość)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -146,7 +146,7 @@ msgstr "" "Max liczba skrzynek dla nowej domeny. (0 tworzenie niedozwolone, -1 " "nielimitowana ilość)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -154,73 +154,73 @@ msgstr "" "Max liczba aliasów dla nowej domeny. (0 tworzenie niedozwolone, -1 " "nielimitowana ilość)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limity" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Maksymalna liczba domen, które może stworzyć użytkownik" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Maksymalna liczba aliasów domen, które może stworzyć użytkownik" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Maksymalna liczba skrzynek, które może stworzyć użytkownik" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maksymalna liczba aliasów skrzynek, które może stworzyć użytkownik" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Maksymalna liczba kont aministratorów domen, które może stworzyć użytkownik" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "Pojemność współdzielona między domenami tego resellera" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Max liczba aliasów domen dla tej domeny." -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Max liczba skrzynek dla tej domeny." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Max liczba aliasów dla tej domeny." -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "Max liczba administratorów domeny." -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Nieprawidłowy limit" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Zasoby" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "Osiągnięto limit: %s" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Brak wystarczających zasobów" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Nie jesteś uprawniony do wprowadzenia nielimitowanej wartości" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "nielimitowane" diff --git a/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po index 9b1aa2f2f..c5287a3a6 100644 --- a/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/pt_BR/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-05-17 12:19+0000\n" "Last-Translator: Jose Marcos Araujo \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" @@ -22,24 +22,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Limite padrão por administrador" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Habilitar limites por administrador" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Habilitar ou desabilitar limites por administrador" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Administradores de domínio" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -48,11 +48,11 @@ msgstr "" "administrador. (0 a negar qualquer criação, -1 para permitir criações " "ilimitadas)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domínios" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -60,12 +60,12 @@ msgstr "" "Número máximo de domínios permitidos para um novo administrador. (0 a negar " "qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Alias de domínios" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -73,12 +73,12 @@ msgstr "" "O número máximo de alias de domínio permitidos para um novo administrador. " "(0 a negar qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Caixas de correios" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -86,12 +86,12 @@ msgstr "" "Número máximo de caixas de correio permitido para um novo administrador. (0 " "a negar qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Alias de caixas de correio" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -99,29 +99,29 @@ msgstr "" "Número máximo de alias permitidos para um novo administrador. (0 a negar " "qualquer criação, -1 para permitir criações ilimitadas)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Limite padrão por domínio" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Habilitar limites por domínio" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Habilitar ou desabilitar limites por domínio" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -129,7 +129,7 @@ msgstr "" "Número máximo de administradores permitido para um novo domínio (0 para " "negar qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -137,7 +137,7 @@ msgstr "" "Número máximo de apelidos (aliases) permitido para um novo domínio (0 para " "negar qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -145,7 +145,7 @@ msgstr "" "Número máximo de contas permitido para um novo domínio (0 para negar " "qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -153,74 +153,74 @@ msgstr "" "Número máximo de apelidos (aliases) permitido para um novo domínio (0 para " "negar qualquer adição, -1 para permitir adições ilimitadas)." -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limites" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Número máximo de domínio que esse usuário pode criar" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Número máximo de aliases de domínio que esse usuário pode criar" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Número máximo de caixas de correios que esse usuário pode criar" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Número máximo de aliases de caixas de correio que esse usuário pode criar" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Número máximo de administradores de domínios que esse usuário pode criar" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Quantidade máxima permitida de apelidos (aliases) para este domínio" -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Número " -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Quantidade máxima de apelidos (aliases) permitido para este domínio" -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "Quantidade máxima de administradores permitido para este domínio" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Limite inválido" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Recursos" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: limite alcançado" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Sem recursos suficientes" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Você não tem permissão para definir valores ilimitados" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "ilimitado" diff --git a/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po index b6a61dcda..dcc33dde6 100644 --- a/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/pt_PT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-29 12:51+0000\n" "Last-Translator: Mike C. \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" @@ -24,26 +24,26 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Limites predefinidos" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Administradores de domínio" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -54,11 +54,11 @@ msgstr "" "Número máximo permitido de administradores de domínio para um novo " "administrador" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domínios" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -66,12 +66,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo permitido de domínios para novo administrador" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Aliases de domínio" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -80,12 +80,12 @@ msgid "" msgstr "" "Número máximo permitido de aliases de domínio para um novo administrador" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Caixas de Correio" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -93,12 +93,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo permitido de caixas de correio para novo administrador" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Aliases para caixas de correio" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -106,31 +106,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo de aliases permitidas para um novo administrador" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Limites predefinidos" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -141,7 +141,7 @@ msgstr "" "Número máximo permitido de administradores de domínio para um novo " "administrador" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -150,7 +150,7 @@ msgid "" msgstr "" "Número máximo permitido de aliases de domínio para um novo administrador" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -158,7 +158,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Número máximo permitido de caixas de correio para novo administrador" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -166,84 +166,84 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Número máximo de aliases permitidas para um novo administrador" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limites" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Número máximo de domínios que este utilizador pode criar" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Número máximo de aliases de domínio que este utilizador pode criar" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Número máximo de caixas de correio que este utilizador por criar" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Número máximo de aliases para caixas de correio que este utilizador por criar" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Número máximo de administradores de domínio que este utilizador pode criar" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." msgstr "Número máximo de aliases de domínio que este utilizador pode criar" -#: limits/constants.py:50 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "Número máximo de caixas de correio que este utilizador por criar" -#: limits/constants.py:54 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Número máximo de aliases para caixas de correio que este utilizador por criar" -#: limits/constants.py:59 +#: limits/constants.py:55 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Número máximo de administradores de domínio que este utilizador pode criar" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Limite inválido" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Recursos" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: limite atingido" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Recursos insuficientes" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Não está autorizado a definir valores ilimitados" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "ilimitado" diff --git a/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po index 93a32dd6f..8f5ba07fd 100644 --- a/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-18 08:01+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" "Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" @@ -20,24 +20,24 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Limitele standard per-admin" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Activați limitele per-admin" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Activați sau dezactivați limitele per-admin" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Administratori de domeniu" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -46,11 +46,11 @@ msgstr "" "administrator. (0 pentru a dezactiva crearea, -1 pentru a permite creări " "nelimitate)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domenii" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -58,12 +58,12 @@ msgstr "" "Numărul maxim de domenii permise pentru un nou administrator. (0 nu permite " "crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Alias-uri domenii" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -71,12 +71,12 @@ msgstr "" "Numărul maxim de aliasuri de domenii permise pentru un nou administrator. (0 " "nu permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Cutii poștale" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -84,12 +84,12 @@ msgstr "" "Numărul maxim de căsuțe poștale permise pentru un nou administrator. (0 nu " "permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Alias-uri cutii poștale" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -97,11 +97,11 @@ msgstr "" "Numărul maxim de aliasuri permise pentru un nou administrator. (0 nu permite " "crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "Cotă-parte" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" @@ -109,19 +109,19 @@ msgstr "" "Cota pe care un reseller le va putea să împartă între domeniile pe care le " "creează. (0 nu înseamnă fără cotă)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Limitele per-domeniu implicite" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Activați limitele per-domeniu" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Activați sau dezactivați limitele pe domenii" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -129,7 +129,7 @@ msgstr "" "Numărul maxim de administratori de domeniu permiși pentru un domeniu nou. (0 " "nu permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -137,7 +137,7 @@ msgstr "" "Numărul maxim de aliasuri de domenii permise pentru un domeniu nou. (0 nu " "permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -145,7 +145,7 @@ msgstr "" "Numărul maxim de căsuțe poștale autorizate pentru un domeniu nou. (0 nu " "permite crearea, -1 pentru a permite creări nelimitate)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -153,79 +153,79 @@ msgstr "" "Numărul maxim de aliasuri permise pentru un domeniu nou. (0 nu permite " "crearea, -1 pentru a permite creări nelimitate)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Limite" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Numărul maxim de domenii pe care acest utilizator le poate crea" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "" "Numărul maxim de aliasuri de domeniu pe care acest utilizator le poate crea" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Numărul maxim de cutii poștale pe care acest utilizator le poate crea" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Numărul maxim de aliasuri de cutie poștală pe care acest utilizator le poate " "crea" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Numărul maxim de administratori de domeniu pe care acest utilizator îl poate " "crea" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "Cotă-parte distribuită între domeniile acestui distribuitor" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Numărul maxim de aliasuri de domeniu permis pentru acest domeniu." -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Numărul maxim de cutii poștale permis pentru acest domeniu." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" "Numărul maxim de aliasuri pentru cutia poștală permis pentru acest domeniu." -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "" "Numărul maxim de administratori de domeniu permis pentru acest domeniu." -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Limită invalidă" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Resurse" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: s-a atins limita" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Resurse insuficiente" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Nu vi se permite să definiți valori nelimitate" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "nelimitat" diff --git a/modoboa/limits/locale/ru/LC_MESSAGES/django.po b/modoboa/limits/locale/ru/LC_MESSAGES/django.po index 9c4d11243..b337ff606 100644 --- a/modoboa/limits/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2013-12-03 09:35+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/" @@ -19,26 +19,26 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 #, fuzzy #| msgid "Default limits" msgid "Default per-admin limits" msgstr "Лимиты по умолчанию" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Администраторы домена" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -48,11 +48,11 @@ msgid "" msgstr "" "Максимальное количество администраторов домена для нового администратора" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Домены" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 #, fuzzy #| msgid "Maximum number of allowed domains for a new administrator" msgid "" @@ -60,12 +60,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество доменов для нового администратора" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Синонимы доменов" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -73,12 +73,12 @@ msgid "" "any creation, -1 to allow unlimited creations)" msgstr "Максимальное количество синонимов доменов для нового администратора" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Почтовые ящики" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -86,12 +86,12 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество почтовых ящиков для нового администратора" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Синонимы почтового ящика" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -99,31 +99,31 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество синонимов для нового администратора" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 #, fuzzy #| msgid "Default limits" msgid "Default per-domain limits" msgstr "Лимиты по умолчанию" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 #, fuzzy #| msgid "" #| "Maximum number of allowed domain administrators for a new administrator" @@ -133,7 +133,7 @@ msgid "" msgstr "" "Максимальное количество администраторов домена для нового администратора" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 #, fuzzy #| msgid "Maximum number of allowed domain aliases for a new administrator" msgid "" @@ -141,7 +141,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество синонимов доменов для нового администратора" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 #, fuzzy #| msgid "Maximum number of allowed mailboxes for a new administrator" msgid "" @@ -149,7 +149,7 @@ msgid "" "creation, -1 to allow unlimited creations)" msgstr "Максимальное количество почтовых ящиков для нового администратора" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 #, fuzzy #| msgid "Maximum number of allowed aliases for a new administrator" msgid "" @@ -157,42 +157,42 @@ msgid "" "-1 to allow unlimited creations)" msgstr "Максимальное количество синонимов для нового администратора" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Лимиты" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Максимальное количество создаваемых доменов для этого пользователя" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "" "Максимальное количество создаваемых синонимов (алиасов) доменов для этого " "пользователя" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "" "Максимальное количество создаваемых почтовых ящиков для этого пользователя" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" "Максимальное количество создаваемых синонимов почтовых ящиков для этого " "пользователя" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" "Максимальное количество создаваемых администраторов домена для этого " "пользователя" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 #, fuzzy #| msgid "Maximum number of domain aliases this user can create" msgid "Maximum number of domain aliases allowed for this domain." @@ -200,14 +200,14 @@ msgstr "" "Максимальное количество создаваемых синонимов (алиасов) доменов для этого " "пользователя" -#: limits/constants.py:50 +#: limits/constants.py:46 #, fuzzy #| msgid "Maximum number of mailboxes this user can create" msgid "Maximum number of mailboxes allowed for this domain." msgstr "" "Максимальное количество создаваемых почтовых ящиков для этого пользователя" -#: limits/constants.py:54 +#: limits/constants.py:50 #, fuzzy #| msgid "Maximum number of mailbox aliases this user can create" msgid "Maximum number of mailbox aliases allowed for this domain." @@ -215,7 +215,7 @@ msgstr "" "Максимальное количество создаваемых синонимов почтовых ящиков для этого " "пользователя" -#: limits/constants.py:59 +#: limits/constants.py:55 #, fuzzy #| msgid "Maximum number of domain administrators this user can create" msgid "Maximum number of domain admins allowed for this domain." @@ -223,28 +223,28 @@ msgstr "" "Максимальное количество создаваемых администраторов домена для этого " "пользователя" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Ошибочный лимит" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Ресурсы" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s лимит исчерпан" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Недостаточно ресурсов" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Вам не позволено определять нелимитированные значения" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "Не лимитировано" diff --git a/modoboa/limits/locale/sv/LC_MESSAGES/django.po b/modoboa/limits/locale/sv/LC_MESSAGES/django.po index 5ca93d1a2..3b38ad3f7 100644 --- a/modoboa/limits/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/sv/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-05-30 18:08+0000\n" "Last-Translator: Olle Gustafsson \n" "Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" @@ -20,24 +20,24 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "Standard per administratör gräns" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "Aktivera per administratör gräns" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "Aktivera eller avaktivera per admininstratör gränser" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "Domänadministratörer" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" @@ -45,11 +45,11 @@ msgstr "" "Max antal tillåtna domän admininstratöre för en ny administratör. (0 för att " "inaktivera, -1 för obegränsat antal)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "Domäner" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -57,12 +57,12 @@ msgstr "" "Max antal tillåtna domäner för en ny administratör. (0 för att inaktivera, " "-1 för obegränsat antal)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "Domän alias" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -70,12 +70,12 @@ msgstr "" "Maximalt antal domän alias för en ny administratör. (0 för att inaktivera, " "-1 för obegränsat antal)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "Brevlådor" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -83,12 +83,12 @@ msgstr "" "Maximalt antal brevlådor för en ny administratör. (0 för att inaktivera, -1 " "för obegränsat antal)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "Brevlåde alias" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -96,29 +96,29 @@ msgstr "" "Maximalt antal alias för en ny administratör. (0 för att inaktivera, -1 för " "obegränsat antal)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "Standard per domän gräns" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "Aktivera per domän gräns" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "Aktivera eller avaktivera per domän gränser" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" @@ -126,7 +126,7 @@ msgstr "" "Max antal tillåtna domänadministratörer för en ny domän. (0 för att neka " "skapande, -1 för oändligt antal)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" @@ -134,14 +134,14 @@ msgstr "" "Max antal domänalias för en ny domän. (0 för att neka skapande, -1 för " "obegränsat)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" "Max antal brevlådor per domän. (0 för inga alls, -1 för obegränsat antal)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" @@ -149,72 +149,72 @@ msgstr "" "Max antal tillåtna alias för en ny domän. (0 för inga alls, -1 för " "obegränsat antal)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "Gräns" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "Maximalt antal domäner den här användaren kan skapa" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "Maximalt antal domänen alias den här användaren kan skapa" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "Maximalt antal brevlådor den här användaren kan skapa" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "Maximalt antal brevlådealias den här användaren kan skapa" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "Maximalt antal domänadministratörer den här användaren kan skapa" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "Max antal domänalias tillåtna för den här domänen." -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "Max antal bervlådor tillåtna för den här domänen." -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "Max antal brevlådealias tillåtna för den här domänen." -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "Max antal domänadministratörer tillåtna för den här domänen." -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "Ogiltig gräns" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "Resurser" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: gräns uppnådd" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "Inte tillräckligt med resurser" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "Du har inte tillåtelse att definiera obegränsat värden" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "obegränsad" diff --git a/modoboa/limits/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/limits/locale/tr_TR/LC_MESSAGES/django.po index 59e9e4c3a..90a0c07de 100644 --- a/modoboa/limits/locale/tr_TR/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/tr_TR/LC_MESSAGES/django.po @@ -1,200 +1,201 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-03-03 07:56+0000\n" "Last-Translator: Antoine Nguyen \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" -"Maximum number of allowed domain aliases for a new administrator. (0 to deny" -" any creation, -1 to allow unlimited creations)" +"Maximum number of allowed domain aliases for a new administrator. (0 to deny " +"any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" -"Maximum number of allowed domain administrators for a new domain. (0 to deny" -" any creation, -1 to allow unlimited creations)" +"Maximum number of allowed domain administrators for a new domain. (0 to deny " +"any creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" -"Maximum number of allowed aliases for a new domain. (0 to deny any creation," -" -1 to allow unlimited creations)" +"Maximum number of allowed aliases for a new domain. (0 to deny any creation, " +"-1 to allow unlimited creations)" msgstr "" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "" -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "" -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "" -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "" diff --git a/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po index 3a64710c5..d83cfcf9e 100644 --- a/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/limits/locale/zh_TW/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-29 01:11+0000\n" "Last-Translator: akong \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" @@ -20,184 +20,184 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: limits/app_settings.py:19 +#: limits/app_settings.py:15 msgid "Default per-admin limits" msgstr "預設每個管理者限制" -#: limits/app_settings.py:22 +#: limits/app_settings.py:18 msgid "Enable per-admin limits" msgstr "啟用每個管理者限制" -#: limits/app_settings.py:24 +#: limits/app_settings.py:20 msgid "Enable or disable per-admin limits" msgstr "啟用或停用每個管理者限制" -#: limits/app_settings.py:28 limits/app_settings.py:99 limits/constants.py:28 -#: limits/constants.py:58 +#: limits/app_settings.py:24 limits/app_settings.py:95 limits/constants.py:24 +#: limits/constants.py:54 msgid "Domain admins" msgstr "網域管理員" -#: limits/app_settings.py:31 +#: limits/app_settings.py:27 msgid "" "Maximum number of allowed domain administrators for a new administrator. (0 " "to deny any creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許網域管理者的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:39 limits/constants.py:13 +#: limits/app_settings.py:35 limits/constants.py:9 msgid "Domains" msgstr "網域" -#: limits/app_settings.py:42 +#: limits/app_settings.py:38 msgid "" "Maximum number of allowed domains for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許網域的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:49 limits/app_settings.py:110 limits/constants.py:17 -#: limits/constants.py:45 +#: limits/app_settings.py:45 limits/app_settings.py:106 limits/constants.py:13 +#: limits/constants.py:41 msgid "Domain aliases" msgstr "網域別名" -#: limits/app_settings.py:52 +#: limits/app_settings.py:48 msgid "" "Maximum number of allowed domain aliases for a new administrator. (0 to deny " "any creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許網域別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:60 limits/app_settings.py:121 limits/constants.py:21 -#: limits/constants.py:49 +#: limits/app_settings.py:56 limits/app_settings.py:117 limits/constants.py:17 +#: limits/constants.py:45 msgid "Mailboxes" msgstr "信箱" -#: limits/app_settings.py:63 +#: limits/app_settings.py:59 msgid "" "Maximum number of allowed mailboxes for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許信箱的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:70 limits/app_settings.py:131 limits/constants.py:24 -#: limits/constants.py:52 +#: limits/app_settings.py:66 limits/app_settings.py:127 limits/constants.py:20 +#: limits/constants.py:48 msgid "Mailbox aliases" msgstr "信箱別名" -#: limits/app_settings.py:73 +#: limits/app_settings.py:69 msgid "" "Maximum number of allowed aliases for a new administrator. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的管理者最大允許別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:80 limits/constants.py:34 +#: limits/app_settings.py:76 limits/constants.py:30 msgid "Quota" msgstr "配額" -#: limits/app_settings.py:83 +#: limits/app_settings.py:79 msgid "" "The quota a reseller will be allowed to share between the domains he " "creates. (0 means no quota)" msgstr "經銷商的配額允許分配給他建立的網域之間。(0 意思是沒配額)" -#: limits/app_settings.py:90 +#: limits/app_settings.py:86 msgid "Default per-domain limits" msgstr "預設每個網域限制" -#: limits/app_settings.py:93 +#: limits/app_settings.py:89 msgid "Enable per-domain limits" msgstr "啟用每個網域限制" -#: limits/app_settings.py:95 +#: limits/app_settings.py:91 msgid "Enable or disable per-domain limits" msgstr "啟用或停用每個網域限制" -#: limits/app_settings.py:102 +#: limits/app_settings.py:98 msgid "" "Maximum number of allowed domain administrators for a new domain. (0 to deny " "any creation, -1 to allow unlimited creations)" msgstr "新的網域最大允許網域管理者的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:113 +#: limits/app_settings.py:109 msgid "" "Maximum number of allowed domain aliases for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的網域最大允許網域別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:124 +#: limits/app_settings.py:120 msgid "" "Maximum number of allowed mailboxes for a new domain. (0 to deny any " "creation, -1 to allow unlimited creations)" msgstr "新的網域最大允許信箱的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/app_settings.py:134 +#: limits/app_settings.py:130 msgid "" "Maximum number of allowed aliases for a new domain. (0 to deny any creation, " "-1 to allow unlimited creations)" msgstr "新的網域最大允許別名的數量。(0 是禁止建立,-1 是無限制建立)" -#: limits/apps.py:16 +#: limits/apps.py:12 msgid "Limits" msgstr "限制" -#: limits/constants.py:14 +#: limits/constants.py:10 msgid "Maximum number of domains this user can create" msgstr "這個使用者最大可以建立網域的數量" -#: limits/constants.py:18 +#: limits/constants.py:14 msgid "Maximum number of domain aliases this user can create" msgstr "這個使用者最大可以建立網域別名的數量" -#: limits/constants.py:22 +#: limits/constants.py:18 msgid "Maximum number of mailboxes this user can create" msgstr "這個使用者最大可以建立信箱的數量" -#: limits/constants.py:25 +#: limits/constants.py:21 msgid "Maximum number of mailbox aliases this user can create" msgstr "這個使用者最大可以建立信箱別名的數量" -#: limits/constants.py:29 +#: limits/constants.py:25 msgid "Maximum number of domain administrators this user can create" msgstr "這個使用者最大可以建立網域管理者的數量" -#: limits/constants.py:35 +#: limits/constants.py:31 msgid "Quota shared between domains of this reseller" msgstr "這個經銷商配額分配在網域之間" -#: limits/constants.py:46 +#: limits/constants.py:42 msgid "Maximum number of domain aliases allowed for this domain." msgstr "這個網域最大可以建立網域別名的數量" -#: limits/constants.py:50 +#: limits/constants.py:46 msgid "Maximum number of mailboxes allowed for this domain." msgstr "這個網域最大可以建立信箱的數量" -#: limits/constants.py:54 +#: limits/constants.py:50 msgid "Maximum number of mailbox aliases allowed for this domain." msgstr "這個網域最大可以建立信箱別名的數量" -#: limits/constants.py:59 +#: limits/constants.py:55 msgid "Maximum number of domain admins allowed for this domain." msgstr "這個網域最大可以建立網域管理者的數量" -#: limits/forms.py:42 limits/forms.py:91 +#: limits/forms.py:38 limits/forms.py:87 msgid "Invalid limit" msgstr "無效的限制" -#: limits/handlers.py:121 limits/handlers.py:157 +#: limits/handlers.py:117 limits/handlers.py:153 msgid "Resources" msgstr "資源" -#: limits/lib.py:23 +#: limits/lib.py:19 #, python-format msgid "%s: limit reached" msgstr "%s: 已達到上限" -#: limits/lib.py:33 +#: limits/lib.py:29 msgid "Not enough resources" msgstr "資源不足" -#: limits/lib.py:51 limits/models.py:52 +#: limits/lib.py:47 limits/models.py:48 msgid "You're not allowed to define unlimited values" msgstr "您不允許定義無限值" -#: limits/models.py:62 limits/models.py:127 +#: limits/models.py:58 limits/models.py:123 msgid "unlimited" msgstr "無限制" diff --git a/modoboa/locale/br/LC_MESSAGES/django.po b/modoboa/locale/br/LC_MESSAGES/django.po index c948d778d..96cbbe1c1 100644 --- a/modoboa/locale/br/LC_MESSAGES/django.po +++ b/modoboa/locale/br/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Fulup , 2016,2018 # Irriep Nala Novram , 2019 @@ -9,517 +9,666 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-03-11 18:07+0000\n" "Last-Translator: Irriep Nala Novram \n" "Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" -#: core/app_settings.py:22 +#: core/app_settings.py:20 msgid "User profile" msgstr "Profil implijer" -#: core/app_settings.py:35 +#: core/app_settings.py:33 msgid "Authentication" msgstr "O vezañ anavezet" -#: core/app_settings.py:38 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Doare anavezadur" -#: core/app_settings.py:39 +#: core/app_settings.py:37 msgid "Local" msgstr "Lec'hel" -#: core/app_settings.py:42 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Drekleur implijet evit bezañ anavezet" -#: core/app_settings.py:47 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Ger-tremen dre ziouer ar brastres" -#: core/app_settings.py:51 -msgid "md5crypt (weak)" -msgstr "md5crypt (gwan)" - -#: core/app_settings.py:52 -msgid "sha256 (weak)" -msgstr "sha256 (gwan)" - -#: core/app_settings.py:53 -msgid "md5 (weak)" -msgstr "md5 (gwan)" - -#: core/app_settings.py:54 -msgid "crypt (weak)" -msgstr "crypt (gwan)" - -#: core/app_settings.py:55 -msgid "plain (weak)" -msgstr "plaen (gwan)" - -#: core/app_settings.py:57 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Brastres implijet evit enrinegañ gerioù-tremen ar postelerezh" -#: core/app_settings.py:62 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Troiadoù" -#: core/app_settings.py:65 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." -msgstr "Niver a droiadoù d'ober ganto (implijet gant sha256crypt ha sha512crypt hepken). Bez' e rank bezañ etre 1000 ha 999999999, e-barzh." +msgstr "" +"Niver a droiadoù d'ober ganto (implijet gant sha256crypt ha sha512crypt " +"hepken). Bez' e rank bezañ etre 1000 ha 999999999, e-barzh." -#: core/app_settings.py:72 -msgid "Update password scheme" +#: core/app_settings.py:63 +#, fuzzy +#| msgid "Update password scheme" +msgid "Update password scheme at login" msgstr "Hiziavaat ar brastres ger-tremen" -#: core/app_settings.py:75 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" -msgstr "Hizivait ger-tremen an implijer d'ar mare kevreaén evit implijout ar brastres ger-tremen dre-ziouer" +msgstr "" +"Hizivait ger-tremen an implijer d'ar mare kevreaén evit implijout ar " +"brastres ger-tremen dre-ziouer" -#: core/app_settings.py:80 +#: core/app_settings.py:71 msgid "Default password" msgstr "Ger-tremen dre-ziouer" -#: core/app_settings.py:83 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Ger-tremen dre-ziouer evit ar gontoù em-grouet." -#: core/app_settings.py:87 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Hirder dre-zegouezh ger-tremen" -#: core/app_settings.py:91 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Hirder ar gerioù-tremen em-c'hanet." -#: core/app_settings.py:95 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Update password scheme" +msgid "Update password service URL" +msgstr "Hiziavaat ar brastres ger-tremen" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Arventennoù LDAP" -#: core/app_settings.py:98 +#: core/app_settings.py:101 msgid "Server address" msgstr "Chomlec'h ar servijer" -#: core/app_settings.py:101 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "Chomlec'h IP pe anv DNS ar servijer LDAP" -#: core/app_settings.py:106 +#: core/app_settings.py:108 msgid "Server port" msgstr "Porzh ar servijer" -#: core/app_settings.py:108 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Niverenn borzh TCP implijet gant ar servijer LDAP" -#: core/app_settings.py:113 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Chomlec'h ar servijer" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "Chomlec'h IP pe anv DNS ar servijer LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Porzh ar servijer" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Niverenn borzh TCP implijet gant ar servijer LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Ober gant ur gevreadenn suraet" -#: core/app_settings.py:117 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" -msgstr "Implijit ur gevreadenn SSL/STARTTLS evit gellet tizhout ar servijer LDAP" +msgstr "" +"Implijit ur gevreadenn SSL/STARTTLS evit gellet tizhout ar servijer LDAP" -#: core/app_settings.py:121 +#: core/app_settings.py:145 +msgid "Active Directory" +msgstr "Kavlec'h oberiant" + +#: core/app_settings.py:148 +msgid "Tell if the LDAP server is an Active Directory one" +msgstr "Lavarout a ra hag-eñ e vez ar servijer LDAP ur C'havlec'h Oberiant" + +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Strolladoù merañ" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Izili ar strolladoù LDAP Posix a vo krouet evel bezañ merourien domani. " +"Implijit an arouezoù ';' evit gellet skejañ ar strolladoù." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Doare ar strollad" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "An doare strollad LDAP da implijout gant ho kavlec'h." + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Diazez klask ar strolladoù" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Anv dibar an diaz klask implijet evit kavout strolladoù" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Perzhioù ar ger-tremen" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Ar perzhioù implijet evit stokiñ ar gerioù-tremen implijer" + +#: core/app_settings.py:187 +#, fuzzy +#| msgid "Authentication method" +msgid "LDAP authentication settings" +msgstr "Doare dilesañ" + +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Doare dilesañ" -#: core/app_settings.py:122 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Klask ha liammañ" -#: core/app_settings.py:123 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "liamm eeun" -#: core/app_settings.py:125 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Dibabit an doare anavezadur da vezañ implijet" -#: core/app_settings.py:130 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Liammañ DN" -#: core/app_settings.py:133 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" -msgstr "An anv dibar da vezañ implijet evit en em liammañ ouzh ar servijer LDAP. Lezel goullo evit un liamm dizanv." +msgstr "" +"An anv dibar da vezañ implijet evit en em liammañ ouzh ar servijer LDAP. " +"Lezel goullo evit un liamm dizanv." -#: core/app_settings.py:141 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Liammañ ur ger-tremen" -#: core/app_settings.py:144 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "Ar ger-tremen d'ober gantañ evit kevreañ ouzh ar servijer LDAP (gant 'kevreadenn DN')" +msgstr "" +"Ar ger-tremen d'ober gantañ evit kevreañ ouzh ar servijer LDAP (gant " +"'kevreadenn DN')" -#: core/app_settings.py:153 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Diazez enklask an implijerien" -#: core/app_settings.py:156 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Anv dibar an diaz enklask implijet evit kavout implijerien" -#: core/app_settings.py:163 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Sil klask" -#: core/app_settings.py:166 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." -msgstr "Ur chadenn sil diret (d.sk. '(objedKlas = person)'). Evit bezañ reizh, e rank bezañ enklozet etre krommelloù." +msgstr "" +"Ur chadenn sil diret (d.sk. '(objedKlas = person)'). Evit bezañ reizh, e " +"rank bezañ enklozet etre krommelloù." -#: core/app_settings.py:174 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Patrom implijer DN" -#: core/app_settings.py:177 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "Ar skouer implijet evit sevel DN un implijer. Rankout a rafe enderc'hel ur spas miret (d.l.e %(user)s)" +msgstr "" +"Ar skouer implijet evit sevel DN un implijer. Rankout a rafe enderc'hel ur " +"spas miret (d.l.e %(user)s)" -#: core/app_settings.py:185 -msgid "Password attribute" +#: core/app_settings.py:249 +#, fuzzy +#| msgid "LDAP settings" +msgid "LDAP synchronization settings" +msgstr "Arventennoù LDAP" + +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" + +#: core/app_settings.py:276 +msgid "" +"Enable automatic synchronization between local database and LDAP directory" +msgstr "" + +#: core/app_settings.py:282 +msgid "Delete remote LDAP account when local account is deleted" +msgstr "" + +#: core/app_settings.py:286 +msgid "" +"Delete remote LDAP account when local account is deleted, otherwise it will " +"be disabled." +msgstr "" + +#: core/app_settings.py:292 +#, fuzzy +#| msgid "User DN template" +msgid "Account DN template" +msgstr "Patrom implijer DN" + +#: core/app_settings.py:295 +#, fuzzy, python-format +#| msgid "" +#| "The template used to construct a user's DN. It should contain one " +#| "placeholder (ie. %(user)s)" +msgid "" +"The template used to construct an account's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" +"Ar skouer implijet evit sevel DN un implijer. Rankout a rafe enderc'hel ur " +"spas miret (d.l.e %(user)s)" + +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Perzhioù ar ger-tremen" -#: core/app_settings.py:187 -msgid "The attribute used to store user passwords" -msgstr "Ar perzhioù implijet evit stokiñ ar gerioù-tremen implijer" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:192 -msgid "Active Directory" -msgstr "Kavlec'h oberiant" - -#: core/app_settings.py:195 -msgid "Tell if the LDAP server is an Active Directory one" -msgstr "Lavarout a ra hag-eñ e vez ar servijer LDAP ur C'havlec'h Oberiant" - -#: core/app_settings.py:199 -msgid "Administrator groups" -msgstr "Strolladoù merañ" - -#: core/app_settings.py:202 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." -msgstr "Izili ar strolladoù LDAP Posix a vo krouet evel bezañ merourien domani. Implijit an arouezoù ';' evit gellet skejañ ar strolladoù." - -#: core/app_settings.py:209 -msgid "Group type" -msgstr "Doare ar strollad" - -#: core/app_settings.py:213 -msgid "The LDAP group type to use with your directory." -msgstr "An doare strollad LDAP da implijout gant ho kavlec'h." - -#: core/app_settings.py:218 -msgid "Groups search base" -msgstr "Diazez klask ar strolladoù" - -#: core/app_settings.py:221 -msgid "The distinguished name of the search base used to find groups" -msgstr "Anv dibar an diaz klask implijet evit kavout strolladoù" - -#: core/app_settings.py:226 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Taolenn-stur" -#: core/app_settings.py:229 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Froud RSS personel" -#: core/app_settings.py:232 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" -msgstr "Diskouez froudoù RSS personnel d'an eilgwerzherien ha merourien an domani" +msgstr "" +"Diskouez froudoù RSS personnel d'an eilgwerzherien ha merourien an domani" -#: core/app_settings.py:237 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Kuzhat an arc'hweladurioù objed" -#: core/app_settings.py:240 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" -msgstr "Kuzhat an arc'hweladurioù objed d'an eilgwerzherien ha merourien an domani" +msgstr "" +"Kuzhat an arc'hweladurioù objed d'an eilgwerzherien ha merourien an domani" -#: core/app_settings.py:244 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Kemennadennoù" -#: core/app_settings.py:247 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Chomlec'h ar c'haser" -#: core/app_settings.py:250 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Chomlec'h postel implijet da gas kemmennoù." -#: core/app_settings.py:254 +#: core/app_settings.py:365 msgid "Public API" msgstr "API foran" -#: core/app_settings.py:257 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Enaouiñ ar c'hehentiñ" -#: core/app_settings.py:260 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Enaouiñ ar c'hehentiñ dre API foran Modoboa " -#: core/app_settings.py:264 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Klask stummoù nevez" -#: core/app_settings.py:267 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Em-wiriañ ma vez ur stumm nevez hegerz" -#: core/app_settings.py:271 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Kas statistikoù" -#: core/app_settings.py:274 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" -msgstr "Kas ar statistikoù da API foran Modoboa (kontourioù hag an astennoù impliljet)" +msgstr "" +"Kas ar statistikoù da API foran Modoboa (kontourioù hag an astennoù " +"impliljet)" -#: core/app_settings.py:278 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "A-bep seurt" -#: core/app_settings.py:281 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Treuzoù ar c'hontoù dioberiant" -#: core/app_settings.py:284 +#: core/app_settings.py:410 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" -msgstr "Ur gont gant un deiziad kevreañ koshoc'h evit an treuzoù-se (e devezhioù) a vo kontet evel bezañ dioberiant" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" +msgstr "" +"Ur gont gant un deiziad kevreañ koshoc'h evit an treuzoù-se (e devezhioù) a " +"vo kontet evel bezañ dioberiant" -#: core/app_settings.py:291 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Padelezh etre ar c'hemennoù gwiriañ pennañ" -#: core/app_settings.py:294 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Padelezh etre div gwiriadenn gemennoù pennañ (en eilennoù)" -#: core/app_settings.py:300 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Oad enrollañ maksimom ar marilhoù" -#: core/app_settings.py:302 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Oad brasañ e devezhioù un enrollodenn renabl" -#: core/app_settings.py:307 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Elfennoù dre bajenn" -#: core/app_settings.py:309 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Niver a elfennoù diskouezet dre bajenn" -#: core/app_settings.py:314 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Adhenchañ pennañ dre-ziouer" -#: core/app_settings.py:318 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "An adheñchañ dre-ziouer implijet pa n'eus arload ebet spisaet" -#: core/app_settings.py:353 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Sintaks direizh" -#: core/app_settings.py:359 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Niveroù ront direizh" -#: core/app_settings.py:386 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Rekis eo leuniañ ar vaezienn" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Hollek" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." -msgstr "Bez ho peus lakaet USE_TZ da Gaou, gellout a ra degas kudennoù da vare an tremennadennoù eurvezh hañv/eurvezh goañv (d.l.e ar memes eurvezh lec'hel a c'hoarvez div wech abalamour d'ur cheñchamant horolaj)." +msgstr "" +"Bez ho peus lakaet USE_TZ da Gaou, gellout a ra degas kudennoù da vare an " +"tremennadennoù eurvezh hañv/eurvezh goañv (d.l.e ar memes eurvezh lec'hel a " +"c'hoarvez div wech abalamour d'ur cheñchamant horolaj)." -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "Lakaat `USE_TZ = Gwir e-barzh`arventennoù.py" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Implijer diazez" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Merour an domani" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Eilgwerzher" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Dreist-merour" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Ket" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Anv implier" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Ger-tremen" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Ger-tremen kozh" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Ger-termen nevez" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Kadarnaat" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Disklotadurioù ar ger-tremen kozh" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Disklotadurioù gerioù-tremen" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Aotren moned an API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "ouzhpennet" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "kemmet" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s gant an implijer %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s gant " -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "diverket" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "implijer {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "meradur an urzhiad" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "N'hallit ket diverkañ ho kont deoc'h-c'hwi hoc'h-unan" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Hegerz ez eus un hizivadenn pe muioc'h" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Hegerz ez eus un hizivadenn pe muioc'h" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Aotren ar moned d'ar boestoù-post" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Aotren an implijer-mañ da vont e boestoù-post an implijerien" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "Ger-tremen" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "yezh" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Yezh karetañ evit diskwel ar pajenoù" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Niverenn bellgomz" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Eil chomlec'h postel" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." -msgstr "Gallout a reer ober gant un eil chomlec'h postel evit ezhommoù adtapout" +msgstr "" +"Gallout a reer ober gant un eil chomlec'h postel evit ezhommoù adtapout" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Hizivadur ger-tremen c'hwitet: modulenn LDAP nann-staliet" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "kont" -#: core/models.py:278 +#: core/models.py:280 msgid "Unknown" msgstr "Dizanv" -#: core/models.py:312 +#: core/models.py:314 msgid "Invalid line" msgstr "Linenn direizh" -#: core/models.py:320 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" -msgstr "N'hallit ket emporzhiañ ur gont gant ur rol pouezusoc'h evit hoc'h hini deoc'h-c'hwi" +msgstr "" +"N'hallit ket emporzhiañ ur gont gant ur rol pouezusoc'h evit hoc'h hini " +"deoc'h-c'hwi" -#: core/models.py:335 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "An implijer eeun '%s' a rank kaout ur chomlec'h postel reizh" -#: core/models.py:340 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" -msgstr "ar maeziennoù anv-implijer hag ar postel a rank bezañ disheñvel diouzh '%s'" +msgstr "" +"ar maeziennoù anv-implijer hag ar postel a rank bezañ disheñvel diouzh '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr." @@ -528,7 +677,7 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr." msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr." msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} sifr." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut." @@ -537,7 +686,7 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut." msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut." msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} lizherenn vunut." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Ar ger-tremen a rank enderc'hel da vihanañ {} bennlizherenn." @@ -546,7 +695,7 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} a bennlizherennoù." msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} a bennlizherennoù." msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} a bennlizherennoù." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial." @@ -555,9 +704,10 @@ msgstr[2] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial." msgstr[3] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial." msgstr[4] "Ar ger-tremen a rank enderc'hel da vihanañ {} arouez ispisial." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." -msgstr "Rankout a ra enderc'hel ho ker-tremen ur c'henaozadur a arouezioù disheñvel." +msgstr "" +"Rankout a ra enderc'hel ho ker-tremen ur c'henaozadur a arouezioù disheñvel." #: core/templates/core/_current_features.html:6 msgid "Features looking for sponsoring" @@ -583,7 +733,9 @@ msgstr "Keleier diwezhañ" msgid "" "Visit the official " "weblog for more information." -msgstr "Kit d'ober un dro war ar weblog ofisiel evit kaout muioc'h a ditouroù." +msgstr "" +"Kit d'ober un dro war ar weblog ofisiel evit kaout muioc'h a ditouroù." #: core/templates/core/api_access.html:3 msgid "API access" @@ -596,16 +748,18 @@ msgstr "Merit ho moned da API Modoboa" #: core/templates/core/api_access.html:7 #, python-format msgid "" -"A documentation of the API is available here." -msgstr "Un teuliadur diwar-benn an API a vez hegerzh amañ." +"A documentation of the API is available here." +msgstr "" +"Un teuliadur diwar-benn an API a vez hegerzh amañ." #: core/templates/core/api_access.html:14 msgid "API access token" msgstr "Jedaouer aotren moned API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Hizivaat" @@ -614,7 +768,7 @@ msgstr "Hizivaat" msgid "Hello %(user)s." msgstr "Deiz mat deoc'h %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Titouroù" @@ -628,7 +782,9 @@ msgstr "Un hizivadenn pe muioc'h a zo hegerz!" #: core/templates/core/information.html:6 msgid "Check the following list to find the component(s) that can be updated." -msgstr "Sellit ouzh al listenn da-heul da welet hag-eñ e c'hall bezañ hizivaet ar parzh(ioù)." +msgstr "" +"Sellit ouzh al listenn da-heul da welet hag-eñ e c'hall bezañ hizivaet ar " +"parzh(ioù)." #: core/templates/core/information.html:10 msgid "Applications" @@ -663,7 +819,7 @@ msgstr "Rol" msgid "Last login" msgstr "Kevreadenn ziwezhañ" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Marilhoù" @@ -671,7 +827,7 @@ msgstr "Marilhoù" msgid "Previously on Modoboa..." msgstr "A-ziaraok war Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Deiziad" @@ -687,7 +843,22 @@ msgstr "Enroller" msgid "Message" msgstr "Kemennadenn" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Hegerz ez eus un hizivadenn pe muioc'h" +msgstr[1] "Hegerz ez eus un hizivadenn pe muioc'h" +msgstr[2] "Hegerz ez eus un hizivadenn pe muioc'h" +msgstr[3] "Hegerz ez eus un hizivadenn pe muioc'h" +msgstr[4] "Hegerz ez eus un hizivadenn pe muioc'h" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Arventennoù" @@ -704,12 +875,12 @@ msgstr "Enrollañ" msgid "Modoboa settings" msgstr "Arventennoù Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Arventennoù" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Penndibaboù" @@ -721,7 +892,7 @@ msgstr "Personelaat Modoboa" msgid "No preferences available." msgstr "Arventenn hegerz ebet." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -729,108 +900,122 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Hizivaat ho titouroù personel" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "C'hwitet ez eus bet war hizivadur ar ger-tremen: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Digevreañ" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Lodenn greiz Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Arventennoù enrollet" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "Dizemglev gant brastres ar ger-tremen. Oc'h hizivat ar ger-tremen %s" -#: core/views/auth.py:64 +#: core/views/auth.py:53 +#, fuzzy, python-format +#| msgid "Password scheme mismatch. Updating %s password" +msgid "Password hash parameter missmatch. Updating %s password" +msgstr "Dizemglev gant brastres ar ger-tremen. Oc'h hizivat ar ger-tremen %s" + +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Implijer '%s' kevreet gant berzh" -#: core/views/auth.py:72 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." -msgstr "Hoc'h anv-implijer hag ho ker-tremen na genglotont ket. Klaskit en-dro, mar plij." +msgstr "" +"Hoc'h anv-implijer hag ho ker-tremen na genglotont ket. Klaskit en-dro, mar " +"plij." -#: core/views/auth.py:107 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Implijer '{}' digevreet gant berzh" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil hizivaet" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Arventennoù enrollet" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Moned hizivaet" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Neket kefluniet ar gevreadenn ouzh an diaz-roadenn %s" -#: lib/email_utils.py:350 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "n'heller ket termeniñ enkodiñ ar chadenn" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Aotreadur nac'het: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Aotreadur nac'het" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Ebarzhiñ un anv domani reizh" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Ebarzhit ur chomlec'h postel reizh." -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Kas" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Reked direizh" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Ya" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "C'hwitet ez eus bet war hizivadur ar ger-tremen: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Eus" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Da" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Sujed" @@ -867,9 +1052,8 @@ msgstr "Fazi:" msgid "Help:" msgstr "Skoazell:" -#: templates/common/generic_modal.html:6 -#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6 -#: templates/common/wizard_forms.html:27 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 msgid "Close" msgstr "Serriñ" @@ -903,7 +1087,9 @@ msgstr "Ger-tremen ankouaeet?" msgid "" "Your password has been set. You may go ahead and sign " "in now." -msgstr "Termenet eo bet ho ker-tremen. Gellout a rit mont war-raok ha kevreañ bremañ." +msgstr "" +"Termenet eo bet ho ker-tremen. Gellout a rit mont war-raok ha kevreañ bremañ." #: templates/registration/password_reset_confirm.html:7 msgid "Change password" @@ -913,7 +1099,10 @@ msgstr "Cheñch ger-tremen" msgid "" "The password reset link was invalid, possibly because it has already been " "used. Please request a new password reset." -msgstr "Al liamm adderaouaekaat a oa direizh anezhañ, sur a-walc'h abalamour m'eo bet implijet endeo. Goulennit war-lerc'h un adderaouekadur ger-tremen nevez mar plij." +msgstr "" +"Al liamm adderaouaekaat a oa direizh anezhañ, sur a-walc'h abalamour m'eo " +"bet implijet endeo. Goulennit war-lerc'h un adderaouekadur ger-tremen nevez " +"mar plij." #: templates/registration/password_reset_done.html:7 msgid "" @@ -921,20 +1110,28 @@ msgid "" "exists with the email you entered. You should receive them shortly.

                                                        " "

                                                        If you don't receive an email, please make sure you've entered your " "primary address, and check your spam folder.

                                                        " -msgstr "

                                                        Postelet hon eus deoc'h pazennoù evit diazezañ ker-tremen, ma vez ur gont gant ar postel ho peus ebarzhet. Resevet e vint ganeoc'h a-benn nebeud.

                                                        Ma ne resevit tamm postel ebet, bezit asur da vezañ bet skrivet ho chomlec'h postel pennañ, ha taolit ur sell ouzh an doser strob.

                                                        " +msgstr "" +"

                                                        Postelet hon eus deoc'h pazennoù evit diazezañ ker-tremen, ma vez ur gont " +"gant ar postel ho peus ebarzhet. Resevet e vint ganeoc'h a-benn nebeud.

                                                        " +"

                                                        Ma ne resevit tamm postel ebet, bezit asur da vezañ bet skrivet ho " +"chomlec'h postel pennañ, ha taolit ur sell ouzh an doser strob.

                                                        " #: templates/registration/password_reset_email.html:4 #, python-format msgid "" "To initiate the password reset process for your %(username)s Modoboa " "account, click the link below:" -msgstr "%(username)s, evit loc'hañ an argerzh adderaouekaat ger-tremen evit ho kont Modoboa, klikit war al liamm dindan:" +msgstr "" +"%(username)s, evit loc'hañ an argerzh adderaouekaat ger-tremen evit ho kont " +"Modoboa, klikit war al liamm dindan:" #: templates/registration/password_reset_email.html:10 msgid "" "If clicking the link above doesn't work, please copy and paste the URL in a " "new browser window instead." -msgstr "Ma ne 'z a ket en-dro klikañ war al liamm dindan, eilit pe pegit an URL e-barzh ur prenestr merdeer nevez e-plas." +msgstr "" +"Ma ne 'z a ket en-dro klikañ war al liamm dindan, eilit pe pegit an URL e-" +"barzh ur prenestr merdeer nevez e-plas." #: templates/registration/password_reset_email.html:14 msgid "Sincerely, The Modoboa Team." @@ -943,3 +1140,18 @@ msgstr "A galon, skipailh Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Ger-tremen Modoboa adderaouekaet" + +#~ msgid "md5crypt (weak)" +#~ msgstr "md5crypt (gwan)" + +#~ msgid "sha256 (weak)" +#~ msgstr "sha256 (gwan)" + +#~ msgid "md5 (weak)" +#~ msgstr "md5 (gwan)" + +#~ msgid "crypt (weak)" +#~ msgstr "crypt (gwan)" + +#~ msgid "plain (weak)" +#~ msgstr "plaen (gwan)" diff --git a/modoboa/locale/br/LC_MESSAGES/djangojs.po b/modoboa/locale/br/LC_MESSAGES/djangojs.po index de730cf01..a0d4efc47 100644 --- a/modoboa/locale/br/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/br/LC_MESSAGES/djangojs.po @@ -1,27 +1,35 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Fulup , 2016 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-04-01 07:59+0000\n" "Last-Translator: Fulup \n" "Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Enmont marilh ebet ken da ziskouez" @@ -34,7 +42,7 @@ msgstr "Kemenn-diwall" msgid "Cancel" msgstr "Nullañ" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Fazi diabarzh" diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po index dc0147cc9..58b06bcef 100644 --- a/modoboa/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/locale/cs_CZ/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-08-10 11:05+0000\n" "Last-Translator: Jarda Tesar \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/" @@ -22,39 +22,39 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " "<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Uživatelský profil" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Ověření" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Typ ověření" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Lokální" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Rozhraní pro ověřování přístupu" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Výchozí schéma hesel" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Použité schéma pro šifrování hesel schránek" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Počet cyklů" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -62,96 +62,178 @@ msgstr "" "Počet cyklů (použije se pouze u sha256crypt a sha512crypt). Hodnota musí být " "mezi 1000 a 999999999 včetně." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Výchozí schéma hesel" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Výchozí heslo" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Výchozí heslo pro automaticky vytvořené účty." -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Délka náhodného hesla" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Počet znaků náhodně vygenerovaných hesel." -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Výchozí schéma hesel" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Nastavení LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Adresa serveru" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP adresa DNS jména LDAP serveru" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Port serveru" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Port TCP, který používá LDAP server" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Adresa serveru" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "IP adresa DNS jména LDAP serveru" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Port serveru" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Port TCP, který používá LDAP server" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Použít zabezpečené připojení" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Použít SSL/STARTTLS připojení pro přístup k LDAP serveru" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "" "Volba určující, jestli je nebo není LDAP server serverem Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Správcovské skupiny" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Členové těchto LDAP Posix skupin budou automaticky vytvořeni jako správci " +"domény. Pro oddělení skupin použijte ';'." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Typ skupiny" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "Typ LDAP skupiny " + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Základna struktury skupin" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Rozlišovací jméno základny struktury používané pro hledání skupin" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Atribut hesla" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Atribut používaný pro ukládání hesel uživatelů" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Metoda ověření" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Metoda ověření" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Vyhledat a spojit" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Přímé spojení" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Zvolte si metodu ověření, která se použije" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Spojení pomocí DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -159,29 +241,29 @@ msgstr "" "Rozlišovací jméno, které se použije při spojování s LDAP serverem. " "Ponechejte prázdné pro anonymní spojení." -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Heslo spojení" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Heslo, které se použije při spojování s LDAP serverem (při výběru DN " "spojení)." -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Základna struktury uživatelů" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Rozlišovací jméno základny struktury používané pro hledání uživatelů" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Vyhledávací filtr" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -189,11 +271,11 @@ msgstr "" "Volitelný filtr (např. '(objectClass=osoba)'). Aby byl filtr platný, je " "nezbytné jen uzavřít do závorek." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Šablona uživatelského DN" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -202,68 +284,38 @@ msgstr "" "Šablona použitá pro tvorbu uživatelského rozlišovacího jména (DN). Měla by " "obsahovat jeden zástupný řetězec (tj. %(user)s)." -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Správcovské skupiny" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Členové těchto LDAP Posix skupin budou automaticky vytvořeni jako správci " -"domény. Pro oddělení skupin použijte ';'." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Typ skupiny" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "Typ LDAP skupiny " - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Základna struktury skupin" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "Rozlišovací jméno základny struktury používané pro hledání skupin" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Nastavení LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Povolit komunikaci" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Šablona uživatelského DN" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -275,85 +327,111 @@ msgstr "" "Šablona použitá pro tvorbu uživatelského rozlišovacího jména (DN). Měla by " "obsahovat jeden zástupný řetězec (tj. %(user)s)." -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Atribut hesla" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Atribut používaný pro ukládání hesel uživatelů" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Plocha" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Vlastní RSS zdroj" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "Zobrazit vlastní RSS zdroj distributorům a správcům domény" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Skrýt widget funkcí" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "Skrýt widget funkcí pro distributory a správce domény" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Oznámení" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Adresy odesílatele" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Emailová adresa používaná k zasílání upozornění" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "Veřejné API" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Povolit komunikaci" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Povolit komunikaci s veřejným Modoboa API rozhraním" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Zkontrolovat verzi" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Automaticky kontrolovat dostupnost nové verze" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Odoslat statistiky" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Zasílat statistické údaje na veřejné Modoboa API rozhraní (počítadla a " "použité rozšíření)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Různé" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Počet dnů pro neaktivní účet" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -361,57 +439,57 @@ msgstr "" "Účet s datem posledního přihlášení starším než práh (ve dnech) bude " "považován za neaktivní" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Interval aktualizací upozornění" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Interval mezi aktualizacemi upozornění na stránce (v sekundách)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Maximální stáří záznamu" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Maximální stáří záznamu ve dnech" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Položek na stránce" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Počet zobrazených položek na stránce" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Výchozí přesměrování aplikace" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "Výchozí přesměrování, které se použije, pokud není žádná aplikace " "specifikována" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Neplatná syntaxe" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Neplatný počet cyklů" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Toto pole je vyžadováno" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Obecné" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " @@ -420,163 +498,169 @@ msgstr "" "Hodnota USE_TZ je Vypnutá, toto může způsobit problémy při přechodu mezi " "letním a zimním časem (např. stejný čas dvakrát během změny času)." -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "Nastavte `USE_TZ = True` v settings.py" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Bežný uživatel" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Správce domény" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Distributor" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super správce" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Ne" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Uživatelské jméno" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Heslo" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Původní heslo" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nové heslo" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Potvrzení" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Původní heslo se neshoduje" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Hesla se neshodují" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Povolit API přístup" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "přidáno" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "upraveno" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s uživatelem %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "smazáno" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "uživatel {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "příkaz managementu" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Nemůžete smazat vlastní účet" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "K dispozici je jedna, nebo více, aktualizací" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "K dispozici je jedna, nebo více, aktualizací" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Povolit přístup do poštovních schránek" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Povolit správci přístup do uživatelských poštovních schránek" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "heslo" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "jazyk" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Preferovaný jazyk pro zobrazení stránek" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Telefonní číslo" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Sekundární email" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Alternativní e-mailová adresa, může být použita pro účely obnovy." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Nebylo možné změnit heslo: LDAP modul není instalován" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "účet" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Neznámý" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Neplatný řádek" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Nemůžete importvat účet s vyšším oprávněním, než máte vy sám" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Běžný uživatel '%s' musí mít nastavenou platnou emailovou adresu" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "pole uživatelského jména a emailu se nesmí pro '%s' lišit" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Heslo musí obsahovat alespoň {} číslo." @@ -584,7 +668,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} číslice." msgstr[2] "Heslo musí obsahovat alespoň {} číslic." msgstr[3] "Heslo musí obsahovat alespoň {} číslic." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Heslo musí obsahovat alespoň {} malé písmeno." @@ -592,7 +676,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} malé písmena." msgstr[2] "Heslo musí obsahovat alespoň {} malých písmen." msgstr[3] "Heslo musí obsahovat alespoň {} malých písmen." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Heslo musí obsahovat alespoň {} velké písmeno." @@ -600,7 +684,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} velká písmena." msgstr[2] "Heslo musí obsahovat alespoň {} velkých písmen." msgstr[3] "Heslo musí obsahovat alespoň {} velkých písmen." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Heslo musí obsahovat alespoň {} speciální znak." @@ -608,7 +692,7 @@ msgstr[1] "Heslo musí obsahovat alespoň {} speciální znaky." msgstr[2] "Heslo musí obsahovat alespoň {} speciálních znaků." msgstr[3] "Heslo musí obsahovat alespoň {} speciálních znaků." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" "Vaše heslo musí obsahovat kombinaci malých a velkých písmen, číslic a " @@ -664,7 +748,7 @@ msgid "API access token" msgstr "API přístupový token" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Aktualizovat" @@ -673,7 +757,7 @@ msgstr "Aktualizovat" msgid "Hello %(user)s." msgstr "Ahoj %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informace" @@ -724,7 +808,7 @@ msgstr "Role" msgid "Last login" msgstr "Poslední přihlášení" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Záznamy" @@ -732,7 +816,7 @@ msgstr "Záznamy" msgid "Previously on Modoboa..." msgstr "Dříve v Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Datum" @@ -748,7 +832,21 @@ msgstr "Zaznamenal" msgid "Message" msgstr "Zpráva" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "K dispozici je jedna, nebo více, aktualizací" +msgstr[1] "K dispozici je jedna, nebo více, aktualizací" +msgstr[2] "K dispozici je jedna, nebo více, aktualizací" +msgstr[3] "K dispozici je jedna, nebo více, aktualizací" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parametry" @@ -765,12 +863,12 @@ msgstr "Uložit" msgid "Modoboa settings" msgstr "Nastavení Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Nastavení" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Možnosti" @@ -782,7 +880,7 @@ msgstr "Nastavit Modoboa" msgid "No preferences available." msgstr "Žádné možnosti nejsou k dispozici." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -790,114 +888,120 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Aktualizovat osobní informace" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Nebylo možné změnit heslo: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Odhlásit se" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Hlavní část Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parametry uloženy" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Uživatel '%s' se úspěšně přihlásil" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" "Vaše uživatelské jméno nebo heslo se neshodují. Zkuste to prosím znovu." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Uživatel '{}' byl úspěšně odhlášen" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil aktualizován" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Možnosti uloženy" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Přístup aktualizován" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Připojení k databázi %s není nastaveno" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Přístup zamítnut: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Přístup zamítnut" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Vložte platné doménové jméno" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Vložte platnou emailovou adresu." -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Uložit" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Neplatný požadavek" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Ano" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Nebylo možné změnit heslo: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Od" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Komu" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Předmět" @@ -1020,6 +1124,11 @@ msgstr "S pozdravem, Tým Modoboa." msgid "Modoboa password reset" msgstr "Reset Modoboa hesla" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Povolit komunikaci" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (slabé)" diff --git a/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po b/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po index e809670f1..6177a13c6 100644 --- a/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/cs_CZ/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Peter Sveter, 2016 # Miroslav Abrahám , 2013,2015 @@ -9,20 +9,26 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-23 19:07+0000\n" "Last-Translator: Peter Sveter\n" -"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/language/cs_CZ/)\n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/" +"modoboa/language/cs_CZ/)\n" +"Language: cs_CZ\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs_CZ\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " +"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Žádný další záznam logu k zobrazení" @@ -35,7 +41,7 @@ msgstr "Upozornění" msgid "Cancel" msgstr "Zrušit" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Interní chyba" diff --git a/modoboa/locale/de/LC_MESSAGES/django.po b/modoboa/locale/de/LC_MESSAGES/django.po index b2019532f..db01b8e04 100644 --- a/modoboa/locale/de/LC_MESSAGES/django.po +++ b/modoboa/locale/de/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2015-07-09 14:03+0000\n" "Last-Translator: controlc.de\n" "Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n" @@ -21,41 +21,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Profil" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Authentifizierung" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Authentifizierungstyp" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Lokal" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Backend für die Authentifizierung" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Standard-Passwortschema" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Verschlüsselungsschema der Postfach-Passwörter" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Runden" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -63,128 +63,210 @@ msgstr "" "Anzahl zu verwendender Runden (nur für sha256crypt und sha512crypt). Zahl " "muss zwischen 1000 und 999999999 liegen." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Standard-Passwortschema" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Standard-Passwortschema" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Bind Passwort" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Standard-Passwortschema" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "LDAP-Einstellungen" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Server-Adresse" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP-Adresse oder Hostname des LDAP-Servers" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Server-Port" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Der TCP Port des LDAP-Servers" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Server-Adresse" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "IP-Adresse oder Hostname des LDAP-Servers" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Server-Port" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Der TCP Port des LDAP-Servers" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Gesicherte Verbindung verwenden" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "SSL/TLS-Verbindung für Zugriff auf LDAP-Server verwenden" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Auswählen wenn der LDAP-Server ein Active Directory ist." -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Administrator-Gruppen" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren " +"angelegt werden. Nutzen Sie ';', um Gruppen zu separieren." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Gruppentyp" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Gruppen Search Base" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Der DN der Search Base mit Gruppen gefunden werden" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Passwort-Attribut" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Das Attribut für Benutzerpasswörter" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Authentifizierungsmethode" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Authentifizierungsmethode" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Suchen und Bind anwenden" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Direkter Bind" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Wählen Sie die Authentifizierungsmethode" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "" "Der DN für einen Bind an den LDAP-Server. Nichts eingeben für anonymen Bind." -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Bind Passwort" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Das Passwort wenn mit dem Bind DN angemeldet wird." -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Benutzer Search Base" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Der DN der Search Base mit der Benutzerkonten gefunden werden" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Suchfilter" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -192,11 +274,11 @@ msgstr "" "Ein optionaler Filter, z.B. '(objectClass=person)'. Der Filter muss " "entsprechend der LDAP-Konvention in Klammern gesetzt werden." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Vorlage für User DN" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -205,66 +287,38 @@ msgstr "" "Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s " "enthalten." -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Administrator-Gruppen" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Mitglieder dieser LDAP Posix-Gruppe werden als Domain-Administratoren " -"angelegt werden. Nutzen Sie ';', um Gruppen zu separieren." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Gruppentyp" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Gruppen Search Base" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "Der DN der Search Base mit Gruppen gefunden werden" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "LDAP-Einstellungen" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Vorlage für User DN" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -276,332 +330,364 @@ msgstr "" "Die Vorlage für einen User DN. Sie sollte einen Platzhalter, z.B. %(user)s " "enthalten." -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Passwort-Attribut" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Das Attribut für Benutzerpasswörter" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 #, fuzzy #| msgid "Applications" msgid "Notifications" msgstr "Applikationen" -#: core/app_settings.py:302 +#: core/app_settings.py:358 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Server-Adresse" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Prüfe auf neue Versionen" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Prüft automatisch ob eine neuere Version verfügbar ist." -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Verschiedenes" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Benachrichtigungs-Prüfintervall" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervall zwischen zwei Benachrichtigungsprüfungen (in Sekunden)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Maximales Alter für Log-Einträge" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Das maximale Alter eines Log-Eintrags (in Tagen)" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Einträge pro Seite" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Anzahl dargestellter Einträge pro Seite" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Standardumleitung" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "Die Standardumleitung wenn kein Programm angegeben wurde" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Ungültiger Syntax" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Ungültige Zahl für Runden" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Dieses Feld ist erforderlich" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Allgemein" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Normaler Benutzer" -#: core/constants.py:10 +#: core/constants.py:6 #, fuzzy #| msgid "Super administrator" msgid "Domain administrator" msgstr "Super-Administrator" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super-Administrator" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Nein" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Benutzername" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Passwort" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Altes Passwort" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Neues Passwort" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Bestätigung" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Altes Passwort stimmt nicht überein" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Passwörter stimmen nicht überein" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "hinzugefügt" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "verändert" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s der Identität %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "entfernt" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Sie können Ihr eigenes Konto nicht entfernen" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Eine oder mehrere Aktualisierungen sind verfügbar" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Eine oder mehrere Aktualisierungen sind verfügbar" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Erlaube den Postfach-Zugriff" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Erlaubt dem Administrator auf Benutzer-Postfächer zuzugreifen" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "Passwort" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "Sprache" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Bevorzugte Sprache für Seitendarstellung" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Telefonnummer" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Alternative Email-Adresse" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Eine alternative e-mail Adresse zur Widerherstellung." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Konnte Passwort nicht aktualisieren: LDAP-Modul nicht installiert" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "Konto" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Unbekannt" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Ungültige Zeile" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "" "Sie können kein Konto mit einer höheren Rolle als Ihrer eigenen importieren" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Der normale Benutzer '%s' muss eine gültige E-Mail-Adresse besitzen" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Benutzername und E-Mail für '%s' dürfen sich nicht unterscheiden" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -651,7 +737,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Aktualisieren" @@ -660,7 +746,7 @@ msgstr "Aktualisieren" msgid "Hello %(user)s." msgstr "Hallo %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Information" @@ -711,7 +797,7 @@ msgstr "Rolle" msgid "Last login" msgstr "Letzte Anmeldung" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Logs" @@ -719,7 +805,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Vorher auf Modoboa…" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Datum" @@ -735,7 +821,19 @@ msgstr "Logger" msgid "Message" msgstr "Nachricht" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Eine oder mehrere Aktualisierungen sind verfügbar" +msgstr[1] "Eine oder mehrere Aktualisierungen sind verfügbar" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parameter" @@ -752,12 +850,12 @@ msgstr "Speichern" msgid "Modoboa settings" msgstr "Modoboa-Einstellungen" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Einstellungen" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Einstellungen" @@ -771,7 +869,7 @@ msgstr "Modoboa anpassen" msgid "No preferences available." msgstr "Einstellungen gespeichert" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -779,121 +877,127 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Aktualisieren Sie Ihre persönlichen Daten" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Konnte Passwort nicht aktualisieren: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Logout" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Der Kern von Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parameter gespeichert" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Benutzer '%s' hat sich erfolgreich angemeldet" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" "Ihr Benutzername und Passwort stimmen nicht überein. Bitte versuchen Sie es " "noch einmal." -#: core/views/auth.py:116 +#: core/views/auth.py:112 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" msgstr "Benutzer '%s' hat sich erfolgreich angemeldet" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil aktualisiert" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Einstellungen gespeichert" -#: core/views/user.py:99 +#: core/views/user.py:103 #, fuzzy #| msgid "Profile updated" msgid "Access updated" msgstr "Profil aktualisiert" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Verbindung zu Datenbank %s nicht konfiguriert" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Zugriff verweigert: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Zugriff verweigert" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Geben Sie einen gültigen Domain-Namen an" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Geben Sie einen gültigen Domain-Namen an" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Abschicken" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Ungültige Anfrage" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Ja" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Konnte Passwort nicht aktualisieren: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Absender" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Empfänger" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Betreff" diff --git a/modoboa/locale/de/LC_MESSAGES/djangojs.po b/modoboa/locale/de/LC_MESSAGES/djangojs.po index 320105f54..26b4c4c5f 100644 --- a/modoboa/locale/de/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/de/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Arvedui , 2014 # controlc.de, 2014 @@ -14,20 +14,24 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-19 10:26+0000\n" "Last-Translator: Tobias Strobel\n" "Language-Team: German (http://www.transifex.com/tonio/modoboa/language/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Keine weiteren Log-Einträge" @@ -40,7 +44,7 @@ msgstr "Warnung" msgid "Cancel" msgstr "Abbrechen" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Interner Fehler" diff --git a/modoboa/locale/el_GR/LC_MESSAGES/django.po b/modoboa/locale/el_GR/LC_MESSAGES/django.po index bd21ffe6f..81d6b2279 100644 --- a/modoboa/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-10-12 19:37+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,41 +20,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Προφίλ Χρήστη" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Πιστοποίηση" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Τύπος Πιστοποίησης" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Τοπικός" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Το backend που χρησιμοποιείται για πιστοποίηση" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Σχήμα που θα χρησιμοποιηθεί για την κρυπτογράφηση των κωδικών των " "λογαριασμών αλληλογραφίας" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Επαναλήψεων" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -62,97 +62,179 @@ msgstr "" "Αριθμός επαναλήψεων (μόνο για sha256crypt και sha512crypt). Μπορεί να είναι " "από 1000 έως και 999999999" -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Προκαθορισμένος κωδικός" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Προκαθορισμένος κωδικός για αυτόματη δημιουργία λογαριασμών" -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Μήκος τυχαίου κωδικού" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Μήκος των τυχαίων δημιουργημένων κωδικών" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Προεπιλεγμένος αλγόριθμος κωδικοποίησης" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Ρυθμίσεις LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Διεύθυνση εξυπηρετητή" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "Η IP διεύθυνση ή το DNS όνομα του εξυπηρετητή LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Πόρτα εξυπηρετητή" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Η TCP πόρτα λειτουργίας του εξυπηρετητή LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Διεύθυνση εξυπηρετητή" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "Η IP διεύθυνση ή το DNS όνομα του εξυπηρετητή LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Πόρτα εξυπηρετητή" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Η TCP πόρτα λειτουργίας του εξυπηρετητή LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Χρήση ασφαλής σύνδεσης" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "" "Χρησιμοποιήστε μια σύνδεση SSL / STARTTLS για να συνδεθήκατε στον διακομιστή " "LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Ο εξυπηρετητής LDAP είναι Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Groups Διαχειριστών" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές " +"domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Τύπος ομάδας" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "Τύπος ομάδας LDAP που χρησιμοποιείται με τον κατάλογο σας." + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Base αναζήτησης ομάδων χρηστών" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Το Base DN αναζήτησης ομάδων χρηστών" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Το πεδίο του κωδικού" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Το πεδίο αποθήκευσης των κωδικών χρηστών" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Μέθοδος Πιστοποίησης" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Μέθοδος Πιστοποίησης" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Αναζήτηση χρήστη και bind" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Χρήση Bind DN" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Επιλογή μεθόδου πιστοποίησης" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -160,28 +242,28 @@ msgstr "" "To distinguished name για το bind στον εξυπηρετητή LDAP. Αφήστε το κενό για " "anonymous" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Bind κωδικός " -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Ο κωδικός για το bind στον εξυπηρετητή LDAP (αντιστοιχεί στο 'Bind DN')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Base αναζήτησης χρηστών" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Το Base DN αναζήτησης χρηστών" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Φίλτρο αναζήτησης" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -189,11 +271,11 @@ msgstr "" "Προαιρετικό φίλτρο (π.χ. '(objectClass=person)'). Για να είναι έγκυρο πρέπει " "να περικλείεται σε παρενθέσεις." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Πρότυπο για DN χρηστών" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -202,68 +284,38 @@ msgstr "" "Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν " "placeholder (π.χ. %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Groups Διαχειριστών" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Τα μέλη αυτών των LDAP Posix ομάδων χρηστών θα δημιουργηθούν ως διαχειριστές " -"domain. Χρησιμοποιείστε τον χαραχτήρα ';' για να ξεχωρίσετε τις ομάδες." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Τύπος ομάδας" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "Τύπος ομάδας LDAP που χρησιμοποιείται με τον κατάλογο σας." - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Base αναζήτησης ομάδων χρηστών" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "Το Base DN αναζήτησης ομάδων χρηστών" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Ρυθμίσεις LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Ενεργοποίηση επικοινωνίας" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Πρότυπο για DN χρηστών" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -275,338 +327,370 @@ msgstr "" "Το πρότυπο δημιουργίας DN χρηστών. Θα πρέπει να περιλαμβάνει έναν " "placeholder (π.χ. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Το πεδίο του κωδικού" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Το πεδίο αποθήκευσης των κωδικών χρηστών" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Ταμπλό Συντομεύσεων" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Κατά παραγγελία RSS feed" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Προβολή κατά παραγγελία RSS feed για μεταπωλητές και διαχειριστές τομέα" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Κρύβω τις λειτουργίες από τα widget" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Κρύβω τις λειτουργίες από τα widget για τους μεταπωλητές και τους " "διαχειριστές του τομέα" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Υπενθύμιση " -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Διεύθυνση αποστολέα" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Email διεύθυνση που χρησιμοποιείται για την αποστολή υπενθυμίσεων " -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "Δημόσιο API" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Ενεργοποίηση επικοινωνίας" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Ενεργοποίηση επικοινωνίας με δημόσιο API του Modaboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Έλεγχος ενημερώσεων" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Αυτόματος έλεγχος διαθέσιμων ενημερώσεων" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Αποστολή στατιστικών" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Αποστολή στατιστικών στο public API του Motaboa (counters και used " "extensions)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Διάφορα" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Όριο απενεργοποιημένων λογαριασμών " -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "Όριο (σε ημέρες) για να απενεργοποιηθεί ένας Λογαριασμός." -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Μέγιστο διάστημα ελέγχου ειδοποιήσεων" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Διάστημα μεταξύ των δύο πρώτων ελέγχων ειδοποιήσεων (σε δευτερόλεπτα)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Μέγιστος χρόνος καταγραφής των log" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Μέγιστη διάρκεια σε ημέρες καταγραφής των log" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Εμφανίσεις ανά σελίδα" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Αριθμός εμφανίσεων ανά σελίδα" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Κύριες προκαθορισμένες αναδρομολογήσεις" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "Προκαθορισμένες αναδρομολογήσεις που χρησιμοποιούνται όταν δεν υπάρχουν " "προκαθορισμένες εφαρμογές" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Μη έγκυρη σύνταξη" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Λάθος αριθμός επαναλήψεων " -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Αυτό το πεδίο είναι υποχρεωτικό" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Γενικά" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Απλός χρήστης" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Διαχειριστής Τομέα" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Μεταπωλητής " -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super διαχειριστής" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Όχι" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Όνομα Χρήστη" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Κωδικός" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Παλιός κωδικός" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Νέος κωδικός" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Επιβεβαίωση" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Αναντιστοιχία παλιού κωδικού" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Αναντιστοιχία κωδικών" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Ενεργοποίηση πρόσβασης API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "πρόσθεσε" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "άλλαξε" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s του χρήστη %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s'%(name)s'%(action)s από" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "Διαγράφηκε" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "Χρήστης {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "Εντολή διαχείρισης" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Δεν μπορείτε να διαγράψετε τον δικό σας λογαριασμό" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Υπάρχουν διαθέσιμες ενημερώσεις" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Υπάρχουν διαθέσιμες ενημερώσεις" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Να επιτρέπεται η πρόσβαση σε γραμματοκιβώτια" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" "Να επιτρέπεται σε αυτόν τον διαχειριστή η πρόσβαση στα γραμματοκιβώτια " "χρηστών" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "κωδικός" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "Γλώσσα " -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Επιλογή γλώσσας για την εμφάνιση σελίδων." -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Τηλέφωνο" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Δευτερεύον email" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" "Μια εναλλακτική e-mail διεύθυνση, μπορεί να χρησιμοποιηθεί για λόγους " "ανάκτησης." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "" "Σφάλμα κατά την ενημέρωση του κωδικού: το LDAP module δεν είναι εγκατεστημένο" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "λογαριασμός" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Άγνωστη" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Λάθος γραμμή" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "" "Δεν μπορείτε να εισάγετε έναν λογαριασμό με ρόλο μεγαλύτερο από τον δικό σας" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Ο απλός χρήστης '%s' πρέπει να έχει μια έγκυρη email διεύθυνση" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" "Το όνομα χρήστη και το email δεν μπορεί να είναι διαφορετικά για τον '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα ψηφίο" msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα ψηφίο" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} μικρά γράμματα." msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} μικρά γράμματα." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} κεφαλαία γράμματα." msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {}  κεφαλαία γράμματα." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα σπέσιαλ χαρακτήρα." msgstr[1] "Ο κωδικός πρέπει να περιέχει τουλάχιστον {} ένα σπέσιαλ χαρακτήρα." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" "Ο κωδικός πρέπει να περιέχει ένα συνδυασμό από διαφορετικούς τύπους " @@ -662,7 +746,7 @@ msgid "API access token" msgstr "Κωδικός πρόσβασης στο API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Ενημέρωση" @@ -671,7 +755,7 @@ msgstr "Ενημέρωση" msgid "Hello %(user)s." msgstr "Για σου %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Πληροφορίες" @@ -722,7 +806,7 @@ msgstr "Ρόλος" msgid "Last login" msgstr "Τελευταία είσοδος χρήστη" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Καταγραφές" @@ -730,7 +814,7 @@ msgstr "Καταγραφές" msgid "Previously on Modoboa..." msgstr "Πρώην στο Modaboa... " -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Ημερομηνία" @@ -746,7 +830,19 @@ msgstr "Καταχωρητής" msgid "Message" msgstr "Μήνυμα" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Υπάρχουν διαθέσιμες ενημερώσεις" +msgstr[1] "Υπάρχουν διαθέσιμες ενημερώσεις" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Παράμετροι" @@ -763,12 +859,12 @@ msgstr "Αποθήκευση" msgid "Modoboa settings" msgstr "Ρυθμίσεις Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Ρυθμίσεις" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Προτιμήσεις" @@ -780,7 +876,7 @@ msgstr "Προσαρμογή του Modoboa" msgid "No preferences available." msgstr "Δεν υπάρχουν διαθέσιμες προτιμήσεις." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Προφίλ" @@ -788,113 +884,119 @@ msgstr "Προφίλ" msgid "Update your personal information" msgstr "Ενημέρωση προσωπικών πληροφοριών" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Αποτυχία ενημέρωσης κωδικού: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Έξοδος" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Το βασικό μέρος του Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Οι παράμετροι αποθηκεύτηκαν" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Επιτυχής είσοδος του χρήστη '%s'" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "Λάθος όνομα χρήστη ή κωδικός. Παρακαλώ δοκιμάστε ξανά." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Ο χρήστης '{}'  αποσυνδέθηκε επιτυχώς" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Το προφίλ ενημερώθηκε" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Οι προτιμήσεις αποθηκεύτηκαν" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Το πρόσβαση ενημερώθηκε" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Δεν έχει ρυθμιστεί η σύνδεση με την βάση δεδομένων %s" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Δεν επιτρέπεται η πρόσβαση: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Δεν επιτρέπεται η πρόσβαση" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Εισάγετε ένα έγκυρο όνομα domain" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Εισαγωγή μιας πραγματικής διεύθυνσης email." -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Αποστολή" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Λάθος αίτημα" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Ναι" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Αποτυχία ενημέρωσης κωδικού: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Από" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Προς" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Τίτλος" @@ -1020,6 +1122,11 @@ msgstr "Με εκτίμηση, Η ομάδα του Modaboa." msgid "Modoboa password reset" msgstr "Ο κωδικός του Μοdaboa επαναφέρθηκε" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Ενεργοποίηση επικοινωνίας" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (αδύναμο)" diff --git a/modoboa/locale/el_GR/LC_MESSAGES/djangojs.po b/modoboa/locale/el_GR/LC_MESSAGES/djangojs.po index 4241a0364..69fa971da 100644 --- a/modoboa/locale/el_GR/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/el_GR/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giannis Kapetanakis , 2016 # Kostas Moumouris , 2017 @@ -9,20 +9,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-10-05 17:43+0000\n" "Last-Translator: Kostas Moumouris \n" -"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/language/el_GR/)\n" +"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" +"language/el_GR/)\n" +"Language: el_GR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: el_GR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Δεν υπάρχουν άλλες καταγγραφές για εμφάνιση" @@ -35,7 +40,7 @@ msgstr "Προειδοποίηση" msgid "Cancel" msgstr "Ακύρωση" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Εσωτερικό σφάλμα" diff --git a/modoboa/locale/en/LC_MESSAGES/django.po b/modoboa/locale/en/LC_MESSAGES/django.po index 133932ad2..0fbe1eda0 100644 --- a/modoboa/locale/en/LC_MESSAGES/django.po +++ b/modoboa/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,549 +17,621 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:69 +#: core/app_settings.py:63 msgid "Update password scheme at login" msgstr "" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 -msgid "LDAP settings" +#: core/app_settings.py:86 +msgid "Update password service URL" msgstr "" -#: core/app_settings.py:95 -msgid "Server address" +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." msgstr "" #: core/app_settings.py:98 +msgid "LDAP settings" +msgstr "" + +#: core/app_settings.py:101 +msgid "Server address" +msgstr "" + +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "" -#: core/app_settings.py:110 -msgid "Use a secured connection" -msgstr "" - #: core/app_settings.py:114 -msgid "Use an SSL/STARTTLS connection to access the LDAP server" +msgid "Enable secondary server (fallback)" msgstr "" -#: core/app_settings.py:118 -msgid "Active Directory" +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" msgstr "" -#: core/app_settings.py:121 -msgid "Tell if the LDAP server is an Active Directory one" +#: core/app_settings.py:123 +msgid "Secondary server address" msgstr "" #: core/app_settings.py:126 -msgid "LDAP authentication settings" -msgstr "" - -#: core/app_settings.py:129 -msgid "Authentication method" +msgid "The IP address or the DNS name of the seondary LDAP server" msgstr "" #: core/app_settings.py:130 -msgid "Search and bind" -msgstr "" - -#: core/app_settings.py:131 -msgid "Direct bind" +msgid "Secondary server port" msgstr "" #: core/app_settings.py:133 +msgid "The TCP port number used by the LDAP secondary server" +msgstr "" + +#: core/app_settings.py:137 +msgid "Use a secured connection" +msgstr "" + +#: core/app_settings.py:141 +msgid "Use an SSL/STARTTLS connection to access the LDAP server" +msgstr "" + +#: core/app_settings.py:145 +msgid "Active Directory" +msgstr "" + +#: core/app_settings.py:148 +msgid "Tell if the LDAP server is an Active Directory one" +msgstr "" + +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "" + +#: core/app_settings.py:187 +msgid "LDAP authentication settings" +msgstr "" + +#: core/app_settings.py:190 +msgid "Authentication method" +msgstr "" + +#: core/app_settings.py:191 +msgid "Search and bind" +msgstr "" + +#: core/app_settings.py:192 +msgid "Direct bind" +msgstr "" + +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." msgstr "" -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" msgstr "" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 msgid "LDAP synchronization settings" msgstr "" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 msgid "Account DN template" msgstr "" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, python-format msgid "" "The template used to construct an account's DN. It should contain one " "placeholder (ie. %(user)s)" msgstr "" -#: core/app_settings.py:275 -msgid "Password attribute" -msgstr "" - -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "" - -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 -msgid "Dashboard" -msgstr "" - -#: core/app_settings.py:284 -msgid "Custom RSS feed" -msgstr "" - -#: core/app_settings.py:287 -msgid "Display custom RSS feed to resellers and domain administrators" -msgstr "" - -#: core/app_settings.py:292 -msgid "Hide features widget" -msgstr "" - -#: core/app_settings.py:295 -msgid "Hide features widget for resellers and domain administrators" -msgstr "" - -#: core/app_settings.py:299 -msgid "Notifications" -msgstr "" - #: core/app_settings.py:302 -msgid "Sender address" +msgid "Enable import from LDAP" msgstr "" #: core/app_settings.py:305 -msgid "Email address used to send notifications." +msgid "Enable account synchronization from LDAP directory to local database" msgstr "" -#: core/app_settings.py:309 -msgid "Public API" -msgstr "" - -#: core/app_settings.py:312 -msgid "Enable communication" -msgstr "" - -#: core/app_settings.py:315 -msgid "Enable communication with Modoboa public API" -msgstr "" - -#: core/app_settings.py:319 -msgid "Check new versions" -msgstr "" - -#: core/app_settings.py:322 -msgid "Automatically checks if a newer version is available" -msgstr "" - -#: core/app_settings.py:326 -msgid "Send statistics" -msgstr "" - -#: core/app_settings.py:329 -msgid "Send statistics to Modoboa public API (counters and used extensions)" +#: core/app_settings.py:330 +msgid "Username attribute" msgstr "" #: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" + +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 +msgid "Dashboard" +msgstr "" + +#: core/app_settings.py:340 +msgid "Custom RSS feed" +msgstr "" + +#: core/app_settings.py:343 +msgid "Display custom RSS feed to resellers and domain administrators" +msgstr "" + +#: core/app_settings.py:348 +msgid "Hide features widget" +msgstr "" + +#: core/app_settings.py:351 +msgid "Hide features widget for resellers and domain administrators" +msgstr "" + +#: core/app_settings.py:355 +msgid "Notifications" +msgstr "" + +#: core/app_settings.py:358 +msgid "Sender address" +msgstr "" + +#: core/app_settings.py:361 +msgid "Email address used to send notifications." +msgstr "" + +#: core/app_settings.py:365 +msgid "Public API" +msgstr "" + +#: core/app_settings.py:368 +msgid "Enable communication" +msgstr "" + +#: core/app_settings.py:371 +msgid "Enable communication with Modoboa public API" +msgstr "" + +#: core/app_settings.py:375 +msgid "Check new versions" +msgstr "" + +#: core/app_settings.py:378 +msgid "Automatically checks if a newer version is available" +msgstr "" + +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 +msgid "Send statistics" +msgstr "" + +#: core/app_settings.py:400 +msgid "Send statistics to Modoboa public API (counters and used extensions)" +msgstr "" + +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +msgid "[modoboa] Update(s) available" +msgstr "" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -609,7 +681,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "" @@ -618,7 +690,7 @@ msgstr "" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "" @@ -667,7 +739,7 @@ msgstr "" msgid "Last login" msgstr "" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "" @@ -675,7 +747,7 @@ msgstr "" msgid "Previously on Modoboa..." msgstr "" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "" @@ -691,7 +763,17 @@ msgstr "" msgid "Message" msgstr "" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "" +msgstr[1] "" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "" @@ -708,12 +790,12 @@ msgstr "" msgid "Modoboa settings" msgstr "" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "" @@ -725,7 +807,7 @@ msgstr "" msgid "No preferences available." msgstr "" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "" @@ -733,113 +815,117 @@ msgstr "" msgid "Update your personal information" msgstr "" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +msgid "Click here to update your password" +msgstr "" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "" diff --git a/modoboa/locale/en/LC_MESSAGES/djangojs.po b/modoboa/locale/en/LC_MESSAGES/djangojs.po index 7baa6229f..d4f7a4f01 100644 --- a/modoboa/locale/en/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/en/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,6 +21,10 @@ msgstr "" msgid "'" msgstr "" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "" @@ -33,7 +37,7 @@ msgstr "" msgid "Cancel" msgstr "" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "" diff --git a/modoboa/locale/es/LC_MESSAGES/django.po b/modoboa/locale/es/LC_MESSAGES/django.po index 112292efe..9088f370c 100644 --- a/modoboa/locale/es/LC_MESSAGES/django.po +++ b/modoboa/locale/es/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-06-28 00:40+0000\n" "Last-Translator: Evilham \n" "Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/" @@ -26,39 +26,39 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Perfil de usuario" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autenticación" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Tipo de autenticación" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Local" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "El sistema usado para autenticación" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Esquema de contraseña por defecto" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para cifrar las contraseñas del mailbox" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Rondas" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -66,99 +66,181 @@ msgstr "" "Número de rondas a usar (sólo utilizado por sha256crypr y sha512crypt). Debe " "estar entre 1000 y 999999999, incluído." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Esquema de contraseña por defecto" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Contraseña por defecto" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Contraseña por defecto para cuentas creadas automáticamente." -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Modoboa password reset" msgid "Random password length" msgstr "Restauración de contraseña de Modoboa" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Esquema de contraseña por defecto" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Configuración de LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Dirección del servidor" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Puerto del servidor" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Número de puerto TCP usado por el servidor LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Dirección del servidor" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "La dirección IP del servidor de nombres (DNS) del servidor LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Puerto del servidor" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Número de puerto TCP usado por el servidor LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Usa una conexión segura" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Usa una conexión SSL/TLS para acceder al servidor LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Directorio Activo" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Decir si el servidor de LDAP es uno del tipo Directorio Activo" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Administrador de grupos" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Los miembros de esos grupos Posix LDAP serán creados como administradores de " +"dominio. Use caracteres \";\" para separar los grupos." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Tipo de grupo" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "El tipo de LDAP para usar en el directorio" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Base para la búsqueda de grupos" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "El distinguido nombre de la búsqueda base usada para encontrar grupos" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Atributo de la contraseña" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "El atributo usado para guardar las contraseñas del usuario" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Método de autenticación" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Método de autenticación" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Buscar y unir" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Unión directa" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Elegir el método de autenticación a usar" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Unir a DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -166,29 +248,29 @@ msgstr "" "El nombre distinguido a usar cuando nos unimos al servidor LDAP. Dejar vació " "para una unión anónima" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Unir contraseña" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "La contraseña a usar cuando nos unimos al servidor LDAP (con 'Unir a DN')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Base para la búsqueda de usuarios" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "" "El distinguido nombre de la búsqueda base usada para encontrar usuarios" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Filtro de búsqueda" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -196,11 +278,11 @@ msgstr "" "Una cadena de filtro opcional (p.e. '(objectClass=person)'). Para que sea " "válido tiene que ser encerrado entre paréntesis." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Plantilla DN del usuario" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -209,68 +291,38 @@ msgstr "" "La plantilla usada para contriunr un DN de usuario. Debería contener una " "cadena reemplazables (p.e. %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Administrador de grupos" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Los miembros de esos grupos Posix LDAP serán creados como administradores de " -"dominio. Use caracteres \";\" para separar los grupos." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Tipo de grupo" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "El tipo de LDAP para usar en el directorio" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Base para la búsqueda de grupos" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "El distinguido nombre de la búsqueda base usada para encontrar grupos" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Configuración de LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Establecer comunicación" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Plantilla DN del usuario" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -282,333 +334,365 @@ msgstr "" "La plantilla usada para contriunr un DN de usuario. Debería contener una " "cadena reemplazables (p.e. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Atributo de la contraseña" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "El atributo usado para guardar las contraseñas del usuario" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Panel de Control" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Agregación RSS personalizada" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Mostrar una fuente de agregación RSS personalizada a revendedores y " "administradores de dominio" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Ocultar widget de características" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Ocultar el widget de características a revendedores y administradores de " "dominio" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Notificaciones" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Dirección del remitente" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Dirección de email usada para mandar notificaciones" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "API pública" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Establecer comunicación" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Establecer comunicación con la API publica de Modoboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Comprobar nuevas versiones" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Verificar automáticamente si hay una nueva versión disponible" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Enviar estadísticas" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Enviar estadísticas a la API pública de Modoboa (contadores y extensiones " "usadas)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Otros" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Intervalo de tiempo para notificaciones superiores" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalo entre dos notificaciones superiores (en segundos)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Máximo tiempo de almacenamiento del log" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "El tiempo máximo de almacenamiento del log en días" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Items por página" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Número de elementos mostrado por página" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Redirección principal por defecto" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "La redirección que será usada cuando ninguna aplicación sea especificada." -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Sintaxis inválida" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Número de rondas inváldo" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Este campo es obligatorio" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "General" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Usuario normal" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Administrador del dominio" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Revendedor" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super administrador" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "No " -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Nombre de usuario" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Contraseña" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Contraseña anterior" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nueva contraseña" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Confirmación" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "La contraseña no concuerda con la anterior" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Las contraseñas no coinciden" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Habilitar acceso al API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "añadido" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "modificado" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s por el usuario %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s por el usuario %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "eliminado" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "No puede eliminar su propia cuenta" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Una o más actualizaciones están disponibles" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Una o más actualizaciones están disponibles" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Permitir acceso al buzón" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Permitir a este administrador acceso al buzon de los usuarios" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "contraseña" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "idioma" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Idioma preferido para mostrar las páginas" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Numero de telefono " -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Email secundario" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Email alternativo, puede ser usado para recuperación." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Falló al actualizar la contraseña: módulo LDAP no instalado" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "cuenta" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Desconocido" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Línea inválida" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "No puede importar una cuenta con un rol mayor que el suyo" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "El usuario normal '%s' debe tener una dirección de email válida" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" "Los campos de nombre de usuario y de email no deben ser diferentes para '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "La contraseña debe contener al menos {} dígito." msgstr[1] "La contraseña debe contener al menos {} dígitos." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "La contraseña debe tener al menos {} minúscula." msgstr[1] "La contraseña debe tener al menos {} minúsculas." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "La contraseña debe tener al menos {} mayúscula." msgstr[1] "La contraseña debe tener al menos {} mayúsculas." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "La contraseña debe tener al menos {} carácter especial." msgstr[1] "La contraseña debe tener al menos {} caracteres especiales." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" "Su contraseña debe contener una combinación de diferentes tipos de carácter." @@ -663,7 +747,7 @@ msgid "API access token" msgstr "Token de acceso a la API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Actualizar" @@ -672,7 +756,7 @@ msgstr "Actualizar" msgid "Hello %(user)s." msgstr "Hola %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Información" @@ -723,7 +807,7 @@ msgstr "Función" msgid "Last login" msgstr "Último acceso" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Logs" @@ -731,7 +815,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Anteriormente en Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Fecha" @@ -747,7 +831,19 @@ msgstr "Logger" msgid "Message" msgstr "Mensaje" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Una o más actualizaciones están disponibles" +msgstr[1] "Una o más actualizaciones están disponibles" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parámetros" @@ -764,12 +860,12 @@ msgstr "Guardar" msgid "Modoboa settings" msgstr "Configuración de Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Configuración" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Preferencias" @@ -781,7 +877,7 @@ msgstr "Personalizar Modoboa" msgid "No preferences available." msgstr "No hay preferencias disponibles." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Perfil" @@ -789,115 +885,121 @@ msgstr "Perfil" msgid "Update your personal information" msgstr "Actualizar su información personal" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "No se ha podido actualizar la contraseña: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Salir" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "El núcleo de Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parámetros guardados" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Usuario '%s' ha entrado con éxito" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" "Su nombre de usuario y contraseña no concuerdan. Por favor, inténtelo de " "nuevo." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Usuario '{}' ha salido con éxito" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Perfil actualizado" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Preferencias guardadas" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Acceso actualizado" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Conexión a la base de datos %s no configurada" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Permiso denegado: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Permiso denegado" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Introduzca un nombre dominio válido" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Intriduzca un email válido" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Enviar" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Petición inválida" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Sí" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "No se ha podido actualizar la contraseña: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Desde" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Hasta" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Tema" @@ -1023,6 +1125,11 @@ msgstr "Saludos cordiales, el equipo de Modoboa." msgid "Modoboa password reset" msgstr "Restauración de contraseña de Modoboa" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Establecer comunicación" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (débil)" diff --git a/modoboa/locale/es/LC_MESSAGES/djangojs.po b/modoboa/locale/es/LC_MESSAGES/djangojs.po index 6e3b15150..89b886f18 100644 --- a/modoboa/locale/es/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/es/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Adrian Araujo , 2016 # Pedro Gracia , 2011,2013 @@ -10,20 +10,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-02-20 22:58+0000\n" "Last-Translator: samuel santos \n" -"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/es/)\n" +"Language-Team: Spanish (http://www.transifex.com/tonio/modoboa/language/" +"es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Sin entradas que mostrar" @@ -36,7 +41,7 @@ msgstr "Aviso" msgid "Cancel" msgstr "Cancelar" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Error interno" diff --git a/modoboa/locale/fr/LC_MESSAGES/django.po b/modoboa/locale/fr/LC_MESSAGES/django.po index 43fb990d6..1aa0e8661 100644 --- a/modoboa/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-05-07 10:54+0200\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -18,40 +18,40 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Profil utilisateur" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Authentification" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Type d'authentification" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Locale" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Le backend utilisé pour l'authentification" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Méthode de chiffrement par défaut" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Méthode utilisée pour chiffrer les mots de passe des boites aux lettres" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Tours" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -59,150 +59,119 @@ msgstr "" "Nombre de tours à utiliser (sha256crypt et sha512crypt uniquement). Doit " "être compris entre 1000 et 999999999 inclue." -#: core/app_settings.py:69 +#: core/app_settings.py:63 msgid "Update password scheme at login" msgstr "Mettre à jour le chiffrement des mots de passe à la connexion" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" "Mettre à jour le mot de passe au login pour utiliser le chiffrement par " "défaut" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Mot de passe par défaut" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Mot de passe par défaut pour les comptes créés automatiquement." -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Taille d'un mot de passe aléatoire" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Taille des mots de passe générés aléatoirement." -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Update password scheme at login" +msgid "Update password service URL" +msgstr "Mettre à jour le chiffrement des mots de passe à la connexion" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Paramètres LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Adresse du serveur" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "L'adresse IP ou le nom DNS du serveur LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Port utilisé par le serveur" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Le port TCP utilisé par le serveur LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Adresse du serveur" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "L'adresse IP ou le nom DNS du serveur LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Port utilisé par le serveur" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Le port TCP utilisé par le serveur LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Utiliser une connexion sécurisée" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Utiliser une connexion SSL/STARTTLS pour accéder au serveur LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Indiquer si le serveur LDAP est un Active Directory ou pas" -#: core/app_settings.py:126 -msgid "LDAP authentication settings" -msgstr "Paramètres d'authentification LDAP" - -#: core/app_settings.py:129 -msgid "Authentication method" -msgstr "Méthode d'authentification" - -#: core/app_settings.py:130 -msgid "Search and bind" -msgstr "Recherche et connexion" - -#: core/app_settings.py:131 -msgid "Direct bind" -msgstr "Connexion directe" - -#: core/app_settings.py:133 -msgid "Choose the authentication method to use" -msgstr "Choisir la méthode d'authentification à utiliser" - -#: core/app_settings.py:138 core/app_settings.py:244 -msgid "Bind DN" -msgstr "ND de connexion" - -#: core/app_settings.py:141 core/app_settings.py:247 -msgid "" -"The distinguished name to use when binding to the LDAP server. Leave empty " -"for an anonymous bind" -msgstr "" -"Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser " -"vide pour une connexion anonyme" - -#: core/app_settings.py:149 core/app_settings.py:254 -msgid "Bind password" -msgstr "Mot de passe de connexion" - -#: core/app_settings.py:152 core/app_settings.py:257 -msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "" -"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de " -"connexion')" - -#: core/app_settings.py:161 -msgid "Users search base" -msgstr "Base de recherche des utilisateurs" - -#: core/app_settings.py:164 -msgid "The distinguished name of the search base used to find users" -msgstr "" -"Le nom distinctif de la base de recherche utilisée pour rechercher les " -"utilisateurs" - -#: core/app_settings.py:171 -msgid "Search filter" -msgstr "Filtre de recherche" - -#: core/app_settings.py:174 -msgid "" -"An optional filter string (e.g. '(objectClass=person)'). In order to be " -"valid, it must be enclosed in parentheses." -msgstr "" -"Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être " -"valide, il doit être entouré de parenthèses." - -#: core/app_settings.py:182 -msgid "User DN template" -msgstr "Modèle de nom distinctif utilisateur" - -#: core/app_settings.py:185 -#, python-format -msgid "" -"The template used to construct a user's DN. It should contain one " -"placeholder (ie. %(user)s)" -msgstr "" -"Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il " -"doit contenir un espace réservé (ex. %(user)s)" - -#: core/app_settings.py:193 +#: core/app_settings.py:152 msgid "Administrator groups" msgstr "Groupes administrateurs" -#: core/app_settings.py:196 +#: core/app_settings.py:155 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -211,141 +180,263 @@ msgstr "" "qu'administrateurs de domaine. Utiliser des caractères ';' pour séparer les " "groupes." -#: core/app_settings.py:203 +#: core/app_settings.py:162 msgid "Group type" msgstr "Type de groupe" -#: core/app_settings.py:207 +#: core/app_settings.py:166 msgid "The LDAP group type to use with your directory." msgstr "Le type de groupe LDAP à utiliser avec votre annuaire." -#: core/app_settings.py:212 +#: core/app_settings.py:171 msgid "Groups search base" msgstr "Base de recherche des groupes" -#: core/app_settings.py:215 +#: core/app_settings.py:174 msgid "The distinguished name of the search base used to find groups" msgstr "" "Le nom distinctif de la base de recherche utilisée pour rechercher les " "groupes" -#: core/app_settings.py:222 +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Attribut 'mot de passe'" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "L'attribut utilisé pour stocker les mots de passe" + +#: core/app_settings.py:187 +msgid "LDAP authentication settings" +msgstr "Paramètres d'authentification LDAP" + +#: core/app_settings.py:190 +msgid "Authentication method" +msgstr "Méthode d'authentification" + +#: core/app_settings.py:191 +msgid "Search and bind" +msgstr "Recherche et connexion" + +#: core/app_settings.py:192 +msgid "Direct bind" +msgstr "Connexion directe" + +#: core/app_settings.py:194 +msgid "Choose the authentication method to use" +msgstr "Choisir la méthode d'authentification à utiliser" + +#: core/app_settings.py:198 core/app_settings.py:252 +msgid "Bind DN" +msgstr "ND de connexion" + +#: core/app_settings.py:201 core/app_settings.py:255 +msgid "" +"The distinguished name to use when binding to the LDAP server. Leave empty " +"for an anonymous bind" +msgstr "" +"Le nom distinctif à utiliser pour les connections au serveur LDAP. Laisser " +"vide pour une connexion anonyme" + +#: core/app_settings.py:208 core/app_settings.py:262 +msgid "Bind password" +msgstr "Mot de passe de connexion" + +#: core/app_settings.py:211 core/app_settings.py:265 +msgid "The password to use when binding to the LDAP server (with 'Bind DN')" +msgstr "" +"Le mot de passe à utiliser pour les connections au serveur LDAP (avec 'ND de " +"connexion')" + +#: core/app_settings.py:219 core/app_settings.py:311 +msgid "Users search base" +msgstr "Base de recherche des utilisateurs" + +#: core/app_settings.py:222 core/app_settings.py:314 +msgid "The distinguished name of the search base used to find users" +msgstr "" +"Le nom distinctif de la base de recherche utilisée pour rechercher les " +"utilisateurs" + +#: core/app_settings.py:228 core/app_settings.py:320 +msgid "Search filter" +msgstr "Filtre de recherche" + +#: core/app_settings.py:231 core/app_settings.py:323 +msgid "" +"An optional filter string (e.g. '(objectClass=person)'). In order to be " +"valid, it must be enclosed in parentheses." +msgstr "" +"Un filtre de recherche optionel (ex. '(objectClass=person)'). Pour être " +"valide, il doit être entouré de parenthèses." + +#: core/app_settings.py:238 +msgid "User DN template" +msgstr "Modèle de nom distinctif utilisateur" + +#: core/app_settings.py:241 +#, python-format +msgid "" +"The template used to construct a user's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" +"Le modèle utilisé pour construire le nom distinctif d'un utilisateur. Il " +"doit contenir un espace réservé (ex. %(user)s)" + +#: core/app_settings.py:249 msgid "LDAP synchronization settings" msgstr "Paramètres de synchronisation LDAP" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" -msgstr "Activer la synchronisation LDAP" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" -msgstr "Activer la synchronisation automatique entre la base locale et un annuaire LDAP" +msgstr "" +"Activer la synchronisation automatique entre la base locale et un annuaire " +"LDAP" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "Supprimer le compte LDAP distant lorsqu'un compte local est supprimé" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." -msgstr "Supprimer un compte LDAP distant lorsqu'un compte local est supprimé, autrement il sera désactivé." +msgstr "" +"Supprimer un compte LDAP distant lorsqu'un compte local est supprimé, " +"autrement il sera désactivé." -#: core/app_settings.py:265 +#: core/app_settings.py:292 msgid "Account DN template" msgstr "Modèle de nom distinctif de compte" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, python-format msgid "" "The template used to construct an account's DN. It should contain one " "placeholder (ie. %(user)s)" -msgstr "Le modèle utilisé pour construire le nom distinctif d'un compte. Il doit contenir un espace réservé (ex. %(user)s)" +msgstr "" +"Le modèle utilisé pour construire le nom distinctif d'un compte. Il doit " +"contenir un espace réservé (ex. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +#, fuzzy +#| msgid "" +#| "Enable automatic synchronization between local database and LDAP directory" +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" +"Activer la synchronisation automatique entre la base locale et un annuaire " +"LDAP" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Attribut 'mot de passe'" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "L'attribut utilisé pour stocker les mots de passe" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Tableau de bord" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Flux RSS personnalisé" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Afficher un flux RSS personnalisé aux revendeurs et administrateurs de " "domaine" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Masquer le widget des fonctionnalités" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Masquer le widget des fonctionnalités pour les revendeurs et les " "administrateurs de domaine" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Notifications" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Adresse d'envoi" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Adresse utilisée pour envoyer les notifications." -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "API publique" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Activer la communication" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Activer la communication avec l'API publique de Modoboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Vérifier les nouvelles versions" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Vérifie automatiquement si une nouvelle version est disponible" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Envoyer des statistiques" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Envoyer des statistiques à l'API publique de Modoboa (compteurs et " "extensions utilisées)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Divers" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Seuil des comptes inactifs" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -353,56 +444,56 @@ msgstr "" "Un compte avec une date de dernière connexion antérieure à ce seuil sera " "considéré comme inactif" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Intervalle de vérification des notifications" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalle entre deux vérifications de notification (en secondes)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Age maximal d'un enregistrement du journal" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "L'age maximal en jours d'un enregistrement du journal" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Eléments par page" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Nombre d'éléments affichés par page" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Redirection par défaut" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "La redirection appliquée par défaut quand aucune application n'est spécifiée" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Syntaxe invalide" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Nombre invalide de tours" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Ce champ est requis" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Général" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " @@ -412,188 +503,194 @@ msgstr "" "pendant les transitions heure d'hiver / heure d'été (c'est à dire que la " "même heure locale arrivera deux fois à cause du changement d'heure)." -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "Mettre `USE_TZ = True` dans settings.py" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Utilisateur simple" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Administrateur de domaine" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Revendeur" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super administrateur" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Non" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Nom d'utilisateur" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Mot de passe" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Ancien mot de passe" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nouveau mot de passe" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Confirmation" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "L'ancien mot de passe est incorrect" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Les mots de passe diffèrent" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Activer l'accès API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "ajouté" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "modifié" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s par l'utilisateur %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s par" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "Supprimé" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "l'utilisateur {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "commande de gestion" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Vous ne pouvez pas supprimer votre propre compte" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Une ou plusieurs mises à jour sont disponibles!" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Une ou plusieurs mises à jour sont disponibles!" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Autoriser l'accès aux boites" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Autoriser cet administrateur à accéder aux boites des utilisateurs" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "mot de passe" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "langue" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Langage préféré pour afficher les pages" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Numéro de téléphone" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Email secondaire" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Une adresse e-mail alternative ou de secours." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "" "Echec de la mise à jour du mot de passe : le module LDAP n'est pas installé" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "compte" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Inconnu" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Ligne invalide" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Vous ne pouvez pas importer un compte avec un rôle supérieur au votre" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "L'utilisateur simple '%s' doit avoir une adresse email valide" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Les champs username et email de '%s' ne doivent pas différer" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Le mot de passe doit contenir au moins {} chiffre." msgstr[1] "Le mot de passe doit contenir au moins {} chiffres." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Le mot de passe doit contenir au moins {} minuscule." msgstr[1] "Le mot de passe doit contenir au moins {} minuscules." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Le mot de passe doit contenir au moins {} majuscule." msgstr[1] "Le mot de passe doit contenir au moins {} majuscules." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Le mot de passe doit contenir au moins {} caractère spécial." msgstr[1] "Le mot de passe doit contenir au moins {} caractères spéciaux." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" "Votre mot de passe doit contenir une combinaison de différents types de " @@ -649,7 +746,7 @@ msgid "API access token" msgstr "Jeton d'accès à l'API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Mettre à jour" @@ -658,7 +755,7 @@ msgstr "Mettre à jour" msgid "Hello %(user)s." msgstr "Bonjour %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Information" @@ -708,7 +805,7 @@ msgstr "Rôle" msgid "Last login" msgstr "Dernière connexion" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Journaux" @@ -716,7 +813,7 @@ msgstr "Journaux" msgid "Previously on Modoboa..." msgstr "Précédemment dans Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Date" @@ -732,7 +829,19 @@ msgstr "Logger" msgid "Message" msgstr "Message" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Une ou plusieurs mises à jour sont disponibles!" +msgstr[1] "Une ou plusieurs mises à jour sont disponibles!" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Paramètres" @@ -749,12 +858,12 @@ msgstr "Enregistrer" msgid "Modoboa settings" msgstr "Paramètres de Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Configuration" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Préférences" @@ -766,7 +875,7 @@ msgstr "Personnalisez Modoboa" msgid "No preferences available." msgstr "Aucune préférence disponible." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -774,115 +883,121 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Mettez à jour vos informations personnelles" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Impossible de mettre à jour le mot de passe : {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Déconnexion" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Le coeur de Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Paramètres enregistrés" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "Chiffrement non concordant. Mise à jour du mot de passe de %s" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "Chiffrement non concordant. Mise à jour du mot de passe de %s" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Utiliseur '%s' connecté avec succès" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" "Votre nom d'utilisateur et mot de passe ne correspondent pas. Veuillez " "réessayer." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Utilisateur '{}' déconnecté avec succès" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil mis à jour" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Préférences enregistrées" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Accès mis à jour" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Connexion à la base de données %s non configurée" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "impossible de trouver l'encodage de la chaîne de caractère" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Permission refusée : %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Permission refusée" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Entrer un nom de domaine valide" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Entrez une adresse email valide." -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Soumettre" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Requête invalide" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Oui" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Impossible de mettre à jour le mot de passe : {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "De" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "À" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Sujet" @@ -1008,3 +1123,6 @@ msgstr "Cordialement, l'équipe Modoboa." #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "Réinitialisation du mot de passe Modoboa" + +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Activer la synchronisation LDAP" diff --git a/modoboa/locale/fr/LC_MESSAGES/djangojs.po b/modoboa/locale/fr/LC_MESSAGES/djangojs.po index 39b6c2eba..8c4dd3d1b 100644 --- a/modoboa/locale/fr/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/fr/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Antoine Nguyen , 2016 # Landry MINOZA , 2014 @@ -9,20 +9,24 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-23 18:04+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Plus d'entrée de journal à afficher" @@ -35,7 +39,7 @@ msgstr "Avertissement" msgid "Cancel" msgstr "Annuler" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Erreur interne" diff --git a/modoboa/locale/it/LC_MESSAGES/django.po b/modoboa/locale/it/LC_MESSAGES/django.po index a2589184e..96e486bfa 100644 --- a/modoboa/locale/it/LC_MESSAGES/django.po +++ b/modoboa/locale/it/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-01 16:31+0000\n" "Last-Translator: marcotrevisan \n" "Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" @@ -22,40 +22,40 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Profilo utente" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autenticazione" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Tipo di autenticazione" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Locale" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Il backend utilizzato per l'autenticazione" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Schema password predefinito" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "" "Schema utilizzato per la criptazione delle password delle caselle di posta" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Cicli" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -63,154 +63,121 @@ msgstr "" "Numero di cicli da utilizzare (valido per sha256crypt e sha512crypt). Deve " "essere compreso tra 1000 e 999999999." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Update password scheme" msgid "Update password scheme at login" msgstr "Aggiorna lo schema di password" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" "Aggiorna la password utente al login per usare lo schema di password " "predefinito" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Password predefinita" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Password predefinita per gli account creati automaticamente." -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Lunghezza della password casuale" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Lunghezza delle password generate casualmente" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Update password scheme" +msgid "Update password service URL" +msgstr "Aggiorna lo schema di password" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Impostazioni LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Indirizzo del server" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "L'indirizzo IP o il DNS name del server LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Porta del server" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Il numero della porta TCP utilizzata dal server LDAP" -#: core/app_settings.py:110 -msgid "Use a secured connection" -msgstr "Usa una connessione sicura" - #: core/app_settings.py:114 -msgid "Use an SSL/STARTTLS connection to access the LDAP server" -msgstr "Usa una connessione SSL/STARTTLS per l'accesso al server LDAP" +msgid "Enable secondary server (fallback)" +msgstr "" -#: core/app_settings.py:118 -msgid "Active Directory" -msgstr "Active Directory" +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" -#: core/app_settings.py:121 -msgid "Tell if the LDAP server is an Active Directory one" -msgstr "Segnala se il server LDAP è una Active Directory" +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Indirizzo del server" #: core/app_settings.py:126 #, fuzzy -#| msgid "Authentication method" -msgid "LDAP authentication settings" -msgstr "Metodo di autenticazione" - -#: core/app_settings.py:129 -msgid "Authentication method" -msgstr "Metodo di autenticazione" +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "L'indirizzo IP o il DNS name del server LDAP" #: core/app_settings.py:130 -msgid "Search and bind" -msgstr "Cerca e collega" - -#: core/app_settings.py:131 -msgid "Direct bind" -msgstr "Collegamento diretto" +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Porta del server" #: core/app_settings.py:133 -msgid "Choose the authentication method to use" -msgstr "Scegli il metodo di autenticazione da usare" +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Il numero della porta TCP utilizzata dal server LDAP" -#: core/app_settings.py:138 core/app_settings.py:244 -msgid "Bind DN" -msgstr "Collega DN" +#: core/app_settings.py:137 +msgid "Use a secured connection" +msgstr "Usa una connessione sicura" -#: core/app_settings.py:141 core/app_settings.py:247 -msgid "" -"The distinguished name to use when binding to the LDAP server. Leave empty " -"for an anonymous bind" -msgstr "" -"DN (Nome distinto univoco) da usare quando ci si collega al server LDAP. " -"Lasciare vuoto per un collegamento anonimo" +#: core/app_settings.py:141 +msgid "Use an SSL/STARTTLS connection to access the LDAP server" +msgstr "Usa una connessione SSL/STARTTLS per l'accesso al server LDAP" -#: core/app_settings.py:149 core/app_settings.py:254 -msgid "Bind password" -msgstr "Password del collegamento" +#: core/app_settings.py:145 +msgid "Active Directory" +msgstr "Active Directory" -#: core/app_settings.py:152 core/app_settings.py:257 -msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "" -"La password da utilizzare quando ci si collega al server LDAP (con 'Collega " -"DN')" +#: core/app_settings.py:148 +msgid "Tell if the LDAP server is an Active Directory one" +msgstr "Segnala se il server LDAP è una Active Directory" -#: core/app_settings.py:161 -msgid "Users search base" -msgstr "Base di ricerca per gli utenti" - -#: core/app_settings.py:164 -msgid "The distinguished name of the search base used to find users" -msgstr "" -"DN (Nome distinto univoco) della base di ricerca utilizzata per cercare gli " -"utenti" - -#: core/app_settings.py:171 -msgid "Search filter" -msgstr "Filtro ricerca" - -#: core/app_settings.py:174 -msgid "" -"An optional filter string (e.g. '(objectClass=person)'). In order to be " -"valid, it must be enclosed in parentheses." -msgstr "" -"Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere " -"valida deve essere racchiusa tra parentesi." - -#: core/app_settings.py:182 -msgid "User DN template" -msgstr "Modello DN dell'utente" - -#: core/app_settings.py:185 -#, python-format -msgid "" -"The template used to construct a user's DN. It should contain one " -"placeholder (ie. %(user)s)" -msgstr "" -"Il modello utilizzato per comporre il DN degli utenti. Deve contenere un " -"segnaposto (p.es. %(user)s)" - -#: core/app_settings.py:193 +#: core/app_settings.py:152 msgid "Administrator groups" msgstr "Gruppi degli amministratori" -#: core/app_settings.py:196 +#: core/app_settings.py:155 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -219,58 +186,143 @@ msgstr "" "amministratori di dominio. Utilizza il carattere ';' per separare valori " "multipli." -#: core/app_settings.py:203 +#: core/app_settings.py:162 msgid "Group type" msgstr "Tipo di gruppo" -#: core/app_settings.py:207 +#: core/app_settings.py:166 msgid "The LDAP group type to use with your directory." msgstr "Il tipo di gruppo LDAP da utilizzare nella Directory" -#: core/app_settings.py:212 +#: core/app_settings.py:171 msgid "Groups search base" msgstr "Base di ricerca per i gruppi" -#: core/app_settings.py:215 +#: core/app_settings.py:174 msgid "The distinguished name of the search base used to find groups" msgstr "" "DN (Nome distinto univoco) della base di ricerca utilizzato per trovare i " "gruppi" -#: core/app_settings.py:222 +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Attributo della password" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "L'attributo utilizzato per memorizzare le password degli utenti" + +#: core/app_settings.py:187 +#, fuzzy +#| msgid "Authentication method" +msgid "LDAP authentication settings" +msgstr "Metodo di autenticazione" + +#: core/app_settings.py:190 +msgid "Authentication method" +msgstr "Metodo di autenticazione" + +#: core/app_settings.py:191 +msgid "Search and bind" +msgstr "Cerca e collega" + +#: core/app_settings.py:192 +msgid "Direct bind" +msgstr "Collegamento diretto" + +#: core/app_settings.py:194 +msgid "Choose the authentication method to use" +msgstr "Scegli il metodo di autenticazione da usare" + +#: core/app_settings.py:198 core/app_settings.py:252 +msgid "Bind DN" +msgstr "Collega DN" + +#: core/app_settings.py:201 core/app_settings.py:255 +msgid "" +"The distinguished name to use when binding to the LDAP server. Leave empty " +"for an anonymous bind" +msgstr "" +"DN (Nome distinto univoco) da usare quando ci si collega al server LDAP. " +"Lasciare vuoto per un collegamento anonimo" + +#: core/app_settings.py:208 core/app_settings.py:262 +msgid "Bind password" +msgstr "Password del collegamento" + +#: core/app_settings.py:211 core/app_settings.py:265 +msgid "The password to use when binding to the LDAP server (with 'Bind DN')" +msgstr "" +"La password da utilizzare quando ci si collega al server LDAP (con 'Collega " +"DN')" + +#: core/app_settings.py:219 core/app_settings.py:311 +msgid "Users search base" +msgstr "Base di ricerca per gli utenti" + +#: core/app_settings.py:222 core/app_settings.py:314 +msgid "The distinguished name of the search base used to find users" +msgstr "" +"DN (Nome distinto univoco) della base di ricerca utilizzata per cercare gli " +"utenti" + +#: core/app_settings.py:228 core/app_settings.py:320 +msgid "Search filter" +msgstr "Filtro ricerca" + +#: core/app_settings.py:231 core/app_settings.py:323 +msgid "" +"An optional filter string (e.g. '(objectClass=person)'). In order to be " +"valid, it must be enclosed in parentheses." +msgstr "" +"Stringa di filtraggio opzionale (p.es '(objectClass=person)'). Per essere " +"valida deve essere racchiusa tra parentesi." + +#: core/app_settings.py:238 +msgid "User DN template" +msgstr "Modello DN dell'utente" + +#: core/app_settings.py:241 +#, python-format +msgid "" +"The template used to construct a user's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" +"Il modello utilizzato per comporre il DN degli utenti. Deve contenere un " +"segnaposto (p.es. %(user)s)" + +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Impostazioni LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Abilita comunicazione" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Modello DN dell'utente" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -282,85 +334,111 @@ msgstr "" "Il modello utilizzato per comporre il DN degli utenti. Deve contenere un " "segnaposto (p.es. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Attributo della password" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "L'attributo utilizzato per memorizzare le password degli utenti" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "RSS feed custom" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "Mostra RSS feed custom a rivenditori e amministratori di dominio" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Nascondi il widget delle feature" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Notifiche" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Indirizzo di invio" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Indirizzo email utilizzato per inviare le notifiche" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "API pubblica" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Abilita comunicazione" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Abilita la comunicazione con l'API pubblica di modoboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Controlla nuove versioni" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Controlla automaticamente se è disponibile una nuova versione" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Invia statistiche" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Invia statistiche all'API pubblica di modoboa (contatori ed estensioni " "utilizzate)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Varie" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Soglia account inattivo" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -368,247 +446,253 @@ msgstr "" "Un account con una data di ultimo accesso più vecchia di questa soglia (in " "giorni) verrà considerato inattivo" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Intervallo notifiche" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervallo di tempo per la ricerca di nuove notifiche (in secondi)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Età massima dei log" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "La persistenza massima in giorni dei log" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Elementi per pagina" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Numero degli elementi visualizzati in ciascuna pagina" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Reindirizzamento principale predefinito" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "Redirezione predefinita utilizzata quando non è specificata alcuna " "applicazione" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Sintassi errata" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Numero di cicli non valido" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Questo campo è obbligatorio" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Generale" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "Imposta `USE_TZ = True` in settings.py" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Utente semplice" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Amministratore di dominio" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Rivenditore" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super amministratore" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "No" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Nome utente" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Password" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Vecchia password" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nuova password" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Conferma" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "La vecchia password non corrisponde" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Le password non corrispondono" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Abilita accesso API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "aggiunto" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "modificato" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s dall'utente %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "cancellato" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Non puoi cancellare il tuo account" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Sono disponibili nuovi aggiornamenti" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Sono disponibili nuovi aggiornamenti" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Consenti l'accesso alle caselle di posta" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" "Permetti a questo amministratore di accedere alle caselle di posta degli " "utenti" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "password" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "lingua" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Lingua preferita per la visualizzazione delle pagine" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Numero di telefono" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Email alternativa" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" "Un indirizzo email alternativo, da utilizzare per il recupero password." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Aggiornamento della password fallito: il modulo LDAP non è installato" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "account" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Sconosciuto" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Riga non valida" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Non puoi importare un account con un ruolo superiore al tuo" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "L'utente '%s' deve avere un indirizzo email valido" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "I campi nome utente e email di '%s' devono avere lo stesso valore" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "La password deve contenere almeno {} cifra." msgstr[1] "La password deve contenere almeno {} cifre." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "La password deve contenere almeno {} lettera minuscola." msgstr[1] "La password deve contenere almeno {} lettere minuscole." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "La password deve contenere almeno {} lettera maiuscola." msgstr[1] "La password deve contenere almeno {} lettere maiuscole." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "La password deve contenere almeno {} carattere speciale." msgstr[1] "La password deve contenere almeno {} caratteri speciali." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" "La tua password deve contenere una combinazione di diversi tipi di carattere." @@ -661,7 +745,7 @@ msgid "API access token" msgstr "Token di accesso" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Aggiorna" @@ -670,7 +754,7 @@ msgstr "Aggiorna" msgid "Hello %(user)s." msgstr "Ciao %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informazioni" @@ -721,7 +805,7 @@ msgstr "Ruolo" msgid "Last login" msgstr "Ultimo login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Log" @@ -729,7 +813,7 @@ msgstr "Log" msgid "Previously on Modoboa..." msgstr "Precedentemente su Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Data" @@ -745,7 +829,19 @@ msgstr "Logger" msgid "Message" msgstr "Messaggio" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Sono disponibili nuovi aggiornamenti" +msgstr[1] "Sono disponibili nuovi aggiornamenti" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parametri" @@ -762,12 +858,12 @@ msgstr "Salva" msgid "Modoboa settings" msgstr "Impostazioni Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Impostazioni" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Preferenze" @@ -779,7 +875,7 @@ msgstr "Personalizza Modoboa" msgid "No preferences available." msgstr "Nessuna opzione disponibile." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profilo" @@ -787,113 +883,119 @@ msgstr "Profilo" msgid "Update your personal information" msgstr "Aggiorna le informazioni personali" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Aggiornamento della password fallito: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Esci" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Parte centrale di Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parametri salvati" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "L'utente '%s' è correttamente registrato" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "Il tuo username e/o la tua password non corrispondono. Riprova." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Utente '{}' disconnesso" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profilo aggiornato" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Preferenze salvate" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Accesso aggiornato" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "La connessione con il database %s non è configurata" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "impossibile determinare la codifica della stringa" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Accesso negato: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Accesso negato" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Inserisci un nome di dominio valido" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Inserisci un indirizzo email valido." -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Invia" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Richiesta non valida" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Si" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Aggiornamento della password fallito: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Da" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "A" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Oggetto" @@ -1018,6 +1120,11 @@ msgstr "Cordialmente, il Team Modoboa." msgid "Modoboa password reset" msgstr "Modoboa password reset" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Abilita comunicazione" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (debole)" diff --git a/modoboa/locale/it/LC_MESSAGES/djangojs.po b/modoboa/locale/it/LC_MESSAGES/djangojs.po index 73eda73fc..b6bff5b3e 100644 --- a/modoboa/locale/it/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/it/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Antonino Ioppolo , 2017 # Rocco , 2015 @@ -9,20 +9,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-19 18:38+0000\n" "Last-Translator: Antonino Ioppolo \n" -"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" +"it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Non sono presenti altri log da mostrare" @@ -35,7 +40,7 @@ msgstr "Attenzione" msgid "Cancel" msgstr "Elimina" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Errore interno" diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/locale/ja_JP/LC_MESSAGES/django.po index d3e683559..c6545418c 100644 --- a/modoboa/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/locale/ja_JP/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-09-14 17:06+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -20,41 +20,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "プロフィール" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "認証" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "認証の種類" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "ローカル" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "認証に使用されるバックエンド" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "デフォルトのパスワードハッシュ" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "ハッシュは、メールボックスパスワードを暗号化するのに使われます" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "ラウンド" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -62,155 +62,125 @@ msgstr "" "ラウンド数は(sha256crypt と sha512crypt だけで)使用しています。\n" "1000 から 999999999 の間でなければなりません。" -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "デフォルトのパスワードハッシュ" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "デフォルトのパスワードハッシュ" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Bind パスワード" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "デフォルトのパスワードハッシュ" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "LDAP 設定" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "サーバーアドレス" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "LDAP サーバーの IP アドレス、または DNS 名" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "サーバーポート" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "LDAP サーバーの TCP ポート番号" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "サーバーアドレス" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "LDAP サーバーの IP アドレス、または DNS 名" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "サーバーポート" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "LDAP サーバーの TCP ポート番号" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "セキュアな接続を使う" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "LDAP サーバーへの接続に SSL/TLS 接続を使う" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "LDAP サーバーが Active Directory かどうか" -#: core/app_settings.py:126 -#, fuzzy -#| msgid "Authentication method" -msgid "LDAP authentication settings" -msgstr "認証方法" - -#: core/app_settings.py:129 -msgid "Authentication method" -msgstr "認証方法" - -#: core/app_settings.py:130 -msgid "Search and bind" -msgstr "検索と Bind" - -#: core/app_settings.py:131 -msgid "Direct bind" -msgstr "Bind" - -#: core/app_settings.py:133 -msgid "Choose the authentication method to use" -msgstr "使用する認証方式を選択します" - -#: core/app_settings.py:138 core/app_settings.py:244 -msgid "Bind DN" -msgstr "Bind DN" - -#: core/app_settings.py:141 core/app_settings.py:247 -msgid "" -"The distinguished name to use when binding to the LDAP server. Leave empty " -"for an anonymous bind" -msgstr "" -"LDAPサーバにバインドするときの識別名に使用します。\n" -"匿名バインドのときは空のままにします。" - -#: core/app_settings.py:149 core/app_settings.py:254 -msgid "Bind password" -msgstr "Bind パスワード" - -#: core/app_settings.py:152 core/app_settings.py:257 -msgid "The password to use when binding to the LDAP server (with 'Bind DN')" -msgstr "" -"(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード" - -#: core/app_settings.py:161 -msgid "Users search base" -msgstr "ユーザーの検索ベース" - -#: core/app_settings.py:164 -msgid "The distinguished name of the search base used to find users" -msgstr "ユーザーを見つけるために使用される検索ベースの識別名(DN)" - -#: core/app_settings.py:171 -msgid "Search filter" -msgstr "検索フィルター" - -#: core/app_settings.py:174 -msgid "" -"An optional filter string (e.g. '(objectClass=person)'). In order to be " -"valid, it must be enclosed in parentheses." -msgstr "" -"オプションのフィルタ文字列 (例えば \"(objectClass=person)\") \n" -"有効であるためには、括弧で囲まなければなりません。" - -#: core/app_settings.py:182 -msgid "User DN template" -msgstr "ユーザー DN テンプレート" - -#: core/app_settings.py:185 -#, python-format -msgid "" -"The template used to construct a user's DN. It should contain one " -"placeholder (ie. %(user)s)" -msgstr "" -"ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(user)s)" -"が含まれている必要があります。" - -#: core/app_settings.py:193 +#: core/app_settings.py:152 msgid "Administrator groups" msgstr "管理者グループ" -#: core/app_settings.py:196 +#: core/app_settings.py:155 msgid "" "Members of those LDAP Posix groups will be created as domain administrators. " "Use ';' characters to separate groups." @@ -219,54 +189,138 @@ msgstr "" "す。\n" "\";\" 文字を使って、複数グループを書けます。" -#: core/app_settings.py:203 +#: core/app_settings.py:162 msgid "Group type" msgstr "グループ種類" -#: core/app_settings.py:207 +#: core/app_settings.py:166 msgid "The LDAP group type to use with your directory." msgstr "ディレクトリで使用されている LDAP グループの種類" -#: core/app_settings.py:212 +#: core/app_settings.py:171 msgid "Groups search base" msgstr "グループの検索ベース" -#: core/app_settings.py:215 +#: core/app_settings.py:174 msgid "The distinguished name of the search base used to find groups" msgstr "グループを見つけるために使用される検索ベースの識別名(DN)" -#: core/app_settings.py:222 +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "パスワード属性" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "ユーザーパスワードを格納するための属性" + +#: core/app_settings.py:187 +#, fuzzy +#| msgid "Authentication method" +msgid "LDAP authentication settings" +msgstr "認証方法" + +#: core/app_settings.py:190 +msgid "Authentication method" +msgstr "認証方法" + +#: core/app_settings.py:191 +msgid "Search and bind" +msgstr "検索と Bind" + +#: core/app_settings.py:192 +msgid "Direct bind" +msgstr "Bind" + +#: core/app_settings.py:194 +msgid "Choose the authentication method to use" +msgstr "使用する認証方式を選択します" + +#: core/app_settings.py:198 core/app_settings.py:252 +msgid "Bind DN" +msgstr "Bind DN" + +#: core/app_settings.py:201 core/app_settings.py:255 +msgid "" +"The distinguished name to use when binding to the LDAP server. Leave empty " +"for an anonymous bind" +msgstr "" +"LDAPサーバにバインドするときの識別名に使用します。\n" +"匿名バインドのときは空のままにします。" + +#: core/app_settings.py:208 core/app_settings.py:262 +msgid "Bind password" +msgstr "Bind パスワード" + +#: core/app_settings.py:211 core/app_settings.py:265 +msgid "The password to use when binding to the LDAP server (with 'Bind DN')" +msgstr "" +"(\"Bind DN\" を使って) LDAPサーバにバインドするときに使用するパスワード" + +#: core/app_settings.py:219 core/app_settings.py:311 +msgid "Users search base" +msgstr "ユーザーの検索ベース" + +#: core/app_settings.py:222 core/app_settings.py:314 +msgid "The distinguished name of the search base used to find users" +msgstr "ユーザーを見つけるために使用される検索ベースの識別名(DN)" + +#: core/app_settings.py:228 core/app_settings.py:320 +msgid "Search filter" +msgstr "検索フィルター" + +#: core/app_settings.py:231 core/app_settings.py:323 +msgid "" +"An optional filter string (e.g. '(objectClass=person)'). In order to be " +"valid, it must be enclosed in parentheses." +msgstr "" +"オプションのフィルタ文字列 (例えば \"(objectClass=person)\") \n" +"有効であるためには、括弧で囲まなければなりません。" + +#: core/app_settings.py:238 +msgid "User DN template" +msgstr "ユーザー DN テンプレート" + +#: core/app_settings.py:241 +#, python-format +msgid "" +"The template used to construct a user's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" +"ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(user)s)" +"が含まれている必要があります。" + +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "LDAP 設定" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "ユーザー DN テンプレート" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -278,326 +332,358 @@ msgstr "" "ユーザーDNを作るために使用されるテンプレート。1つのプレースホルダ (%(user)s)" "が含まれている必要があります。" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "パスワード属性" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "ユーザーパスワードを格納するための属性" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "通知" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "送信者アドレス" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "通知の送信に使われる電子メールアドレス" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "新しいバージョンをチェックする" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "新しいバージョンが利用可能かどうか、自動的にチェックする" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "その他" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "トップの通知をチェックする間隔" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "2つのトップの通知チェックの間隔 (秒)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "最大ログ記録期間" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "ログを記録する日数の最大期間" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "ページあたりの件数" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "ページあたりに表示される項目の数" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "デフォルトのリダイレクト先" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "アプリケーションが指定されていないときのデフォルトのリダイレクト先に使用され" "ます" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "不正な構文" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "不正なラウンド数" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "このフィールドは必須です" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "全般" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "ユーザー" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "ドメイン管理者" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "リセーラー" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "全体管理者" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "いいえ" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "ユーザ名" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "パスワード" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "現在のパスワード" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "新しいパスワード" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "確認" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "現在のパスワードが一致しません" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "パスワード不一致" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "API アクセスを有効にします" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "追加しました" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "修正しました" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s by ユーザー %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s by ユーザー %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "削除しました" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "あなた自身のアカウントは削除できません" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "1つ以上のアップデートが利用できます" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "1つ以上のアップデートが利用できます" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "メールボックスのアクセスを許可する" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "ユーザーのメールボックスアクセスをこの管理者に許可する" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "パスワード" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "ページの表示に優先言語を使う" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "電話番号" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "2つめの電子メール" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "別の電子メールアドレスは、回復の必要のために使用することができます。" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "" "パスワードの更新に失敗しました : LDAP モジュールがインストールされていませ" "ん。" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "アカウント" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "不正な行" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "あなた以上のロールを持ったアカウントはインポートできません" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" "ユーザー \"%s\" は、正しい電子メールアドレスを持っていなければいけません" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "\"%s\" のユーザー名と電子メールフィールドが同一である必要があります。" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -647,7 +733,7 @@ msgid "API access token" msgstr "API アクセストークン" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "更新" @@ -656,7 +742,7 @@ msgstr "更新" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "情報" @@ -707,7 +793,7 @@ msgstr "" msgid "Last login" msgstr "最終ログイン" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "ログ" @@ -715,7 +801,7 @@ msgstr "ログ" msgid "Previously on Modoboa..." msgstr "Modoboa 以前 ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "日付" @@ -731,7 +817,18 @@ msgstr "ロガー" msgid "Message" msgstr "メッセージ" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "1つ以上のアップデートが利用できます" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "パラメータ" @@ -748,12 +845,12 @@ msgstr "保存" msgid "Modoboa settings" msgstr "Modoboa 設定" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "設定" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "プリファレンス" @@ -765,7 +862,7 @@ msgstr "Modoboa のカスタマイズ" msgid "No preferences available." msgstr "プリファレンスがありません" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "プロフィール" @@ -773,115 +870,121 @@ msgstr "プロフィール" msgid "Update your personal information" msgstr "個人情報を更新します" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "パスワードの更新に失敗しました: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "ログアウト" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Modoboaのコア部分" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "パラメータが保存されました" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "ユーザー \"%s\" がログインに成功しました" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "ユーザー名とパスワードが一致しません。やり直してください。" -#: core/views/auth.py:116 +#: core/views/auth.py:112 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" msgstr "ユーザー \"%s\" がログインに成功しました" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "プロフィールが更新されました" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "プリファレンスが保存されました" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "アクセスが更新されました" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "データベース %s への接続が構成されていません" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "アクセス拒否: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "アクセス拒否" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "正しいドメイン名を入力してください" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "正しいメールアドレスを入力してください" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "送信" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "不正なリクエスト" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "はい" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "パスワードの更新に失敗しました: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "件名" diff --git a/modoboa/locale/ja_JP/LC_MESSAGES/djangojs.po b/modoboa/locale/ja_JP/LC_MESSAGES/djangojs.po index f5da5a0db..ac74a45f6 100644 --- a/modoboa/locale/ja_JP/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/ja_JP/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-06-07 06:57+0000\n" "Last-Translator: cwatanab \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -23,6 +23,10 @@ msgstr "" msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "表示するログエントリはありません" @@ -35,7 +39,7 @@ msgstr "警告" msgid "Cancel" msgstr "キャンセル" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "内部エラー" diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/locale/nl_NL/LC_MESSAGES/django.po index 6e4cfa168..e344b23d7 100644 --- a/modoboa/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,41 +20,41 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Profiel" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Authenticatie" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Authenticatie type" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Lokaal" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "De backend gebruikt voor authenticatie" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Standaard wachtwoord encryptiemethode" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Schema dat gebruikt word om mailbox wachtwoorden te versleutelen" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Rondes" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -62,101 +62,185 @@ msgstr "" "Nummer van te gebruiken randomizeringsrondes (alleen bij sha256crypt en " "sha512crypt). Moet tussen de 1000 en 999999999 liggen." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Standaard wachtwoord encryptiemethode" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Standaard wachtwoord encryptiemethode" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Koppel wachtwoord" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Standaard wachtwoord encryptiemethode" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "LDAP instellingen" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Server adres" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "Het IP adres of de DNS naam van LDAP server" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Server poort" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Het TCP poortnummer gebruikt door de LDAP server" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Server adres" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "Het IP adres of de DNS naam van LDAP server" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Server poort" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Het TCP poortnummer gebruikt door de LDAP server" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Gebruik een beveiligde verbinding" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Gebruik een SSL/TLS verbinding met de LDAP server" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "De LDAP server is een Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Administrator groepen" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Leden van deze LDAP POSIX groepen zullen aangemaakt worden als domein " +"administrators. Gebruik ';' karakters om groepen te scheiden." + +#: core/app_settings.py:162 +#, fuzzy +#| msgid "Group name" +msgid "Group type" +msgstr "Groep naam" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Groepen zoek basis" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "De gedistingeerde naam van de zoekbasis om groepen te vinden" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Wachtwoord attribuut" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Dit attribuut word gebruikt om wachtwoorden op te slaan" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Authenticatie methode" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Authenticatie methode" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Zoeken en koppelen" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Directe koppeling" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Kies een authenticatie methode om te gebruiken" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Koppeling DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -164,29 +248,29 @@ msgstr "" "De gedistingeerde naam om te gebruiken bij het koppeling met de LDAP server. " "Laat leeg voor een anonieme koppeling." -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Koppel wachtwoord" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Het wachtwoord om te gebruiken tijdens het koppelen met de LDAP server (met " "'koppel DN')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Gebruikers zoekbasis" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "De gedistingeerde naam van de zoekbasis om gebruikers te vinden" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Zoek filter" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -194,11 +278,11 @@ msgstr "" "Een optionele filter string (zoals '(objectClass=person)'). Om geldig te " "kunnen zijn, moet het ingesloten zijn tussen haakjes." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Gebruiker DN template" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -207,68 +291,38 @@ msgstr "" "Het template dat gebruikt word om een gebruiker zijn/haar DN op te bouwen. " "Het moet een placeholder bevatten (bijvoorbeeld. %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Administrator groepen" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Leden van deze LDAP POSIX groepen zullen aangemaakt worden als domein " -"administrators. Gebruik ';' karakters om groepen te scheiden." - -#: core/app_settings.py:203 -#, fuzzy -#| msgid "Group name" -msgid "Group type" -msgstr "Groep naam" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Groepen zoek basis" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "De gedistingeerde naam van de zoekbasis om groepen te vinden" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "LDAP instellingen" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Gebruiker DN template" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -280,341 +334,373 @@ msgstr "" "Het template dat gebruikt word om een gebruiker zijn/haar DN op te bouwen. " "Het moet een placeholder bevatten (bijvoorbeeld. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Wachtwoord attribuut" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Dit attribuut word gebruikt om wachtwoorden op te slaan" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 #, fuzzy #| msgid "Authentication" msgid "Notifications" msgstr "Authenticatie" -#: core/app_settings.py:302 +#: core/app_settings.py:358 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Server adres" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Controleer of er een nieuwe versie beschikbaar is" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Automatische controle voor nieuwe versies" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Diversen" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Top notificaties controle interval" -#: core/app_settings.py:349 +#: core/app_settings.py:419 #, fuzzy #| msgid "Interval between two top notification checks" msgid "Interval between two top notification checks (in seconds)" msgstr "Interval tussen twee top notificatie checks" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Maximum bewaartijd van logs" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "De maximum bewaartijd in dagen van een log record" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Items per pagina" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Hoeveelheid items per pagina" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Standaard top omleiding" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "De standaard omleiding die gebruikt word als er geen andere applicatie is " "opgegeven" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Ongeldige zinsbouw" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Ongeldig nummer van rondes" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Dit veld is benodigd" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Algemeen" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Gebruiker" -#: core/constants.py:10 +#: core/constants.py:6 #, fuzzy #| msgid "Super administrator" msgid "Domain administrator" msgstr "Hoofdbeheerder" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Hoofdbeheerder" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Nee" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Gebruikersnaam" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Wachtwoord" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Oud wachtwoord" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nieuw wachtwoord" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Bevestiging" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Oud wachtwoord komt niet overeen" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Wachtwoorden komt niet overeen" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "toegevoegd" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "veranderd" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s door gebruiker %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s door gebruiker %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "verwijderd" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "U kunt uw eigen account niet verwijderen" -#: core/handlers.py:135 +#: core/handlers.py:131 #, fuzzy #| msgid "An update is available!" msgid "One or more updates are available" msgstr "Er is een update beschikbaar!" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "An update is available!" +msgid "[modoboa] Update(s) available" +msgstr "Er is een update beschikbaar!" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "wachtwoord" -#: core/models.py:65 +#: core/models.py:61 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Voorkeurs taal" -#: core/models.py:68 +#: core/models.py:64 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Voorkeurstaal om pagina's weer te geven" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Mislukt om wachtwoord aan te passen: LDAP module niet geinstalleerd" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "account" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Verkeerde regel" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "U kunt geen accounts importeren met hogere rechten dan die van uzelf." -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "De gebruiker '%s' moet een geldig email adres hebben" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "gebruikersnaam en email velden moeten niet verschillen van '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -664,7 +750,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Toepassen" @@ -673,7 +759,7 @@ msgstr "Toepassen" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informatie" @@ -728,7 +814,7 @@ msgstr "" msgid "Last login" msgstr "Laatste login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Logs" @@ -736,7 +822,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Vorige gebeurtenissen op Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Datum" @@ -752,7 +838,19 @@ msgstr "Logger" msgid "Message" msgstr "Bericht" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "An update is available!" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Er is een update beschikbaar!" +msgstr[1] "Er is een update beschikbaar!" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parameters" @@ -769,12 +867,12 @@ msgstr "Opslaan" msgid "Modoboa settings" msgstr "Instellingen van Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Instellingen" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Voorkeuren" @@ -788,7 +886,7 @@ msgstr "Modoboa aanpassen" msgid "No preferences available." msgstr "Voorkeuren opgeslagen" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profiel" @@ -796,125 +894,131 @@ msgstr "Profiel" msgid "Update your personal information" msgstr "Persoonlijke informatie aanpassen" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: %s" +msgid "Click here to update your password" +msgstr "Mislukt om wachtwoord aan te passen: %s" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Uitloggen" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "" -#: core/utils.py:36 +#: core/utils.py:32 #, fuzzy #| msgid "Welcome to Modoboa" msgid "The core part of Modoboa" msgstr "Welkom bij Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parameters opgeslagen" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Gebruiker '%s' successvol aangemeld" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" "Uw gebruikersnaam en wachtwoord komen niet overeen. Probeer het " "alstublieftopnieuw." -#: core/views/auth.py:116 +#: core/views/auth.py:112 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" msgstr "Gebruiker '%s' successvol aangemeld" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profiel aangepast" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Voorkeuren opgeslagen" -#: core/views/user.py:99 +#: core/views/user.py:103 #, fuzzy #| msgid "Profile updated" msgid "Access updated" msgstr "Profiel aangepast" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Verbinding naar database %s niet ingesteld" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Toegang geweigerd: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Toegang geweigerd" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Vul een geldige domeinnaam in" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Vul een geldig email adres in" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Versturen" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Ongeldig verzoek" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Ja" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Mislukt om wachtwoord aan te passen: %s" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Van" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "aan" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Onderwerp" diff --git a/modoboa/locale/nl_NL/LC_MESSAGES/djangojs.po b/modoboa/locale/nl_NL/LC_MESSAGES/djangojs.po index cab2b7c80..d95a23ccc 100644 --- a/modoboa/locale/nl_NL/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/nl_NL/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # R Kloosterman , 2016 # TuxBrother , 2014 @@ -10,20 +10,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-23 19:33+0000\n" "Last-Translator: Tuxis Internet Engineering V.O.F. \n" -"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/language/nl_NL/)\n" +"Language-Team: Dutch (Netherlands) (http://www.transifex.com/tonio/modoboa/" +"language/nl_NL/)\n" +"Language: nl_NL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl_NL\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Geen log bericht meer om te weergeven" @@ -36,7 +41,7 @@ msgstr "Waarschuwing" msgid "Cancel" msgstr "Annuleren" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Interne fout" diff --git a/modoboa/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/locale/pl_PL/LC_MESSAGES/django.po index 71a0279dc..94ad41ac5 100644 --- a/modoboa/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/locale/pl_PL/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-02 18:56+0000\n" "Last-Translator: Tomasz Proć \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -25,39 +25,39 @@ msgstr "" "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Profil użytkownika" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autentykacja" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Typ autentykacji" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Wewnętrzne" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Backend używany do autentykacji" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Domyślny schemat hasła" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Schemat używany do szyfrowania haseł do skrzynek" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Rund" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -65,95 +65,177 @@ msgstr "" "Liczba rund (tylko dla sha256crypt i sha512crypt). Musi się zawierać " "pomiędzy 1000 a 999999999 włącznie." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Domyślny schemat hasła" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Domyślne hasło" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Domyślne hasło dla automatycznie dodawanych kont." -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Długość losowego hasła" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Długość losowo wygenerowanego hasła" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Domyślny schemat hasła" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Ustawienia LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Adres serwera" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP lub nazwa DNS serwera LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Port" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Port TCP używany przez LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Adres serwera" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "IP lub nazwa DNS serwera LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Port" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Port TCP używany przez LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Użyj połączenia bezpiecznego" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Użyj SSL/STARTTLS dla połączenia z serwerem LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Czy LDAP jest Active Directory " -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Administrator grup" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. " +"Użyj znaku ';' jako separatora grup." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Typ grupy" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "Typ grupy LDAP do wykorzystania z Twoim katalogiem." + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Wyszukiwarka grup" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Atrybut hasła" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Atrybut używany do przechowywania haseł użytkowników" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Metoda autentykacji" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Metoda autentykacji" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Wyszukaj i powiąż" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Bezpośrednie powiązanie" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Wybierz metode autentykacji" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Przypnij do DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -161,37 +243,37 @@ msgstr "" "DN do użycia przy połączeniu do LDAP'a. Zostaw puste dla anonimowego " "podłączenia" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Hasło" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Hasło używane do połdłączenia do LDAP'a (z wskazanym DN)" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Wyszukiwania użytkowników" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Filtr wyszukiwania" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." msgstr "Użyj szablonu DN" -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Użyj szablonu DN" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -200,68 +282,38 @@ msgstr "" "Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden " "symbol zastępczy (np. %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Administrator grup" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Członkowie tych grup LDAP Posix będą utworzeni jako administratorzy domeny. " -"Użyj znaku ';' jako separatora grup." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Typ grupy" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "Typ grupy LDAP do wykorzystania z Twoim katalogiem." - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Wyszukiwarka grup" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "Nazwa wyróżniająca bazy wyszukiwania użyte do znalezienia grupy" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Ustawienia LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Włącz komunikację" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Użyj szablonu DN" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -273,85 +325,111 @@ msgstr "" "Szablon użyty do skonstruowania DN użytkownika. Powinna ona zawierać jeden " "symbol zastępczy (np. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Atrybut hasła" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Atrybut używany do przechowywania haseł użytkowników" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Panel główny" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Spersonalizowany kanał RSS" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Wyświetl spersonalizowany kanał RSS odsprzedawcy i administratorom domen" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Ukryj kontrolki opcji" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "Ukryj kontrolki opcji dla administratorów domeny i resellerów" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Powiadomienia" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Adres nadawcy" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Adres e-mail używany do wysyłania powiadomień" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "Publiczne API" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Włącz komunikację" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Włącz komunikację z publicznym API Modoboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Sprawdź nowe wersje" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Automatycznie sprawdzaj czy nowa wersja jest dostępna" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Wyślij statystyki" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Prześlij statystyki do publicznego API Modoboa (licznik i użyte rozszerzenia)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Różne" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Próg nieaktywności konta" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -359,218 +437,224 @@ msgstr "" "Konto z datą ostatniego logowania większą niż podany próg (w dniach) " "zostanie uznane za nieaktywne. " -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Odstęp pomiędzy powiadomieniami " -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Odstęp pomiędzy dwoma powiadomieniami (w sek.)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Max wiek wpisu w logu" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Max wiek w dniach dla wpisu w logu" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Elementów na stronie" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Liczba wyświetlanych elementów na stronie" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Domyślne górne przekierowanie" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "Domyślne górne przekierowanie kiedy nie wskazano aplikacji" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Nieprawidłowa składnia" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Nieprawidłowa liczba rund" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "To pole jest obowiązkowe" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Ogólne" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Prosty użytkownik" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Administrator domeny" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Reseller" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super administrator" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Nie" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Nazwa użytkownika" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Hasło" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Stare hasło" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nowe hasło" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Potwierdzenie" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Niezgodność ze starym gasłem" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Niezgodność haseł" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Włądze dostęp API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "dodano" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "zmodyfikowano" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s przez użytkownika %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s przez" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "usunięto" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "użytkownik {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "polecenie zarządzania" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Nie możesz usunąć własnego konta" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Jedna lub więcej aktualizacji jest dostępnych" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Jedna lub więcej aktualizacji jest dostępnych" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Zezwól na dostęp do skrzynek" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Zezwól temu administratorowi na dostęp do skrzynek użytkowników" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "hasło" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "Język" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Preferowany język" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Numer telefonu" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Zapasowy email" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "Alternatywny email, może zostać użyty do odzyskania hasła" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Nieudana zmiana hasła: moduł LDAP nie został zainstalowany" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "konto" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Nieznany" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Niepoprawna linia" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Nie możesz zaimportować konta z rolą wyższą od własnej" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Prosty uzytkownik '%s' musi posiadać prawidłowy adres email" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "pola nazwa użytkownika i email nie mogą się różnić dla '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Hasło musi zawierać przynajmniej {} cyfrę." @@ -578,7 +662,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} cyfry." msgstr[2] "Hasło musi zawierać przynajmniej {} cyfr." msgstr[3] "Hasło musi zawierać przynajmniej {} cyfr." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Hasło musi zawierać przynajmniej {} małą literę." @@ -586,7 +670,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} małe litery." msgstr[2] "Hasło musi zawierać przynajmniej {} małych liter." msgstr[3] "Hasło musi zawierać przynajmniej {} małych liter." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Hasło musi zawierać przynajmniej {} duża literę." @@ -594,7 +678,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} duże litery." msgstr[2] "Hasło musi zawierać przynajmniej {} dużych liter." msgstr[3] "Hasło musi zawierać przynajmniej {} dużych liter." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Hasło musi zawierać przynajmniej {} znak specjalny." @@ -602,7 +686,7 @@ msgstr[1] "Hasło musi zawierać przynajmniej {} znaki specjalne." msgstr[2] "Hasło musi zawierać przynajmniej {} znaków specjalnych." msgstr[3] "Hasło musi zawierać przynajmniej {} znaków specjalnych." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "Hasło musi zawierać kombinację różnych typów znaków." @@ -656,7 +740,7 @@ msgid "API access token" msgstr "Token dostępowy do API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Aktualizuj" @@ -665,7 +749,7 @@ msgstr "Aktualizuj" msgid "Hello %(user)s." msgstr "Cześć %(user)s" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informacja" @@ -715,7 +799,7 @@ msgstr "Rola" msgid "Last login" msgstr "Ostatnio zalogowany" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Logi" @@ -723,7 +807,7 @@ msgstr "Logi" msgid "Previously on Modoboa..." msgstr "Poprzednio w Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Data" @@ -739,7 +823,21 @@ msgstr "Logger" msgid "Message" msgstr "Wiadomość" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Jedna lub więcej aktualizacji jest dostępnych" +msgstr[1] "Jedna lub więcej aktualizacji jest dostępnych" +msgstr[2] "Jedna lub więcej aktualizacji jest dostępnych" +msgstr[3] "Jedna lub więcej aktualizacji jest dostępnych" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parametry" @@ -756,12 +854,12 @@ msgstr "Zapisz" msgid "Modoboa settings" msgstr "Ustawienia Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Ustawienia" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Preferencja" @@ -773,7 +871,7 @@ msgstr "Dostosuj Modoboa" msgid "No preferences available." msgstr "Brak dostępnych preferencji." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -781,113 +879,119 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Aktualizuj swoje dane osobowe" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Nieudana zmiana hasła: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Wyloguj" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Zasadnicza część Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parametry zapisano" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Użytkownik '%s' pomyślnie zalogowany" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "Twoja nazwa użytkownika i hasło są niepoprawne. Spróbuj ponownie" -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Użytkownik '{}' wylogowany pomyślnie" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil zaktualizowano" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Preferencje zapisano" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Dostęp zaktualizowany" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Połączenie do bazy danych %s nie zostało skonfigurowane" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Odmowa dostepu: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Dostęp zabroniony" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Wprowadź prawidłową nazwę domeny" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Wprowadź prawidłowy adres email" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Temat" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Nieprawidłowe żądanie" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "tak" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Nieudana zmiana hasła: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Od" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Do" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Temat" @@ -1012,6 +1116,11 @@ msgstr "Z poważaniem, Zespół Modoboa." msgid "Modoboa password reset" msgstr "Resetowanie hasła Modoboa" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Włącz komunikację" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (weak)" diff --git a/modoboa/locale/pl_PL/LC_MESSAGES/djangojs.po b/modoboa/locale/pl_PL/LC_MESSAGES/djangojs.po index aaa4bd7bb..2b4c5405a 100644 --- a/modoboa/locale/pl_PL/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/pl_PL/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # sin88 , 2016 # sin88 , 2016 @@ -9,20 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-22 09:50+0000\n" "Last-Translator: sin88 \n" -"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/language/pl_PL/)\n" +"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" +"language/pl_PL/)\n" +"Language: pl_PL\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl_PL\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n" +"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" +"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Brak logów do wyświetlenia" @@ -35,7 +42,7 @@ msgstr "Ostrzerzenie" msgid "Cancel" msgstr "Anuluj" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Błąd wewnętrzny" diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/locale/pt_BR/LC_MESSAGES/django.po index 413589908..492d45004 100644 --- a/modoboa/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/locale/pt_BR/LC_MESSAGES/django.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-09-25 03:25+0000\n" "Last-Translator: Rafael Barretto \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" @@ -30,39 +30,39 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Perfil do usuário" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autenticação" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Tipo de autenticação" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Local" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "O backend usado para autenticação" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Esquema padrão de senha" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para criptografar as senhas das caixas de correio" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Ciclos" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -70,95 +70,177 @@ msgstr "" "Número de ciclos a ser usado (utilizado apenas por sha256crypt e " "sha512crypt). Deve estar entre 1000 e 999999999, inclusive." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Esquema padrão de senha" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Senha padrão" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Senha padrão para contas criadas automaticamente." -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Tamanho de senha aleatório" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Esquema padrão de senha" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Configurações do LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Endereço do servidor" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "O endereço IP do nome DNS do servidor LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Porta do servidor" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "O número da porta TCP usada pelo servidor LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Endereço do servidor" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "O endereço IP do nome DNS do servidor LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Porta do servidor" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "O número da porta TCP usada pelo servidor LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Usar conexão segura" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Usar uma conexão SSL/STARTTLS para acessar o servidor LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Informe se o servidor LDAP é um Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Grupos de administradores" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Membros dos grupos do LDAP Posix serão criados como administradores de " +"domínio. Use o caractere ';' para separar grupos." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Tipo de grupo" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "O tipo de grupo LDAP para ser usado em seu diretório." + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Base de pesquisa de grupos" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "O nome distinto da base de pesquisa usada para encontrar grupos" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Atributo de senha" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "O atributo usado para armazenar senhas de usuários" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Método de autenticação" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Método de autenticação" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Pesquisar e vincular" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Vinculação direta" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Escolha o método de autenticação para usar" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Vincular DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -166,27 +248,27 @@ msgstr "" "O nome distinto para usar quando vincular ao servidor LDAP. Deixe vazio para " "vincular anonimamente" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Vincular senha" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "A senha usada quando vincular ao servidor LDAP (com 'Vincular DN')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Base de pesquisa de usuários" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "O nome distinto da base de pesquisa usada para encontrar usuários" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Filtro de pesquisa" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -194,11 +276,11 @@ msgstr "" "Uma string opcional de filtro (por ex: '(objectClass=person)'). Para ser " "válida, deve estar entre parênteses." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Usar template DN" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -207,68 +289,38 @@ msgstr "" "A template usada para construir um DN de usuário. Deve conter um placeholder " "(por ex: %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Grupos de administradores" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Membros dos grupos do LDAP Posix serão criados como administradores de " -"domínio. Use o caractere ';' para separar grupos." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Tipo de grupo" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "O tipo de grupo LDAP para ser usado em seu diretório." - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Base de pesquisa de grupos" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "O nome distinto da base de pesquisa usada para encontrar grupos" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Configurações do LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Habilitar comunicação" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Usar template DN" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -280,331 +332,363 @@ msgstr "" "A template usada para construir um DN de usuário. Deve conter um placeholder " "(por ex: %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Atributo de senha" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "O atributo usado para armazenar senhas de usuários" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Painel" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Feed RSS personalizado" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Mostrar um feed RSS personalizado para revendedores e administradores de " "domínio" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Notificações" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Endereço do remente" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Endereço de e-mail usado para enviar notificações." -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "API Pública" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Habilitar comunicação" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Habilitar comunicação com API pública do Modoboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Verificar novas versões" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Verificar automaticamente se uma nova versão está disponível" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Enviar estatísticas" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Enviar estatísticas à API pública do Modoboa (contadores e extensões " "utilizadas)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Diversos" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Intervalo de verificação de verificações de topo" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalo entre checagem de notificações (em segundos)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Idade máxima do registro de log" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "A idade máxima em dias de um registro de log" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Itens por página" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Número de itens exibidos por página" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Redirecionamento de topo padrão" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "O redirecionamento padrão usado quando nenhuma aplicação é especificada" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Sintaxe inválida" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Número de ciclos inválido" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Este campo é obrigatório" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Geral" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Usuário simples" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Administrador de domínio" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Revendedor" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super administrador" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Não" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Nome de usuário" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Senha" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Senha antiga" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nova senha" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Confirmação" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Senha antiga não confere" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Senhas não conferem" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Ativar acesso à API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "adicionado" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "modificado" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s pelo(s) usuário(s) %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "removido" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "usuário {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "comando de gerenciamento" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Você não pode remover sua própria conta" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Uma ou mais atualizações disponíveis" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Uma ou mais atualizações disponíveis" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Permitir acesso a caixa de correio" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" "Permitir que este administrador acesse as caixas de correio de usuários" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "senha" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "idioma" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Linguagem padrão para visualizar mensagens" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Número de telefone" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "E-mail secundário" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" "Endereço de e-mail alternativo, use-o para recuperar a conta caso precise" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Falha ao atualizar senha: módulo LDAP não instalado" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "conta" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Desconhecido" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Linha inválida" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Você não pode importar uma conta com um papel maior que o seu" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "O usuário simples '%s' deve ter um endereço de e-mail válido" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "os campos nome de usuário e e-mail não diferem de '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -658,7 +742,7 @@ msgid "API access token" msgstr "Token de acesso a API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Atualizar" @@ -667,7 +751,7 @@ msgstr "Atualizar" msgid "Hello %(user)s." msgstr "Olá %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informação" @@ -717,7 +801,7 @@ msgstr "Função" msgid "Last login" msgstr "Último login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Logs" @@ -725,7 +809,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Previamente no Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Data" @@ -741,7 +825,19 @@ msgstr "Logger" msgid "Message" msgstr "Mensagem" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Uma ou mais atualizações disponíveis" +msgstr[1] "Uma ou mais atualizações disponíveis" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parâmetros" @@ -758,12 +854,12 @@ msgstr "Salvar" msgid "Modoboa settings" msgstr "Configurações do Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Configurações" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Preferências" @@ -775,7 +871,7 @@ msgstr "Customizar Modoboa" msgid "No preferences available." msgstr "Não há preferências disponíveis." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Perfil" @@ -783,113 +879,119 @@ msgstr "Perfil" msgid "Update your personal information" msgstr "Atualizar sua informação pessoal" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Falha ao atualizar a senha: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Sair" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Core do Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parêmetros salvos" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Usuário '%s' autenticado com sucesso" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "Seu usuário e senha não conferem. Por favor tente novamente." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Usuário '{}' saiu com sucesso" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Perfil atualizado" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Preferências salvas" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Acesso atualizado" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "A conexão com o banco de dados %s não está configurada" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Permissão negada: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Permissão negada" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Digite um nome de domínio válido" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Digite um endereço de e-mail válido" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Enviar" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Solicitação inválida" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Sim" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Falha ao atualizar a senha: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "De" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Para" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Assunto" @@ -1002,6 +1104,11 @@ msgstr "Atenciosamente, A Equipe Modoboa." msgid "Modoboa password reset" msgstr "Redefinição de senha do Modoboa" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Habilitar comunicação" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (fraca)" diff --git a/modoboa/locale/pt_BR/LC_MESSAGES/djangojs.po b/modoboa/locale/pt_BR/LC_MESSAGES/djangojs.po index cb558f099..28e81a625 100644 --- a/modoboa/locale/pt_BR/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/pt_BR/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Jose Marcos Araujo , 2016 # Paulino Michelazzo , 2014 @@ -9,20 +9,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-23 19:14+0000\n" "Last-Translator: Rafael Barretto \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/language/pt_BR/)\n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" +"language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Nenhuma entrada de log a mais para mostrar" @@ -35,7 +40,7 @@ msgstr "Atenção" msgid "Cancel" msgstr "Cancelar" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Erro interno" diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/locale/pt_PT/LC_MESSAGES/django.po index e340832e5..f72376da9 100644 --- a/modoboa/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/locale/pt_PT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-29 12:51+0000\n" "Last-Translator: Mike C. \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" @@ -24,141 +24,225 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Perfil" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autenticação" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Tipo de autenticação" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Local" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Backend usado para autenticação" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Esquema pré-definido para passwords" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Esquema usado para encriptar as passwords das caixas de correio" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Esquema pré-definido para passwords" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Esquema pré-definido para passwords" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Password para bind" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Esquema pré-definido para passwords" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Definições do serviço de directório" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Endereço do Servidor" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "O endereço IP do servidor de DNS do servidor LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Porta do Servidor" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr " A porta TCP usada pelo servidor LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Endereço do Servidor" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "O endereço IP do servidor de DNS do servidor LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Porta do Servidor" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr " A porta TCP usada pelo servidor LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Utilizar uma ligação segura" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Usar SSL/TLS na ligaçao de acesso ao servidor LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Especificar se o servidor LDAP e um Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Grupos de Administrador" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Os membros destes grupos \"LDAP Posix\" serão criados como administradores " +"de domínio. Use ';' para separar os grupos." + +#: core/app_settings.py:162 +#, fuzzy +#| msgid "Group name" +msgid "Group type" +msgstr "Nome do grupo" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Base para pesquisa de Grupos" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "O nome único para a base de pesquisa, usado para encontrar grupos" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Atributo de palavra-passe" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "O atributo utilizado para armazenar palavras-passe" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Método de autenticação" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Método de autenticação" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Procurar e vincular (bind)" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "\"Direct bind\"" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Escolher o método de autenticação" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "\"Bind DN\"" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -166,28 +250,28 @@ msgstr "" "O nome único usado para fazer o \"bind\" ao servidor LDAP. Deixar vario " "para \"bind\" anónimo" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Password para bind" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "A password usada para fazer o \"bind\" ao servidor LDAP (com 'Bind DN')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Base para pesquisa de utilizadores" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "O nome único a usar para pesquisa de utilizadores" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Filtro de pesquisa" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -195,11 +279,11 @@ msgstr "" "Um filtro opcional (ex: '(objetClass=person)'). Tem de estar entre " "parênteses para ser válido" -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Template DN de utilizador" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -208,68 +292,38 @@ msgstr "" "O template usado para construir o DN (nome único). Deve apenas conter um " "'placeholder' (ex: %(user)s) " -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Grupos de Administrador" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Os membros destes grupos \"LDAP Posix\" serão criados como administradores " -"de domínio. Use ';' para separar os grupos." - -#: core/app_settings.py:203 -#, fuzzy -#| msgid "Group name" -msgid "Group type" -msgstr "Nome do grupo" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Base para pesquisa de Grupos" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "O nome único para a base de pesquisa, usado para encontrar grupos" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Definições do serviço de directório" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Template DN de utilizador" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -281,343 +335,375 @@ msgstr "" "O template usado para construir o DN (nome único). Deve apenas conter um " "'placeholder' (ex: %(user)s) " -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Atributo de palavra-passe" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "O atributo utilizado para armazenar palavras-passe" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 #, fuzzy #| msgid "Authentication" msgid "Notifications" msgstr "Autenticação" -#: core/app_settings.py:302 +#: core/app_settings.py:358 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Endereço do Servidor" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Procurar novas versões" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Verifica automaticamente se existem novas versões" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Vários" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Intervalo de tempo para verificar notificações (no topo)" -#: core/app_settings.py:349 +#: core/app_settings.py:419 #, fuzzy #| msgid "Interval between two top notification checks" msgid "Interval between two top notification checks (in seconds)" msgstr "Intervalo de tempo de verificação entre duas notificações (no topo)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Idade máxima do registo no log" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "A idade maxima do registo de um log, em dias, e de" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Itens por página" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Número de itens apresentados por página" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Redirecionamento pré-definido" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "O redirecionamento padrão usado quando nenhuma aplicação se encontra " "especificada" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Sintax inválida" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Número de linhas inválido" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Este campo é obrigatório" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Geral" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Utilizador simples" -#: core/constants.py:10 +#: core/constants.py:6 #, fuzzy #| msgid "Super administrator" msgid "Domain administrator" msgstr "Super Administrador" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super Administrador" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Não" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Nome de Utilizador" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Password" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Password antiga" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nova password" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Confirmação" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Incompatibilidade da password antiga" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Passwords não coincidem" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "acrescentado" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "modificado" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s pelo utilizador %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "apagado" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Não pode apagar a sua própria conta" -#: core/handlers.py:135 +#: core/handlers.py:131 #, fuzzy #| msgid "An update is available!" msgid "One or more updates are available" msgstr "Uma nova versão está disponível!" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "An update is available!" +msgid "[modoboa] Update(s) available" +msgstr "Uma nova versão está disponível!" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "password" -#: core/models.py:65 +#: core/models.py:61 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Idioma preferido" -#: core/models.py:68 +#: core/models.py:64 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Idioma preferido para exibir páginas" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Falha ao actualizar password: Modulo LDAP não instalado" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "conta" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Linha inválida" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Não é possível importa uma conta com permissões superiores" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "O simple utilizador '%s' deve ter endereço de e-mail válido" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" "Os campos nome de utilizador e endereço de email não deve ser diferente para " "'%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -667,7 +753,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Actualizar" @@ -676,7 +762,7 @@ msgstr "Actualizar" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informação" @@ -731,7 +817,7 @@ msgstr "" msgid "Last login" msgstr "Último login" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Logs" @@ -739,7 +825,7 @@ msgstr "Logs" msgid "Previously on Modoboa..." msgstr "Anteriormente no Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Data" @@ -755,7 +841,19 @@ msgstr "Logger" msgid "Message" msgstr "Mensagem" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "An update is available!" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Uma nova versão está disponível!" +msgstr[1] "Uma nova versão está disponível!" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parâmetros" @@ -772,12 +870,12 @@ msgstr "Guardar" msgid "Modoboa settings" msgstr "Definições do Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Definições" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Preferências" @@ -791,7 +889,7 @@ msgstr "Personalizar Modoboa" msgid "No preferences available." msgstr "Preferências salvas" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Perfil" @@ -799,123 +897,129 @@ msgstr "Perfil" msgid "Update your personal information" msgstr "Atualizar o sua informação pessoal" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: %s" +msgid "Click here to update your password" +msgstr "Falha ao actualizar a password: %s" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Sair" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "" -#: core/utils.py:36 +#: core/utils.py:32 #, fuzzy #| msgid "Welcome to Modoboa" msgid "The core part of Modoboa" msgstr "Benvindo ao Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parâmetros salvos" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "O utilizador '%s' fez login com sucesso" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "O seu nome de utilizador" -#: core/views/auth.py:116 +#: core/views/auth.py:112 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" msgstr "O utilizador '%s' fez login com sucesso" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Perfil atualizado" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Preferências salvas" -#: core/views/user.py:99 +#: core/views/user.py:103 #, fuzzy #| msgid "Profile updated" msgid "Access updated" msgstr "Perfil atualizado" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "A ligação à base de dados %s não está devidamente configurada" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Acesso negado: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Acesso negado" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Introduzir um nome de domínio válido " -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Introduzir um nome de domínio válido " -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Enviar" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Pedido inválido" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Sim" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Falha ao actualizar a password: %s" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Assunto" diff --git a/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po b/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po index 32492b0e3..149cda3dc 100644 --- a/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/pt_PT/LC_MESSAGES/djangojs.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-04-27 20:00+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/tonio/modoboa/" @@ -28,6 +28,10 @@ msgstr "" msgid "'" msgstr "" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Não há mais entradas do registo para mostrar" @@ -40,7 +44,7 @@ msgstr "Aviso" msgid "Cancel" msgstr "Cancelar" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Erro interno" diff --git a/modoboa/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/locale/ro_RO/LC_MESSAGES/django.po index 998e51062..60f8c2846 100644 --- a/modoboa/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-21 09:10+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" "Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" @@ -20,39 +20,39 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Profil utilizator" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autentificare" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Tip autentificare" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Local" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Tehnologia backend folosită pentru autentificare " -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Schema pentru parola implicită" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Schema de criptare pentru parole" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Iterații" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -61,96 +61,178 @@ msgstr "" "sha512crypt) Trebuie să fie un număr cuprins între 1000 și 999999999 " "inclusiv." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Schema pentru parola implicită" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Parola implicită" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Parola implicită setată pentru conturile create automat." -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Mărime parolă aleatorie" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "Mărimea parolelor generate aleator." -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Schema pentru parola implicită" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Setări LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Adresă server" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "Adresa IP sau adresa DNS a serverului LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Port server" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Numărul de port TCP folosit de serverul LDAP" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Adresă server" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "Adresa IP sau adresa DNS a serverului LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Port server" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Numărul de port TCP folosit de serverul LDAP" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Folosește o conexiune securizată" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "" "Folosește o conexiune de tip SSL/STARTTLS pentru a accesa serverul LDAP" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Specifică daca serverul LDAP este unul de tip Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Grupuri administrator" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Membrii acelor grupuri LDAP Posix vor fi create ca administratori de " +"domeniu. Folosește caracterul ';' pentru a separa grupurile." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Tipul de grup" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "Tipul grupului LDAP pe care îl utilizați cu directorul selectat." + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Baza pentru căutare grupuri" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Numele ales al bazei de căutare utilizat pentru a găsi grupuri" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Atributul parolă" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Atributul folosit pentru a stoca parola utilizatorului" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Metoda de autentificare" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Metoda de autentificare" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Căutare și atribuire" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Atribuire directă" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Alege metodă folosită pentru autentificare" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Atribuie DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -158,28 +240,28 @@ msgstr "" "Numele ales folosit la atribuirea cu servarul LDAP. Câpul necompletat se " "foloseste în cazul atribuirii anonime" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Parola de atribuire" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Parola folosită la momentul atribuiri cu servarul LDAP (vezi 'Atribuie DB')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Căutare bază de utilizatori" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Numele ales al bazei de căutare utilizat pentru a găsi utilizatori" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Filtru de căutare" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -187,11 +269,11 @@ msgstr "" "Un filtru opțional (de ex. '(ObjectClass = persoană)'). Pentru a fi valid, " "trebuie să fie închis în paranteze." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Templateul DN pt utilizator" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -200,68 +282,38 @@ msgstr "" "Templateul folosit pentru a construi un utilizator DN. Ar trebui să conțină " "un substituent (de ex. %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Grupuri administrator" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Membrii acelor grupuri LDAP Posix vor fi create ca administratori de " -"domeniu. Folosește caracterul ';' pentru a separa grupurile." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Tipul de grup" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "Tipul grupului LDAP pe care îl utilizați cu directorul selectat." - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Baza pentru căutare grupuri" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "Numele ales al bazei de căutare utilizat pentru a găsi grupuri" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Setări LDAP" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Activați comunicarea" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Templateul DN pt utilizator" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -273,88 +325,114 @@ msgstr "" "Templateul folosit pentru a construi un utilizator DN. Ar trebui să conțină " "un substituent (de ex. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Atributul parolă" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Atributul folosit pentru a stoca parola utilizatorului" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Bord" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Feedul RSS personalizat" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Afișează feedul RSS personalizat la reselleri și administratori de domeniu" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Ascunde widgetul de caracteristici " -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" "Ascunde widgetul de caracteristici pentru reselleri și administratori de " "domeniu" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Notificări" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Adresa expeditorului" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Adresa de email folosită pentru trimiterea notificărilor." -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "API public" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Activați comunicarea" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Activați comunicarea cu API-ul public Modoboa" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Verifică dacă există noi versiuni" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Verifică automat dacă este disponibilă o versiune mai nouă" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Trimite statistici" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Trimiteți statistici către API-ul public Modoboa (contoare și extensii " "utilizate)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Diverse" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "Pragul pentru cont invalid" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" @@ -362,58 +440,58 @@ msgstr "" "Un cont cu o ultima data de conectare mai mare decat acest prag (in zile) va " "fi considerat inactiv" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Intervalul de verificare a notificărilor" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "" "Intervalul dintre două verificări de notificare principală (în secunde)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Vechimea maximă a înregistrărilor log" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Vechimea maximă în zilele de înregistrare a intrărilor în jurnal" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Număr de itemi per pagină" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Numărul de itemi afișați pe o pagină" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Redirecționarea principală implicită" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" "Redirecționarea implicită utilizată atunci când nu este specificată nici o " "aplicație" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Sintaxă invalidă" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Număr invalid de iterații" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Acest câmp este necesar" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "General" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " @@ -423,193 +501,199 @@ msgstr "" "tranzițiilor între timul de vara / iarna (adică același timp local care " "apare de două ori ca urmare a modificării ceasului)." -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "Setează `USE_TZ = True` în settings.py" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Utilizator simplu" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Administrator de domeniu" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Reseller" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super administrator" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Nu" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Utilizator" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Parolă" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Vechea parolă" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Noua parolă" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Confirmare" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Parola veche nu se potivește" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Parolele nu se potrivesc" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Activează accesul API" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "adăugat" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "modificat" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s de utilizatorul %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s de" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "sterș" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "utilizator {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "comandă de management" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Nu poți să îți ștergi propriul cont" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Sunt disponibile una sau mai multe actualizări" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Sunt disponibile una sau mai multe actualizări" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Permiteți accesul la cutiile poștale" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" "Permiteți acestui administrator să acceseze cutiile poștale ale " "utilizatorilor" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "parolă" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "limbă" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Limba preferată pentru afișarea paginilor." -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Numar de telefon" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Email secundar" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "O adresă de e-mail alternativă poate fi utilizată pentru recuperare." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Eroare la actualizarea parolei: modulul LDAP nu este instalat" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "cont" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Necunoscut" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Linie invalidă" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Nu puteți importa un cont cu un rol mai mare decât al dvs." -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Utilizatorul simplu '%s' trebuie să aibă o adresă de e-mail validă" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "câmpului de utilizator și e-mail nu trebuie să difere pentru '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Parola trebuie să conțină cel puțin {} cifră." msgstr[1] "Parola trebuie să conțină cel puțin {} cifre." msgstr[2] "Parola trebuie să conțină cel puțin {} cifre." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Parola trebuie să conțină cel puțin {} literă mică." msgstr[1] "Parola trebuie să conțină cel puțin {} litere mici." msgstr[2] "Parola trebuie să conțină cel puțin {} litere mici." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Parola trebuie să conțină cel puțin {} majusculă." msgstr[1] "Parola trebuie să conțină cel puțin {} majuscule." msgstr[2] "Parola trebuie să conțină cel puțin {} majuscule." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Parola trebuie să conțină cel puțin {} caracter special." msgstr[1] "Parola trebuie să conțină cel puțin {} caractere speciale." msgstr[2] "Parola trebuie să conțină cel puțin {} caractere speciale." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" "Parola dvs. trebuie să conțină o combinație de tipuri diferite de caractere." @@ -664,7 +748,7 @@ msgid "API access token" msgstr "Token de accesare API" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Actualizare" @@ -673,7 +757,7 @@ msgstr "Actualizare" msgid "Hello %(user)s." msgstr "Bună ziua %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Informatie" @@ -724,7 +808,7 @@ msgstr "Rol" msgid "Last login" msgstr "Ultima autentificare" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Loguri" @@ -732,7 +816,7 @@ msgstr "Loguri" msgid "Previously on Modoboa..." msgstr "Anterior pe Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Dată" @@ -748,7 +832,20 @@ msgstr "Logger" msgid "Message" msgstr "Mesaj" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Sunt disponibile una sau mai multe actualizări" +msgstr[1] "Sunt disponibile una sau mai multe actualizări" +msgstr[2] "Sunt disponibile una sau mai multe actualizări" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parametrii" @@ -765,12 +862,12 @@ msgstr "Salvează" msgid "Modoboa settings" msgstr "Setări Modoboa " -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Setări" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Preferințe" @@ -782,7 +879,7 @@ msgstr "Personalizați Modoboa" msgid "No preferences available." msgstr "Nu există preferințe disponibile." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -790,115 +887,121 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Actualizați-vă informațiile personale" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Eroare la actualizarea parolei: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Deconectare" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Partea de nucleu a Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parametrii au fost salvați" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Utilizatorul '%s' conectat cu succes" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" "Numele de utilizator și parola nu s-au potrivit. Vă rugăm să încercați din " "nou." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Utilizatorul '{}' sa deconectat cu succes" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil actualizat" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Preferințele au fost salvate" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Accesul a fost actualizat" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Conexiunea la baza de date %s nu a fost configurată" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Permisiune refuzată: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Permisiune refuzată" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Introduceți un nume de domeniu valid" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Introduceți o adresă de email validă." -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Trimite" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Cerere invalidă" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Da" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Eroare la actualizarea parolei: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "De la" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Către" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Subiect" @@ -1023,6 +1126,11 @@ msgstr "Cu sinceritate, Echipa Modoboa." msgid "Modoboa password reset" msgstr "Resetare parola Modoboa" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Activați comunicarea" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (protecție slabă)" diff --git a/modoboa/locale/ro_RO/LC_MESSAGES/djangojs.po b/modoboa/locale/ro_RO/LC_MESSAGES/djangojs.po index 21b512ad4..7815e5cf7 100644 --- a/modoboa/locale/ro_RO/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/ro_RO/LC_MESSAGES/djangojs.po @@ -1,27 +1,33 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Andrei-Ilie Olteanu , 2018 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-12 10:39+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" -"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/language/ro_RO/)\n" +"Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" +"language/ro_RO/)\n" +"Language: ro_RO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ro_RO\n" -"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Nu mai exită alte rezultate de înregistrări pentru afișare" @@ -34,7 +40,7 @@ msgstr "Avertizare" msgid "Cancel" msgstr "Anulare" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Eroare internă" diff --git a/modoboa/locale/ru/LC_MESSAGES/django.po b/modoboa/locale/ru/LC_MESSAGES/django.po index 511bcfdca..887321823 100644 --- a/modoboa/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2013-12-03 09:35+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/" @@ -19,141 +19,223 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 #, fuzzy #| msgid "Profile" msgid "User profile" msgstr "Профиль" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Аутентификация" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Тип аутентификации" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Локальный" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Базовая программа для проверки подлинности" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Схема пароля по умолчанию" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Схема используемая для шифровании пароля почтового ящика." -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Схема пароля по умолчанию" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 #, fuzzy #| msgid "Default password scheme" msgid "Default password" msgstr "Схема пароля по умолчанию" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "" -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Bind password" msgid "Random password length" msgstr "Пароль для соединения" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Схема пароля по умолчанию" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "Параметры LDAP" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Адрес сервера" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP адрес или DNS имя сервера LDAP" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Порт сервера" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "Номер TCP порта LDAP сервера" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Адрес сервера" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "IP адрес или DNS имя сервера LDAP" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Порт сервера" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "Номер TCP порта LDAP сервера" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Использовать безопасное соединение" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Использовать SSL/TLS соединение с LDAP сервером" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Укажите, если LDAP сервер в Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" + +#: core/app_settings.py:162 +#, fuzzy +#| msgid "Group name" +msgid "Group type" +msgstr "Название группы" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Свойства пароля" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Свойства используемые для сохранения пользовательских паролей" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Метод аутентификации" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Метод аутентификации" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Найти и соединиться" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Прямое соединение" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Выберите метод аутентификации " -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Соединится с DN " -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -161,27 +243,27 @@ msgstr "" "Отличительное имя используемое для соединения с LDAP сервером. Оставьте " "пустым для анонимного соединения" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Пароль для соединения" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "Пароль для соединения с LDAP сервером" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Фильтр поиска" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -189,11 +271,11 @@ msgstr "" "Необязательная срока поиска (например '(objectClass=person)') Значение нужно " "заключить в скобки" -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Шаблон пользователя DN" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -202,66 +284,38 @@ msgstr "" "Шаблон используется для построения запросов к DN Он должен содержать атрибут " "например (%(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" - -#: core/app_settings.py:203 -#, fuzzy -#| msgid "Group name" -msgid "Group type" -msgstr "Название группы" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "Параметры LDAP" -#: core/app_settings.py:225 -msgid "Enable LDAP synchronization" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Шаблон пользователя DN" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -273,343 +327,374 @@ msgstr "" "Шаблон используется для построения запросов к DN Он должен содержать атрибут " "например (%(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Свойства пароля" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Свойства используемые для сохранения пользовательских паролей" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:299 +#: core/app_settings.py:355 #, fuzzy #| msgid "Authentication" msgid "Notifications" msgstr "Аутентификация" -#: core/app_settings.py:302 +#: core/app_settings.py:358 #, fuzzy #| msgid "Server address" msgid "Sender address" msgstr "Адрес сервера" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:319 +#: core/app_settings.py:375 #, fuzzy msgid "Check new versions" msgstr "Отметить для разрешения этого расширения" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Прочее" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 #, fuzzy msgid "Top notifications check interval" msgstr "Уведомления отправителю" -#: core/app_settings.py:349 +#: core/app_settings.py:419 #, fuzzy msgid "Interval between two top notification checks (in seconds)" msgstr "Интервал между запросами на деблокирование для доставки" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Максимальный срок хранения лог записей" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Срок хранения лог записей в днях " -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Элементов на странице" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Количество элементов на странице" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Порог перенаправления по умолчанию" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "Если приложение не указано. Используется перенаправление по умолчанию." -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Ошибка в написании" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Это поле обязательно для заполнеия" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Основные" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Обычный пользователь" -#: core/constants.py:10 +#: core/constants.py:6 #, fuzzy #| msgid "Super administrator" msgid "Domain administrator" msgstr "Супер администратор" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Супер администратор" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Нет" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Логин пользователя" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Пароль" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Старый пароль" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Новый пароль" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Подтверждение" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Старые пароли не совпадают" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Пароли не совпадают" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "добавлено" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "изменено" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s пользователем %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s пользователем %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "удалено" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Вы не можете удалить собственный аккаунт" -#: core/handlers.py:135 +#: core/handlers.py:131 #, fuzzy msgid "One or more updates are available" msgstr "Статистика не доступна" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +msgid "[modoboa] Update(s) available" +msgstr "Статистика не доступна" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "" -#: core/models.py:65 +#: core/models.py:61 #, fuzzy #| msgid "Prefered language" msgid "language" msgstr "Предпочитаемый язык" -#: core/models.py:68 +#: core/models.py:64 #, fuzzy #| msgid "Prefered language to display pages" msgid "Prefered language to display pages." msgstr "Предпочитаемый язык для отображения страниц" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Ошибка обновления пароля: модуль LDAP не установлен" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "Аккаунт" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Ошибочная строка" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Вы не можете импортировать аккаунт с ролью старше чем у вас" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Пользователь '%s' должен иметь действительный почтовый адрес" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "Имя пользователя и адрес не должны отличатся для пользователя '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -659,7 +744,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Обновление" @@ -668,7 +753,7 @@ msgstr "Обновление" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Информация" @@ -722,7 +807,7 @@ msgstr "" msgid "Last login" msgstr "Последний вход" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Логи" @@ -730,7 +815,7 @@ msgstr "Логи" msgid "Previously on Modoboa..." msgstr "Ранее в Modoboa ..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Дата" @@ -746,7 +831,19 @@ msgstr "Логгер" msgid "Message" msgstr "Сообщение" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Статистика не доступна" +msgstr[1] "Статистика не доступна" +msgstr[2] "Статистика не доступна" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Параметры" @@ -763,12 +860,12 @@ msgstr "Сохранить" msgid "Modoboa settings" msgstr "Настройки Modoboa" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Настройки" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Параметры" @@ -782,7 +879,7 @@ msgstr "Настроить Modoboa" msgid "No preferences available." msgstr "Параметры сохранены" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Профиль" @@ -790,123 +887,129 @@ msgstr "Профиль" msgid "Update your personal information" msgstr "Обновить личную информацию" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: %s" +msgid "Click here to update your password" +msgstr "Ошибка обновления пароля: %s" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Завершить сеанс" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "" -#: core/utils.py:36 +#: core/utils.py:32 #, fuzzy #| msgid "Welcome to Modoboa" msgid "The core part of Modoboa" msgstr "Добро пожаловать в Modoboa!" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Параметры сохранены" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Пользователь '%s' успешно вошел в систему" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "Не правильное имя или пароль. Попробуйте еще раз." -#: core/views/auth.py:116 +#: core/views/auth.py:112 #, fuzzy #| msgid "User '%s' successfully logged in" msgid "User '{}' successfully logged out" msgstr "Пользователь '%s' успешно вошел в систему" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Профиль обновлен" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Параметры сохранены" -#: core/views/user.py:99 +#: core/views/user.py:103 #, fuzzy #| msgid "Profile updated" msgid "Access updated" msgstr "Профиль обновлен" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "В разрешении отказано: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "В разрешении отказано" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Введите действительный адрес домена" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 #, fuzzy #| msgid "Enter a valid domain name" msgid "Enter a valid email address." msgstr "Введите действительный адрес домена" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Ошибочный запрос" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Да" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 #, fuzzy #| msgid "Failed to update password: %s" msgid "Failed to update password: {}" msgstr "Ошибка обновления пароля: %s" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Тема" diff --git a/modoboa/locale/ru/LC_MESSAGES/djangojs.po b/modoboa/locale/ru/LC_MESSAGES/djangojs.po index c1758abec..a745b5b9c 100644 --- a/modoboa/locale/ru/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/ru/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Ravil Kadyrbayev, 2015 # Александр Клюшенок , 2017 @@ -9,20 +9,27 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-19 21:45+0000\n" "Last-Translator: Александр Клюшенок \n" -"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/ru/)\n" +"Language-Team: Russian (http://www.transifex.com/tonio/modoboa/language/" +"ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Нет больше записей лога для показа" @@ -35,7 +42,7 @@ msgstr "Внимание" msgid "Cancel" msgstr "Отмена" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Внутренняя ошибка" diff --git a/modoboa/locale/sv/LC_MESSAGES/django.po b/modoboa/locale/sv/LC_MESSAGES/django.po index abbacab85..ef6d73f82 100644 --- a/modoboa/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/locale/sv/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-07-07 09:30+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" @@ -21,39 +21,39 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "Användarprofil" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Autentisering" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Autentiseringstyp" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "Lokal" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "Autentiserings backend" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Standard lösenords schema" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Krypteringsschema för brevlåde lösenord" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "Antal omgångar" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -61,99 +61,181 @@ msgstr "" "Antal omgångar att använda (används endast av sha256crypt och sha512crypt). " "Måste vara mellan 1000 och 999999999." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "Standard lösenords schema" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "Standardlösenord" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Standardlösenord för automatiskt skapade konton." -#: core/app_settings.py:84 +#: core/app_settings.py:78 #, fuzzy #| msgid "Modoboa password reset" msgid "Random password length" msgstr "Modoboa lösenordsåterställning." -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "Standard lösenords schema" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "LDAP inställningar" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "Server adress" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "IP adressen eller DNS namn för LDAP server" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "Server port" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "TCP port som används av LDAP servern" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Server adress" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "IP adressen eller DNS namn för LDAP server" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Server port" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "TCP port som används av LDAP servern" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "Använd en säker anslutning" -#: core/app_settings.py:114 +#: core/app_settings.py:141 #, fuzzy #| msgid "Use an SSL/TLS connection to access the LDAP server" msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "Använd SSL/TLS anslutning för åtkomst till LDAP servern" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "Berätta om LDAP-servern är en Active Directory" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Administratörsgrupper" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" +"Användare av dessa LDAP Posix grupper kommer skapas som " +"domänadministratörer. Använd ';' för att separera grupper." + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Grupptyp" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "Välj LDAP grupptyp att använda med din katalog" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "Grupper sökbas" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "Det unika namnet för sökbasen som används för att hitta grupper" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Lösenordsattribut" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Attribut som används för att lagra användarlösenord" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "Autentiseringsmetod" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "Autentiseringsmetod" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "Sök och bind" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "Direkt bindning" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Välj autentiseringsmetod att använda" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" @@ -161,28 +243,28 @@ msgstr "" "Det unika namnet för att använda vid bindningar till LDAP-servern. Lämna " "tomt för en anonym bindning" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Bind lösenord" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" "Lösenordet ska användas vid bindning till LDAP-servern (med \"Bind DN ')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "Användare sökbas" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "Det unika namnet för sökbasen som används för att hitta användare" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Sökfilter" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." @@ -190,11 +272,11 @@ msgstr "" "En valfri filtersträng (t.ex. \"(objectClass = personer) '). För att vara " "giltigt måste det omges av parenteser." -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "Anvädar DN mall" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " @@ -203,68 +285,38 @@ msgstr "" "Mallen som används för att konstruera en användares DN. Den bör innehålla en " "platshållare (dvs. %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "Administratörsgrupper" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "" -"Användare av dessa LDAP Posix grupper kommer skapas som " -"domänadministratörer. Använd ';' för att separera grupper." - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "Grupptyp" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "Välj LDAP grupptyp att använda med din katalog" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "Grupper sökbas" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "Det unika namnet för sökbasen som används för att hitta grupper" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "LDAP inställningar" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "Aktivera kommunikation" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "Anvädar DN mall" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -276,327 +328,359 @@ msgstr "" "Mallen som används för att konstruera en användares DN. Den bör innehålla en " "platshållare (dvs. %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Lösenordsattribut" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "Attribut som används för att lagra användarlösenord" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "Kontrollpanel" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "Användardefinierat RSS-flöde" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" "Visa användardefinierat RSS-flöde för återförsäljare och domänadministratörer" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "Dölj egenskaper widget" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "Dölj egenskaper widget för återförsäljare och domänadministratörer" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Notifikationer" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Avsändaradress" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "E-postadress som används till att skicka notifikationer." -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "Publikt API" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "Aktivera kommunikation" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "Aktivera kommunikation med Modoboa publikt API" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Kontrollera nya versioner" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "Kontrollera automatiskt om en nyare version finns" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "Skicka statistik" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" "Skicka statistik för Modoboas publika API (räknare och använda tillägg)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Övrigt" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "Toppnotifikationer kontrollintervall" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "Intervall mellan två toppnotifikationskontroller (i sekunder)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Maximal ålder för loggpost" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "Maximal ålder i dagar för en logg post" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Artiklar per sida" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "Antal poster som visas per sida" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "Standard topp omdirigering" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "Standard omdirigering när ingen applikation angetts" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "Ogiltig syntax" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "Ogiltigt antal omgångar" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "Detta fält är obligatoriskt" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Allmänt" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "Enkel användare" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "Domänadministratör" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "Återförsäljare" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "Super administratör" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "Nej" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Användarnamn" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Lösenord" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Gammalt lösenord" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Nytt lösenord" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Bekräftelse" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "Gammalt lösenord matchar inte" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "Lösenord matchar inte" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "Aktivera API access" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "tillagd" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "ändrad" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "%(object)s '%(name)s' %(action)s av användare %(user)s" -#: core/handlers.py:67 +#: core/handlers.py:63 #, fuzzy, python-format #| msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgid "%(object)s '%(name)s' %(action)s by " msgstr "%(object)s '%(name)s' %(action)s av användare %(user)s" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "raderad" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "Du kan inte radera ditt eget konto" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "En eller fler uppdateringar finns tillgängliga" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "En eller fler uppdateringar finns tillgängliga" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "Tillåt åtkomst till brevlådor" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "Tillåt den här administratören att ändra användares brevlådor" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "lösenord" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "språk" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "Önskat språk för att visa sidor." -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "Telefonnummer" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "Sekundär e-post" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "En alternativ e-post adress, kan användas för återställningsbehov." -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "Misslyckades med att uppdatera lösenord: LDAP modul ej installerad" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "konto" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "Okänt" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "Ogiltig rad" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "Du kan inte importera konto med en roll större än din" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "Den enkla användaren '%s' måste ha en gällande e-postadress" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "användarnamn och e-post fält får inte avvika för '%s'" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "Lösenord måste hålla minst {} siffra." msgstr[1] "Lösenord måste hålla minst {} siffror." -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "Lösenord måste innehålla minst {} gemen." msgstr[1] "Lösenord måste innehålla minst {} gemener." -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "Lösenord måste innhåla minst {} versal." msgstr[1] "Lösenord måste innhåla minst {} versaler." -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "Lösenord måste innehålla minst {} specialtecken." msgstr[1] "Lösenord måste innehålla minst {} specialtecken." -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "Ditt lösenord måste innehålla en kombination av olika typer av tecken." @@ -650,7 +734,7 @@ msgid "API access token" msgstr "API åtkomst token" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Uppdatera" @@ -659,7 +743,7 @@ msgstr "Uppdatera" msgid "Hello %(user)s." msgstr "Hej %(user)s." -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "Information" @@ -709,7 +793,7 @@ msgstr "Roll" msgid "Last login" msgstr "Senaste inloggad" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "Loggar" @@ -717,7 +801,7 @@ msgstr "Loggar" msgid "Previously on Modoboa..." msgstr "Tidigare på Modoboa..." -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "Datum" @@ -733,7 +817,19 @@ msgstr "Loggare" msgid "Message" msgstr "Meddelande" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "En eller fler uppdateringar finns tillgängliga" +msgstr[1] "En eller fler uppdateringar finns tillgängliga" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "Parametrar" @@ -750,12 +846,12 @@ msgstr "Spara" msgid "Modoboa settings" msgstr "Modoboa inställningar" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Inställningar" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "Inställningar" @@ -767,7 +863,7 @@ msgstr "Anpassa Modoboa" msgid "No preferences available." msgstr "Inga inställningar finns." -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Profil" @@ -775,113 +871,119 @@ msgstr "Profil" msgid "Update your personal information" msgstr "Uppdatera personlig information" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "Misslyckades med att uppdatera lösenord: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Logga ut" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Kärnan av Modoboa" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "Parametrar sparade" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "Användare '%s' har loggat in" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "Ditt användarnamn och lösenord matchar inte. Var vänlig försök igen." -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "Användare '{}' loggade ut framgångsrikt" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Profil uppdaterad" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "Inställningar sparade" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "Åtkomst uppdaterad" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "Anslutning till databasen %s är inte konfigurerad" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "Tillstånd nekas: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "Tillstånd nekas" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "Skriv in ett giltigt domännamn" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "Ange en giltig e-postadress" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Skicka" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "Ogiltig förfrågan" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "Ja" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "Misslyckades med att uppdatera lösenord: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "Från" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "Till" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Ämne" @@ -1006,6 +1108,11 @@ msgstr "Vänligen, Modoboa teamet." msgid "Modoboa password reset" msgstr "Modoboa lösenordsåterställning." +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "Aktivera kommunikation" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (svag)" diff --git a/modoboa/locale/sv/LC_MESSAGES/djangojs.po b/modoboa/locale/sv/LC_MESSAGES/djangojs.po index 456759868..77903591c 100644 --- a/modoboa/locale/sv/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/sv/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Olle Gustafsson , 2013 # Olle Gustafsson , 2013,2015-2016 @@ -9,20 +9,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-19 15:00+0000\n" "Last-Translator: Olle Gustafsson \n" -"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/sv/)\n" +"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" +"sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Inga fler logg poster att visa" @@ -35,7 +40,7 @@ msgstr "Varning" msgid "Cancel" msgstr "Avbryt" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "Internt fel" diff --git a/modoboa/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/locale/tr_TR/LC_MESSAGES/django.po index ad8857a92..4a8acc8ca 100644 --- a/modoboa/locale/tr_TR/LC_MESSAGES/django.po +++ b/modoboa/locale/tr_TR/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Caner Başaran , 2015 # Ediz Duman , 2018 @@ -12,541 +12,652 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-22 19:31+0000\n" "Last-Translator: Ediz Duman \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: core/app_settings.py:22 +#: core/app_settings.py:20 msgid "User profile" msgstr "Kullanıcı profili" -#: core/app_settings.py:35 +#: core/app_settings.py:33 msgid "Authentication" msgstr "Yetkilendirme" -#: core/app_settings.py:38 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "Yetkilendirme türü" -#: core/app_settings.py:39 +#: core/app_settings.py:37 msgid "Local" msgstr "Yerel" -#: core/app_settings.py:42 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "" -#: core/app_settings.py:47 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "Varsayılan parola şeması" -#: core/app_settings.py:51 -msgid "md5crypt (weak)" -msgstr "md5crypt (zayıf)" - -#: core/app_settings.py:52 -msgid "sha256 (weak)" -msgstr "sha256 (zayıf)" - -#: core/app_settings.py:53 -msgid "md5 (weak)" -msgstr "md5 (zayıf)" - -#: core/app_settings.py:54 -msgid "crypt (weak)" -msgstr "crypt (zayıf)" - -#: core/app_settings.py:55 -msgid "plain (weak)" -msgstr "düz metin (zayıf)" - -#: core/app_settings.py:57 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "Mailbox parolalarını şifrelemek için kullanılacak şema" -#: core/app_settings.py:62 +#: core/app_settings.py:54 msgid "Rounds" msgstr "" -#: core/app_settings.py:65 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." msgstr "" -#: core/app_settings.py:72 -msgid "Update password scheme" +#: core/app_settings.py:63 +#, fuzzy +#| msgid "Update password scheme" +msgid "Update password scheme at login" msgstr "Şifre şemasını güncelle" -#: core/app_settings.py:75 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:80 +#: core/app_settings.py:71 msgid "Default password" msgstr "Varsayılan parola" -#: core/app_settings.py:83 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "Otomatik oluşturulan hesaplar için varsayılan parola." -#: core/app_settings.py:87 +#: core/app_settings.py:78 msgid "Random password length" msgstr "Rastgele şifre uzunluğu" -#: core/app_settings.py:91 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "" -#: core/app_settings.py:95 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Update password scheme" +msgid "Update password service URL" +msgstr "Şifre şemasını güncelle" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "LDAP ayarları" -#: core/app_settings.py:98 +#: core/app_settings.py:101 msgid "Server address" msgstr "Sunucu adresi" -#: core/app_settings.py:101 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "LDAP sunucusunun adresi (DNS) ya da ip adresi" -#: core/app_settings.py:106 +#: core/app_settings.py:108 msgid "Server port" msgstr "Sunucu portu" -#: core/app_settings.py:108 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "LDAP sunucu tarafından kullanılan TCP portu" -#: core/app_settings.py:113 -msgid "Use a secured connection" -msgstr "Güvenli bir bağlantı kullan" - -#: core/app_settings.py:117 -msgid "Use an SSL/STARTTLS connection to access the LDAP server" +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" msgstr "" -#: core/app_settings.py:121 -msgid "Authentication method" -msgstr "Yetkilendirme metodu" - -#: core/app_settings.py:122 -msgid "Search and bind" +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" msgstr "" #: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "Sunucu adresi" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "LDAP sunucusunun adresi (DNS) ya da ip adresi" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "Sunucu portu" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "LDAP sunucu tarafından kullanılan TCP portu" + +#: core/app_settings.py:137 +msgid "Use a secured connection" +msgstr "Güvenli bir bağlantı kullan" + +#: core/app_settings.py:141 +msgid "Use an SSL/STARTTLS connection to access the LDAP server" +msgstr "" + +#: core/app_settings.py:145 +msgid "Active Directory" +msgstr "Active Directory" + +#: core/app_settings.py:148 +msgid "Tell if the LDAP server is an Active Directory one" +msgstr "LDAP sunucu bir Active Directory ise" + +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "Yönetici grupları" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "" + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "Grup türü" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "Parola özelliği" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "Kullanıcı parolalarını saklamak için kullanılacak özellik" + +#: core/app_settings.py:187 +#, fuzzy +#| msgid "Authentication method" +msgid "LDAP authentication settings" +msgstr "Yetkilendirme metodu" + +#: core/app_settings.py:190 +msgid "Authentication method" +msgstr "Yetkilendirme metodu" + +#: core/app_settings.py:191 +msgid "Search and bind" +msgstr "" + +#: core/app_settings.py:192 msgid "Direct bind" msgstr "" -#: core/app_settings.py:125 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "Kullanılacak yetkilendirme metodunu seçin" -#: core/app_settings.py:130 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "" -#: core/app_settings.py:133 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "" -#: core/app_settings.py:141 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "" -#: core/app_settings.py:144 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "" -#: core/app_settings.py:153 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "" -#: core/app_settings.py:156 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "" -#: core/app_settings.py:163 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "Arama filtresi" -#: core/app_settings.py:166 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." msgstr "" -#: core/app_settings.py:174 +#: core/app_settings.py:238 msgid "User DN template" msgstr "" -#: core/app_settings.py:177 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" msgstr "" -#: core/app_settings.py:185 -msgid "Password attribute" +#: core/app_settings.py:249 +#, fuzzy +#| msgid "LDAP settings" +msgid "LDAP synchronization settings" +msgstr "LDAP ayarları" + +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" + +#: core/app_settings.py:276 +msgid "" +"Enable automatic synchronization between local database and LDAP directory" +msgstr "" + +#: core/app_settings.py:282 +msgid "Delete remote LDAP account when local account is deleted" +msgstr "" + +#: core/app_settings.py:286 +msgid "" +"Delete remote LDAP account when local account is deleted, otherwise it will " +"be disabled." +msgstr "" + +#: core/app_settings.py:292 +msgid "Account DN template" +msgstr "" + +#: core/app_settings.py:295 +#, python-format +msgid "" +"The template used to construct an account's DN. It should contain one " +"placeholder (ie. %(user)s)" +msgstr "" + +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "Parola özelliği" -#: core/app_settings.py:187 -msgid "The attribute used to store user passwords" -msgstr "Kullanıcı parolalarını saklamak için kullanılacak özellik" - -#: core/app_settings.py:192 -msgid "Active Directory" -msgstr "Active Directory" - -#: core/app_settings.py:195 -msgid "Tell if the LDAP server is an Active Directory one" -msgstr "LDAP sunucu bir Active Directory ise" - -#: core/app_settings.py:199 -msgid "Administrator groups" -msgstr "Yönetici grupları" - -#: core/app_settings.py:202 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators." -" Use ';' characters to separate groups." +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." msgstr "" -#: core/app_settings.py:209 -msgid "Group type" -msgstr "Grup türü" - -#: core/app_settings.py:213 -msgid "The LDAP group type to use with your directory." -msgstr "" - -#: core/app_settings.py:218 -msgid "Groups search base" -msgstr "" - -#: core/app_settings.py:221 -msgid "The distinguished name of the search base used to find groups" -msgstr "" - -#: core/app_settings.py:226 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "gösterge Paneli" -#: core/app_settings.py:229 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "" -#: core/app_settings.py:232 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "" -#: core/app_settings.py:237 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "" -#: core/app_settings.py:240 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "" -#: core/app_settings.py:244 +#: core/app_settings.py:355 msgid "Notifications" msgstr "Bildirimler" -#: core/app_settings.py:247 +#: core/app_settings.py:358 msgid "Sender address" msgstr "Gönderici adresi" -#: core/app_settings.py:250 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "Bildirimlerin gönderileceği email adresi" -#: core/app_settings.py:254 +#: core/app_settings.py:365 msgid "Public API" msgstr "Genel API" -#: core/app_settings.py:257 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "" -#: core/app_settings.py:260 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "" -#: core/app_settings.py:264 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "Yeni versiyonları kontrol et" -#: core/app_settings.py:267 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "" -#: core/app_settings.py:271 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "İstatistikleri gönder" -#: core/app_settings.py:274 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "" -#: core/app_settings.py:278 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "Çeşitli" -#: core/app_settings.py:281 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "" -#: core/app_settings.py:284 +#: core/app_settings.py:410 msgid "" -"An account with a last login date greater than this threshold (in days) will" -" be considered as inactive" +"An account with a last login date greater than this threshold (in days) will " +"be considered as inactive" msgstr "" -#: core/app_settings.py:291 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "" -#: core/app_settings.py:294 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "" -#: core/app_settings.py:300 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "Maksimum günlük kayıt yaşı" -#: core/app_settings.py:302 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "" -#: core/app_settings.py:307 +#: core/app_settings.py:430 msgid "Items per page" msgstr "Sayfa başına öğe" -#: core/app_settings.py:309 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "" -#: core/app_settings.py:314 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "" -#: core/app_settings.py:318 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" -#: core/app_settings.py:353 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "" -#: core/app_settings.py:359 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:386 +#: core/app_settings.py:519 msgid "This field is required" msgstr "" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "Genel" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "Kullanıcı adı" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "Parola" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "Eski parola" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "Yeni parola" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "Şifre tekrar" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "Bir veya daha fazla güncelleme mevcut" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "Bir veya daha fazla güncelleme mevcut" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "parola" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "" -#: core/models.py:278 +#: core/models.py:280 msgid "Unknown" msgstr "" -#: core/models.py:312 +#: core/models.py:314 msgid "Invalid line" msgstr "" -#: core/models.py:320 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "" -#: core/models.py:335 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" -#: core/models.py:340 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" msgstr[1] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -587,8 +698,8 @@ msgstr "" #: core/templates/core/api_access.html:7 #, python-format msgid "" -"A documentation of the API is available here." +"A documentation of the API is available here." msgstr "" #: core/templates/core/api_access.html:14 @@ -596,7 +707,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "Güncelle" @@ -605,7 +716,7 @@ msgstr "Güncelle" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "" @@ -654,7 +765,7 @@ msgstr "" msgid "Last login" msgstr "Son giriş" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "" @@ -662,7 +773,7 @@ msgstr "" msgid "Previously on Modoboa..." msgstr "" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "" @@ -678,7 +789,19 @@ msgstr "" msgid "Message" msgstr "" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "Bir veya daha fazla güncelleme mevcut" +msgstr[1] "Bir veya daha fazla güncelleme mevcut" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "" @@ -695,12 +818,12 @@ msgstr "" msgid "Modoboa settings" msgstr "" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "Ayarlar" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "" @@ -712,7 +835,7 @@ msgstr "" msgid "No preferences available." msgstr "" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "Kullanıcı Bilgisi" @@ -720,108 +843,117 @@ msgstr "Kullanıcı Bilgisi" msgid "Update your personal information" msgstr "Kişisel bilgilerinizi güncelleyin" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +msgid "Click here to update your password" +msgstr "" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "Çıkış" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:64 +#: core/views/auth.py:53 +#, python-format +msgid "Password hash parameter missmatch. Updating %s password" +msgstr "" + +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "" -#: core/views/auth.py:72 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" -#: core/views/auth.py:107 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "Kullanıcı bilgileri güncellendi" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "" -#: lib/email_utils.py:350 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "Gönder" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "Konu" @@ -858,9 +990,8 @@ msgstr "" msgid "Help:" msgstr "" -#: templates/common/generic_modal.html:6 -#: templates/common/generic_modal.html:13 templates/common/wizard_forms.html:6 -#: templates/common/wizard_forms.html:27 +#: templates/common/generic_modal.html:6 templates/common/generic_modal.html:13 +#: templates/common/wizard_forms.html:6 templates/common/wizard_forms.html:27 msgid "Close" msgstr "Kapat" @@ -934,3 +1065,18 @@ msgstr "" #: templates/registration/password_reset_subject.txt:3 msgid "Modoboa password reset" msgstr "" + +#~ msgid "md5crypt (weak)" +#~ msgstr "md5crypt (zayıf)" + +#~ msgid "sha256 (weak)" +#~ msgstr "sha256 (zayıf)" + +#~ msgid "md5 (weak)" +#~ msgstr "md5 (zayıf)" + +#~ msgid "crypt (weak)" +#~ msgstr "crypt (zayıf)" + +#~ msgid "plain (weak)" +#~ msgstr "düz metin (zayıf)" diff --git a/modoboa/locale/tr_TR/LC_MESSAGES/djangojs.po b/modoboa/locale/tr_TR/LC_MESSAGES/djangojs.po index 9ac76ec23..845163478 100644 --- a/modoboa/locale/tr_TR/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/tr_TR/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Caner Başaran , 2015 # Ediz Duman , 2016 @@ -9,20 +9,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-09-20 11:12+0000\n" "Last-Translator: Ediz Duman \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "Gösterilecek günlük girişi yok" @@ -35,7 +40,7 @@ msgstr "Uyarı" msgid "Cancel" msgstr "İptal" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "İç hata" diff --git a/modoboa/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/locale/zh_TW/LC_MESSAGES/django.po index de059263f..3a084425f 100644 --- a/modoboa/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/locale/zh_TW/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-07 10:50+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-07-06 08:26+0000\n" "Last-Translator: akong \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" @@ -21,39 +21,39 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: core/app_settings.py:24 +#: core/app_settings.py:20 msgid "User profile" msgstr "使用者檔案" -#: core/app_settings.py:37 +#: core/app_settings.py:33 msgid "Authentication" msgstr "驗證" -#: core/app_settings.py:40 +#: core/app_settings.py:36 msgid "Authentication type" msgstr "驗證類型" -#: core/app_settings.py:41 +#: core/app_settings.py:37 msgid "Local" msgstr "本機" -#: core/app_settings.py:44 +#: core/app_settings.py:40 msgid "The backend used for authentication" msgstr "此背景程式已用於驗證" -#: core/app_settings.py:49 +#: core/app_settings.py:45 msgid "Default password scheme" msgstr "預設密碼方案" -#: core/app_settings.py:54 +#: core/app_settings.py:50 msgid "Scheme used to crypt mailbox passwords" msgstr "方案已使用於加密信箱密碼" -#: core/app_settings.py:59 +#: core/app_settings.py:54 msgid "Rounds" msgstr "輪" -#: core/app_settings.py:62 +#: core/app_settings.py:57 msgid "" "Number of rounds to use (only used by sha256crypt and sha512crypt). Must be " "between 1000 and 999999999, inclusive." @@ -61,198 +61,250 @@ msgstr "" "重複幾輪產生 (只能用於 sha256crypt 和 sha512crypt). 必須介於 1000 到 " "999999999, 包括." -#: core/app_settings.py:69 +#: core/app_settings.py:63 #, fuzzy #| msgid "Default password scheme" msgid "Update password scheme at login" msgstr "預設密碼方案" -#: core/app_settings.py:72 +#: core/app_settings.py:66 msgid "Update user password at login to use the default password scheme" msgstr "" -#: core/app_settings.py:77 +#: core/app_settings.py:71 msgid "Default password" msgstr "預設密碼" -#: core/app_settings.py:80 +#: core/app_settings.py:74 msgid "Default password for automatically created accounts." msgstr "預設密碼是給自動產生帳號用。" -#: core/app_settings.py:84 +#: core/app_settings.py:78 msgid "Random password length" msgstr "隨機密碼長度" -#: core/app_settings.py:88 +#: core/app_settings.py:82 msgid "Length of randomly generated passwords." msgstr "隨機產生密碼的長度。" -#: core/app_settings.py:92 +#: core/app_settings.py:86 +#, fuzzy +#| msgid "Default password scheme" +msgid "Update password service URL" +msgstr "預設密碼方案" + +#: core/app_settings.py:90 +msgid "" +"The URL of an external page where users will be able to update their " +"password. It applies only to non local users, ie. those automatically " +"created after a successful external authentication (LDAP, SMTP)." +msgstr "" + +#: core/app_settings.py:98 msgid "LDAP settings" msgstr "LDAP 設定" -#: core/app_settings.py:95 +#: core/app_settings.py:101 msgid "Server address" msgstr "伺服器地址" -#: core/app_settings.py:98 +#: core/app_settings.py:104 msgid "The IP address or the DNS name of the LDAP server" msgstr "LDAP 伺服器的 IP 或 DNS 名稱" -#: core/app_settings.py:103 +#: core/app_settings.py:108 msgid "Server port" msgstr "伺服器連接埠" -#: core/app_settings.py:105 +#: core/app_settings.py:110 msgid "The TCP port number used by the LDAP server" msgstr "LDAP 伺服器所使用的 TCP 連接埠" -#: core/app_settings.py:110 +#: core/app_settings.py:114 +msgid "Enable secondary server (fallback)" +msgstr "" + +#: core/app_settings.py:117 +msgid "" +"Enable a secondary LDAP server which will be used if the primary one fails" +msgstr "" + +#: core/app_settings.py:123 +#, fuzzy +#| msgid "Server address" +msgid "Secondary server address" +msgstr "伺服器地址" + +#: core/app_settings.py:126 +#, fuzzy +#| msgid "The IP address or the DNS name of the LDAP server" +msgid "The IP address or the DNS name of the seondary LDAP server" +msgstr "LDAP 伺服器的 IP 或 DNS 名稱" + +#: core/app_settings.py:130 +#, fuzzy +#| msgid "Server port" +msgid "Secondary server port" +msgstr "伺服器連接埠" + +#: core/app_settings.py:133 +#, fuzzy +#| msgid "The TCP port number used by the LDAP server" +msgid "The TCP port number used by the LDAP secondary server" +msgstr "LDAP 伺服器所使用的 TCP 連接埠" + +#: core/app_settings.py:137 msgid "Use a secured connection" msgstr "使用安全的連接" -#: core/app_settings.py:114 +#: core/app_settings.py:141 msgid "Use an SSL/STARTTLS connection to access the LDAP server" msgstr "使用 SSL/STARTTLS 連線到 LDAP 伺服器" -#: core/app_settings.py:118 +#: core/app_settings.py:145 msgid "Active Directory" msgstr "Active Directory" -#: core/app_settings.py:121 +#: core/app_settings.py:148 msgid "Tell if the LDAP server is an Active Directory one" msgstr "判斷 LDAP 伺服器是否是 Active Directory 伺服器" -#: core/app_settings.py:126 +#: core/app_settings.py:152 +msgid "Administrator groups" +msgstr "管理者群組" + +#: core/app_settings.py:155 +msgid "" +"Members of those LDAP Posix groups will be created as domain administrators. " +"Use ';' characters to separate groups." +msgstr "這些 LDAP 群組的成員將會建立為網域管理者。使用 ';' 字元來分開群組" + +#: core/app_settings.py:162 +msgid "Group type" +msgstr "群組類型" + +#: core/app_settings.py:166 +msgid "The LDAP group type to use with your directory." +msgstr "此 LDAP 群組類型會使用您的目錄" + +#: core/app_settings.py:171 +msgid "Groups search base" +msgstr "群組搜尋基準" + +#: core/app_settings.py:174 +msgid "The distinguished name of the search base used to find groups" +msgstr "搜尋基準使用醒目的名稱來找到群組" + +#: core/app_settings.py:180 +msgid "Password attribute" +msgstr "密碼屬性" + +#: core/app_settings.py:182 +msgid "The attribute used to store user passwords" +msgstr "此屬性使用在儲存使用者密碼" + +#: core/app_settings.py:187 #, fuzzy #| msgid "Authentication method" msgid "LDAP authentication settings" msgstr "身份驗證方法" -#: core/app_settings.py:129 +#: core/app_settings.py:190 msgid "Authentication method" msgstr "身份驗證方法" -#: core/app_settings.py:130 +#: core/app_settings.py:191 msgid "Search and bind" msgstr "搜尋和 bind" -#: core/app_settings.py:131 +#: core/app_settings.py:192 msgid "Direct bind" msgstr "直接 bind" -#: core/app_settings.py:133 +#: core/app_settings.py:194 msgid "Choose the authentication method to use" msgstr "選擇驗證模組來使用" -#: core/app_settings.py:138 core/app_settings.py:244 +#: core/app_settings.py:198 core/app_settings.py:252 msgid "Bind DN" msgstr "Bind DN" -#: core/app_settings.py:141 core/app_settings.py:247 +#: core/app_settings.py:201 core/app_settings.py:255 msgid "" "The distinguished name to use when binding to the LDAP server. Leave empty " "for an anonymous bind" msgstr "當對應到 LDAP 伺服器請使用醒目的名稱。保留空白為匿名 bind" -#: core/app_settings.py:149 core/app_settings.py:254 +#: core/app_settings.py:208 core/app_settings.py:262 msgid "Bind password" msgstr "Bind 密碼" -#: core/app_settings.py:152 core/app_settings.py:257 +#: core/app_settings.py:211 core/app_settings.py:265 msgid "The password to use when binding to the LDAP server (with 'Bind DN')" msgstr "此密碼使用於當綁定到 LDAP 伺服器 (有 'Bind DN')" -#: core/app_settings.py:161 +#: core/app_settings.py:219 core/app_settings.py:311 msgid "Users search base" msgstr "使用者搜尋基準" -#: core/app_settings.py:164 +#: core/app_settings.py:222 core/app_settings.py:314 msgid "The distinguished name of the search base used to find users" msgstr "搜尋基準使用醒目的名稱來找到使用者" -#: core/app_settings.py:171 +#: core/app_settings.py:228 core/app_settings.py:320 msgid "Search filter" msgstr "搜尋過濾器" -#: core/app_settings.py:174 +#: core/app_settings.py:231 core/app_settings.py:323 msgid "" "An optional filter string (e.g. '(objectClass=person)'). In order to be " "valid, it must be enclosed in parentheses." msgstr "" "過濾字串的選 (例如 '(objectClass=person)'). 要能正常使用,這必須括在括號內。" -#: core/app_settings.py:182 +#: core/app_settings.py:238 msgid "User DN template" msgstr "使用者 DN 範本" -#: core/app_settings.py:185 +#: core/app_settings.py:241 #, python-format msgid "" "The template used to construct a user's DN. It should contain one " "placeholder (ie. %(user)s)" msgstr "此範本已使用結構化使用者的 DN. 他應該包含一個佔位符 (例如 %(user)s)" -#: core/app_settings.py:193 -msgid "Administrator groups" -msgstr "管理者群組" - -#: core/app_settings.py:196 -msgid "" -"Members of those LDAP Posix groups will be created as domain administrators. " -"Use ';' characters to separate groups." -msgstr "這些 LDAP 群組的成員將會建立為網域管理者。使用 ';' 字元來分開群組" - -#: core/app_settings.py:203 -msgid "Group type" -msgstr "群組類型" - -#: core/app_settings.py:207 -msgid "The LDAP group type to use with your directory." -msgstr "此 LDAP 群組類型會使用您的目錄" - -#: core/app_settings.py:212 -msgid "Groups search base" -msgstr "群組搜尋基準" - -#: core/app_settings.py:215 -msgid "The distinguished name of the search base used to find groups" -msgstr "搜尋基準使用醒目的名稱來找到群組" - -#: core/app_settings.py:222 +#: core/app_settings.py:249 #, fuzzy #| msgid "LDAP settings" msgid "LDAP synchronization settings" msgstr "LDAP 設定" -#: core/app_settings.py:225 -#, fuzzy -#| msgid "Enable communication" -msgid "Enable LDAP synchronization" -msgstr "啟用通訊" +#: core/app_settings.py:273 +msgid "Enable export to LDAP" +msgstr "" -#: core/app_settings.py:228 +#: core/app_settings.py:276 msgid "" "Enable automatic synchronization between local database and LDAP directory" msgstr "" -#: core/app_settings.py:234 +#: core/app_settings.py:282 msgid "Delete remote LDAP account when local account is deleted" msgstr "" -#: core/app_settings.py:238 +#: core/app_settings.py:286 msgid "" "Delete remote LDAP account when local account is deleted, otherwise it will " "be disabled." msgstr "" -#: core/app_settings.py:265 +#: core/app_settings.py:292 #, fuzzy #| msgid "User DN template" msgid "Account DN template" msgstr "使用者 DN 範本" -#: core/app_settings.py:268 +#: core/app_settings.py:295 #, fuzzy, python-format #| msgid "" #| "The template used to construct a user's DN. It should contain one " @@ -262,320 +314,352 @@ msgid "" "placeholder (ie. %(user)s)" msgstr "此範本已使用結構化使用者的 DN. 他應該包含一個佔位符 (例如 %(user)s)" -#: core/app_settings.py:275 -msgid "Password attribute" +#: core/app_settings.py:302 +msgid "Enable import from LDAP" +msgstr "" + +#: core/app_settings.py:305 +msgid "Enable account synchronization from LDAP directory to local database" +msgstr "" + +#: core/app_settings.py:330 +#, fuzzy +#| msgid "Password attribute" +msgid "Username attribute" msgstr "密碼屬性" -#: core/app_settings.py:277 -msgid "The attribute used to store user passwords" -msgstr "此屬性使用在儲存使用者密碼" +#: core/app_settings.py:333 +msgid "The name of the LDAP attribute where the username can be found." +msgstr "" -#: core/app_settings.py:281 core/templates/core/dashboard.html:5 +#: core/app_settings.py:337 core/templates/core/dashboard.html:5 msgid "Dashboard" msgstr "儀表板" -#: core/app_settings.py:284 +#: core/app_settings.py:340 msgid "Custom RSS feed" msgstr "自訂 RSS 來源" -#: core/app_settings.py:287 +#: core/app_settings.py:343 msgid "Display custom RSS feed to resellers and domain administrators" msgstr "顯示自訂的 RSS 來源給經銷商和網域管理者" -#: core/app_settings.py:292 +#: core/app_settings.py:348 msgid "Hide features widget" msgstr "隱藏功能物件" -#: core/app_settings.py:295 +#: core/app_settings.py:351 msgid "Hide features widget for resellers and domain administrators" msgstr "隱藏功能物件給經銷商和網域管理者" -#: core/app_settings.py:299 +#: core/app_settings.py:355 msgid "Notifications" msgstr "通知" -#: core/app_settings.py:302 +#: core/app_settings.py:358 msgid "Sender address" msgstr "伺服器位址" -#: core/app_settings.py:305 +#: core/app_settings.py:361 msgid "Email address used to send notifications." msgstr "郵件地址用於寄送通知。" -#: core/app_settings.py:309 +#: core/app_settings.py:365 msgid "Public API" msgstr "公用 API" -#: core/app_settings.py:312 +#: core/app_settings.py:368 msgid "Enable communication" msgstr "啟用通訊" -#: core/app_settings.py:315 +#: core/app_settings.py:371 msgid "Enable communication with Modoboa public API" msgstr "開啟 Modoboa 公用 API 的通訊" -#: core/app_settings.py:319 +#: core/app_settings.py:375 msgid "Check new versions" msgstr "檢查新的版本" -#: core/app_settings.py:322 +#: core/app_settings.py:378 msgid "Automatically checks if a newer version is available" msgstr "假如有新的版本就自動檢查" -#: core/app_settings.py:326 +#: core/app_settings.py:382 +msgid "Send an email when new versions are found" +msgstr "" + +#: core/app_settings.py:385 +msgid "Send an email to notify admins about new versions" +msgstr "" + +#: core/app_settings.py:389 +msgid "Recipient" +msgstr "" + +#: core/app_settings.py:392 +msgid "Recipient of new versions notification emails." +msgstr "" + +#: core/app_settings.py:397 msgid "Send statistics" msgstr "寄送狀態" -#: core/app_settings.py:329 +#: core/app_settings.py:400 msgid "Send statistics to Modoboa public API (counters and used extensions)" msgstr "寄送狀態到 Modoboa 公用 API (計數器及已使用的外掛)" -#: core/app_settings.py:333 +#: core/app_settings.py:404 msgid "Miscellaneous" msgstr "雜項" -#: core/app_settings.py:336 +#: core/app_settings.py:407 msgid "Inactive account threshold" msgstr "未啟用帳號上限" -#: core/app_settings.py:339 +#: core/app_settings.py:410 msgid "" "An account with a last login date greater than this threshold (in days) will " "be considered as inactive" msgstr "這個帳號最後一次登錄日期超過這個上限 (在幾天) 將考慮停用" -#: core/app_settings.py:346 +#: core/app_settings.py:416 msgid "Top notifications check interval" msgstr "檢查提醒間隔" -#: core/app_settings.py:349 +#: core/app_settings.py:419 msgid "Interval between two top notification checks (in seconds)" msgstr "兩次檢查提醒間隔 (在幾秒)" -#: core/app_settings.py:355 +#: core/app_settings.py:424 msgid "Maximum log record age" msgstr "最大日誌紀錄時間" -#: core/app_settings.py:357 +#: core/app_settings.py:426 msgid "The maximum age in days of a log record" msgstr "" -#: core/app_settings.py:362 +#: core/app_settings.py:430 msgid "Items per page" msgstr "每頁的條目數量" -#: core/app_settings.py:364 +#: core/app_settings.py:432 msgid "Number of displayed items per page" msgstr "" -#: core/app_settings.py:369 +#: core/app_settings.py:436 msgid "Default top redirection" msgstr "" -#: core/app_settings.py:373 +#: core/app_settings.py:440 msgid "The default redirection used when no application is specified" msgstr "" -#: core/app_settings.py:403 core/app_settings.py:411 +#: core/app_settings.py:478 core/app_settings.py:486 msgid "Invalid syntax" msgstr "" -#: core/app_settings.py:417 +#: core/app_settings.py:492 msgid "Invalid rounds number" msgstr "" -#: core/app_settings.py:444 +#: core/app_settings.py:519 msgid "This field is required" msgstr "" -#: core/apps.py:22 +#: core/apps.py:18 msgid "General" msgstr "" -#: core/checks/settings_checks.py:10 +#: core/checks/settings_checks.py:6 msgid "" "You have USE_TZ set to False, this may result in issues during transitions " "between summer/winter time (ie the same local time occuring twice due to " "clock change)." msgstr "" -#: core/checks/settings_checks.py:13 +#: core/checks/settings_checks.py:9 msgid "Set `USE_TZ = True` in settings.py" msgstr "" -#: core/constants.py:9 +#: core/constants.py:5 msgid "Simple user" msgstr "簡易用戶" -#: core/constants.py:10 +#: core/constants.py:6 msgid "Domain administrator" msgstr "網域管理員" -#: core/constants.py:11 +#: core/constants.py:7 msgid "Reseller" msgstr "經銷商" -#: core/constants.py:12 +#: core/constants.py:8 msgid "Super administrator" msgstr "超級管理員" -#: core/constants.py:53 lib/form_utils.py:393 +#: core/constants.py:51 lib/form_utils.py:389 msgid "No" msgstr "否" -#: core/forms.py:22 +#: core/forms.py:18 msgid "Username" msgstr "使用者名稱" -#: core/forms.py:26 +#: core/forms.py:22 msgid "Password" msgstr "密碼" -#: core/forms.py:39 +#: core/forms.py:35 msgid "Old password" msgstr "舊密碼" -#: core/forms.py:43 +#: core/forms.py:39 msgid "New password" msgstr "新密碼" -#: core/forms.py:47 +#: core/forms.py:43 msgid "Confirmation" msgstr "確認" -#: core/forms.py:75 +#: core/forms.py:71 msgid "Old password mismatchs" msgstr "舊密碼不相符" -#: core/forms.py:84 +#: core/forms.py:80 msgid "Passwords mismatch" msgstr "密碼不相符" -#: core/forms.py:104 +#: core/forms.py:100 msgid "Enable API access" msgstr "啟用 API 存取" -#: core/handlers.py:40 +#: core/handlers.py:36 msgid "added" msgstr "已增加" -#: core/handlers.py:43 +#: core/handlers.py:39 msgid "modified" msgstr "已修改" -#: core/handlers.py:45 +#: core/handlers.py:41 #, python-format msgid "%(object)s '%(name)s' %(action)s by user %(user)s" msgstr "" -#: core/handlers.py:67 +#: core/handlers.py:63 #, python-format msgid "%(object)s '%(name)s' %(action)s by " msgstr "" -#: core/handlers.py:69 +#: core/handlers.py:65 msgid "deleted" msgstr "已移除" -#: core/handlers.py:73 +#: core/handlers.py:69 msgid "user {}" msgstr "使用者 {}" -#: core/handlers.py:75 +#: core/handlers.py:71 msgid "management command" msgstr "管理指令" -#: core/handlers.py:99 +#: core/handlers.py:95 msgid "You can't delete your own account" msgstr "您不可以刪除您擁有的帳號" -#: core/handlers.py:135 +#: core/handlers.py:131 msgid "One or more updates are available" msgstr "一個或多個可用的更新" -#: core/models.py:57 +#: core/management/commands/communicate_with_public_api.py:44 +#, fuzzy +#| msgid "One or more updates are available" +msgid "[modoboa] Update(s) available" +msgstr "一個或多個可用的更新" + +#: core/models.py:53 msgid "Allow mailboxes access" msgstr "允許信箱存取" -#: core/models.py:59 +#: core/models.py:55 msgid "Allow this administrator to access user mailboxes" msgstr "允許這個管理者來存取使用者信箱" -#: core/models.py:62 +#: core/models.py:58 msgid "password" msgstr "密碼" -#: core/models.py:65 +#: core/models.py:61 msgid "language" msgstr "語言" -#: core/models.py:68 +#: core/models.py:64 msgid "Prefered language to display pages." msgstr "顯示頁面的預設語言" -#: core/models.py:72 +#: core/models.py:68 msgid "Phone number" msgstr "電話號碼" -#: core/models.py:74 +#: core/models.py:70 msgid "Secondary email" msgstr "次要電子郵件" -#: core/models.py:77 +#: core/models.py:73 msgid "An alternative e-mail address, can be used for recovery needs." msgstr "替代的電子郵件,可以使用在需要回復的時候。" -#: core/models.py:127 +#: core/models.py:124 msgid "Failed to update password: LDAP module not installed" msgstr "更新密碼失敗: LDAP 模組未安裝" -#: core/models.py:156 +#: core/models.py:153 msgid "account" msgstr "帳號" -#: core/models.py:283 +#: core/models.py:280 msgid "Unknown" msgstr "未知" -#: core/models.py:317 +#: core/models.py:314 msgid "Invalid line" msgstr "無效的線" -#: core/models.py:325 +#: core/models.py:322 msgid "You can't import an account with a role greater than yours" msgstr "" -#: core/models.py:340 +#: core/models.py:337 #, python-format msgid "The simple user '%s' must have a valid email address" msgstr "" -#: core/models.py:345 +#: core/models.py:342 #, python-format msgid "username and email fields must not differ for '%s'" msgstr "" -#: core/password_validation.py:28 +#: core/password_validation.py:24 msgid "Password must contain at least {} digit." msgid_plural "Password must contain at least {} digits." msgstr[0] "" -#: core/password_validation.py:38 +#: core/password_validation.py:34 msgid "Password must contain at least {} lowercase letter." msgid_plural "Password must contain at least {} lowercase letters." msgstr[0] "" -#: core/password_validation.py:49 +#: core/password_validation.py:45 msgid "Password must contain at least {} uppercase letter." msgid_plural "Password must contain at least {} uppercase letters." msgstr[0] "" -#: core/password_validation.py:61 +#: core/password_validation.py:57 msgid "Password must contain at least {} special character." msgid_plural "Password must contain at least {} special characters." msgstr[0] "" -#: core/password_validation.py:69 +#: core/password_validation.py:65 msgid "Your password must contain a combination of different character types." msgstr "" @@ -625,7 +709,7 @@ msgid "API access token" msgstr "" #: core/templates/core/api_access.html:35 -#: core/templates/core/user_profile.html:10 lib/form_utils.py:358 +#: core/templates/core/user_profile.html:19 lib/form_utils.py:354 msgid "Update" msgstr "" @@ -634,7 +718,7 @@ msgstr "" msgid "Hello %(user)s." msgstr "" -#: core/templates/core/information.html:2 core/templatetags/core_tags.py:66 +#: core/templates/core/information.html:2 core/templatetags/core_tags.py:62 msgid "Information" msgstr "" @@ -683,7 +767,7 @@ msgstr "" msgid "Last login" msgstr "" -#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:70 +#: core/templates/core/logs.html:2 core/templatetags/core_tags.py:66 msgid "Logs" msgstr "記錄" @@ -691,7 +775,7 @@ msgstr "記錄" msgid "Previously on Modoboa..." msgstr "" -#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:110 +#: core/templates/core/logs.html:6 lib/templatetags/lib_tags.py:106 msgid "Date" msgstr "日期" @@ -707,7 +791,18 @@ msgstr "" msgid "Message" msgstr "" -#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:75 +#: core/templates/core/notifications/update_available.html:3 +#, fuzzy +#| msgid "One or more updates are available" +msgid "" +"\n" +" The following update is available:\n" +msgid_plural "" +"\n" +" The following updates are available:\n" +msgstr[0] "一個或多個可用的更新" + +#: core/templates/core/parameters.html:2 core/templatetags/core_tags.py:71 msgid "Parameters" msgstr "參數" @@ -724,12 +819,12 @@ msgstr "儲存" msgid "Modoboa settings" msgstr "Modoboa 設定" -#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:94 +#: core/templates/core/user_index.html:4 core/templatetags/core_tags.py:90 msgid "Settings" msgstr "設定" #: core/templates/core/user_preferences.html:2 -#: core/templatetags/core_tags.py:124 +#: core/templatetags/core_tags.py:120 msgid "Preferences" msgstr "偏好選項" @@ -741,7 +836,7 @@ msgstr "" msgid "No preferences available." msgstr "沒有可用的狀態" -#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:120 +#: core/templates/core/user_profile.html:3 core/templatetags/core_tags.py:116 msgid "Profile" msgstr "檔案" @@ -749,113 +844,119 @@ msgstr "檔案" msgid "Update your personal information" msgstr "更新你的個人信息" -#: core/templatetags/core_tags.py:38 +#: core/templates/core/user_profile.html:13 +#, fuzzy +#| msgid "Failed to update password: {}" +msgid "Click here to update your password" +msgstr "更新密碼失敗: {}" + +#: core/templatetags/core_tags.py:34 msgid "Modoboa" msgstr "Modoboa" -#: core/templatetags/core_tags.py:106 +#: core/templatetags/core_tags.py:102 msgid "Logout" msgstr "登出" -#: core/templatetags/core_tags.py:131 +#: core/templatetags/core_tags.py:127 msgid "API" msgstr "API" -#: core/utils.py:36 +#: core/utils.py:32 msgid "The core part of Modoboa" msgstr "Modoboa 的核心部分" -#: core/views/admin.py:47 +#: core/views/admin.py:43 msgid "Parameters saved" msgstr "參數已儲存" -#: core/views/auth.py:50 +#: core/views/auth.py:46 #, python-format msgid "Password scheme mismatch. Updating %s password" msgstr "" -#: core/views/auth.py:57 +#: core/views/auth.py:53 #, python-format msgid "Password hash parameter missmatch. Updating %s password" msgstr "" -#: core/views/auth.py:73 +#: core/views/auth.py:69 #, python-format msgid "User '%s' successfully logged in" msgstr "" -#: core/views/auth.py:81 +#: core/views/auth.py:77 msgid "Your username and password didn't match. Please try again." msgstr "" -#: core/views/auth.py:116 +#: core/views/auth.py:112 msgid "User '{}' successfully logged out" msgstr "" -#: core/views/user.py:51 +#: core/views/user.py:53 msgid "Profile updated" msgstr "個人設定已更新" -#: core/views/user.py:77 +#: core/views/user.py:81 msgid "Preferences saved" msgstr "參數已儲存" -#: core/views/user.py:99 +#: core/views/user.py:103 msgid "Access updated" msgstr "存取已更新" -#: lib/db_utils.py:27 +#: lib/db_utils.py:23 #, python-format msgid "Connection to database %s not configured" msgstr "連線到資料庫 %s 未設置" -#: lib/email_utils.py:147 lib/email_utils.py:369 +#: lib/email_utils.py:141 lib/email_utils.py:360 msgid "unable to determine encoding of string" msgstr "" -#: lib/exceptions.py:71 +#: lib/exceptions.py:67 #, python-format msgid "Permission denied: %s" msgstr "權限不足: %s" -#: lib/exceptions.py:72 +#: lib/exceptions.py:68 msgid "Permission denied" msgstr "權限不足" -#: lib/fields.py:19 lib/validators.py:18 +#: lib/fields.py:15 lib/validators.py:14 msgid "Enter a valid domain name" msgstr "輸入有效的網域名稱" -#: lib/fields.py:48 lib/fields.py:62 +#: lib/fields.py:44 lib/fields.py:58 msgid "Enter a valid email address." msgstr "輸入有效的電子郵件" -#: lib/form_utils.py:81 templates/registration/password_reset_confirm.html:12 +#: lib/form_utils.py:77 templates/registration/password_reset_confirm.html:12 #: templates/registration/password_reset_form.html:11 msgid "Submit" msgstr "執行" -#: lib/form_utils.py:114 lib/form_utils.py:117 +#: lib/form_utils.py:110 lib/form_utils.py:113 msgid "Invalid request" msgstr "" -#: lib/form_utils.py:392 +#: lib/form_utils.py:388 msgid "Yes" msgstr "是" -#: lib/ldap_utils.py:134 +#: lib/ldap_utils.py:129 msgid "Failed to update password: {}" msgstr "更新密碼失敗: {}" -#: lib/templatetags/lib_tags.py:108 +#: lib/templatetags/lib_tags.py:104 msgid "From" msgstr "寄件人" -#: lib/templatetags/lib_tags.py:109 +#: lib/templatetags/lib_tags.py:105 msgid "To" msgstr "收件人" -#: lib/templatetags/lib_tags.py:111 templates/common/email_searchbar.html:17 +#: lib/templatetags/lib_tags.py:107 templates/common/email_searchbar.html:17 msgid "Subject" msgstr "主題" @@ -968,6 +1069,11 @@ msgstr "" msgid "Modoboa password reset" msgstr "Modoboa 密碼重設" +#, fuzzy +#~| msgid "Enable communication" +#~ msgid "Enable LDAP synchronization" +#~ msgstr "啟用通訊" + #~ msgid "md5crypt (weak)" #~ msgstr "md5crypt (弱)" diff --git a/modoboa/locale/zh_TW/LC_MESSAGES/djangojs.po b/modoboa/locale/zh_TW/LC_MESSAGES/djangojs.po index 996f5abf4..b74fe4ea5 100644 --- a/modoboa/locale/zh_TW/LC_MESSAGES/djangojs.po +++ b/modoboa/locale/zh_TW/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # akong , 2018 # Radium , 2017 @@ -9,20 +9,25 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-11-04 22:08+0100\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-28 02:39+0000\n" "Last-Translator: akong \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/language/zh_TW/)\n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" +"language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" #: bower_components/jquery-ui/jquery-ui.min.js:8 msgid "'" msgstr "'" +#: bower_components/swagger-ui/dist/swagger-ui-bundle.js:133 +msgid "operation" +msgstr "" + #: core/static/core/js/settings.js:16 msgid "No more log entry to show" msgstr "無更多記錄可展示" @@ -35,7 +40,7 @@ msgstr "警告" msgid "Cancel" msgstr "取消" -#: static/js/global.js:341 +#: static/js/global.js:342 msgid "Internal error" msgstr "內部錯誤" diff --git a/modoboa/relaydomains/locale/br/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/br/LC_MESSAGES/django.po index c4583bf80..357cc65ef 100644 --- a/modoboa/relaydomains/locale/br/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/br/LC_MESSAGES/django.po @@ -1,47 +1,51 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Irriep Nala Novram , 2019 msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2019-03-08 18:05+0000\n" "Last-Translator: Irriep Nala Novram \n" "Language-Team: Breton (http://www.transifex.com/tonio/modoboa/language/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "Arventennoù treuzdougen" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "Treuzdougen" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Linenn direizh" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "Servij nann-degemeret" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "chomlec'hioù herbrec'hiañ bukenn" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "porzhioù herbrec'hiañ bukenn" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "gwiriit ar reseverien" diff --git a/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po index 649ef87dd..d025d0736 100644 --- a/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2015-01-06 10:05+0000\n" "Last-Translator: Miroslav Abrahám \n" "Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/" @@ -19,37 +19,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Relay domény" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Neplatný řádek" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "cílový server" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "cílový server" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "ověřit příjemce" diff --git a/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po index a90079e76..cc9410d7b 100644 --- a/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/de/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-03 11:02+0000\n" "Last-Translator: Arvedui \n" "Language-Team: German (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,37 +20,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Relaydomain" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Ungültige Zeile" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "Ziel-Host" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "Ziel-Host" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "Empfänger verifizieren" diff --git a/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po index 57030a866..118ba01ce 100644 --- a/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/el_GR/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-10-12 13:34+0000\n" "Last-Translator: Kostas Moumouris \n" "Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/" @@ -20,33 +20,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy #| msgid "Relay settings" msgid "Transport settings" msgstr "Ρυθμίσεις Relay" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Λάθος γραμμή" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "Διεύθυνση κεντρικού host" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "Θύρα κεντρικού host" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "επιβεβαίωση παραληπτών" diff --git a/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po index c7993e54d..82f8736e6 100644 --- a/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,30 +17,30 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "" diff --git a/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po index ebb9f653a..88f3edfc9 100644 --- a/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/es/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2013-10-01 09:56+0000\n" "Last-Translator: Pedro Gracia \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/modoboa/language/" @@ -20,34 +20,34 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy msgid "Transport settings" msgstr "Nuevo dominio" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Línea inválida" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 #, fuzzy msgid "target host address" msgstr "objetivo" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 #, fuzzy msgid "target host port" msgstr "objetivo" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 #, fuzzy msgid "verify recipients" msgstr "Destinatarios" diff --git a/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po index dbdc25e44..1ab21d2c0 100644 --- a/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/fr/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-01-25 09:19+0100\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: French (http://www.transifex.com/tonio/modoboa/language/fr/)\n" @@ -19,31 +19,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "Paramètres du transport" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "Transport" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Ligne invalide" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "Service non supporté" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "Adresse de l'hôte cible" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "Port de l'hôte cible" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "Vérifier les destinataires" diff --git a/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po index 2e6de3f96..e7f881819 100644 --- a/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/it/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Giancarlo Gaifas , 2013 # marcotrevisan , 2018 @@ -10,40 +10,41 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-11-02 14:37+0000\n" "Last-Translator: marcotrevisan \n" -"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/it/)\n" +"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/language/" +"it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "Impostazioni di trasporto" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "Trasporto" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Riga non valida" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "Servizio non supportato" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "Indirizzo dell'host di destinazione " -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "Porta dell'host di destinazione" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "Verifica destinatari" diff --git a/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po index a9a9631a6..d65222ac4 100644 --- a/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2016-06-07 07:27+0000\n" "Last-Translator: cwatanab \n" "Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/" @@ -19,37 +19,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy #| msgid "Relay settings" msgid "Transport settings" msgstr "リレー設定" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "不正な行" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "ターゲットホスト" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "ターゲットホスト" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "受信者を確認" diff --git a/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po index 0cd68f458..894857a32 100644 --- a/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/nl_NL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-31 11:37+0000\n" "Last-Translator: TuxBrother \n" "Language-Team: Dutch (Netherlands) (http://www.transifex.com/projects/p/" @@ -20,37 +20,37 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy #| msgid "Relay domains" msgid "Transport settings" msgstr "Doorstuur domeinen" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Verkeerde regel" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "doel host" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "doel host" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "controleer ontvangers" diff --git a/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po index b124b9ba9..a9e5371a0 100644 --- a/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/pl_PL/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-01 16:11+0000\n" "Last-Translator: Tomasz Proć \n" "Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/" @@ -22,33 +22,33 @@ msgstr "" "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 #, fuzzy #| msgid "Relay settings" msgid "Transport settings" msgstr "Ustawienia przekazywania" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Nieprawidłowa linia" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "adres hosta docelowego" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "docelowy port hosta" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "sprawdź odbiorców" diff --git a/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po index 8d1a1c3be..09c70f36a 100644 --- a/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/pt_BR/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-09-25 03:25+0000\n" "Last-Translator: Rafael Barretto \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/tonio/modoboa/" @@ -22,30 +22,30 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "Configurações de transporte" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "Transporte" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Linha inválida" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "Serviço não suportado" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "Endereço do host alvo" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "Porta do host alvo" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "verificar destinatários" diff --git a/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po index 04150bfb9..f51623d50 100644 --- a/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/pt_PT/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2014-12-29 12:51+0000\n" "Last-Translator: Mike C. \n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" @@ -24,35 +24,35 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Linha inválida" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 #, fuzzy #| msgid "target host" msgid "target host address" msgstr "endereço de destino" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 #, fuzzy #| msgid "target host" msgid "target host port" msgstr "endereço de destino" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "verificar destinatários" diff --git a/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po index eed2e2027..f568cd134 100644 --- a/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-14 06:46+0000\n" "Last-Translator: Andrei-Ilie Olteanu \n" "Language-Team: Romanian (Romania) (http://www.transifex.com/tonio/modoboa/" @@ -20,30 +20,30 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "Setări de transport" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "Transport" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Linie invalidă" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "Serviciu neacceptat" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "adresă de host" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "portul de host" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "verificați destinatarii" diff --git a/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po index 6f4531e84..609e47011 100644 --- a/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2013-12-03 09:35+0000\n" "Last-Translator: Antoine Nguyen \n" "Language-Team: Russian (http://www.transifex.com/projects/p/modoboa/language/" @@ -19,31 +19,31 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Ошибочная строка" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "" diff --git a/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po index 5f6ac6dbd..c71d879ec 100644 --- a/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/sv/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-08-14 08:23+0000\n" "Last-Translator: Olle Gustafsson \n" "Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/language/" @@ -20,30 +20,30 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "Transport inställningar" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "Transport" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "Ogiltig rad" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "Tjänsten stöds inte" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "mål värdadress" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "mål värd port" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "verifiera mottagare" diff --git a/modoboa/relaydomains/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/tr_TR/LC_MESSAGES/django.po index 3028850be..d85058175 100644 --- a/modoboa/relaydomains/locale/tr_TR/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/tr_TR/LC_MESSAGES/django.po @@ -1,46 +1,47 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-01-25 08:20+0000\n" "Last-Translator: Antoine Nguyen \n" -"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/language/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (http://www.transifex.com/tonio/modoboa/" +"language/tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "" diff --git a/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po index 9a3e8f2e8..cf58d507b 100644 --- a/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/relaydomains/locale/zh_TW/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2018-06-29 00:13+0000\n" "Last-Translator: akong \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/tonio/modoboa/" @@ -19,30 +19,30 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: relaydomains/handlers.py:65 +#: relaydomains/handlers.py:61 msgid "Transport settings" msgstr "轉送設定" -#: relaydomains/handlers.py:89 +#: relaydomains/handlers.py:85 msgid "Transport" msgstr "轉送" -#: relaydomains/lib.py:17 +#: relaydomains/lib.py:13 msgid "Invalid line" msgstr "無效的行" -#: relaydomains/serializers.py:29 +#: relaydomains/serializers.py:25 msgid "Unsupported service" msgstr "不支援的服務" -#: relaydomains/transport.py:18 +#: relaydomains/transport.py:14 msgid "target host address" msgstr "目標主機位址" -#: relaydomains/transport.py:20 +#: relaydomains/transport.py:16 msgid "target host port" msgstr "目標主機連接埠" -#: relaydomains/transport.py:22 +#: relaydomains/transport.py:18 msgid "verify recipients" msgstr "驗證收件者" diff --git a/modoboa/transport/locale/br/LC_MESSAGES/django.po b/modoboa/transport/locale/br/LC_MESSAGES/django.po index adb152fd3..c99545cf2 100644 --- a/modoboa/transport/locale/br/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/br/LC_MESSAGES/django.po @@ -2,41 +2,45 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# # Translators: # Irriep Nala Novram , 2019 -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-07 08:37+0000\n" "Last-Translator: Irriep Nala Novram , 2019\n" "Language-Team: Breton (https://www.transifex.com/tonio/teams/13749/br/)\n" +"Language: br\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: br\n" -"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);\n" +"Plural-Forms: nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !" +"=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n" +"%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > " +"19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 " +"&& n % 1000000 == 0) ? 3 : 4);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Ar vaezienn-mañ a zo rekiset" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Talvoudegezh direizh" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "patern" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "servij" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "lamm da-heul" diff --git a/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po b/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po index cf186d857..eceb79e8e 100644 --- a/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Jarda Tesar , 2018\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/tonio/" @@ -20,22 +20,22 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n " "<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Toto pole je vyžadováno" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Neplatná hodnota" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "vzor" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "služba" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "následující skok" diff --git a/modoboa/transport/locale/de/LC_MESSAGES/django.po b/modoboa/transport/locale/de/LC_MESSAGES/django.po index 68c1e45d6..603dbbad6 100644 --- a/modoboa/transport/locale/de/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,23 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: transport/backends.py:44 + +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po b/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po index 9e459b19b..8482e6270 100644 --- a/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/el_GR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/en/LC_MESSAGES/django.po b/modoboa/transport/locale/en/LC_MESSAGES/django.po index 9e459b19b..8482e6270 100644 --- a/modoboa/transport/locale/en/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/es/LC_MESSAGES/django.po b/modoboa/transport/locale/es/LC_MESSAGES/django.po index 68c1e45d6..603dbbad6 100644 --- a/modoboa/transport/locale/es/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,23 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: transport/backends.py:44 + +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/fr/LC_MESSAGES/django.po b/modoboa/transport/locale/fr/LC_MESSAGES/django.po index 61baa5c1a..e269637a6 100644 --- a/modoboa/transport/locale/fr/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-11-24 17:22+0100\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,23 +17,23 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Ce champ est requis" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Valeur incorrecte" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "patron" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "service" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "saut suivant" diff --git a/modoboa/transport/locale/it/LC_MESSAGES/django.po b/modoboa/transport/locale/it/LC_MESSAGES/django.po index 798849402..ce55726c0 100644 --- a/modoboa/transport/locale/it/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/it/LC_MESSAGES/django.po @@ -2,41 +2,41 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# # Translators: # marcotrevisan , 2018 -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-07 08:37+0000\n" "Last-Translator: marcotrevisan , 2018\n" "Language-Team: Italian (https://www.transifex.com/tonio/teams/13749/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Questo campo è obbligatorio" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Valore non valido" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "pattern" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "servizio" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "prossimo salto" diff --git a/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po index 9e459b19b..8482e6270 100644 --- a/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po index 9e459b19b..8482e6270 100644 --- a/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/nl_NL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po index a2ba4c7a9..119291a4f 100644 --- a/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/pl_PL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Language-Team: Polish (Poland) (https://www.transifex.com/tonio/teams/13749/" "pl_PL/)\n" @@ -20,22 +20,22 @@ msgstr "" "%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n" "%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po index 4b0181025..c4aae7945 100644 --- a/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Rafael Barretto , 2018\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/tonio/" @@ -19,22 +19,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Esse campo é obrigatório" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Valor inválido" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "modelo" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "serviço" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "próximo salto" diff --git a/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po index 9e459b19b..8482e6270 100644 --- a/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/pt_PT/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,22 +17,22 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po b/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po index f0ed4aaad..737417994 100644 --- a/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Andrei-Ilie Olteanu , 2018\n" "Language-Team: Romanian (Romania) (https://www.transifex.com/tonio/" @@ -20,22 +20,22 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" "2:1));\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Acest câmp este necesar" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Valuare invalidă" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "tipar" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "serviciu" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "următorul hop" diff --git a/modoboa/transport/locale/ru/LC_MESSAGES/django.po b/modoboa/transport/locale/ru/LC_MESSAGES/django.po index 3a7d1f66a..b1955618e 100644 --- a/modoboa/transport/locale/ru/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -19,22 +19,23 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" "%100>=11 && n%100<=14)? 2 : 3);\n" -#: transport/backends.py:44 + +#: transport/backends.py:40 msgid "This field is required" msgstr "" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "" diff --git a/modoboa/transport/locale/sv/LC_MESSAGES/django.po b/modoboa/transport/locale/sv/LC_MESSAGES/django.po index 5bf09f175..2de6a4341 100644 --- a/modoboa/transport/locale/sv/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/sv/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Tomas Olsson , 2018\n" "Language-Team: Swedish (https://www.transifex.com/tonio/teams/13749/sv/)\n" @@ -18,22 +18,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Detta fält är obligatoriskt" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Ogiltigt värde" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "mönster" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "tjänst" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "nästa hopp" diff --git a/modoboa/transport/locale/tr_TR/LC_MESSAGES/django.po b/modoboa/transport/locale/tr_TR/LC_MESSAGES/django.po index 76333725b..b135ce388 100644 --- a/modoboa/transport/locale/tr_TR/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/tr_TR/LC_MESSAGES/django.po @@ -2,41 +2,42 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. -# +# # Translators: # Ediz Duman , 2018 -# +# #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: 2017-12-07 08:37+0000\n" "Last-Translator: Ediz Duman , 2018\n" -"Language-Team: Turkish (Turkey) (https://www.transifex.com/tonio/teams/13749/tr_TR/)\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/tonio/teams/13749/" +"tr_TR/)\n" +"Language: tr_TR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr_TR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "Bu alan gereklidir" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "Geçersiz değer" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "desen" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "hizmet" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "sonraki atlama" diff --git a/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po b/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po index 381586ab4..ee7472030 100644 --- a/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po +++ b/modoboa/transport/locale/zh_TW/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-10-05 16:08+0200\n" +"POT-Creation-Date: 2020-03-09 16:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: akong , 2018\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/tonio/teams/13749/" @@ -19,22 +19,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: transport/backends.py:44 +#: transport/backends.py:40 msgid "This field is required" msgstr "這個欄位是必填的" -#: transport/backends.py:59 +#: transport/backends.py:55 msgid "Invalid value" msgstr "無效的值" -#: transport/models.py:20 +#: transport/models.py:16 msgid "pattern" msgstr "模式" -#: transport/models.py:21 +#: transport/models.py:17 msgid "service" msgstr "服務" -#: transport/models.py:22 +#: transport/models.py:18 msgid "next hop" msgstr "下一步"