diff --git a/.github/workflows/modoboa.yml b/.github/workflows/modoboa.yml index 5752b645f..ec33e053e 100644 --- a/.github/workflows/modoboa.yml +++ b/.github/workflows/modoboa.yml @@ -101,7 +101,7 @@ jobs: run: | python ./tests.py cd test_project - python3 manage.py test modoboa.core modoboa.lib modoboa.admin modoboa.limits modoboa.transport modoboa.relaydomains modoboa.dnstools modoboa.ldapsync modoboa.policyd modoboa.maillog modoboa.parameters modoboa.dmarc + python3 manage.py test modoboa env: # use localhost for the host here because we are running the job on the VM. # If we were running the job on in a container this would be postgres @@ -117,7 +117,7 @@ jobs: run: | python ./tests.py cd test_project - coverage run manage.py test modoboa.core modoboa.lib modoboa.admin modoboa.limits modoboa.transport modoboa.relaydomains modoboa.dnstools modoboa.ldapsync modoboa.policyd modoboa.maillog modoboa.parameters modoboa.dmarc + coverage run manage.py test modoboa coverage combine env: # use localhost for the host here because we are running the job on the VM. diff --git a/doc/features/dmarc.rst b/doc/features/dmarc.rst new file mode 100644 index 000000000..9c2b268ad --- /dev/null +++ b/doc/features/dmarc.rst @@ -0,0 +1,64 @@ +modoboa-dmarc +============= + +.. _dmarcdoc: + +A set of tools to use DMARC through Modoboa. + +This feature is still in BETA stage, for now it only parses XML aggregated +reports and generate visual reports (using c3.js) on a per-domain basis. + +Installation +------------ + +.. note:: + modoboa-installer can automatically set it up for you. + +Make sure to install the following additional system package according to your distribution: + ++-----------------+ +| Debian / Ubuntu | ++=================+ +| libmagic1 | ++-----------------+ + ++------------+ +| CentOS | ++============+ +| file-devel | ++------------+ + + +Integration with Postfix +------------------------ + +A management command is provided to automatically parse DMARC +aggregated reports (rua) and feed the database. The execution of this +command can be automated with the definition of a postfix service and +a custom transport table. + +First, declare a new service in ``/etc/postfix/master.cf``:: + + dmarc-rua-parser unix - n n - - pipe + flags= user=vmail:vmail argv= /manage.py import_aggregated_report --pipe + +Define a new transport table inside ``/etc/postfix/main.cf``:: + + transport_maps = + hash:/etc/postfix/dmarc_transport + # other transport maps... + +Create a file called ``/etc/postfix/dmarc_transport`` with the following content:: + + dmarc-rua-parser: + +.. note:: + You must not declare this email address as an identity (user account or alias), else DMARC reports will be directed to your mailbox and won't be parsed. + +Hash the file using the following command:: + + $ postmap /etc/postfix/dmarc_transport + +Finally, reload postfix:: + + $ service postfix reload diff --git a/doc/features/pdfcredentials.rst b/doc/features/pdfcredentials.rst new file mode 100644 index 000000000..2b897d4a3 --- /dev/null +++ b/doc/features/pdfcredentials.rst @@ -0,0 +1,14 @@ +PDF credentials for Modoboa +=========================== + +.. _pdfc: + +A simple `Modoboa `_ extension which provides a +way to download PDF documents containing users credentials. + + +Configuration +------------- + +All the configuration is done from the admin panel (*Modoboa > +Parameters > PDF Credentials*). diff --git a/doc/index.rst b/doc/index.rst index 1a3a01322..cf037432a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -16,7 +16,27 @@ Modoboa is a mail hosting and management platform including a modern and simplified Web User Interface designed to work with `Postfix `_ and `Dovecot `_. -It is extensible by nature and comes with a lot of additional extensions: + +It provides built-in features by default : + + ++---------------------------------------------------------+-------------------------+------------------------------------------------------+ +|Name |Description |Documentation | +| | | | +| | | | +| | | | ++=========================================================+=========================+======================================================+ +|modoboa-dmarc |A set of tools to use |:ref:`modoboa_dmarc Documentation ` | +| |`DMARC | | +| |`_ | | ++---------------------------------------------------------+-------------------------+------------------------------------------------------+ +|modoboa-pdfcredentials |Generate PDF documents |:ref:`modoboa_pdfcredentials Documentation ` | +| |containing account | | +| |credentials | | ++---------------------------------------------------------+-------------------------+------------------------------------------------------+ + + +And it is extensible by nature and comes with a lot of additional extensions: +---------------------------------------------------------+-------------------------+------------------------------------------------------+ |Name |Description |Documentation | @@ -29,18 +49,10 @@ It is extensible by nature and comes with a lot of additional extensions: | | | | | | | | +---------------------------------------------------------+-------------------------+------------------------------------------------------+ -|`modoboa-dmarc |A set of tools to use |https://github.com/modoboa/modoboa-dmarc | -|`_ |`DMARC | | -| |`_ | | -+---------------------------------------------------------+-------------------------+------------------------------------------------------+ |`modoboa-imap-migration |Migrate mailboxes from an|https://github.com/modoboa/modoboa-imap-migration | |`_ |existing server using | | | |IMAP (and offlineimap) | | +---------------------------------------------------------+-------------------------+------------------------------------------------------+ -|`modoboa-pdfcredentials |Generate PDF documents |https://github.com/modoboa/modoboa-pdfcredentials | -|`_ |containing account | | -| |credentials | | -+---------------------------------------------------------+-------------------------+------------------------------------------------------+ |`modoboa-pfxadmin-migrate |A tool to migrate from |https://github.com/modoboa/modoboa-pfxadmin-migrate | |`_ |Postfixadmin | | +---------------------------------------------------------+-------------------------+------------------------------------------------------+ diff --git a/doc/upgrade.rst b/doc/upgrade.rst index 4422d2244..b58b702f0 100644 --- a/doc/upgrade.rst +++ b/doc/upgrade.rst @@ -111,9 +111,9 @@ Specific instructions 2.1.0 ===== -The ``modoboa-dmarc`` plugin has been merged into the core. +The ``modoboa-dmarc`` and ``modoboa.pdfcredentials`` plugins have been merged into the core. -Add ``'modoboa.dmarc'`` to ``MODOBOA_APPS``: +Add ``'modoboa.dmarc'`` and ``'modoboa.pdfcredentials'`` to ``MODOBOA_APPS``: .. sourcecode:: python @@ -130,18 +130,19 @@ Add ``'modoboa.dmarc'`` to ``MODOBOA_APPS``: 'modoboa.policyd', 'modoboa.maillog', 'modoboa.dmarc', + 'modoboa.pdfcredentials' ) -And remove any reference to ``modoboa_dmarc`` in this same variable. +And remove any reference to ``'modoboa_dmarc'`` or ``'modoboa.pdfcredentials'`` in this same variable. -FIXME: INSTALLATION django-rename-app +After upgrading modoboa, run the following commands from your virtual environment: .. sourcecode:: bash python manage.py rename_app modoboa_dmarc dmarc -2.0.4t +2.0.4 ===== The following modifications must be applied to the :file:`settings.py` file: diff --git a/frontend/locale/br/LC_MESSAGES/app.po b/frontend/locale/br/LC_MESSAGES/app.po index 84bae4cca..c1c1003fa 100644 --- a/frontend/locale/br/LC_MESSAGES/app.po +++ b/frontend/locale/br/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:17+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -27,29 +27,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -65,8 +58,8 @@ msgstr "Kont" msgid "Account created" msgstr "Kont krouet" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -78,9 +71,9 @@ msgstr "Kont hizivaet" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Oberioù" @@ -105,9 +98,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Chomlec'h" @@ -145,8 +138,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -160,8 +154,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias krouet" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -172,9 +166,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -183,10 +175,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Aliasoù" @@ -282,12 +274,9 @@ msgstr "Cheñch ger-tremen" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 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" #: src/components/domains/DomainAliasForm.vue:56 #: src/components/domains/DomainAliasForm.vue:26 @@ -298,8 +287,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -308,8 +296,7 @@ msgstr "" msgid "Close" msgstr "Serriñ" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "Serriñ" @@ -324,8 +311,7 @@ msgstr "Kadarnadur" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -381,8 +367,7 @@ msgstr "" msgid "Creation date" msgstr "Deiziad krouidigezh" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Kriptañ ar gerioù-tremen" @@ -406,8 +391,8 @@ msgstr "Taolenn-stur" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -424,20 +409,18 @@ msgid "Default mailbox quota" msgstr "Kota boest-posteloù dre-ziouer" #: src/components/domains/DomainLimitationsForm.vue:6 -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." +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." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -449,9 +432,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Deskrivadur" @@ -488,8 +471,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -555,7 +537,7 @@ msgstr "" msgid "DNS status" msgstr "Statud DNS" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -563,16 +545,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Domani" @@ -635,11 +622,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -703,8 +690,8 @@ msgstr "Enaouiñ ar gwiriañ DNS" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Enaouet" @@ -719,9 +706,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -745,8 +730,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Diamzeriet da" @@ -767,10 +752,9 @@ msgstr "C'hwitet" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -786,9 +770,7 @@ msgstr "Treuzkas" #: src/components/user/ForwardForm.vue:6 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" #: src/components/user/ForwardForm.vue:19 #: src/components/user/ForwardForm.vue:52 @@ -817,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "Anv klok" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -837,11 +819,11 @@ msgstr "Linennet penn-da-benn" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Hollek" @@ -874,9 +856,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -897,17 +877,19 @@ msgstr "" msgid "Identities" msgstr "Identelezhioù" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Identelezhioù" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -995,9 +977,9 @@ msgstr "Deiziad aozañ diwezhañ" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1031,7 +1013,7 @@ msgid "Logger" msgstr "Enroller" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Digevreañ" @@ -1043,9 +1025,9 @@ msgstr "Marilhoù" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Boest-posteloù" @@ -1067,8 +1049,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1104,14 +1086,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Anv" @@ -1128,8 +1110,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1155,14 +1136,16 @@ msgstr "Da-heul" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1180,13 +1163,11 @@ msgid "Not generated" msgstr "Neket ganet" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1203,8 +1184,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Hegerz ez eus un hizivadenn pe muioc'h" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1219,8 +1199,8 @@ msgstr "" msgid "Options" msgstr "Dibarzhioù" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1244,9 +1224,9 @@ msgstr "Ger-tremen" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1312,8 +1292,7 @@ msgstr "Profil hizivaet" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1323,31 +1302,20 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "Kota" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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)." #: src/components/domains/DomainLimitationsForm.vue:3 -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." +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." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1367,8 +1335,8 @@ msgstr "Chomlec'h dre-zegouezh" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Ger-tremen dre-zegouezh" @@ -1451,8 +1419,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1579,8 +1547,7 @@ msgstr "" msgid "Statistics" msgstr "Statud" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1602,15 +1569,13 @@ msgstr "Berradenn" msgid "Super administrator" msgstr "Dreist-merour" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Balizoù" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1646,10 +1611,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1673,8 +1638,7 @@ msgstr "" msgid "Transport" msgstr "Treuzdougen" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1689,9 +1653,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1758,9 +1720,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Anv implier" @@ -1783,14 +1745,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1819,14 +1783,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1846,18 +1812,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Disklotadurioù gerioù-tremen" @@ -1874,6 +1828,18 @@ msgstr "Ar vaezienn-mañ a zo rekiset" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/cs/LC_MESSAGES/app.po b/frontend/locale/cs/LC_MESSAGES/app.po index def0af8b5..66cfbb5ba 100644 --- a/frontend/locale/cs/LC_MESSAGES/app.po +++ b/frontend/locale/cs/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -405,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -811,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -830,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -867,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -890,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -988,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1024,7 +1011,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1036,9 +1023,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1060,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1097,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1121,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1148,14 +1134,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1173,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1196,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1212,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1237,9 +1222,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1305,8 +1290,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1316,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1354,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1438,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1565,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1588,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1632,10 +1608,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1659,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1674,9 +1649,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1743,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1768,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1804,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1831,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1859,6 +1824,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/de/LC_MESSAGES/app.po b/frontend/locale/de/LC_MESSAGES/app.po index 9f679df92..fdc7f082b 100644 --- a/frontend/locale/de/LC_MESSAGES/app.po +++ b/frontend/locale/de/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:17+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "Konto" msgid "Account created" msgstr "Konto erstellt" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "Konto aktualisiert" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Aktionen" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Adresse" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias erstellt" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Aliase" @@ -283,8 +275,7 @@ msgstr "Passwort ändern" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 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" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "Schließen" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "Schließen" @@ -323,11 +312,8 @@ msgstr "Bestätigung" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." -msgstr "" -"Glückwunsch! Die Zwei-Faktor-Authentifizierung ist nun für diesen Account " -"aktiviert." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." +msgstr "Glückwunsch! Die Zwei-Faktor-Authentifizierung ist nun für diesen Account aktiviert." #: src/views/Login.vue:23 msgid "Connect" @@ -382,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "Erstellungsdatum" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Passwörter verschlüsseln" @@ -407,8 +392,8 @@ msgstr "Dashboard" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "Datum" @@ -425,20 +410,18 @@ msgid "Default mailbox quota" msgstr "Standard Postfach Kontingent" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." -msgstr "" -"Auf Postfächer angewendete Quota. Kann in KB, MB (Voreinstellung) oder GB " -"angegeben werden. 0 eingeben, um keine Quota zu verwenden." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Auf Postfächer angewendete Quota. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu verwenden." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -450,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Beschreibung" @@ -489,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -556,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "DNS Status" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -564,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Domain" @@ -636,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -704,8 +691,8 @@ msgstr "Aktiviere DNS Prüfungen" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Aktiviert" @@ -720,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -746,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Läuft ab am" @@ -768,10 +753,9 @@ msgstr "Fehlgeschlagen" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -816,8 +800,8 @@ msgstr "Von" msgid "Full name" msgstr "Vollständiger Name" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -836,11 +820,11 @@ msgstr "Voll zugeordnet" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Allgemein" @@ -873,9 +857,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -896,17 +878,19 @@ msgstr "" msgid "Identities" msgstr "Identitäten" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Identitäten" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -994,9 +978,9 @@ msgstr "Datum der letzten Änderung" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1030,7 +1014,7 @@ msgid "Logger" msgstr "Logger" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Logout" @@ -1042,9 +1026,9 @@ msgstr "Logs" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Postfächer" @@ -1066,8 +1050,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1103,14 +1087,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Name" @@ -1127,8 +1111,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1154,14 +1137,16 @@ msgstr "Weiter" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1179,13 +1164,11 @@ msgid "Not generated" msgstr "Nicht generiert" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1202,8 +1185,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Eine oder mehrere Aktualisierungen sind verfügbar" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1218,8 +1200,8 @@ msgstr "" msgid "Options" msgstr "Optionen" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1243,9 +1225,9 @@ msgstr "Passwort" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1311,8 +1293,7 @@ msgstr "Profil aktualisiert" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1322,32 +1303,20 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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 dieses Postfachs. Kann in KB, MB (Voreinstellung) oder GB angegeben " -"werden. Eigenen Wert eingeben oder Voreinstellung der Domain verwenden " -"lassen. Frei lassen, um Quota auf unlimitiert zu setzen (nur Super-" -"Administratoren)." +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 dieses Postfachs. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. Eigenen Wert eingeben oder Voreinstellung der Domain verwenden lassen. Frei lassen, um Quota auf unlimitiert zu setzen (nur Super-Administratoren)." #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." -msgstr "" -"Von Postfächern gemeinsam genutzte Quota/Speicherplatz. Kann in KB, MB " -"(Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu " -"verwenden." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Von Postfächern gemeinsam genutzte Quota/Speicherplatz. Kann in KB, MB (Voreinstellung) oder GB angegeben werden. 0 eingeben, um keine Quota zu verwenden." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1367,8 +1336,8 @@ msgstr "Zufällige Adresse" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Zufälliges Passwort" @@ -1451,8 +1420,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1579,8 +1548,7 @@ msgstr "" msgid "Statistics" msgstr "Statistiken" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1602,15 +1570,13 @@ msgstr "Zusammenfassung" msgid "Super administrator" msgstr "Super-Administrator" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Tags" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1646,10 +1612,10 @@ msgstr "Bis" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1673,8 +1639,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1689,9 +1654,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" "Zwei-Faktor-Authentifizierung (2FA) ist noch nicht für diesen Account aktiviert.\n" "Aktiviere dieses Feature, um die Account-Sicherheit zu erhöhen." @@ -1760,9 +1723,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Benutzername" @@ -1785,14 +1748,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1821,14 +1786,16 @@ msgstr "Jahr" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1848,18 +1815,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Passwörter stimmen nicht überein" @@ -1876,6 +1831,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/el/LC_MESSAGES/app.po b/frontend/locale/el/LC_MESSAGES/app.po index 65e2a1562..6382b5252 100644 --- a/frontend/locale/el/LC_MESSAGES/app.po +++ b/frontend/locale/el/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -405,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -811,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -830,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -867,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -890,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -988,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1024,7 +1011,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1036,9 +1023,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1060,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1097,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1121,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1148,14 +1134,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1173,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1196,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1212,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1237,9 +1222,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1305,8 +1290,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1316,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1354,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1438,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1565,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1588,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1632,10 +1608,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1659,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1674,9 +1649,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1743,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1768,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1804,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1831,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1859,6 +1824,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/en/LC_MESSAGES/app.po b/frontend/locale/en/LC_MESSAGES/app.po index dd9047bd4..0af1798d0 100644 --- a/frontend/locale/en/LC_MESSAGES/app.po +++ b/frontend/locale/en/LC_MESSAGES/app.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: en\n" @@ -54,8 +54,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -67,9 +67,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -94,9 +94,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -134,8 +134,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -149,8 +150,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -170,10 +171,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -386,8 +387,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -409,11 +410,13 @@ msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -425,9 +428,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -530,7 +533,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -538,16 +541,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -610,11 +618,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -678,8 +686,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -718,8 +726,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -740,10 +748,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -787,8 +794,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -806,11 +813,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -864,6 +871,11 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 msgid "If you close this form now, your modifications won't be saved. Do you confirm?" @@ -958,9 +970,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -994,7 +1006,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1006,9 +1018,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1030,8 +1042,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1067,14 +1079,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1117,14 +1129,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1178,8 +1192,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1203,9 +1217,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1281,10 +1295,10 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" @@ -1314,8 +1328,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1398,8 +1412,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1547,8 +1561,8 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" @@ -1589,10 +1603,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1697,9 +1711,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1722,14 +1736,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1758,14 +1774,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1785,18 +1803,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1813,6 +1819,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/es/LC_MESSAGES/app.po b/frontend/locale/es/LC_MESSAGES/app.po index 3bd1ece2a..361d0eeef 100644 --- a/frontend/locale/es/LC_MESSAGES/app.po +++ b/frontend/locale/es/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "Cuenta" msgid "Account created" msgstr "Cuenta creada" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "Cuenta actualizada" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Acciones" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Dirección" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias creado" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Alias" @@ -283,12 +275,9 @@ msgstr "Cambiar contraseña" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 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" +msgstr "Marque esta opción si las contraseñas que contiene su fichero no están cifradas" #: src/components/domains/DomainAliasForm.vue:56 #: src/components/domains/DomainAliasForm.vue:26 @@ -299,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -309,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -325,8 +312,7 @@ msgstr "Confirmación" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -382,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "Fecha de creación" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Contraseñas cifradas" @@ -407,8 +392,8 @@ msgstr "Panel de Control" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -425,19 +410,18 @@ msgid "Default mailbox quota" msgstr "Cuota de mailbox por defecto" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." -msgstr "" -"Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -449,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Descripción" @@ -488,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -555,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "Estado de DNS" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -563,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Dominio" @@ -635,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -703,8 +691,8 @@ msgstr "Activar comprobación de DNS" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Activado" @@ -719,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -745,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Caduca en" @@ -767,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -815,8 +800,8 @@ msgstr "" msgid "Full name" msgstr "Nombre completo" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -835,11 +820,11 @@ msgstr "Nombre completo" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "General" @@ -872,9 +857,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -895,17 +878,19 @@ msgstr "" msgid "Identities" msgstr "Identidades" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Identidades" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -993,9 +978,9 @@ msgstr "Última fecha de modificación" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1029,7 +1014,7 @@ msgid "Logger" msgstr "Logger" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Salir" @@ -1041,9 +1026,9 @@ msgstr "Logs" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Mailboxes" @@ -1065,8 +1050,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1102,14 +1087,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Nombre" @@ -1126,8 +1111,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1153,14 +1137,16 @@ msgstr "Siguiente" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1178,13 +1164,11 @@ msgid "Not generated" msgstr "Sin definir" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1201,8 +1185,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Una o más actualizaciones están disponibles" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1217,8 +1200,8 @@ msgstr "" msgid "Options" msgstr "Opciones" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1242,9 +1225,9 @@ msgstr "Contraseña" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1310,8 +1293,7 @@ msgstr "Perfil actualizado" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1321,29 +1303,20 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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 "" -"Cuota en MB para este mailbox. Defina un valor por defecto o use el del " -"dominio por defecto. Déjelo vacío para definir un valor ilimitado (no " -"permitido para los administradores del dominio)" +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 "Cuota en MB para este mailbox. Defina un valor por defecto o use el del dominio por defecto. Déjelo vacío para definir un valor ilimitado (no permitido para los administradores del dominio)" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." -msgstr "" -"Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Cuota de mailbox predeterminda en MB. Un valor de 0 significa ningún limite." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1363,8 +1336,8 @@ msgstr "Dirección aleatoria" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Dirección aleatoria" @@ -1447,8 +1420,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1575,8 +1548,7 @@ msgstr "" msgid "Statistics" msgstr "Estadísticas" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1598,15 +1570,13 @@ msgstr "Resumen" msgid "Super administrator" msgstr "Super administrador" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Tags" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1642,10 +1612,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1669,8 +1639,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1685,9 +1654,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1754,9 +1721,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Nombre de usuario" @@ -1779,14 +1746,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1815,14 +1784,16 @@ msgstr "Año" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1842,18 +1813,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Las contraseñas no coinciden" @@ -1870,6 +1829,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/fi/LC_MESSAGES/app.po b/frontend/locale/fi/LC_MESSAGES/app.po index 895930353..118444051 100644 --- a/frontend/locale/fi/LC_MESSAGES/app.po +++ b/frontend/locale/fi/LC_MESSAGES/app.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: \n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -26,39 +26,23 @@ msgstr "API:n dokumentaatio on saatavilla" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "Uusi avain luodaan pian. Päivitä sivu hetken kuluttua nähdäksesi sen." #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." -msgstr "" -"Käyttäjä, jolla on kaikki oikeudet, voi tehdä mitä tahansa. Oletusarvoisesti" -" tällaisella käyttäjällä ei ole postilaatikkoa, joten hän ei voi käyttää " -"loppukäyttäjän ominaisuuksia." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." +msgstr "Käyttäjä, jolla on kaikki oikeudet, voi tehdä mitä tahansa. Oletusarvoisesti tällaisella käyttäjällä ei ole postilaatikkoa, joten hän ei voi käyttää loppukäyttäjän ominaisuuksia." #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." -msgstr "" -"Käyttäjä, jolla ei ole oikeuksia mutta jolla on postilaatikko. Hän saa " -"käyttää kaikkia loppukäyttäjän ominaisuuksia: webmail, kalenteri, " -"yhteystiedot, suodattimet." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." +msgstr "Käyttäjä, jolla ei ole oikeuksia mutta jolla on postilaatikko. Hän saa käyttää kaikkia loppukäyttäjän ominaisuuksia: webmail, kalenteri, yhteystiedot, suodattimet." #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." -msgstr "" -"Käyttäjä, jolla on oikeuksia yhdessä tai useammassa verkkotunnuksessa. " -"Hänellä on oikeus hallinnoida postilaatikoita ja hänellä voi myös olla " -"postilaatikko." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." +msgstr "Käyttäjä, jolla on oikeuksia yhdessä tai useammassa verkkotunnuksessa. Hänellä on oikeus hallinnoida postilaatikoita ja hänellä voi myös olla postilaatikko." #: src/components/tools/TimeSerieChart.vue:16 msgid "Absolute time range" @@ -73,8 +57,8 @@ msgstr "Tili" msgid "Account created" msgstr "Tili luotu" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -86,9 +70,9 @@ msgstr "Tili päivitetty" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Toiminnot" @@ -113,9 +97,9 @@ msgstr "Lisää lähettäjän osoite" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Osoite" @@ -153,8 +137,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "{{ domain.name }}:n ylläpitäjät" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "Hälytykset" @@ -168,8 +153,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias luotu" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -180,12 +165,8 @@ msgstr "Alias päivitetty" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." -msgstr "" -"Tämän postilaatikon alias-nimet. Jos haluat luoda catchall-aliaksen, " -"kirjoita vain verkkotunnus (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." +msgstr "Tämän postilaatikon alias-nimet. Jos haluat luoda catchall-aliaksen, kirjoita vain verkkotunnus (@domain.tld)." #: src/components/domains/DomainList.vue:25 #: src/components/domains/DomainSummary.vue:31 @@ -193,10 +174,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Aliakset" @@ -293,12 +274,9 @@ msgstr "Vaihda salasana" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" -msgstr "" -"Valitse tämä vaihtoehto, jos tiedostosi sisältämiä salasanoja ei ole " -"salakirjoitettu" +msgstr "Valitse tämä vaihtoehto, jos tiedostosi sisältämiä salasanoja ei ole salakirjoitettu" #: src/components/domains/DomainAliasForm.vue:56 #: src/components/domains/DomainAliasForm.vue:26 @@ -309,8 +287,7 @@ msgstr "Valitse verkkotunnus" msgid "Choose a role" msgstr "Valitse käyttäjätyyppisi" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -319,8 +296,7 @@ msgstr "Valitse käyttäjätyyppisi" msgid "Close" msgstr "Sulje" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 #, fuzzy msgid "Closed" msgstr "Suljettu" @@ -336,8 +312,7 @@ msgstr "Vahvistus" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "Onnittelut! Kaksivaiheinen tunnistus on nyt käytössä tililläsi." #: src/views/Login.vue:23 @@ -393,8 +368,7 @@ msgstr "Luo verkkotunnuksen tavanomaiset aliakset." msgid "Creation date" msgstr "Luontipäivä" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Salakirjoita salasanat" @@ -418,8 +392,8 @@ msgstr "Työpöytä" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "Päivämäärä" @@ -436,21 +410,18 @@ msgid "Default mailbox quota" msgstr "Oletuspostilaatikkokiintiö" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." -msgstr "" -"Postilaatikoihin sovellettava oletuskiintiö. Voidaan ilmaista kilotavuina, " -"megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä " -"ole." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Postilaatikoihin sovellettava oletuskiintiö. Voidaan ilmaista kilotavuina, megatavuina (oletus) tai gigatavuina. Arvo 0 tarkoittaa, ettei kiintiötä ole." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "Poista" @@ -462,9 +433,9 @@ msgstr "Poista avain" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Kuvaus" @@ -501,10 +472,8 @@ msgstr "DKIM-avaimen valitsin-tietue" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" -msgstr "" -"DKIM-avaimet ovat jo olemassa tälle verkkotunnukselle. Haluatko korvata ne?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" +msgstr "DKIM-avaimet ovat jo olemassa tälle verkkotunnukselle. Haluatko korvata ne?" #: src/components/domains/DomainDKIMKey.vue:4 msgid "DKIM public key for" @@ -569,7 +538,7 @@ msgstr "DNS-määritysapu" msgid "DNS status" msgstr "DNS-tila" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "Älä poista tilikansiota" @@ -577,16 +546,22 @@ msgstr "Älä poista tilikansiota" msgid "Do not delete domain folder" msgstr "Älä poista verkkotunnuksen kansiota" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "Haluatko todella poistaa aliaksen %{ alias }?" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +#, fuzzy +msgid "Do you really want to delete the selected identities?" +msgstr "Haluatko todella poistaa aliaksen %{ alias }?" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Verkkotunnus" @@ -649,11 +624,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "Älä käsittele päällekkäisiä objekteja virheinä" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "Muokkaa" @@ -717,8 +692,8 @@ msgstr "Ota DNS-tarkistukset käyttöön" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Käytössä" @@ -733,12 +708,8 @@ msgid "Enter an email address" msgstr "Syötä oikean muotoinen sähköpostiosoite" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." -msgstr "" -"Syötä koodi mobiililaitteesi kaksivaiheisen tunnistuksen sovelluksesta. Jos " -"olet hukannut laitteesi, voit syöttää yhden palautuskoodeistasi." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." +msgstr "Syötä koodi mobiililaitteesi kaksivaiheisen tunnistuksen sovelluksesta. Jos olet hukannut laitteesi, voit syöttää yhden palautuskoodeistasi." #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 msgid "Enter the code you've just received by SMS" @@ -761,8 +732,8 @@ msgstr "Esim: 10 MB. Jätä tyhjäksi, jos et halua rajoitusta" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Vanhenee" @@ -783,10 +754,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "Etunimi" @@ -831,8 +801,8 @@ msgstr "Lähde" msgid "Full name" msgstr "Koko nimi" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "Koko nimi/saaja" @@ -851,11 +821,11 @@ msgstr "Koko nimi" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Yleiset" @@ -888,12 +858,8 @@ msgid "help" msgstr "ohje" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." -msgstr "" -"Tässä on esimerkki DNS-määrityksistä (bind-muodossa). Korvaa [ ]:n välissä " -"olevat arvot sopivilla arvoilla." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." +msgstr "Tässä on esimerkki DNS-määrityksistä (bind-muodossa). Korvaa [ ]:n välissä olevat arvot sopivilla arvoilla." #: src/components/domains/DomainDNSConfig.vue:33 #: src/components/domains/DomainDNSConfig.vue:34 @@ -913,18 +879,19 @@ msgstr "Tunniste" msgid "Identities" msgstr "Identiteetit" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Identiteetit" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" -msgstr "" -"Jos suljet tämän lomakkeen nyt, muutokset eivät tallennu. Vahvistatko?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" +msgstr "Jos suljet tämän lomakkeen nyt, muutokset eivät tallennu. Vahvistatko?" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -1018,9 +985,9 @@ msgstr "Viimeisin muutospäivä" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "Sukunimi" @@ -1054,7 +1021,7 @@ msgid "Logger" msgstr "Lokikirja" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Kirjaudu ulos" @@ -1066,9 +1033,9 @@ msgstr "Lokit" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Postilaatikko" @@ -1090,8 +1057,8 @@ msgstr "Viestien historia" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "Viestien lähetysraja" @@ -1127,14 +1094,14 @@ msgstr "MX-tietueet" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Nimi" @@ -1151,8 +1118,7 @@ msgid "Never logged-in" msgstr "Ei koskaan kirjautunut sisään" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "Uusi" @@ -1178,14 +1144,16 @@ msgstr "Seuraava" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "Ei" @@ -1203,18 +1171,12 @@ msgid "Not generated" msgstr "Ei luotu" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." -msgstr "" -"Viestien määrä, jonka tämä verkkotunnus voi lähettää päivässä. Jätä " -"tyhjäksi, jos et halua rajoitusta." +msgid "Number of messages this domain can send per day. Leave empty for no limit." +msgstr "Viestien määrä, jonka tämä verkkotunnus voi lähettää päivässä. Jätä tyhjäksi, jos et halua rajoitusta." #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." -msgstr "" -"Viestien määrä, jonka tämä postilaatikko voi lähettää päivässä. Jätä " -"tyhjäksi, jos et halua rajoitusta." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." +msgstr "Viestien määrä, jonka tämä postilaatikko voi lähettää päivässä. Jätä tyhjäksi, jos et halua rajoitusta." #: src/views/user/PasswordRecoveryForm.vue:31 #: src/views/user/PasswordRecoveryForm.vue:77 @@ -1230,8 +1192,7 @@ msgstr "OK" msgid "One or more updates are available" msgstr "Yksi tai useampi päivitys on saatavilla" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 #, fuzzy msgid "Opened" msgstr "Avattu" @@ -1247,8 +1208,8 @@ msgstr "Avatut hälytykset" msgid "Options" msgstr "Vaihtoehdot" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "Parametrit päivitetty" @@ -1272,9 +1233,9 @@ msgstr "Salasana" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "Salasana kopioitu leikepöydälle" @@ -1339,11 +1300,9 @@ msgstr "Profiili päivitetty" #: src/components/tools/ImportForm.vue:7 msgid "Provide a CSV file where lines respect one of the following formats:" -msgstr "" -"Toimita CSV-tiedosto, jonka rivit ovat jossakin seuraavista muodoista:" +msgstr "Toimita CSV-tiedosto, jonka rivit ovat jossakin seuraavista muodoista:" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "Jonon ID" @@ -1353,32 +1312,20 @@ msgstr "Jonon ID" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "Verkkotunnuksen oletuskiintiö" #: src/components/identities/AccountMailboxForm.vue:5 -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 "" -"Tämän postilaatikon kiintiö, joka voidaan ilmaista kilotavuina, megatavuina " -"(oletus) tai gigatavuina. Määritä oma arvo tai käytä toimialueen " -"oletusarvoa. Jätä tyhjäksi, jos haluat määrittää rajoittamattoman arvon (ei " -"sallittu toimialueen ylläpitäjille)." +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 "Tämän postilaatikon kiintiö, joka voidaan ilmaista kilotavuina, megatavuina (oletus) tai gigatavuina. Määritä oma arvo tai käytä toimialueen oletusarvoa. Jätä tyhjäksi, jos haluat määrittää rajoittamattoman arvon (ei sallittu toimialueen ylläpitäjille)." #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." -msgstr "" -"Postilaatikoiden kesken jaettu kiintiö. Voidaan ilmaista kilotavuina (KB), " -"megatavuina (MB) (oletus) tai gigatavuina (GB). Arvo 0 tarkoittaa, ettei " -"kiintiötä ole." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Postilaatikoiden kesken jaettu kiintiö. Voidaan ilmaista kilotavuina (KB), megatavuina (MB) (oletus) tai gigatavuina (GB). Arvo 0 tarkoittaa, ettei kiintiötä ole." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1398,8 +1345,8 @@ msgstr "Satunnainen osoite" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Satunnainen salasana" @@ -1482,8 +1429,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1610,8 +1557,7 @@ msgstr "Aloita nimen kirjoittaminen tästä..." msgid "Statistics" msgstr "Tilastot" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1633,18 +1579,14 @@ msgstr "Yhteenveto" msgid "Super administrator" msgstr "Pääylläpitäjä" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Tunnisteet" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." -msgstr "" -"Kunkin rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä " -"suuri kuin jokin edellisistä arvoista." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." +msgstr "Kunkin rivin ensimmäinen elementti on pakollinen, ja sen on oltava yhtä suuri kuin jokin edellisistä arvoista." #: src/components/user/TwoFactorAuthForm.vue:39 #: src/components/user/TwoFactorAuthForm.vue:7 @@ -1687,10 +1629,10 @@ msgstr "Vastaanottaja" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1714,8 +1656,7 @@ msgstr "" msgid "Transport" msgstr "Siirto" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1730,12 +1671,8 @@ msgstr "Kaksivaiheinent tunnistus" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." -msgstr "" -"Kaksivaiheista tunnistusta (2FA) ei ole vielä aktivoitu tilillesi. Tämän " -"ominaisuuden käyttöönotto lisää tilisi turvallisuutta." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." +msgstr "Kaksivaiheista tunnistusta (2FA) ei ole vielä aktivoitu tilillesi. Tämän ominaisuuden käyttöönotto lisää tilisi turvallisuutta." #: src/views/TwoFA.vue:11 msgid "Two-factor authentication code" @@ -1802,9 +1739,9 @@ msgstr "Tuntematon" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Käyttäjätunnus" @@ -1827,14 +1764,16 @@ msgstr "Tarkista koodi" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "Varoitus" @@ -1863,14 +1802,16 @@ msgstr "Vuosi" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "Kyllä" @@ -1890,18 +1831,6 @@ msgstr "API-pääsytunnistetta ei ole vielä luotu." msgid "Your API token is:" msgstr "API-pääsytunnisteesi on:" -#: src/filters/index.js:7 -msgid "yes" -msgstr "kyllä" - -#: src/filters/index.js:7 -msgid "no" -msgstr "ei" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "Asetukset: " - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Salasanat eivät täsmää" @@ -1918,6 +1847,18 @@ msgstr "Tämä kenttä on pakollinen" msgid "Invalid password" msgstr "Virheellinen salasana" +#: src/filters/index.js:7 +msgid "yes" +msgstr "kyllä" + +#: src/filters/index.js:7 +msgid "no" +msgstr "ei" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "Asetukset: " + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/fr/LC_MESSAGES/app.po b/frontend/locale/fr/LC_MESSAGES/app.po index 957b0e001..ef0e75163 100644 --- a/frontend/locale/fr/LC_MESSAGES/app.po +++ b/frontend/locale/fr/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2021-07-01 16:15+0200\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "Compte" msgid "Account created" msgstr "Compte créé" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "Compte mis à jour" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Actions" @@ -107,9 +100,9 @@ msgstr "Adresse aléatoire" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Adresse" @@ -148,8 +141,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -163,8 +157,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias créé" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -175,9 +169,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -186,10 +178,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Alias" @@ -287,12 +279,9 @@ msgstr "Changer le mot de passe" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 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" +msgstr "Cocher cette option si les mots de passe contenus dans votre fichier ne sont pas chiffrés" #: src/components/domains/DomainAliasForm.vue:56 #: src/components/domains/DomainAliasForm.vue:26 @@ -303,8 +292,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -313,8 +301,7 @@ msgstr "" msgid "Close" msgstr "Fermer" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 #, fuzzy msgid "Closed" msgstr "Fermée" @@ -330,11 +317,8 @@ msgstr "Confirmation" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." -msgstr "" -"Félicitations ! L'authentification à deux facteurs est maintenant activée " -"pour votre compte." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." +msgstr "Félicitations ! L'authentification à deux facteurs est maintenant activée pour votre compte." #: src/views/Login.vue:23 msgid "Connect" @@ -389,8 +373,7 @@ msgstr "" msgid "Creation date" msgstr "Date de création" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 #, fuzzy msgid "Crypt passwords" msgstr "Chiffrer les mots de passe" @@ -416,8 +399,8 @@ msgstr "Tableau de bord" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "Date" @@ -434,20 +417,18 @@ msgid "Default mailbox quota" msgstr "Quota par défaut pour une boîte aux lettres" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." -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." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +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." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -459,9 +440,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Description" @@ -499,10 +480,8 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" -msgstr "" -"Des clés DKIM existent déjà pour ce domaine. Voulez vous les écraser ?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" +msgstr "Des clés DKIM existent déjà pour ce domaine. Voulez vous les écraser ?" #: src/components/domains/DomainDKIMKey.vue:4 msgid "DKIM public key for" @@ -567,7 +546,7 @@ msgstr "" msgid "DNS status" msgstr "Statut DNS" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -575,16 +554,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Domaine" @@ -647,11 +631,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -716,8 +700,8 @@ msgstr "Activer les tests DNS" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Activé" @@ -732,9 +716,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -758,8 +740,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Expire le" @@ -780,10 +762,9 @@ msgstr "En échec" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -799,8 +780,7 @@ msgstr "Transfert" #: src/components/user/ForwardForm.vue:6 msgid "Forward messages and store copies into your local mailbox" -msgstr "" -"Transférer les messages et conserver une copie dans votre boite locale" +msgstr "Transférer les messages et conserver une copie dans votre boite locale" #: src/components/user/ForwardForm.vue:19 #: src/components/user/ForwardForm.vue:52 @@ -830,8 +810,8 @@ msgstr "De" msgid "Full name" msgstr "Nom complet" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -850,11 +830,11 @@ msgstr "Alignement complet" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Général" @@ -889,9 +869,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -912,17 +890,19 @@ msgstr "" msgid "Identities" msgstr "Identités" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Identités" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -1013,9 +993,9 @@ msgstr "Date de dernière modification" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1049,7 +1029,7 @@ msgid "Logger" msgstr "Logger" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Déconnexion" @@ -1061,9 +1041,9 @@ msgstr "Journaux" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Boîte aux lettres" @@ -1085,8 +1065,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "Limite d'envoi des messages" @@ -1122,14 +1102,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Nom" @@ -1146,8 +1126,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1173,14 +1152,16 @@ msgstr "Suivant" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "Non" @@ -1198,13 +1179,11 @@ msgid "Not generated" msgstr "Non générée" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1221,8 +1200,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Une ou plusieurs mises à jour sont disponibles!" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "Ouverte" @@ -1237,8 +1215,8 @@ msgstr "" msgid "Options" msgstr "Options" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1262,9 +1240,9 @@ msgstr "Mot de passe" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1333,8 +1311,7 @@ msgstr "Profil mis à jour" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "ID de file" @@ -1344,31 +1321,20 @@ msgstr "ID de file" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "Quota" #: src/components/identities/AccountMailboxForm.vue:5 -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 pour cette boite. Peut être exprimé en Ko, Mo (défaut) ou Go. Définir " -"une valeur spécifique ou utiliser la valeur par défaut du domaine. Laisser " -"vide pour définir une valeur illimitée (interdit pour les admins. de " -"domaine)." +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 pour cette boite. Peut être exprimé en Ko, Mo (défaut) ou Go. Définir une valeur spécifique ou utiliser la valeur par défaut du domaine. Laisser vide pour définir une valeur illimitée (interdit pour les admins. de domaine)." #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." -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." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +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." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1388,8 +1354,8 @@ msgstr "Adresse aléatoire" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Mot de passe aléatoire" @@ -1474,8 +1440,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1604,8 +1570,7 @@ msgstr "" msgid "Statistics" msgstr "Statistiques" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1627,15 +1592,13 @@ msgstr "Résumé" msgid "Super administrator" msgstr "Super administrateur" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Tags" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1671,10 +1634,10 @@ msgstr "A" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1698,8 +1661,7 @@ msgstr "" msgid "Transport" msgstr "Transport" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1715,12 +1677,8 @@ msgstr "Authentification" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." -msgstr "" -"L'authentification à 2 facteurs n'est pas encore activée pour votre compte. " -"Activer cette fonctionnalité renforcera la sécurité de votre compte." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." +msgstr "L'authentification à 2 facteurs n'est pas encore activée pour votre compte. Activer cette fonctionnalité renforcera la sécurité de votre compte." #: src/views/TwoFA.vue:11 msgid "Two-factor authentication code" @@ -1789,9 +1747,9 @@ msgstr "Inconnu" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Nom d'utilisateur" @@ -1814,14 +1772,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "Attention" @@ -1850,14 +1810,16 @@ msgstr "Année" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "Oui" @@ -1877,18 +1839,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 #, fuzzy msgid "Passwords mismatch" @@ -1907,6 +1857,18 @@ msgstr "Ce champ est requis" msgid "Invalid password" msgstr "Mot de passe aléatoire" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/it/LC_MESSAGES/app.po b/frontend/locale/it/LC_MESSAGES/app.po index d22d84284..238062141 100644 --- a/frontend/locale/it/LC_MESSAGES/app.po +++ b/frontend/locale/it/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "Account" msgid "Account created" msgstr "Account creato" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "Account aggiornato" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Azioni" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Indirizzo" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias creato" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Alias" @@ -283,11 +275,9 @@ msgstr "Cambia password" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 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" +msgstr "Seleziona questa opzione se le password contenute nel file non sono criptate" #: src/components/domains/DomainAliasForm.vue:56 #: src/components/domains/DomainAliasForm.vue:26 @@ -298,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -308,8 +297,7 @@ msgstr "" msgid "Close" msgstr "Chiudi" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "Chiudi" @@ -324,8 +312,7 @@ msgstr "Conferma" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -381,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "Data di creazione" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Cripta le password" @@ -406,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -424,21 +410,18 @@ msgid "Default mailbox quota" msgstr "Dimensione massima predefinita per le mailbox" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." -msgstr "" -"Valore predefinito per lo spazio massimo confiviso tra le mailbox. Può " -"essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun " -"limite." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Valore predefinito per lo spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun limite." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -450,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Descrizione" @@ -489,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -556,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "Stato del DNS" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -564,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Dominio" @@ -636,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -704,8 +691,8 @@ msgstr "Abilita i controlli DNS" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Abilitato" @@ -720,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -746,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Scade il" @@ -768,10 +753,9 @@ msgstr "Fallito" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -787,8 +771,7 @@ msgstr "Inoltra" #: src/components/user/ForwardForm.vue:6 msgid "Forward messages and store copies into your local mailbox" -msgstr "" -"Inoltra i messaggi e memorizza le copie nella tua casella di posta locale" +msgstr "Inoltra i messaggi e memorizza le copie nella tua casella di posta locale" #: src/components/user/ForwardForm.vue:19 #: src/components/user/ForwardForm.vue:52 @@ -817,8 +800,8 @@ msgstr "" msgid "Full name" msgstr "Nome completo" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -837,11 +820,11 @@ msgstr "Completamente allineato" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Generale" @@ -874,9 +857,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -897,17 +878,19 @@ msgstr "" msgid "Identities" msgstr "Identità" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Identità" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -995,9 +978,9 @@ msgstr "Data dell'ultima modifica" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1031,7 +1014,7 @@ msgid "Logger" msgstr "Logger" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Esci" @@ -1043,9 +1026,9 @@ msgstr "Log" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Caselle di posta" @@ -1067,8 +1050,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1104,14 +1087,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Nome" @@ -1128,8 +1111,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1155,14 +1137,16 @@ msgstr "Successivo" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1180,13 +1164,11 @@ msgid "Not generated" msgstr "Non generata" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1203,8 +1185,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Sono disponibili nuovi aggiornamenti" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1219,8 +1200,8 @@ msgstr "" msgid "Options" msgstr "Opzioni" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1244,9 +1225,9 @@ msgstr "Password" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1312,8 +1293,7 @@ msgstr "Profilo aggiornato" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1323,31 +1303,20 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "Dimensione massima" #: src/components/identities/AccountMailboxForm.vue:5 -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 "" -"Dimensione massima per questa mailbox, può essere espressa in KB, MB " -"(predefinito) o GB. Definire un valore personalizzato o utilizzare quello " -"predefinito per il dominio. Lasciare vuoto per specificare un valore non " -"limitato (non permesso per amministratori di dominio)." +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 "Dimensione massima per questa mailbox, può essere espressa in KB, MB (predefinito) o GB. Definire un valore personalizzato o utilizzare quello predefinito per il dominio. Lasciare vuoto per specificare un valore non limitato (non permesso per amministratori di dominio)." #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." -msgstr "" -"Spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB " -"(predefinito) o GB. Il valore 0 indica nessun limite." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Spazio massimo confiviso tra le mailbox. Può essere espresso in KB, MB (predefinito) o GB. Il valore 0 indica nessun limite." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1367,8 +1336,8 @@ msgstr "Indirizzo casuale" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Password casuale" @@ -1451,8 +1420,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1579,8 +1548,7 @@ msgstr "" msgid "Statistics" msgstr "Statistiche" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1602,15 +1570,13 @@ msgstr "Sommario" msgid "Super administrator" msgstr "Super amministratore" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Tag" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1646,10 +1612,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1673,8 +1639,7 @@ msgstr "" msgid "Transport" msgstr "Trasporto" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1689,9 +1654,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1758,9 +1721,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Nome utente" @@ -1783,14 +1746,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1819,14 +1784,16 @@ msgstr "Anno" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1846,18 +1813,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Le password non corrispondono" @@ -1874,6 +1829,18 @@ msgstr "Questo campo è obbligatorio" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/ja/LC_MESSAGES/app.po b/frontend/locale/ja/LC_MESSAGES/app.po index fc775a343..00648ac12 100644 --- a/frontend/locale/ja/LC_MESSAGES/app.po +++ b/frontend/locale/ja/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -405,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -811,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -830,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -867,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -890,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -988,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1024,7 +1011,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1036,9 +1023,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1060,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1097,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1121,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1148,14 +1134,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1173,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1196,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1212,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1237,9 +1222,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1305,8 +1290,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1316,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1354,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1438,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1565,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1588,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1632,10 +1608,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1659,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1674,9 +1649,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1743,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1768,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1804,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1831,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1859,6 +1824,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/nl/LC_MESSAGES/app.po b/frontend/locale/nl/LC_MESSAGES/app.po index 0c155a019..4bce324a7 100644 --- a/frontend/locale/nl/LC_MESSAGES/app.po +++ b/frontend/locale/nl/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -405,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -811,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -830,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -867,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -890,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -988,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1024,7 +1011,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1036,9 +1023,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1060,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1097,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1121,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1148,14 +1134,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1173,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1196,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1212,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1237,9 +1222,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1305,8 +1290,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1316,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1354,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1438,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1565,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1588,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1632,10 +1608,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1659,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1674,9 +1649,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1743,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1768,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1804,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1831,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1859,6 +1824,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/pl/LC_MESSAGES/app.po b/frontend/locale/pl/LC_MESSAGES/app.po index f2868c9cc..6d25b0af9 100644 --- a/frontend/locale/pl/LC_MESSAGES/app.po +++ b/frontend/locale/pl/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -405,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -811,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -830,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -867,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -890,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -988,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1024,7 +1011,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1036,9 +1023,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1060,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1097,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1121,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1148,14 +1134,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1173,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1196,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1212,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1237,9 +1222,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1305,8 +1290,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1316,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1354,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1438,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1565,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1588,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1632,10 +1608,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1659,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1674,9 +1649,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1743,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1768,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1804,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1831,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1859,6 +1824,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/po/LC_MESSAGES/app.po b/frontend/locale/po/LC_MESSAGES/app.po index 602e2e25a..bb4e040d6 100644 --- a/frontend/locale/po/LC_MESSAGES/app.po +++ b/frontend/locale/po/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -27,29 +27,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -65,8 +58,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -78,9 +71,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -105,9 +98,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -145,8 +138,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -160,8 +154,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -172,9 +166,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -183,10 +175,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -282,8 +274,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -296,8 +287,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -306,8 +296,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -322,8 +311,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -379,8 +367,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -404,8 +391,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -422,18 +409,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -445,9 +432,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -484,8 +471,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -551,7 +537,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -559,16 +545,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -631,11 +622,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -699,8 +690,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -715,9 +706,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -741,8 +730,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -763,10 +752,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -810,8 +798,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -829,11 +817,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -866,9 +854,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -889,17 +875,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -987,9 +974,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1023,7 +1010,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1035,9 +1022,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1059,8 +1046,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1096,14 +1083,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1120,8 +1107,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1147,14 +1133,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1172,13 +1160,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1195,8 +1181,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1211,8 +1196,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1236,9 +1221,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1304,8 +1289,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1315,24 +1299,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1353,8 +1332,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1437,8 +1416,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1564,8 +1543,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1587,15 +1565,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1631,10 +1607,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1658,8 +1634,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1673,9 +1648,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1742,9 +1715,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1767,14 +1740,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1803,14 +1778,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1830,18 +1807,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1858,6 +1823,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/pt-br/LC_MESSAGES/app.po b/frontend/locale/pt-br/LC_MESSAGES/app.po index d5198000f..955a608a4 100644 --- a/frontend/locale/pt-br/LC_MESSAGES/app.po +++ b/frontend/locale/pt-br/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -27,29 +27,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -65,8 +58,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -78,9 +71,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -105,9 +98,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -145,8 +138,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -160,8 +154,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -172,9 +166,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -183,10 +175,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -282,8 +274,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -296,8 +287,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -306,8 +296,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -322,8 +311,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -379,8 +367,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -404,8 +391,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -422,18 +409,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -445,9 +432,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -484,8 +471,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -551,7 +537,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -559,16 +545,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -631,11 +622,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -699,8 +690,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -715,9 +706,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -741,8 +730,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -763,10 +752,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -810,8 +798,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -829,11 +817,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -866,9 +854,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -889,17 +875,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -987,9 +974,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1023,7 +1010,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1035,9 +1022,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1059,8 +1046,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1096,14 +1083,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1120,8 +1107,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1147,14 +1133,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1172,13 +1160,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1195,8 +1181,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1211,8 +1196,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1236,9 +1221,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1304,8 +1289,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1315,24 +1299,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1353,8 +1332,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1437,8 +1416,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1564,8 +1543,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1587,15 +1565,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1631,10 +1607,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1658,8 +1634,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1673,9 +1648,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1742,9 +1715,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1767,14 +1740,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1803,14 +1778,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1830,18 +1807,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1858,6 +1823,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/pt/LC_MESSAGES/app.po b/frontend/locale/pt/LC_MESSAGES/app.po index df8dfe13a..e5229fc60 100644 --- a/frontend/locale/pt/LC_MESSAGES/app.po +++ b/frontend/locale/pt/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -405,8 +392,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -811,8 +799,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -830,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -867,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -890,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -988,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1024,7 +1011,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1036,9 +1023,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1060,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1097,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1121,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1148,14 +1134,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1173,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1196,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1212,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1237,9 +1222,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1305,8 +1290,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1316,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1354,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1438,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1565,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1588,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1632,10 +1608,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1659,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1674,9 +1649,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1743,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1768,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1804,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1831,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1859,6 +1824,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/ru/LC_MESSAGES/app.po b/frontend/locale/ru/LC_MESSAGES/app.po index 8697ac903..96cba5cab 100644 --- a/frontend/locale/ru/LC_MESSAGES/app.po +++ b/frontend/locale/ru/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "Добавить аккаунт" msgid "Account created" msgstr "Аккаунт создан" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "аккаунт изменен" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Действие" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Адрес" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "Синоним" msgid "Alias created" msgstr "Синоним создан" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Синоним(ы)" @@ -283,8 +275,7 @@ msgstr "Изменить пароль" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "Выберите эту опцию если пароль в вашем файле не зашифрован " @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,8 +312,7 @@ msgstr "Подтверждение" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "Дата создания" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Шифровать пароль" @@ -405,8 +392,8 @@ msgstr "Приборная панель" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -446,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -485,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -552,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "Статистика" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -560,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -632,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -700,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Разрешено" @@ -716,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -742,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -764,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -783,9 +771,7 @@ msgstr "Перенаправленые" #: src/components/user/ForwardForm.vue:6 msgid "Forward messages and store copies into your local mailbox" -msgstr "" -"Перенаправление сообщения, и сохранение копии в вашем локальном почтовом " -"ящике" +msgstr "Перенаправление сообщения, и сохранение копии в вашем локальном почтовом ящике" #: src/components/user/ForwardForm.vue:19 #: src/components/user/ForwardForm.vue:52 @@ -814,8 +800,8 @@ msgstr "" msgid "Full name" msgstr "Имя файла" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -834,11 +820,11 @@ msgstr "Имя файла" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Основные" @@ -871,9 +857,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -894,17 +878,19 @@ msgstr "" msgid "Identities" msgstr "Пользователи" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Пользователи" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -992,9 +978,9 @@ msgstr "Дата последней модификации" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1028,7 +1014,7 @@ msgid "Logger" msgstr "Логгер" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Завершить сеанс" @@ -1040,9 +1026,9 @@ msgstr "Логи" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Почтовые ящики" @@ -1064,8 +1050,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1101,14 +1087,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Логин" @@ -1125,8 +1111,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1152,14 +1137,16 @@ msgstr "Следующая" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1177,13 +1164,11 @@ msgid "Not generated" msgstr "Получатель не определен" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1200,8 +1185,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Доступны одно или более обновлений." -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1216,8 +1200,8 @@ msgstr "" msgid "Options" msgstr "Опции" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1241,9 +1225,9 @@ msgstr "Пароль" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1309,8 +1293,7 @@ msgstr "Профиль обновлен" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1320,28 +1303,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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 "" -"Квота в мегабайтах для этого почтового ящика. Определите собственное " -"значение или используйте значение по умолчанию для родительского домена. " -"Оставьте пустым для неограниченного значения. (Не разрешено администраторам" -" домена)" +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 "Квота в мегабайтах для этого почтового ящика. Определите собственное значение или используйте значение по умолчанию для родительского домена. Оставьте пустым для неограниченного значения. (Не разрешено администраторам домена)" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1362,8 +1336,8 @@ msgstr "Ошибочный запрос" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Ошибочный запрос" @@ -1446,8 +1420,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1574,8 +1548,7 @@ msgstr "" msgid "Statistics" msgstr "Статистика" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1597,15 +1570,13 @@ msgstr "" msgid "Super administrator" msgstr "Супер администратор" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Теги" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1641,10 +1612,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1668,8 +1639,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1684,9 +1654,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1753,9 +1721,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Логин пользователя" @@ -1778,14 +1746,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1814,14 +1784,16 @@ msgstr "Год" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1841,18 +1813,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Пароли не совпадают" @@ -1869,6 +1829,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/sv/LC_MESSAGES/app.po b/frontend/locale/sv/LC_MESSAGES/app.po index 858b3d10a..b397ca391 100644 --- a/frontend/locale/sv/LC_MESSAGES/app.po +++ b/frontend/locale/sv/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "Konto" msgid "Account created" msgstr "Konto skapat" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "Konto uppdaterat" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "Åtgärder" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "Adress" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "Alias" msgid "Alias created" msgstr "Alias skapat" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "Alias" @@ -283,8 +275,7 @@ msgstr "Ändra lösenord" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 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" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "Stäng" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "Stäng" @@ -323,8 +312,7 @@ msgstr "Bekräftelse" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "Grattis! Tvåfaktorsautentisering är nu aktiverat för ditt konto." #: src/views/Login.vue:23 @@ -380,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "Skapelsedatum" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "Krypterade lösenord" @@ -405,8 +392,8 @@ msgstr "Kontrollpanel" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -423,19 +410,18 @@ msgid "Default mailbox quota" msgstr "Standard brevlåde kvota" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." -msgstr "" -"Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -447,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Beskrivning" @@ -486,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -553,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "DNS status" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -561,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "Domän" @@ -633,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -701,8 +691,8 @@ msgstr "Aktivera DNS kontroller" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "Aktiverad" @@ -717,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -743,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "Går ut" @@ -765,10 +753,9 @@ msgstr "Misslyckades" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -813,8 +800,8 @@ msgstr "" msgid "Full name" msgstr "Fullständigt nam" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -833,11 +820,11 @@ msgstr "Helt i linje" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Generellt" @@ -870,9 +857,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -893,17 +878,19 @@ msgstr "" msgid "Identities" msgstr "Konton" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +#, fuzzy +msgid "Identities deleted" +msgstr "Konton" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -991,9 +978,9 @@ msgstr "Senast ändrad" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1027,7 +1014,7 @@ msgid "Logger" msgstr "Loggare" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Logga ut" @@ -1039,9 +1026,9 @@ msgstr "Loggar" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "Brevlådor" @@ -1063,8 +1050,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1100,14 +1087,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "Namn" @@ -1124,8 +1111,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1151,14 +1137,16 @@ msgstr "Nästa" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1176,13 +1164,11 @@ msgid "Not generated" msgstr "Ej genererad" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1199,8 +1185,7 @@ msgstr "" msgid "One or more updates are available" msgstr "En eller fler uppdateringar finns tillgängliga" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1215,8 +1200,8 @@ msgstr "" msgid "Options" msgstr "Inställningar" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1240,9 +1225,9 @@ msgstr "Lösenord" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1308,8 +1293,7 @@ msgstr "Profil uppdaterad" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1319,29 +1303,20 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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 "" -"Kvot i MB för denna brevlåda. Definiera ett anpassat värde eller använda " -"domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej " -"tillåtet för domänadministratörer)." +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 "Kvot i MB för denna brevlåda. Definiera ett anpassat värde eller använda domänens förvalda. Lämna tomt för att definiera ett obegränsat värde (ej tillåtet för domänadministratörer)." #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." -msgstr "" -"Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." +msgstr "Standardkvota i MB applicerad på nya brevlådor. 0 betyder ingen kvota." #: src/components/domains/DomainForm.vue:68 #: src/components/identities/AccountForm.vue:64 @@ -1361,8 +1336,8 @@ msgstr "Slumpmässig adress" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "Slumpmässigt lösenord" @@ -1445,8 +1420,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1573,8 +1548,7 @@ msgstr "" msgid "Statistics" msgstr "Statistik" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1596,15 +1570,13 @@ msgstr "Sammanställning" msgid "Super administrator" msgstr "Super administratör" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "Tagg" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1640,10 +1612,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1667,8 +1639,7 @@ msgstr "" msgid "Transport" msgstr "Transport" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1683,12 +1654,8 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." -msgstr "" -"Tvåfaktorsautentisering (2FA) har inte aktiverats för ditt konto. Aktivering" -" ökar ditt kontos säkerhet." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." +msgstr "Tvåfaktorsautentisering (2FA) har inte aktiverats för ditt konto. Aktivering ökar ditt kontos säkerhet." #: src/views/TwoFA.vue:11 msgid "Two-factor authentication code" @@ -1754,9 +1721,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Användarnamn" @@ -1779,14 +1746,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1815,14 +1784,16 @@ msgstr "År" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1842,18 +1813,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Lösenord matchar inte" @@ -1870,6 +1829,18 @@ msgstr "Detta fält är obligatoriskt" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/tr/LC_MESSAGES/app.po b/frontend/locale/tr/LC_MESSAGES/app.po index 91fb22440..24e2a9940 100644 --- a/frontend/locale/tr/LC_MESSAGES/app.po +++ b/frontend/locale/tr/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -28,29 +28,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -66,8 +59,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -79,9 +72,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -106,9 +99,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -146,8 +139,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -161,8 +155,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -173,9 +167,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -184,10 +176,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -283,8 +275,7 @@ msgstr "Parolayı değiştirin" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -297,8 +288,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -307,8 +297,7 @@ msgstr "" msgid "Close" msgstr "Kapat" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -323,11 +312,8 @@ msgstr "Onayla" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." -msgstr "" -"Tebrikler! Artık hesabınız için İki Faktörlü Kimlik Doğrulama " -"etkinleştirildi." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." +msgstr "Tebrikler! Artık hesabınız için İki Faktörlü Kimlik Doğrulama etkinleştirildi." #: src/views/Login.vue:23 msgid "Connect" @@ -382,8 +368,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -407,8 +392,8 @@ msgstr "Gösterge Paneli" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "Tarih" @@ -425,18 +410,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -448,9 +433,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "Tanım" @@ -487,8 +472,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -554,7 +538,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -562,16 +546,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -634,11 +623,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -702,8 +691,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -718,9 +707,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -744,8 +731,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -766,10 +753,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -813,8 +799,8 @@ msgstr "Kimden" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -832,11 +818,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "Genel" @@ -869,9 +855,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -892,17 +876,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -990,9 +975,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1026,7 +1011,7 @@ msgid "Logger" msgstr "Kayıtçı" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "Çıkış Yapın" @@ -1038,9 +1023,9 @@ msgstr "Kayıtlar" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1062,8 +1047,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1099,14 +1084,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "İsim" @@ -1123,8 +1108,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1150,14 +1134,16 @@ msgstr "Sonraki" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "Hayır" @@ -1175,13 +1161,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1198,8 +1182,7 @@ msgstr "" msgid "One or more updates are available" msgstr "Bir veya daha fazla güncelleme mevcut" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1214,8 +1197,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1239,9 +1222,9 @@ msgstr "Parola" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1307,8 +1290,7 @@ msgstr "Profil güncellendi" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1318,24 +1300,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1356,8 +1333,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1440,8 +1417,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1567,8 +1544,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1590,15 +1566,13 @@ msgstr "" msgid "Super administrator" msgstr "Süper Yönetici" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1634,10 +1608,10 @@ msgstr "Kime" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1661,8 +1635,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1676,12 +1649,8 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." -msgstr "" -"Hesabınız için İki Faktörlü Kimlik Doğrulama (2FA) henüz etkinleştirilmedi. " -"Bu özelliği etkinleştirmek hesabınızın güvenliğini artıracaktır." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." +msgstr "Hesabınız için İki Faktörlü Kimlik Doğrulama (2FA) henüz etkinleştirilmedi. Bu özelliği etkinleştirmek hesabınızın güvenliğini artıracaktır." #: src/views/TwoFA.vue:11 msgid "Two-factor authentication code" @@ -1747,9 +1716,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "Kullanıcı adı" @@ -1772,14 +1741,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1808,14 +1779,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "Evet" @@ -1835,18 +1808,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "Parolalar uyuşmuyor" @@ -1863,6 +1824,18 @@ msgstr "Bu alan gerekli" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/locale/zh-hant/LC_MESSAGES/app.po b/frontend/locale/zh-hant/LC_MESSAGES/app.po index 21487b644..54327ee07 100644 --- a/frontend/locale/zh-hant/LC_MESSAGES/app.po +++ b/frontend/locale/zh-hant/LC_MESSAGES/app.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Modoboa 0.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-23 18:08+0100\n" +"POT-Creation-Date: 2023-02-26 14:37+0100\n" "PO-Revision-Date: 2023-02-23 11:26+0100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -27,29 +27,22 @@ msgstr "" #: src/components/domains/DNSDetail.vue:47 #: src/components/domains/DNSDetail.vue:205 -msgid "" -"A new key will be generated soon. Refresh the page in a moment to see it." +msgid "A new key will be generated soon. Refresh the page in a moment to see it." msgstr "" #: src/components/identities/AccountRoleForm.vue:39 #: src/components/identities/AccountRoleForm.vue:69 -msgid "" -"A user with all privileges, can do anything. By default, such a user does " -"not have a mailbox so he can't access end-user features." +msgid "A user with all privileges, can do anything. By default, such a user does not have a mailbox so he can't access end-user features." msgstr "" #: src/components/identities/AccountRoleForm.vue:34 #: src/components/identities/AccountRoleForm.vue:64 -msgid "" -"A user with no privileges but with a mailbox. He will be allowed to use all " -"end-user features: webmail, calendar, contacts, filters." +msgid "A user with no privileges but with a mailbox. He will be allowed to use all end-user features: webmail, calendar, contacts, filters." msgstr "" #: src/components/identities/AccountRoleForm.vue:24 #: src/components/identities/AccountRoleForm.vue:54 -msgid "" -"A user with privileges on one or more domain. He will be allowed to " -"administer mailboxes and he can also have a mailbox." +msgid "A user with privileges on one or more domain. He will be allowed to administer mailboxes and he can also have a mailbox." msgstr "" #: src/components/tools/TimeSerieChart.vue:16 @@ -65,8 +58,8 @@ msgstr "" msgid "Account created" msgstr "" -#: src/components/identities/IdentityList.vue:67 -#: src/components/identities/IdentityList.vue:146 +#: src/components/identities/IdentityList.vue:79 +#: src/components/identities/IdentityList.vue:160 msgid "Account deleted" msgstr "" @@ -78,9 +71,9 @@ msgstr "" #: src/components/domains/DomainList.vue:29 #: src/components/identities/IdentityList.vue:6 #: src/components/identities/IdentityList.vue:2 -#: src/components/identities/IdentityList.vue:19 -#: src/components/identities/IdentityList.vue:98 +#: src/components/identities/IdentityList.vue:20 #: src/components/domains/DomainList.vue:171 +#: src/components/identities/IdentityList.vue:101 msgid "Actions" msgstr "" @@ -105,9 +98,9 @@ msgstr "" #: src/components/domains/DNSDetail.vue:19 #: src/components/identities/AccountSenderAddresses.vue:12 #: src/components/identities/AliasCreationForm.vue:20 +#: src/components/domains/DNSDetail.vue:177 #: src/components/identities/AliasCreationForm.vue:40 #: src/components/identities/AccountSenderAddresses.vue:63 -#: src/components/domains/DNSDetail.vue:177 msgid "Address" msgstr "" @@ -145,8 +138,9 @@ msgid "Administrators of {{ domain.name }}" msgstr "" #: src/components/domains/DomainList.vue:119 -#: src/components/layout/Navbar.vue:63 src/components/layout/Navbar.vue:178 +#: src/components/layout/Navbar.vue:63 #: src/components/domains/DomainList.vue:261 +#: src/components/layout/Navbar.vue:178 msgid "Alarms" msgstr "" @@ -160,8 +154,8 @@ msgstr "" msgid "Alias created" msgstr "" -#: src/components/identities/IdentityList.vue:45 -#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:53 +#: src/components/identities/IdentityList.vue:134 msgid "Alias deleted" msgstr "" @@ -172,9 +166,7 @@ msgstr "" #: src/components/identities/AccountAliasForm.vue:3 #: src/components/identities/AliasRecipientForm.vue:3 -msgid "" -"Alias(es) of this mailbox. To create a catchall alias, just enter the domain" -" name (@domain.tld)." +msgid "Alias(es) of this mailbox. To create a catchall alias, just enter the domain name (@domain.tld)." msgstr "" #: src/components/domains/DomainList.vue:25 @@ -183,10 +175,10 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:62 #: src/components/identities/AccountCreationForm.vue:65 #: src/components/identities/AccountCreationForm.vue:93 +#: src/components/domains/DomainList.vue:167 #: src/components/identities/AccountCreationForm.vue:112 #: src/components/identities/AccountCreationForm.vue:115 #: src/components/identities/AccountCreationForm.vue:143 -#: src/components/domains/DomainList.vue:167 msgid "Aliases" msgstr "" @@ -282,8 +274,7 @@ msgstr "" msgid "Check out the following list to find related components" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Check this option if passwords contained in your file are not crypted" msgstr "" @@ -296,8 +287,7 @@ msgstr "" msgid "Choose a role" msgstr "" -#: src/App.vue:18 src/App.vue:2 -#: src/components/domains/AdministratorList.vue:36 +#: src/App.vue:18 src/App.vue:2 src/components/domains/AdministratorList.vue:36 #: src/components/domains/DomainAliasForm.vue:21 #: src/components/domains/DomainDKIMKey.vue:22 #: src/components/domains/DomainDNSConfig.vue:40 @@ -306,8 +296,7 @@ msgstr "" msgid "Close" msgstr "" -#: src/components/alarms/AlarmList.vue:21 -#: src/components/alarms/AlarmList.vue:5 +#: src/components/alarms/AlarmList.vue:21 src/components/alarms/AlarmList.vue:5 msgid "Closed" msgstr "" @@ -322,8 +311,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:34 #: src/components/user/TwoFactorAuthForm.vue:2 -msgid "" -"Congratulations! Two-Factor Authentication is now enabled for your account." +msgid "Congratulations! Two-Factor Authentication is now enabled for your account." msgstr "" #: src/views/Login.vue:23 @@ -379,8 +367,7 @@ msgstr "" msgid "Creation date" msgstr "" -#: src/views/identities/Identities.vue:45 -#: src/views/identities/Identities.vue:1 +#: src/views/identities/Identities.vue:45 src/views/identities/Identities.vue:1 msgid "Crypt passwords" msgstr "" @@ -404,8 +391,8 @@ msgstr "" #: src/components/logs/AuditTrailList.vue:8 #: src/components/logs/MessageList.vue:10 -#: src/components/logs/AuditTrailList.vue:40 #: src/components/logs/MessageList.vue:43 +#: src/components/logs/AuditTrailList.vue:40 msgid "Date" msgstr "" @@ -422,18 +409,18 @@ msgid "Default mailbox quota" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:6 -msgid "" -"Default quota applied to mailboxes. Can be expressed in KB, MB (default) or " -"GB. A value of 0 means no quota." +msgid "Default quota applied to mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainAliasForm.vue:24 #: src/components/domains/DomainList.vue:115 -#: src/components/identities/IdentityList.vue:89 -#: src/components/identities/IdentityList.vue:92 -#: src/components/identities/IdentityList.vue:168 -#: src/components/identities/IdentityList.vue:171 +#: src/components/identities/IdentityList.vue:162 +#: src/components/identities/IdentityList.vue:174 +#: src/components/identities/IdentityList.vue:185 #: src/components/domains/DomainList.vue:257 +#: src/components/identities/IdentityList.vue:243 +#: src/components/identities/IdentityList.vue:255 +#: src/components/identities/IdentityList.vue:266 msgid "Delete" msgstr "" @@ -445,9 +432,9 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:31 #: src/components/identities/AliasGeneralForm.vue:87 #: src/components/identities/AliasSummary.vue:19 -#: src/components/identities/AliasCreationForm.vue:51 -#: src/components/identities/AliasGeneralForm.vue:56 #: src/components/admin/ComponentsInformationTable.vue:54 +#: src/components/identities/AliasGeneralForm.vue:56 +#: src/components/identities/AliasCreationForm.vue:51 msgid "Description" msgstr "" @@ -484,8 +471,7 @@ msgstr "" #: src/components/domains/DNSDetail.vue:30 #: src/components/domains/DNSDetail.vue:189 -msgid "" -"DKIM keys already exist for this domain. Do you want to overwrite them?" +msgid "DKIM keys already exist for this domain. Do you want to overwrite them?" msgstr "" #: src/components/domains/DomainDKIMKey.vue:4 @@ -551,7 +537,7 @@ msgstr "" msgid "DNS status" msgstr "" -#: src/components/identities/IdentityList.vue:49 +#: src/components/identities/IdentityList.vue:51 msgid "Do not delete account folder" msgstr "" @@ -559,16 +545,21 @@ msgstr "" msgid "Do not delete domain folder" msgstr "" -#: src/components/identities/IdentityList.vue:31 -#: src/components/identities/IdentityList.vue:111 +#: src/components/identities/IdentityList.vue:36 +#: src/components/identities/IdentityList.vue:118 msgid "Do you really want to delete the alias %{ alias }?" msgstr "" +#: src/components/identities/IdentityList.vue:92 +#: src/components/identities/IdentityList.vue:174 +msgid "Do you really want to delete the selected identities?" +msgstr "" + #: src/components/alarms/AlarmList.vue:10 #: src/components/identities/AliasGeneralForm.vue:56 #: src/views/domains/Domain.vue:3 src/views/domains/Domains.vue:20 -#: src/components/identities/AliasGeneralForm.vue:31 #: src/components/alarms/AlarmList.vue:74 +#: src/components/identities/AliasGeneralForm.vue:31 msgid "Domain" msgstr "" @@ -631,11 +622,11 @@ msgid "Don't treat duplicated objects as errors" msgstr "" #: src/components/domains/DomainList.vue:114 -#: src/components/identities/IdentityList.vue:88 -#: src/components/identities/IdentityList.vue:91 -#: src/components/identities/IdentityList.vue:167 -#: src/components/identities/IdentityList.vue:170 +#: src/components/identities/IdentityList.vue:157 +#: src/components/identities/IdentityList.vue:169 #: src/components/domains/DomainList.vue:256 +#: src/components/identities/IdentityList.vue:238 +#: src/components/identities/IdentityList.vue:250 msgid "Edit" msgstr "" @@ -699,8 +690,8 @@ msgstr "" #: src/components/identities/AccountGeneralForm.vue:13 #: src/components/identities/AliasForm.vue:17 #: src/components/identities/AliasGeneralForm.vue:11 -#: src/components/identities/AccountCreationForm.vue:89 #: src/components/domains/DomainCreationForm.vue:78 +#: src/components/identities/AccountCreationForm.vue:89 msgid "Enabled" msgstr "" @@ -715,9 +706,7 @@ msgid "Enter an email address" msgstr "" #: src/views/TwoFA.vue:12 -msgid "" -"Enter the code from the two-factor app on your mobile device. If you have " -"lost your device, you may enter one of your recovery codes." +msgid "Enter the code from the two-factor app on your mobile device. If you have lost your device, you may enter one of your recovery codes." msgstr "" #: src/views/user/PasswordRecoverySmsTotpForm.vue:11 @@ -741,8 +730,8 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:26 #: src/components/identities/AliasGeneralForm.vue:79 #: src/components/identities/AliasSummary.vue:15 -#: src/components/identities/AliasCreationForm.vue:46 #: src/components/identities/AliasGeneralForm.vue:49 +#: src/components/identities/AliasCreationForm.vue:46 msgid "Expire at" msgstr "" @@ -763,10 +752,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:30 #: src/components/identities/AccountGeneralForm.vue:32 -#: src/components/user/ProfileForm.vue:45 -#: src/components/identities/AccountCreationForm.vue:80 +#: src/components/user/ProfileForm.vue:45 src/components/user/ProfileForm.vue:9 #: src/components/identities/AccountGeneralForm.vue:17 -#: src/components/user/ProfileForm.vue:9 +#: src/components/identities/AccountCreationForm.vue:80 msgid "First name" msgstr "" @@ -810,8 +798,8 @@ msgstr "" msgid "Full name" msgstr "" -#: src/components/identities/IdentityList.vue:17 -#: src/components/identities/IdentityList.vue:96 +#: src/components/identities/IdentityList.vue:18 +#: src/components/identities/IdentityList.vue:99 msgid "Fullname/recipient" msgstr "" @@ -829,11 +817,11 @@ msgstr "" #: src/components/identities/AliasCreationForm.vue:17 #: src/components/identities/AliasCreationForm.vue:49 #: src/components/identities/AliasForm.vue:7 src/views/domains/Domain.vue:11 -#: src/components/identities/AliasCreationForm.vue:37 -#: src/components/identities/AliasCreationForm.vue:69 #: src/components/domains/DomainCreationForm.vue:74 #: src/components/domains/DomainCreationForm.vue:159 #: src/components/domains/DomainCreationForm.vue:165 +#: src/components/identities/AliasCreationForm.vue:37 +#: src/components/identities/AliasCreationForm.vue:69 msgid "General" msgstr "" @@ -866,9 +854,7 @@ msgid "help" msgstr "" #: src/components/domains/DomainDNSConfig.vue:8 -msgid "" -"Here is an example of DNS configuration (bind format). Replace values " -"between [ ] by the appropriate ones." +msgid "Here is an example of DNS configuration (bind format). Replace values between [ ] by the appropriate ones." msgstr "" #: src/components/domains/DomainDNSConfig.vue:33 @@ -889,17 +875,18 @@ msgstr "" msgid "Identities" msgstr "" +#: src/components/identities/IdentityList.vue:112 +#: src/components/identities/IdentityList.vue:193 +msgid "Identities deleted" +msgstr "" + #: src/components/tools/CreationForm.vue:26 #: src/components/tools/CreationForm.vue:99 -msgid "" -"If you close this form now, your modifications won't be saved. Do you " -"confirm?" +msgid "If you close this form now, your modifications won't be saved. Do you confirm?" msgstr "" #: src/components/dmarc/DmarcAligmentChart.vue:52 -msgid "" -"If you configured it recently, please wait for the first report to be " -"received and processed." +msgid "If you configured it recently, please wait for the first report to be received and processed." msgstr "" #: src/components/tools/ImportForm.vue:29 @@ -987,9 +974,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:31 #: src/components/identities/AccountGeneralForm.vue:41 #: src/components/user/ProfileForm.vue:52 -#: src/components/identities/AccountCreationForm.vue:81 -#: src/components/identities/AccountGeneralForm.vue:25 #: src/components/user/ProfileForm.vue:15 +#: src/components/identities/AccountGeneralForm.vue:25 +#: src/components/identities/AccountCreationForm.vue:81 msgid "Last name" msgstr "" @@ -1023,7 +1010,7 @@ msgid "Logger" msgstr "" #: src/components/layout/Navbar.vue:139 src/components/layout/Topbar.vue:6 -#: src/components/layout/Navbar.vue:254 src/components/layout/Topbar.vue:53 +#: src/components/layout/Topbar.vue:53 src/components/layout/Navbar.vue:254 msgid "Logout" msgstr "" @@ -1035,9 +1022,9 @@ msgstr "" #: src/components/identities/AccountCreationForm.vue:46 #: src/components/identities/AccountCreationForm.vue:89 #: src/components/identities/AccountForm.vue:56 +#: src/components/alarms/AlarmList.vue:75 #: src/components/identities/AccountCreationForm.vue:96 #: src/components/identities/AccountCreationForm.vue:139 -#: src/components/alarms/AlarmList.vue:75 msgid "Mailbox" msgstr "" @@ -1059,8 +1046,8 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:42 #: src/components/domains/DomainLimitationsForm.vue:9 #: src/components/identities/AccountCreationForm.vue:56 -#: src/components/identities/AccountCreationForm.vue:106 #: src/components/domains/DomainCreationForm.vue:93 +#: src/components/identities/AccountCreationForm.vue:106 msgid "Message sending limit" msgstr "" @@ -1096,14 +1083,14 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:25 #: src/components/domains/DomainList.vue:24 #: src/components/domains/DomainOptionsForm.vue:4 -#: src/components/identities/IdentityList.vue:16 -#: src/components/identities/IdentityList.vue:95 -#: src/components/domains/DNSDetail.vue:176 +#: src/components/identities/IdentityList.vue:17 #: src/components/domains/DomainAliasForm.vue:13 -#: src/components/domains/DomainCreationForm.vue:76 -#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DNSDetail.vue:176 #: src/components/domains/DomainList.vue:166 +#: src/components/domains/AdministratorList.vue:87 +#: src/components/domains/DomainCreationForm.vue:76 #: src/components/admin/ComponentsInformationTable.vue:51 +#: src/components/identities/IdentityList.vue:98 msgid "Name" msgstr "" @@ -1120,8 +1107,7 @@ msgid "Never logged-in" msgstr "" #: src/views/domains/Domains.vue:15 src/views/domains/Domains.vue:3 -#: src/views/identities/Identities.vue:15 -#: src/views/identities/Identities.vue:3 +#: src/views/identities/Identities.vue:15 src/views/identities/Identities.vue:3 msgid "New" msgstr "" @@ -1147,14 +1133,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:35 #: src/components/domains/DomainList.vue:61 -#: src/components/identities/IdentityList.vue:37 -#: src/components/identities/IdentityList.vue:58 +#: src/components/identities/IdentityList.vue:42 +#: src/components/identities/IdentityList.vue:67 +#: src/components/identities/IdentityList.vue:97 #: src/components/tools/CreationForm.vue:30 -#: src/components/tools/CreationForm.vue:103 -#: src/components/identities/IdentityList.vue:116 -#: src/components/identities/IdentityList.vue:137 #: src/components/domains/DNSDetail.vue:193 #: src/components/domains/DomainList.vue:203 +#: src/components/identities/IdentityList.vue:123 +#: src/components/identities/IdentityList.vue:148 +#: src/components/identities/IdentityList.vue:178 +#: src/components/tools/CreationForm.vue:103 msgid "No" msgstr "" @@ -1172,13 +1160,11 @@ msgid "Not generated" msgstr "" #: src/components/domains/DomainLimitationsForm.vue:9 -msgid "" -"Number of messages this domain can send per day. Leave empty for no limit." +msgid "Number of messages this domain can send per day. Leave empty for no limit." msgstr "" #: src/components/identities/AccountMailboxForm.vue:8 -msgid "" -"Number of messages this mailbox can send per day. Leave empty for no limit." +msgid "Number of messages this mailbox can send per day. Leave empty for no limit." msgstr "" #: src/views/user/PasswordRecoveryForm.vue:31 @@ -1195,8 +1181,7 @@ msgstr "" msgid "One or more updates are available" msgstr "" -#: src/components/alarms/AlarmList.vue:18 -#: src/components/alarms/AlarmList.vue:2 +#: src/components/alarms/AlarmList.vue:18 src/components/alarms/AlarmList.vue:2 msgid "Opened" msgstr "" @@ -1211,8 +1196,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/parameters/ParametersForm.vue:60 -#: src/components/parameters/ParametersForm.vue:137 +#: src/components/parameters/ParametersForm.vue:61 +#: src/components/parameters/ParametersForm.vue:138 msgid "Parameters updated" msgstr "" @@ -1236,9 +1221,9 @@ msgstr "" #: src/components/domains/DomainCreationForm.vue:127 #: src/components/identities/AccountCreationForm.vue:101 #: src/components/identities/AccountPasswordForm.vue:32 -#: src/components/identities/AccountCreationForm.vue:151 -#: src/components/identities/AccountPasswordForm.vue:103 #: src/components/domains/DomainCreationForm.vue:178 +#: src/components/identities/AccountPasswordForm.vue:103 +#: src/components/identities/AccountCreationForm.vue:151 msgid "Password copied to clipboard" msgstr "" @@ -1304,8 +1289,7 @@ msgstr "" msgid "Provide a CSV file where lines respect one of the following formats:" msgstr "" -#: src/components/logs/MessageList.vue:9 -#: src/components/logs/MessageList.vue:42 +#: src/components/logs/MessageList.vue:9 src/components/logs/MessageList.vue:42 msgid "Queue ID" msgstr "" @@ -1315,24 +1299,19 @@ msgstr "" #: src/components/domains/DomainSummary.vue:15 #: src/components/identities/AccountCreationForm.vue:50 #: src/components/identities/AccountMailboxForm.vue:14 -#: src/components/identities/AccountCreationForm.vue:100 -#: src/components/identities/AccountMailboxForm.vue:3 -#: src/components/domains/DomainCreationForm.vue:91 #: src/components/domains/DomainList.vue:170 +#: src/components/domains/DomainCreationForm.vue:91 +#: src/components/identities/AccountMailboxForm.vue:3 +#: src/components/identities/AccountCreationForm.vue:100 msgid "Quota" msgstr "" #: src/components/identities/AccountMailboxForm.vue:5 -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)." +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 "" #: src/components/domains/DomainLimitationsForm.vue:3 -msgid "" -"Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. " -"A value of 0 means no quota." +msgid "Quota shared between mailboxes. Can be expressed in KB, MB (default) or GB. A value of 0 means no quota." msgstr "" #: src/components/domains/DomainForm.vue:68 @@ -1353,8 +1332,8 @@ msgstr "" #: src/components/domains/DomainOptionsForm.vue:6 #: src/components/identities/AccountCreationForm.vue:34 #: src/components/identities/AccountPasswordForm.vue:9 -#: src/components/identities/AccountCreationForm.vue:84 #: src/components/domains/DomainCreationForm.vue:109 +#: src/components/identities/AccountCreationForm.vue:84 msgid "Random password" msgstr "" @@ -1437,8 +1416,8 @@ msgstr "" #: src/views/user/PasswordRecoveryForm.vue:19 #: src/views/user/PasswordRecoveryForm.vue:32 #: src/views/user/PasswordRecoverySmsTotpForm.vue:22 -#: src/views/user/PasswordRecoveryForm.vue:78 #: src/views/user/PasswordRecoverySmsTotpForm.vue:70 +#: src/views/user/PasswordRecoveryForm.vue:78 msgid "Return to login" msgstr "" @@ -1564,8 +1543,7 @@ msgstr "" msgid "Statistics" msgstr "" -#: src/components/alarms/AlarmList.vue:9 -#: src/components/logs/MessageList.vue:11 +#: src/components/alarms/AlarmList.vue:9 src/components/logs/MessageList.vue:11 #: src/components/alarms/AlarmList.vue:73 #: src/components/logs/MessageList.vue:44 msgid "Status" @@ -1587,15 +1565,13 @@ msgstr "" msgid "Super administrator" msgstr "" -#: src/components/identities/IdentityList.vue:18 -#: src/components/identities/IdentityList.vue:97 +#: src/components/identities/IdentityList.vue:19 +#: src/components/identities/IdentityList.vue:100 msgid "Tags" msgstr "" #: src/components/tools/ImportForm.vue:9 -msgid "" -"The first element of each line is mandatory and must be equal to one of the " -"previous values." +msgid "The first element of each line is mandatory and must be equal to one of the previous values." msgstr "" #: src/components/user/TwoFactorAuthForm.vue:39 @@ -1631,10 +1607,10 @@ msgstr "" #: src/views/Login.vue:39 src/views/user/PasswordRecoveryChangeForm.vue:62 #: src/views/user/PasswordRecoveryForm.vue:69 -#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 src/views/Login.vue:99 -#: src/views/user/PasswordRecoveryChangeForm.vue:122 -#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoverySmsTotpForm.vue:46 #: src/views/user/PasswordRecoverySmsTotpForm.vue:94 +#: src/views/user/PasswordRecoveryForm.vue:115 +#: src/views/user/PasswordRecoveryChangeForm.vue:122 src/views/Login.vue:99 msgid "Too many unsuccessful attempts, please try later." msgstr "" @@ -1658,8 +1634,7 @@ msgstr "" msgid "Transport" msgstr "" -#: src/components/alarms/AlarmList.vue:8 -#: src/components/alarms/AlarmList.vue:72 +#: src/components/alarms/AlarmList.vue:8 src/components/alarms/AlarmList.vue:72 msgid "Triggered" msgstr "" @@ -1673,9 +1648,7 @@ msgstr "" #: src/components/user/TwoFactorAuthForm.vue:64 #: src/components/user/TwoFactorAuthForm.vue:1 -msgid "" -"Two-Factor Authentication (2FA) is not yet activated for your account. " -"Enabling this feature will increase your account's security." +msgid "Two-Factor Authentication (2FA) is not yet activated for your account. Enabling this feature will increase your account's security." msgstr "" #: src/views/TwoFA.vue:11 @@ -1742,9 +1715,9 @@ msgstr "" #: src/components/domains/AdministratorList.vue:18 #: src/components/identities/AccountCreationForm.vue:29 #: src/components/identities/AccountGeneralForm.vue:19 src/views/Login.vue:9 -#: src/components/identities/AccountCreationForm.vue:79 -#: src/components/identities/AccountGeneralForm.vue:7 #: src/components/domains/AdministratorList.vue:86 +#: src/components/identities/AccountGeneralForm.vue:7 +#: src/components/identities/AccountCreationForm.vue:79 msgid "Username" msgstr "" @@ -1767,14 +1740,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:29 #: src/components/domains/DomainList.vue:54 -#: src/components/identities/IdentityList.vue:30 -#: src/components/identities/IdentityList.vue:51 +#: src/components/identities/IdentityList.vue:35 +#: src/components/identities/IdentityList.vue:60 +#: src/components/identities/IdentityList.vue:91 #: src/components/tools/CreationForm.vue:25 src/views/user/APISetup.vue:40 -#: src/components/tools/CreationForm.vue:98 -#: src/components/identities/IdentityList.vue:109 -#: src/components/identities/IdentityList.vue:130 #: src/components/domains/DNSDetail.vue:187 -#: src/components/domains/DomainList.vue:196 src/views/user/APISetup.vue:81 +#: src/components/domains/DomainList.vue:196 +#: src/components/identities/IdentityList.vue:116 +#: src/components/identities/IdentityList.vue:141 +#: src/components/identities/IdentityList.vue:172 +#: src/components/tools/CreationForm.vue:98 src/views/user/APISetup.vue:81 msgid "Warning" msgstr "" @@ -1803,14 +1778,16 @@ msgstr "" #: src/components/domains/DNSDetail.vue:36 #: src/components/domains/DomainList.vue:62 -#: src/components/identities/IdentityList.vue:38 -#: src/components/identities/IdentityList.vue:59 +#: src/components/identities/IdentityList.vue:43 +#: src/components/identities/IdentityList.vue:68 +#: src/components/identities/IdentityList.vue:98 #: src/components/tools/CreationForm.vue:29 -#: src/components/tools/CreationForm.vue:102 -#: src/components/identities/IdentityList.vue:117 -#: src/components/identities/IdentityList.vue:138 #: src/components/domains/DNSDetail.vue:194 #: src/components/domains/DomainList.vue:204 +#: src/components/identities/IdentityList.vue:124 +#: src/components/identities/IdentityList.vue:149 +#: src/components/identities/IdentityList.vue:179 +#: src/components/tools/CreationForm.vue:102 msgid "Yes" msgstr "" @@ -1830,18 +1807,6 @@ msgstr "" msgid "Your API token is:" msgstr "" -#: src/filters/index.js:7 -msgid "yes" -msgstr "" - -#: src/filters/index.js:7 -msgid "no" -msgstr "" - -#: src/components/parameters/ParametersForm.vue:97 -msgid "Settings: " -msgstr "" - #: src/plugins/vee-validate.js:12 msgid "Passwords mismatch" msgstr "" @@ -1858,6 +1823,18 @@ msgstr "" msgid "Invalid password" msgstr "" +#: src/filters/index.js:7 +msgid "yes" +msgstr "" + +#: src/filters/index.js:7 +msgid "no" +msgstr "" + +#: src/components/parameters/ParametersForm.vue:97 +msgid "Settings: " +msgstr "" + #: src/api/repository.js:38 msgid "You are throttled, please try later." msgstr "" diff --git a/frontend/src/components/identities/IdentityList.vue b/frontend/src/components/identities/IdentityList.vue index 1a10fb245..910c8bf97 100644 --- a/frontend/src/components/identities/IdentityList.vue +++ b/frontend/src/components/identities/IdentityList.vue @@ -8,6 +8,7 @@ + @@ -54,16 +55,17 @@ @@ -83,6 +85,7 @@ import accounts from '@/api/accounts' import aliases from '@/api/aliases' import ConfirmDialog from '@/components/layout/ConfirmDialog' import MenuItems from '@/components/tools/MenuItems' +import repository from '@/api/repository' export default { components: { @@ -104,52 +107,92 @@ export default { } }, methods: { - async deleteAlias (alias) { - const confirm = await this.$refs.confirmAlias.open( - this.$gettext('Warning'), - this.$gettext( - 'Do you really want to delete the alias %{ alias }?', - { alias: alias.identity } - ), - { - color: 'error', - cancelLabel: this.$gettext('No'), - agreeLabel: this.$gettext('Yes') + sleep (milliseconds) { + return new Promise((resolve) => setTimeout(resolve, milliseconds)) + }, + async deleteAlias (alias, confirmDialog = true) { + if (confirmDialog) { + const confirm = await this.$refs.confirmAlias.open( + this.$gettext('Warning'), + this.$gettext( + 'Do you really want to delete the alias %{ alias }?', + { alias: alias.identity } + ), + { + color: 'error', + cancelLabel: this.$gettext('No'), + agreeLabel: this.$gettext('Yes') + } + ) + if (!confirm) { + return } - ) - if (!confirm) { - return } aliases.delete(alias.pk).then(() => { - bus.$emit('notification', { msg: this.$gettext('Alias deleted') }) - this.fetchIdentities() + if (confirmDialog) { + this.fetchIdentities() + bus.$emit('notification', { msg: this.$gettext('Alias deleted') }) + } }) }, - async deleteAccount (account) { - const confirm = await this.$refs.confirmAccount.open( - this.$gettext('Warning'), - this.$gettextInterpolate( - 'Do you really want to delete the account %{ account }?', - { account: account.identity } - ), - { - color: 'error', - cancelLabel: this.$gettext('No'), - agreeLabel: this.$gettext('Yes') + async deleteAccount (account, confirmDialog = true) { + if (confirmDialog) { + const confirm = await this.$refs.confirmAccount.open( + this.$gettext('Warning'), + this.$gettextInterpolate( + 'Do you really want to delete the account %{ account }?', + { account: account.identity } + ), + { + color: 'error', + cancelLabel: this.$gettext('No'), + agreeLabel: this.$gettext('Yes') + } + ) + if (!confirm) { + return } - ) - if (!confirm) { - return } const data = { keepdir: this.keepAccountFolder } accounts.delete(account.pk, data).then(() => { - bus.$emit('notification', { msg: this.$gettext('Account deleted') }) this.keepAccountFolder = false - this.fetchIdentities() + if (confirmDialog) { + bus.$emit('notification', { msg: this.$gettext('Account deleted') }) + this.fetchIdentities() + } }).catch(error => { bus.$emit('notification', { msg: error.response.data, type: 'error' }) }) }, + async deleteIdentities () { + if (this.selected.length === 0) { + return + } + const confirm = await this.$refs.confirmAlias.open( + this.$gettext('Warning'), + this.$gettext( + 'Do you really want to delete the selected identities?' + ), + { + color: 'error', + cancelLabel: this.$gettext('No'), + agreeLabel: this.$gettext('Yes') + } + ) + if (!confirm) { + return + } + for (const item of this.selected) { + if (item.type === 'account') { + this.deleteAccount(item, false) + } else if (item.type === 'alias') { + this.deleteAlias(item, false) + } + await this.sleep(100) + } + bus.$emit('notification', { msg: this.$gettext('Identities deleted') }) + this.fetchIdentities() + }, editAccount (account) { this.$router.push({ name: 'AccountEdit', params: { id: account.pk } }) }, @@ -159,18 +202,71 @@ export default { fetchIdentities () { identities.getAll().then(resp => { this.identities = resp.data + this.selected = [] + }) + }, + downloadFile (options) { + repository.get(options.url).then(resp => { + const url = window.URL.createObjectURL( + new Blob([resp.data], { type: options.content_type })) + const link = document.createElement('a') + link.style.display = 'none' + link.href = url + link.download = options.filename + document.body.appendChild(link) + link.click() + window.URL.revokeObjectURL(link.href) + document.body.removeChild(link) }) }, getMenuItems (item) { const result = [] if (item.type === 'account') { - result.push({ label: this.$gettext('Edit'), icon: 'mdi-circle-edit-outline', onClick: this.editAccount }) - result.push({ label: this.$gettext('Delete'), icon: 'mdi-delete-outline', onClick: this.deleteAccount, color: 'red' }) + item.possible_actions.forEach(element => { + result.push({ + label: element.label, + icon: element.icon, + onClick: () => { + if (element.type === 'download') { + this.downloadFile(element) + } + this.fetchIdentities() + } + }) + }) + result.push({ + label: this.$gettext('Edit'), + icon: 'mdi-circle-edit-outline', + onClick: this.editAccount + }) + result.push({ + label: this.$gettext('Delete'), + icon: 'mdi-delete-outline', + onClick: this.deleteAccount, + color: 'red' + }) } else if (item.type === 'alias') { - result.push({ label: this.$gettext('Edit'), icon: 'mdi-circle-edit-outline', onClick: this.editAlias }) - result.push({ label: this.$gettext('Delete'), icon: 'mdi-delete-outline', onClick: this.deleteAlias, color: 'red' }) + result.push({ + label: this.$gettext('Edit'), + icon: 'mdi-circle-edit-outline', + onClick: this.editAlias + }) + result.push({ + label: this.$gettext('Delete'), + icon: 'mdi-delete-outline', + onClick: this.deleteAlias, + color: 'red' + }) } return result + }, + getActionMenuItems () { + const result = [] + if (this.selected.length > 0) { + result.push({ label: this.$gettext('Delete'), icon: 'mdi-delete-outline', onClick: this.deleteIdentities, color: 'red' }) + } + result.push({ label: 'Reload', icon: 'mdi-reload', onClick: this.fetchIdentities }) + return result } }, mounted () { diff --git a/frontend/vue.config.js b/frontend/vue.config.js index 3ceebaec0..c0e75e1bc 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -5,7 +5,7 @@ module.exports = { target: process.env.DOCKER == "yes" ? "http://api:8000/" - : "http://localhost:8000", + : "http://127.0.0.1:8000", }, }, }, diff --git a/modoboa/admin/api/v2/serializers.py b/modoboa/admin/api/v2/serializers.py index 84bccec49..3f7759f88 100644 --- a/modoboa/admin/api/v2/serializers.py +++ b/modoboa/admin/api/v2/serializers.py @@ -14,6 +14,7 @@ from django.contrib.auth import password_validation from rest_framework import serializers +from modoboa.admin import signals as admin_signals from modoboa.admin.api.v1 import serializers as v1_serializers from modoboa.core import models as core_models, signals as core_signals from modoboa.lib import email_utils @@ -284,6 +285,18 @@ class TagSerializer(serializers.Serializer): type = serializers.CharField() +class IdPossibleActionsSerializer(serializers.Serializer): + """Serialiser used to get possible actions related to identities.""" + + name = serializers.CharField() + icon = serializers.CharField() + label = serializers.CharField() + type = serializers.CharField() + content_type = serializers.CharField(required=False) + url = serializers.CharField(required=False) + filename = serializers.CharField(required=False) + + class IdentitySerializer(serializers.Serializer): """Serializer used for identities.""" @@ -293,6 +306,26 @@ class IdentitySerializer(serializers.Serializer): name_or_rcpt = serializers.CharField() tags = TagSerializer(many=True) + def __init__(self, instance=None, data=..., **kwargs): + super().__init__(instance, data, **kwargs) + self.fields["possible_actions"] = serializers.SerializerMethodField() + + def get_possible_actions(self, identity): + if not isinstance(identity, core_models.User): + # Return empty action list if identity type is an alias + # (not used for now) + return [] + actions = admin_signals.extra_account_identities_actions.send( + self.__class__, account=identity) + cleaned_actions = [] + for action in actions: + try: + serialized_data = IdPossibleActionsSerializer(action[1]).data + cleaned_actions.append(serialized_data) + except (ValidationError, AttributeError): + continue + return cleaned_actions + class AccountResourceSerializer(serializers.ModelSerializer): """Serializer for user resource.""" diff --git a/modoboa/admin/signals.py b/modoboa/admin/signals.py index d7e59ba9b..9610ec7bd 100644 --- a/modoboa/admin/signals.py +++ b/modoboa/admin/signals.py @@ -29,3 +29,4 @@ get_domain_form_instances = django.dispatch.Signal( import_object = django.dispatch.Signal(providing_args=["objtype"]) use_external_recipients = django.dispatch.Signal(providing_args=["recipients"]) new_dkim_keys = django.dispatch.Signal(providing_args=["domains"]) +extra_account_identities_actions = django.dispatch.Signal(providing_args=["account"]) \ No newline at end of file diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index 38b711191..30536366a 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -1,7 +1,5 @@ """Core settings.""" -from collections import OrderedDict - import collections from django import forms @@ -544,7 +542,7 @@ class GeneralParametersForm(param_forms.AdminParametersForm): ] def _add_dynamic_fields(self): - new_fields = OrderedDict() + new_fields = collections.OrderedDict() for field, value in self.fields.items(): new_fields[field] = value if field == "sms_provider": diff --git a/modoboa/core/commands/templates/settings.py.tpl b/modoboa/core/commands/templates/settings.py.tpl index 2e22b1239..cef5eb7a5 100644 --- a/modoboa/core/commands/templates/settings.py.tpl +++ b/modoboa/core/commands/templates/settings.py.tpl @@ -87,6 +87,7 @@ MODOBOA_APPS = ( 'modoboa.dnstools', 'modoboa.policyd', 'modoboa.maillog', + 'modoboa.pdfcredentials', 'modoboa.dmarc', # Modoboa extensions here. {% for extension in extensions %} '{{ extension }}', diff --git a/modoboa/core/tests/test_views.py b/modoboa/core/tests/test_views.py index bbd476391..d2d5572ef 100644 --- a/modoboa/core/tests/test_views.py +++ b/modoboa/core/tests/test_views.py @@ -94,6 +94,20 @@ SETTINGS_SAMPLE = { "maillog-logfile": "/var/log/mail.log", "maillog-rrd_rootdir": "/tmp", "maillog-greylist": False, + "pdfcredentials-enabled_pdfcredentials": True, + "pdfcredentials-storage_dir": "./", + "pdfcredentials-delete_first_dl": True, + "pdfcredentials-generate_at_creation": True, + "pdfcredentials-title": "Modoboa", + "pdfcredentials-webpanel_url": "local.host/", + "pdfcredentials-custom_message": "test", + "pdfcredentials-include_connection_settings": False, + "pdfcredentials-smtp_server_address": "127.0.0.1", + "pdfcredentials-smtp_server_port": 666, + "pdfcredentials-smtp_connection_security": "starttls", + "pdfcredentials-imap_server_address": "127.0.0.1", + "pdfcredentials-imap_server_port": 667, + "pdfcredentials-imap_connection_security": "starttls", "dmarc-enable_rlookups": False, } diff --git a/modoboa/dmarc/api/v2/serializers.py b/modoboa/dmarc/api/v2/serializers.py index 701a51c45..06bc14d31 100644 --- a/modoboa/dmarc/api/v2/serializers.py +++ b/modoboa/dmarc/api/v2/serializers.py @@ -30,3 +30,9 @@ class DMARCAligmentSerializer(serializers.Serializer): failed = serializers.DictField( child=serializers.DictField(child=SourceSerializer()) ) + + +class DmarcGlobalParametersSerializer(serializers.Serializer): + """Serializer for global parameters.""" + + enable_rlookups = serializers.BooleanField(default=False) diff --git a/modoboa/dmarc/forms.py b/modoboa/dmarc/forms.py index f3679994e..29b2842d0 100644 --- a/modoboa/dmarc/forms.py +++ b/modoboa/dmarc/forms.py @@ -1,9 +1,12 @@ """Custom forms.""" +import collections + from django import forms from django.utils import timezone from django.utils.translation import ugettext_lazy as _ +from modoboa.dmarc.api.v2 import serializers from modoboa.lib import form_utils from modoboa.parameters import forms as param_forms @@ -43,9 +46,29 @@ class ParametersForm(param_forms.AdminParametersForm): ) +GLOBAL_PARAMETERS_STRUCT = collections.OrderedDict([ + ("dns", { + "label": _("DNS settings"), + "params": collections.OrderedDict([ + ("enable_rlookups", { + "label": _("Enable reverse lookups"), + "help_text": _( + "Enable reverse DNS lookups (reports will be longer to display)" + ) + }) + ]) + }) +]) + + def load_settings(): """Load app settings.""" from modoboa.parameters import tools as param_tools param_tools.registry.add( "global", ParametersForm, _("DMARC")) + param_tools.registry.add2( + "global", "dmarc", _("DMARC"), + GLOBAL_PARAMETERS_STRUCT, + serializers.DmarcGlobalParametersSerializer + ) diff --git a/modoboa/lib/tests/__init__.py b/modoboa/lib/tests/__init__.py index 06cc1862f..f37024fab 100644 --- a/modoboa/lib/tests/__init__.py +++ b/modoboa/lib/tests/__init__.py @@ -1,6 +1,7 @@ """Testing utilities.""" import socket +import tempfile from django.conf import settings from django.core import management @@ -68,6 +69,8 @@ class ModoTestCase(ParametersMixin, TestCase): """Initiate test context.""" self.assertEqual( self.client.login(username=username, password=password), True) + self.workdir = tempfile.mkdtemp() + self.set_global_parameter("storage_dir", self.workdir, app="pdfcredentials") def ajax_request(self, method, url, params=None, status=200): if params is None: @@ -105,6 +108,8 @@ class ModoAPITestCase(ParametersMixin, APITestCase): """Setup.""" super(ModoAPITestCase, self).setUp() self.client.credentials(HTTP_AUTHORIZATION="Token " + self.token.key) + self.workdir = tempfile.mkdtemp() + self.set_global_parameter("storage_dir", self.workdir, app="pdfcredentials") def create_session(self): """Enable session storage across requests.""" diff --git a/modoboa/parameters/api/v2/tests.py b/modoboa/parameters/api/v2/tests.py index 0803b650d..0bcb34a83 100644 --- a/modoboa/parameters/api/v2/tests.py +++ b/modoboa/parameters/api/v2/tests.py @@ -11,8 +11,8 @@ class ParametersAPITestCase(ModoAPITestCase): url = reverse("v2:parameter-applications") resp = self.client.get(url) self.assertEqual(resp.status_code, 200) - # core, admin, limits - self.assertEqual(len(resp.json()), 3) + # core, admin, limits, pdf credentials + self.assertEqual(len(resp.json()), 5) def test_get_structure(self): url = reverse("v2:parameter-structure") diff --git a/modoboa/pdfcredentials/__init__.py b/modoboa/pdfcredentials/__init__.py new file mode 100644 index 000000000..7e1dfa1a8 --- /dev/null +++ b/modoboa/pdfcredentials/__init__.py @@ -0,0 +1,3 @@ +"""Generate PDF documents containing user credentials.""" + +default_app_config = "modoboa.pdfcredentials.apps.PDFCredentialsConfig" diff --git a/modoboa/pdfcredentials/api/v2/__init__.py b/modoboa/pdfcredentials/api/v2/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/modoboa/pdfcredentials/api/v2/serializers.py b/modoboa/pdfcredentials/api/v2/serializers.py new file mode 100644 index 000000000..d8f559278 --- /dev/null +++ b/modoboa/pdfcredentials/api/v2/serializers.py @@ -0,0 +1,82 @@ +"""Limits serializers for API v2.""" + +import os + +from django.utils.translation import ugettext_lazy as _ + +from rest_framework import serializers, status +from rest_framework.exceptions import PermissionDenied, APIException + +from modoboa.core.models import User +from modoboa.parameters import tools as param_tools + +from ...lib import decrypt_file, get_creds_filename +from ...constants import CONNECTION_SECURITY_MODES + + +class PDFCredentialsSettingsSerializer(serializers.Serializer): + """A serializer for global parameters.""" + + # General + enabled_pdfcredentials = serializers.BooleanField(default=True) + + # Document storage + storage_dir = serializers.CharField(default="/var/lib/modoboa/pdf_credentials") + + # Security options + delete_first_dl = serializers.BooleanField(default=True) + generate_at_creation = serializers.BooleanField(default=True) + + # Customization options + title = serializers.CharField(default=_("Personal account information")) + webpanel_url = serializers.URLField() + custom_message = serializers.CharField( + required=False, allow_blank=True, allow_null=True) + include_connection_settings = serializers.BooleanField(default=False) + smtp_server_address = serializers.CharField() + smtp_server_port = serializers.IntegerField(default=587) + smtp_connection_security = serializers.ChoiceField( + choices=CONNECTION_SECURITY_MODES, default="starttls") + imap_server_address = serializers.CharField() + imap_server_port = serializers.IntegerField(default=143) + imap_connection_security = serializers.ChoiceField( + choices=CONNECTION_SECURITY_MODES, default="starttls") + + def validate_storage_dir(self, value): + """Check that directory exists.""" + if value: + if not os.path.isdir(value): + raise serializers.ValidationError( + _("Directory not found.") + ) + if not os.access(value, os.W_OK): + raise serializers.ValidationError( + _("Directory is not writable") + ) + return value + + +class GetAccountCredentialsSerializer(serializers.Serializer): + """A serializer for get account credential view.""" + + account_id = serializers.IntegerField() + + def validate(self, data): + request = self.context["request"] + account = User.objects.get(pk=data["account_id"]) + if not request.user.can_access(account): + raise PermissionDenied() + self.context["account"] = account + return data + + def save(self): + fname = get_creds_filename(self.context["account"]) + if not os.path.exists(fname): + raise APIException( + _("No document available for this user"), + status.HTTP_400_BAD_REQUEST + ) + self.context["content"] = decrypt_file(fname) + if param_tools.get_global_parameter("delete_first_dl"): + os.remove(fname) + self.context["fname"] = os.path.basename(fname) diff --git a/modoboa/pdfcredentials/api/v2/tests.py b/modoboa/pdfcredentials/api/v2/tests.py new file mode 100644 index 000000000..68491098c --- /dev/null +++ b/modoboa/pdfcredentials/api/v2/tests.py @@ -0,0 +1,166 @@ +"""API v2 tests.""" + +import shutil +import os + +from django.test import override_settings +from django.urls import reverse + +from modoboa.admin import factories +from modoboa.core import models as core_models +from modoboa.lib.tests import ModoAPITestCase + + +class PDFCredentialViewTestCase(ModoAPITestCase): + + @classmethod + def setUpTestData(cls): # NOQA:N802 + """Create test data.""" + super().setUpTestData() + factories.populate_database() + + def tearDown(self): + """Reset test env.""" + shutil.rmtree(self.workdir) + + def _create_account(self, username, expected_status=201): + url = reverse("v2:account-list") + data = { + "username": f"{username}", + "role": "SimpleUsers", + "mailbox": { + "use_domain_quota": True + }, + "password": "Toto12345", + "language": "fr", + } + resp = self.client.post(url, data, format="json") + self.assertEqual(resp.status_code, expected_status) + return data + + def test_pdfcredentials_disabled(self): + self.set_global_parameter("enabled_pdfcredentials", False) + values = self._create_account("leon5@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertFalse(os.path.exists(fname)) + + # Check that link is not present in listing page + response = self.client.get(reverse("v2:identities-list"), format="json") + assert_action_in_response = False + for res_dict in response.json(): + for action in res_dict["possible_actions"]: + try: + if action.get("icon") == "mdi-file-download-outline": + assert_action_in_response = True + break + except KeyError: + continue + self.assertFalse(assert_action_in_response) + + def test_password_updated(self): + """Check that document is generated at account creation/update.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + account = core_models.User.objects.get(username=values["username"]) + + # Check if link is present in listing page + response = self.client.get(reverse("v2:identities-list"), format="json") + assert_action_in_response = False + for res_dict in response.json(): + for action in res_dict["possible_actions"]: + try: + if action.get("icon") == "mdi-file-download-outline": + assert_action_in_response = True + break + except KeyError: + continue + self.assertTrue(assert_action_in_response) + + # Try to download the file + response = self.client.get( + reverse("v2:get-credentials", + args=[account.pk])) + self.assertEqual(response.status_code, 200) + self.assertEqual(response["Content-Type"], "application/pdf") + + # File have been deleted? + self.assertFalse(os.path.exists(fname)) + + # Try to download a second time + response = self.client.get( + reverse("v2:get-credentials", + args=[account.pk])) + self.assertEqual(response.json()["detail"], + "No document available for this user") + + # Update account + values.update({"language": "en"}) + self.client.patch( + reverse("v2:account-detail", args=[account.pk]), values, format='json' + ) + self.assertFalse(os.path.exists(fname)) + + self.set_global_parameter("generate_at_creation", False) + self.client.patch( + reverse("v2:account-detail", args=[account.pk]), values, format='json' + ) + self.assertTrue(os.path.exists(fname)) + + def test_with_connection_settings(self): + """Add connection settings to documents.""" + self.set_global_parameter("include_connection_settings", True) + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + + def test_with_custom_message(self): + """Add custom message to documents.""" + self.set_global_parameter("custom_message", "This is a test message.") + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + + def test_account_delete(self): + """Check that document is deleted with account.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + account = core_models.User.objects.get(username=values["username"]) + url = reverse("v2:account-delete", args=[account.pk]) + self.client.post(url) + self.assertFalse(os.path.exists(fname)) + + @override_settings(MODOBOA_LOGO="modoboa.png") + def test_with_custom_logo(self): + """Check that document is deleted with account.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + + def test_download_and_delete_account(self): + """Check that document is deleted with account.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + account = core_models.User.objects.get(username=values["username"]) + + # Try to download the file + response = self.client.get( + reverse("v2:get-credentials", + args=[account.pk])) + self.assertEqual(response.status_code, 200) + self.assertEqual(response["Content-Type"], "application/pdf") + + # File have been deleted? + self.assertFalse(os.path.exists(fname)) + + # Delete account + url = reverse("v2:account-delete", args=[account.pk]) + self.client.post(url) + self.assertFalse(os.path.exists(fname)) + + def test_storage_dir_creation(self): + """Test storage directory creation.""" + self.set_global_parameter("storage_dir", "/nonexistentdir") + self._create_account("leon@test.com", expected_status=500) diff --git a/modoboa/pdfcredentials/api/v2/urls.py b/modoboa/pdfcredentials/api/v2/urls.py new file mode 100644 index 000000000..4b62a3ea0 --- /dev/null +++ b/modoboa/pdfcredentials/api/v2/urls.py @@ -0,0 +1,11 @@ +"""PDF Credentials API urls.""" + +from django.urls import path + + +from . import views + +urlpatterns = [ + path('credentials//', views.PDFCredentialView.as_view(), + name="get-credentials"), +] diff --git a/modoboa/pdfcredentials/api/v2/views.py b/modoboa/pdfcredentials/api/v2/views.py new file mode 100644 index 000000000..d92955ac4 --- /dev/null +++ b/modoboa/pdfcredentials/api/v2/views.py @@ -0,0 +1,44 @@ +"""PDF Credentials API v2 views.""" + +import os + +from django.utils.translation import ugettext as _ +from django.http import HttpResponse + +from rest_framework import permissions +from rest_framework.views import APIView + +from modoboa.admin.models import Domain + +from .serializers import GetAccountCredentialsSerializer + +from ...lib import rfc_6266_content_disposition + + +class PDFCredentialView(APIView): + + permission_classes = ( + permissions.IsAuthenticated, permissions.DjangoModelPermissions, + ) + + serializer_class = GetAccountCredentialsSerializer + + def get_queryset(self): + """Filter queryset based on current user.""" + return Domain.objects.get_for_admin(self.request.user) + + def get(self, request, *args, **kwargs): + """View to download a document.""" + data = {"account_id": kwargs["account_id"]} + serializer = GetAccountCredentialsSerializer( + data=data, context={'request': request}) + serializer.is_valid(raise_exception=True) + serializer.save() + + content = serializer.context["content"] + fname = serializer.context["fname"] + resp = HttpResponse(content) + resp["Content-Type"] = "application/pdf" + resp["Content-Length"] = len(content) + resp["Content-Disposition"] = rfc_6266_content_disposition(fname) + return resp diff --git a/modoboa/pdfcredentials/app_settings.py b/modoboa/pdfcredentials/app_settings.py new file mode 100644 index 000000000..d0055c055 --- /dev/null +++ b/modoboa/pdfcredentials/app_settings.py @@ -0,0 +1,248 @@ +"""PDF Credentials forms.""" + +import collections + +from django import forms +from django.conf import settings +from django.utils.functional import cached_property +from django.utils.translation import ugettext_lazy as _ + +from django.contrib.sites import models as sites_models + +from modoboa.lib import form_utils +from modoboa.parameters import forms as param_forms + +from . import constants + + +PDF_CREDENTIALS_PARAMETERS_STRUCT = collections.OrderedDict([ + ("general", { + "label": _("General"), + "params": collections.OrderedDict([ + ("enabled_pdfcredentials", { + "label": _("Enable PDF credentials"), + "help_text": _( + "Enabled PDF credentials document generation on account creation."), + }) + ]) + }), + ("docstore", { + "label": _("Documents storage"), + "params": collections.OrderedDict([ + ("storage_dir", { + "label": _("Directory to save documents into"), + "help_text": _( + "Path to a directory where PDF documents will be saved"), + }), + ]) + }), + ("security", { + "label": _("Security options"), + "params": collections.OrderedDict([ + ("delete_first_dl", { + "label": _("Delete documents after the first download"), + "help_text": _( + "Automatically delete a document just after its first download " + "from this interface" + ) + }), + ("generate_at_creation", { + "label": _("Generate documents only at account creation"), + "help_text": _( + "Generate a new document only when a new account is created. " + "If set to no, a new document will be created each time a " + "password is updated." + ) + }) + ]) + }), + ("customization", { + "label": _("Customization options"), + "params": collections.OrderedDict([ + ("title", { + "label": _("Title"), + "help_text": _("The document's title") + }), + ("webpanel_url", { + "label": _("Web panel url"), + "help_text": _("URL of the Modoboa web panel") + }), + ("custom_message", { + "label": _("Custom message"), + "help_text": _( + "A custom message that will appear at the end of documents" + ) + }), + ("include_connection_settings", { + "label": _("Include mail client connection settings"), + "help_text": _( + "Include required SMTP and IMAP connection information to " + "configure a mail client, a tablet or a phone" + ) + }), + ("smtp_server_address", { + "label": _("SMTP server address"), + "display": "include_connection_settings=True", + "help_text": _("Address of the SMTP server (hostname or IP)") + }), + ("smtp_server_port", { + "label": _("SMTP server port"), + "display": "include_connection_settings=true", + "help_text": _("Listening port of the SMTP server") + }), + ("smtp_connection_security", { + "label": _("SMTP connection security"), + "display": "include_connection_settings=true", + "help_text": _("Connection security mechanism") + }), + ("imap_server_address", { + "label": _("IMAP server address"), + "display": "include_connection_settings=true", + "help_text": _("Address of the IMAP server (hostname or IP)") + }), + ("imap_server_port", { + "label": _("IMAP server port"), + "display": "include_connection_settings=true", + "help_text": _("Listening port of the IMAP server") + }), + ("imap_connection_security", { + "label": _("IMAP connection security"), + "display": "include_connection_settings=true", + "help_text": _("Connection security mechanism") + }) + ]) + }) +]) + + +class ParametersForm(param_forms.AdminParametersForm): + """Admin parameters form.""" + + app = "pdfcredentials" + + general = form_utils.SeparatorField(label=_("General")) + + enabled_pdfcredentials = form_utils.YesNoField( + label=_("Enable PDF credentials"), + initial=True, + help_text=_("Enabled PDF credentials document generation on account creation.") + ) + + docstore = form_utils.SeparatorField(label=_("Documents storage")) + + storage_dir = forms.CharField( + label=_("Directory to save documents into"), + initial="/var/lib/modoboa/pdf_credentials", + help_text=_("Path to a directory where PDF documents will be saved"), + ) + + security = form_utils.SeparatorField(label=_("Security options")) + + delete_first_dl = form_utils.YesNoField( + label=_("Delete documents after the first download"), + initial=True, + help_text=_( + "Automatically delete a document just after its first download " + "from this interface" + ) + ) + + generate_at_creation = form_utils.YesNoField( + label=_("Generate documents only at account creation"), + initial=True, + help_text=_( + "Generate a new document only when a new account is created. " + "If set to no, a new document will be created each time a " + "password is updated." + ) + ) + + customization = form_utils.SeparatorField(label=_("Customization options")) + + title = forms.CharField( + label=_("Title"), + initial=_("Personal account information"), + help_text=_("The document's title") + ) + + webpanel_url = forms.URLField( + label=_("Web panel url"), + help_text=_("URL of the Modoboa web panel") + ) + + custom_message = forms.CharField( + label=_("Custom message"), + help_text=_( + "A custom message that will appear at the end of documents"), + required=False + ) + + include_connection_settings = form_utils.YesNoField( + label=_("Include mail client connection settings"), + initial=False, + help_text=_( + "Include required SMTP and IMAP connection information to " + "configure a mail client, a tablet or a phone" + ) + ) + + smtp_server_address = forms.CharField( + label=_("SMTP server address"), + help_text=_("Address of the SMTP server (hostname or IP)") + ) + + smtp_server_port = forms.IntegerField( + label=_("SMTP server port"), + initial=587, + help_text=_("Listening port of the SMTP server") + ) + + smtp_connection_security = forms.ChoiceField( + label=_("SMTP connection security"), + choices=constants.CONNECTION_SECURITY_MODES, + initial="starttls", + help_text=_("Connection security mechanism") + ) + + imap_server_address = forms.CharField( + label=_("IMAP server address"), + help_text=_("Address of the IMAP server (hostname or IP)") + ) + + imap_server_port = forms.IntegerField( + label=_("IMAP server port"), + initial=143, + help_text=_("Listening port of the IMAP server") + ) + + imap_connection_security = forms.ChoiceField( + label=_("IMAP connection security"), + choices=constants.CONNECTION_SECURITY_MODES, + initial="starttls", + help_text=_("Connection security mechanism") + ) + + visibility_rules = { + "smtp_server_address": "include_connection_settings=True", + "smtp_server_port": "include_connection_settings=True", + "smtp_connection_security": "include_connection_settings=True", + "imap_server_address": "include_connection_settings=True", + "imap_server_port": "include_connection_settings=True", + "imap_connection_security": "include_connection_settings=True", + } + + @cached_property + def hostname(self): + """Return local hostname.""" + return sites_models.Site.objects.get_current().domain + + def __init__(self, *args, **kwargs): + """Set initial values.""" + super(ParametersForm, self).__init__(*args, **kwargs) + if not self.fields["webpanel_url"].initial: + url = "https://{}{}".format(self.hostname, settings.LOGIN_URL) + self.fields["webpanel_url"].initial = url + if not self.fields["smtp_server_address"].initial: + self.fields["smtp_server_address"].initial = self.hostname + if not self.fields["imap_server_address"].initial: + self.fields["imap_server_address"].initial = self.hostname diff --git a/modoboa/pdfcredentials/apps.py b/modoboa/pdfcredentials/apps.py new file mode 100644 index 000000000..d8dc2ff9a --- /dev/null +++ b/modoboa/pdfcredentials/apps.py @@ -0,0 +1,35 @@ +"""AppConfig for PDF credentials.""" + +from django.apps import AppConfig + +from django.utils.translation import ugettext_lazy + + +def load_pdfcredential_settings(): + """Load core settings. + + This function must be manually called (see :file:`urls.py`) in + order to load base settings. + """ + from modoboa.parameters import tools as param_tools + from . import app_settings + from .api.v2 import serializers + + param_tools.registry.add( + "global", app_settings.ParametersForm, ugettext_lazy("PDF credentials")) + param_tools.registry.add2( + "global", "pdfcredentials", ugettext_lazy("PDF Credentials"), + app_settings.PDF_CREDENTIALS_PARAMETERS_STRUCT, + serializers.PDFCredentialsSettingsSerializer) + + +class PDFCredentialsConfig(AppConfig): + """App configuration.""" + + name = "modoboa.pdfcredentials" + verbose_name = "PDF credentials for Modoboa" + + def ready(self): + from . import handlers + + load_pdfcredential_settings() diff --git a/modoboa/pdfcredentials/constants.py b/modoboa/pdfcredentials/constants.py new file mode 100644 index 000000000..c0a407a9c --- /dev/null +++ b/modoboa/pdfcredentials/constants.py @@ -0,0 +1,10 @@ +"""PDF credentials constants.""" + +from django.utils.translation import ugettext_lazy + + +CONNECTION_SECURITY_MODES = [ + ("none", ugettext_lazy("None")), + ("starttls", "STARTTLS"), + ("tls", "TLS") +] diff --git a/modoboa/pdfcredentials/documents.py b/modoboa/pdfcredentials/documents.py new file mode 100644 index 000000000..adaf9b572 --- /dev/null +++ b/modoboa/pdfcredentials/documents.py @@ -0,0 +1,133 @@ +"""The code used to generate PDF files (based on Reportlab).""" + +from io import BytesIO + +from reportlab.lib import colors +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import cm +from reportlab.lib.enums import TA_CENTER +from reportlab.lib import utils +from reportlab.platypus import ( + SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, Frame, + Image +) +from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle + +from django.utils.translation import ugettext as _ + +from modoboa.parameters import tools as param_tools + +from . import lib + +styles = getSampleStyleSheet() +styles.add(ParagraphStyle( + name="Footer", alignment=TA_CENTER, fontName="Helvetica-Oblique", + textColor=colors.lightgrey +)) +styles.add(ParagraphStyle( + name="Warning", fontName="Helvetica-Oblique", + textColor=colors.red, fontSize=12 +)) +styles.add(ParagraphStyle( + name="Link", + textColor=colors.blue +)) +styles.add(ParagraphStyle( + name="Greeting", alignment=TA_CENTER, fontName="Helvetica-Oblique", + fontSize=14 +)) + + +def resized_image(path, width=1*cm): + img = utils.ImageReader(path) + iw, ih = img.getSize() + aspect = ih / float(iw) + return Image(path, width=width, height=(width * aspect)) + + +def credentials(account, password): + """Generate a PDF document containing account credentials.""" + + def page_template(canvas, doc): + canvas.setTitle(_("Personal account information")) + canvas.setAuthor(account.fullname) + canvas.setCreator("Modoboa") + footer = [Paragraph(_("Powered by Modoboa - Mail hosting made simple"), + styles["Footer"])] + Frame(0, 0, 21 * cm, 2 * cm).addFromList(footer, canvas) + + conf = dict( + param_tools.get_global_parameters("pdfcredentials")) + filename = lib.get_creds_filename(account) + buff = BytesIO() + doc = SimpleDocTemplate(buff, pagesize=A4) + story = [] + logo = lib.get_document_logo() + if logo is not None: + story.append(resized_image(logo, 8*cm)) + story.append(Spacer(1, 1 * cm)) + story.append(Paragraph(conf["title"], styles["Title"])) + story.append(Spacer(1, 1 * cm)) + story.append(Paragraph(_(""" +Dear %s, this document contains the credentials you will need +to connect to Modoboa. Learn the content and destroy +the document as soon as possible. +""") % account.fullname, styles["Normal"])) + story.append(Spacer(1, 0.2 * cm)) + story.append(Paragraph(_("Web panel:"), styles["h3"])) + data = [ + ["URL", conf["webpanel_url"]], + [_("Username"), account.username], + [_("Password"), password] + ] + table = Table(data) + table.setStyle(TableStyle([ + ('TEXTCOLOR', (1, 0), (1, 0), colors.blue), + ('GRID', (0, 0), (-1, -1), 1, colors.black), + ('BACKGROUND', (0, 0), (0, -1), colors.lightgrey), + ])) + story.append(table) + story.append(Spacer(1, 0.5 * cm)) + story.append(Paragraph(_(""" +Here you can view your emails anytime online, create filters or manage +your contacts. +"""), styles["Normal"])) + + story.append(Spacer(1, 0.2 * cm)) + story.append(Paragraph( + _("Please change your password!"), + styles["Warning"])) + + if conf["include_connection_settings"]: + story.append(Spacer(1, 1 * cm)) + story.append(Paragraph( + _("PC/Tablet/Smartphone configuration:"), styles["h3"])) + story.append(Spacer(1, 0.2 * cm)) + data = [ + [_("SMTP server address"), conf["smtp_server_address"]], + [_("SMTP server port"), conf["smtp_server_port"]], + [_("SMTP connection security"), conf["smtp_connection_security"]], + [_("IMAP server address"), conf["imap_server_address"]], + [_("IMAP server port"), conf["imap_server_port"]], + [_("IMAP connection security"), conf["imap_connection_security"]], + ] + table = Table(data) + table.setStyle(TableStyle([ + ('GRID', (0, 0), (-1, -1), 1, colors.black), + ('BACKGROUND', (0, 0), (0, -1), colors.lightgrey), + ])) + story.append(table) + story.append(Spacer(1, 0.5 * cm)) + story.append(Paragraph( + _("Use those settings for your computer, tablet or phone."), + styles["Normal"]) + ) + + if conf["custom_message"]: + story.append(Spacer(1, 2 * cm)) + story.append(Paragraph(conf["custom_message"], styles["Greeting"])) + + doc.build(story, onFirstPage=page_template, onLaterPages=page_template) + length = len(buff.getvalue()) + buff.seek(0) + lib.crypt_and_save_to_file(buff, filename, length) diff --git a/modoboa/pdfcredentials/forms.py b/modoboa/pdfcredentials/forms.py new file mode 100644 index 000000000..3969b323e --- /dev/null +++ b/modoboa/pdfcredentials/forms.py @@ -0,0 +1 @@ +"""PDF credentials forms.""" diff --git a/modoboa/pdfcredentials/handlers.py b/modoboa/pdfcredentials/handlers.py new file mode 100644 index 000000000..c364e98e7 --- /dev/null +++ b/modoboa/pdfcredentials/handlers.py @@ -0,0 +1,76 @@ +"""PDF credentials handlers.""" + +import os + +from django.urls import reverse +from django.db.models import signals +from django.dispatch import receiver +from django.utils.translation import ugettext as _ + +from modoboa.admin import signals as admin_signals +from modoboa.core import models as core_models +from modoboa.core import signals as core_signals +from modoboa.parameters import tools as param_tools + +from .documents import credentials +from .lib import init_storage_dir, delete_credentials, get_creds_filename + + +@receiver(core_signals.account_password_updated) +def password_updated(sender, account, password, created, **kwargs): + """Create or update document.""" + if not param_tools.get_global_parameter("enabled_pdfcredentials"): + return + generate_at_creation = param_tools.get_global_parameter( + "generate_at_creation") + if (generate_at_creation and not created) or account.is_superuser: + return + init_storage_dir() + credentials(account, password) + + +@receiver(signals.pre_delete, sender=core_models.User) +def account_deleted(sender, instance, **kwargs): + """Remove document.""" + delete_credentials(instance) + + +@receiver(core_signals.extra_account_actions) +def extra_account_actions(sender, account, **kwargs): + """Add link to download document.""" + if not param_tools.get_global_parameter("enabled_pdfcredentials"): + return [] + fname = get_creds_filename(account) + if not os.path.exists(fname): + return [] + return [{ + "name": "get_credentials", + "url": reverse("pdfcredentials:account_credentials", + args=[account.id]), + "img": "fa fa-download", + "title": _("Retrieve user's credentials as a PDF document") + }] + + +@receiver(admin_signals.extra_account_identities_actions) +def extra_identities_actions(sender, account, **kwargs): + """ + Add download credential action for identity. + Used for api v2. + """ + if not param_tools.get_global_parameter("enabled_pdfcredentials"): + return [] + fname = get_creds_filename(account) + if not os.path.exists(fname): + return [] + url: str = reverse("v2:get-credentials", args=[account.pk]) + url = url.replace("/api/v2", "") + return { + "name": "get_credentials", + "icon": "mdi-file-download-outline", + "label": _("Download PDF credentials"), + "type": "download", + "content_type": "application/pdf", + "url": url, + "filename": os.path.basename(fname) + } diff --git a/modoboa/pdfcredentials/lib.py b/modoboa/pdfcredentials/lib.py new file mode 100644 index 000000000..2fdeeb8fc --- /dev/null +++ b/modoboa/pdfcredentials/lib.py @@ -0,0 +1,122 @@ +"""Internal library.""" + +from io import BytesIO +import os +import struct + +from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes +from cryptography.hazmat.backends import default_backend + +from urllib.parse import quote + +from django.conf import settings +from django.utils.encoding import force_bytes, smart_bytes +from django.utils.translation import ugettext as _ + +from modoboa.lib.exceptions import InternalError +from modoboa.parameters import tools as param_tools + + +def init_storage_dir(): + """Create the directory whare documents will be stored.""" + storage_dir = param_tools.get_global_parameter("storage_dir") + if os.path.exists(storage_dir) and os.access(storage_dir, os.W_OK): + return + elif not os.access(storage_dir, os.W_OK) and os.path.exists(storage_dir): + raise InternalError( + _("Can't write to selected directory to store PDF " + "documents") + ) + try: + os.mkdir(storage_dir) + except (OSError, IOError) as inst: + raise InternalError( + _("Failed to create the directory that will contain " + "PDF documents (%s)") % inst + ) + + +def get_creds_filename(account): + """Return the full path of a document.""" + storage_dir = param_tools.get_global_parameter("storage_dir") + return os.path.join(storage_dir, account.username + ".pdf") + + +def delete_credentials(account): + """Try to delete a local file.""" + fname = get_creds_filename(account) + if not os.path.exists(fname): + return + os.remove(fname) + + +def _get_cipher(iv): + """Return ready-to-user Cipher.""" + key = smart_bytes(settings.SECRET_KEY[:32]) + backend = default_backend() + return Cipher( + algorithms.AES(force_bytes(key)), + modes.CBC(iv), + backend=backend + ) + + +def crypt_and_save_to_file(content, filename, length, chunksize=64*512): + """Crypt content and save it to a file.""" + iv = os.urandom(16) + cipher = _get_cipher(iv) + encryptor = cipher.encryptor() + with open(filename, "wb") as fp: + fp.write(struct.pack(b", 2018 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2018-08-10 11:24+0000\n" +"Last-Translator: Jarda Tesar \n" +"Language-Team: Czech (Czech Republic) (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "Žádné" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Informace osobního účtu" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Běží na Modoboa - Poštovní hosting zjednodušeně" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nVážený %s, tento dokument obsahuje přístupové údaje potřebné\npro pripojení do rozhraní Modoboa. Zapamatujte si je a smazte\ntento dokument hned, jakmile to bude možné.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Webový panel:" + +#: documents.py:78 +msgid "Username" +msgstr "Uživatelské jméno" + +#: documents.py:79 +msgid "Password" +msgstr "Heslo" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nZde si kdykoliv můžete prohlédnout své emaily, vytvořit filtry nebo spravovat Vaše kontakty.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Prosím změňte si své heslo!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "Nastavení PC/Tabletu/Smartphonu:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "Adresa SMTP serveru" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "Port SMTP serveru" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "Zabezpečení SMTP připojení" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "Adresa IMAP serveru" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "Port IMAP serveru" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "Zabezpečení IMAP připojení" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Použijte tato nastavení ve svém počítači, tabletu či telefonu." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Úložný prostor pro dokumenty" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Adresář pro uložení dokumentů" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Cesta k adresáři kde budou uloženy PDF dokumenty" + +#: forms.py:28 +msgid "Security options" +msgstr "Možnosti zabezpečení" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Smazat dokumenty po prvním stažení" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Automaticky smazat dokument ihned po prvním stažení cez toto rozhraní" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Vytvářet dokumenty pouze při vytváření účtu" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Vytvářet nové dokumenty pouze při vytvoření účtu. Je-li nastaveno na hodnotu ne, bude nový dokument vytvořen pokaždé, když dojde ke změne hesla." + +#: forms.py:49 +msgid "Customization options" +msgstr "Možnosti vlastních úprav" + +#: forms.py:52 +msgid "Title" +msgstr "Název" + +#: forms.py:54 +msgid "The document's title" +msgstr "Název dokumentu" + +#: forms.py:58 +msgid "Web panel url" +msgstr "URL web panelu" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL adresa Modoboa web panelu" + +#: forms.py:63 +msgid "Custom message" +msgstr "Vlastní zpráva" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Vlastní zpráva, která se zobrazí na konci dokumentu." + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Zahrnout nastavení mailového klienta" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Zahrnout vyžadovaná nastavení SMTP a IMAP připojení pri konfiguraci mailového klienta, tabletu či telefonu" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Adresa SMTP serveru (hostname nebo IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Port SMTP serveru" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Zabezpečení připojení" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Adresa IMAP serveru (hostname nebo IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Port IMAP serveru" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Získat přístupové údaje uživatele ako PDF dokument" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Vytváření adresáře pro uložení PDF dokumentů (%s) selhalo " + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "PDF přístupové údaje" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Vytvářet PDF dokumenty obsahující přístupové údaje uživatele" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Pro tohoto uživatele není k dispozici žáden dokument" diff --git a/modoboa/pdfcredentials/locale/de/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/de/LC_MESSAGES/django.po new file mode 100644 index 000000000..6c98d2145 --- /dev/null +++ b/modoboa/pdfcredentials/locale/de/LC_MESSAGES/django.po @@ -0,0 +1,212 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Boris Andratzek , 2018 +# Christian Wiegand, 2017 +# controlcde, 2015 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2018-04-25 14:19+0000\n" +"Last-Translator: Boris Andratzek \n" +"Language-Team: German (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "kein" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Persönliche Kontoinformationen" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Powered by Modoboa - Mail hosting made simple" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nLiebe/r %s, dieses Dokument enthält die Anmeldeinformationen, die Du benötigst um Dich mit Modoboa zu verbinden. Präge Dir bitte die Informationen ein und lösche anschliessend dieses Dokument.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Webanwendung:" + +#: documents.py:78 +msgid "Username" +msgstr "Benutzername" + +#: documents.py:79 +msgid "Password" +msgstr "Passwort" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nHier können Sie Ihre Emails online ansehen, Filter oder Kontakte erstellen.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Bitte ändern Sie Ihr Passwort!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "PC/Tablet/Smartphone Konfiguration:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "SMTP Serveradresse" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "SMTP Server-Port" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "SMTP-Verbindungssicherheit" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "IMAP Serveradresse" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "IMAP Server-Port" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "IMAP Verbindungssicherheit" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Verwenden Sie diese Einstellungen für Ihren Computer, Ihr Tablet oder Telefon" + +#: forms.py:20 +msgid "Documents storage" +msgstr "Dokumentenablage" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Speicherpfad für Dokumente" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Dateipfad in dem die PDF-Dokumente abgelegt werden" + +#: forms.py:28 +msgid "Security options" +msgstr "Sicherheitseinstellungen" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Lösche Dokumente nach dem ersten Download" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Löscht automatisch das Dokument, wenn es das erste Mal über dieses Oberfläche heruntergeladen wurde" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Erzeuge Dokumente nur wenn ein Konto angelegt wurde" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Erzeuge ein neues Dokument nur wenn ein neues Konto erstellt wurde. Wenn die Option auf Nein steht wird jedes Mal ein neues Dokument erstellt, wenn ein Passwort aktualisiert wurde." + +#: forms.py:49 +msgid "Customization options" +msgstr "Individuell angepasste Optionen" + +#: forms.py:52 +msgid "Title" +msgstr "Titel" + +#: forms.py:54 +msgid "The document's title" +msgstr "Titel des Dokuments" + +#: forms.py:58 +msgid "Web panel url" +msgstr "URL der Webanwendung" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL der Modoboa Webanwendung" + +#: forms.py:63 +msgid "Custom message" +msgstr "Eigener Nachrichtentext" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Eine eigene Nachricht, die am Ende des Dokuments angezeigt wird" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Verbindungseinstellungen für Mailprogramme einschließen" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Erforderliche SMTP und IMAP Einstellungen zur Konfiguration von Mailprogramme, Tablets oder Telefonen" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Adresse des SMTP-Servers (Hostname oder IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Port, auf dem der SMTP-Server erreicht werden kann" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Mechanismus zur Verbindungssicherung" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Adresse des IMAP-Servers (Hostname oder IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Port, auf dem der IMAP-Servier erreicht werden kann" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Erhalte die Anmeldeinformationen des Benutzer als ein PDF-Dokument" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Ein Fehler ist bei der Erstellung des Pfades, der die PDF Dokumente (%s) enthält, aufgetreten. " + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "PDF Anmeldeinformationen" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Erzeuge PDF-Dokumente welche die Benutzeranmeldeinformationen enthält" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Kein Dokument für diesen Benutzer verfügbar" diff --git a/modoboa/pdfcredentials/locale/el_GR/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/el_GR/LC_MESSAGES/django.po new file mode 100644 index 000000000..e1c5bd632 --- /dev/null +++ b/modoboa/pdfcredentials/locale/el_GR/LC_MESSAGES/django.po @@ -0,0 +1,211 @@ +# 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 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2017-10-12 13:30+0000\n" +"Last-Translator: Kostas Moumouris \n" +"Language-Team: Greek (Greece) (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "Κανένας" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Προσωπικές πληροφορίες λογαριασμού" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Powered by Modoboa - Mail hosting made simple" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nΑγαπητέ/ή %s, αυτό το έγγραφο περιέχει τα διαπιστευτήρια\nπου χρειάζεστε για να συνδεθείτε με το Modoboa.\nΑποστηθίστε το περιεχόμενο και διαγράψτε το έγγραφο\nτο συντομότερο δυνατόν.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Web panel:" + +#: documents.py:78 +msgid "Username" +msgstr "Όνομα Χρήστη" + +#: documents.py:79 +msgid "Password" +msgstr "Κωδικός" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nΕδώ μπορείτε να προβάλετε τα ηλεκτρονικά σας μηνύματα σε πραγματικό χρόνο, να δημιουργήσετε φίλτρα ή να διαχειριστείτε\n τις επαφές σας.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Παρακαλώ αλλάξτε το κωδικό σας!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "Ρυθμίσεις: PC/Tablet/Smartphone " + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "Διεύθυνση SMTP Server" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "Θύρα SMTP server" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "Ασφάλεια σύνδεσης SMTP" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "Διεύθυνση IMAP server" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "θύρα IMAP Server" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "Ασφάλεια σύνδεσης IMAP" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Χρησιμοποιήστε αυτές τις ρυθμίσεις για τον υπολογιστή, το tablet ή το τηλέφωνό σας." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Αποθηκευτικός χώρος εγγράφων" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Κατάλογος αρχείων για την αποθήκευση εγγράφων" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Κατάλογος αρχείων για την αποθήκευση PDF εγγράφων" + +#: forms.py:28 +msgid "Security options" +msgstr "Ρυθμίσεις Ασφαλείας" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Διαγραφή εγγράφων μετά την πρώτη λήψη" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Αυτόματη διαγραφή εγγράφου μετά την πρώτη λήψη από αυτήν την διεπαφή" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Δημιουργία εγγράφων μόνο κατά την δημιουργία λογαριασμού" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Δημιουργία νέου εγγράφου μόνο κατά την δημιουργία νέου λογαριασμού. Εάν επιλέξετε όχι, ένα νέο έγγραφο θα δημιουργείται κάθε φορά που ο κωδικός χρήστη ενημερώνεται." + +#: forms.py:49 +msgid "Customization options" +msgstr "Επιλογές προσαρμογής" + +#: forms.py:52 +msgid "Title" +msgstr "Τίτλος" + +#: forms.py:54 +msgid "The document's title" +msgstr "Ο τίτλος του εγγράφου" + +#: forms.py:58 +msgid "Web panel url" +msgstr "Διεύθυνση Web panel" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL του Modoboa web panel" + +#: forms.py:63 +msgid "Custom message" +msgstr "Προσαρμοσμένο μήνυμα" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Ένα προσαρμοσμένο μήνυμα που θα εμφανιστεί στο τέλος των εγγράφων" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Συμπεριλάβε τις ρυθμίσεις σύνδεσης προγράμματος αλληλογραφίας" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Συμπεριέλαβε της απαιτούμενες ρυθμίσης SMTP και IMAP για διασύνδεση με προγράμματα emai, τάμπλετ και τηλέφωνα" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Διεύθυνση από τον SMTP server (hostname ή IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Οι θύρες που ακούει ό SMTP Server" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Μηχανισμός ασφαλείας σύνδεσης" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Διεύθυνση του IMAP server (hostname ή IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Η θύρα που ακούει ο IMAP Server" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Ανάκτηση διαπιστευτηρίων χρήστη σε αρχείο PDF" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Σφάλμα στην δημιουργία του καταλόγου αρχείων για την αποθήκευση PDF εγγράφων (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "Διαπιστευτήρια PDF" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Δημιουργία PDF εγγράφων που να περιέχουν τα διαπιστευτήρια χρηστών" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Δεν υπάρχουν διαθέσιμα έγγραφα για αυτόν τον χρήστη" diff --git a/modoboa/pdfcredentials/locale/en/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/en/LC_MESSAGES/django.po new file mode 100644 index 000000000..7405024a2 --- /dev/null +++ b/modoboa/pdfcredentials/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,209 @@ +# 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: 2017-09-27 12:01+0200\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" + +#: constants.py:7 +msgid "None" +msgstr "" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "" + +#: documents.py:75 +msgid "Web panel:" +msgstr "" + +#: documents.py:78 +msgid "Username" +msgstr "" + +#: documents.py:79 +msgid "Password" +msgstr "" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "" + +#: forms.py:20 +msgid "Documents storage" +msgstr "" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "" + +#: forms.py:28 +msgid "Security options" +msgstr "" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "" + +#: forms.py:49 +msgid "Customization options" +msgstr "" + +#: forms.py:52 +msgid "Title" +msgstr "" + +#: forms.py:54 +msgid "The document's title" +msgstr "" + +#: forms.py:58 +msgid "Web panel url" +msgstr "" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "" + +#: forms.py:63 +msgid "Custom message" +msgstr "" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "" + +#: views.py:30 +msgid "No document available for this user" +msgstr "" diff --git a/modoboa/pdfcredentials/locale/fr/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 000000000..01b723e42 --- /dev/null +++ b/modoboa/pdfcredentials/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,210 @@ +# 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 , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2017-10-16 18:51+0000\n" +"Last-Translator: Antoine Nguyen \n" +"Language-Team: French (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "Aucune" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Informations de compte personnel" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Propulsé par Modoboa - L'hébergement mail simplifié" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nCher %s, ce document contient les identifiants dont vous aurez\nbesoin pour vous connecter à Modoboa. Apprenez les puis détruisez\nce document le plus rapidement possible.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Console web :" + +#: documents.py:78 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: documents.py:79 +msgid "Password" +msgstr "Mot de passe" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nD'ici vous pouvez consulter vos emails en ligne n'importe quand, créer des filtres ou gérer vos contacts.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Merci de changer votre mot de passe !" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "Configuration PC/Tablette/Smartphone :" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "Adresse du serveur SMTP" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "Port du serveur SMTP" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "Sécurité de la connexion SMTP" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "Adresse du serveur IMAP" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "Port du serveur IMAP" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "Sécurité de la connexion IMAP" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Utilisez ces paramètres pour votre ordinateur, votre tablette ou votre téléphone." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Stockage des documents" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Répertoire dans lequel les documents sont sauvegardés" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Chemin d'accès vers le répertoire ou seront stockés les documents" + +#: forms.py:28 +msgid "Security options" +msgstr "Options de sécurité" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Supprimer les documents après le premier téléchargement" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Supprimer automatiquement un document juste après son premier téléchargement depuis cette interface" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Générer les documents à la création des comptes uniquement" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Génère un nouveau document uniquement lors de la création d'un compte. Si défini à non, un nouveau document sera généré chaque fois qu'un mot de passe est changé." + +#: forms.py:49 +msgid "Customization options" +msgstr "Options de personnalisation" + +#: forms.py:52 +msgid "Title" +msgstr "Titre" + +#: forms.py:54 +msgid "The document's title" +msgstr "Le titre du document" + +#: forms.py:58 +msgid "Web panel url" +msgstr "URL de la console web" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL de la console web Modoboa" + +#: forms.py:63 +msgid "Custom message" +msgstr "Message personnalisé" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Un message personnalisé qui apparaîtra en bas des documents." + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Inclure les paramètres de connexion pour client mail" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Inclure les paramètres de connexion nécessaires pour configurer un client mail, une tablette ou un téléphone" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Adresse du serveur SMTP (nom d'hôte ou IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Port d'écoute du serveur SMTP" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Mécanisme de sécurisation de la connexion" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Adresse du serveur IMAP (nom d'hôte ou IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Port d'écoute du serveur IMAP" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Récupérer les identifiant de l'utilisateur sous forme d'un document PDF" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Echec lors de la création du répertoire qui contiendra les documents PDF (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "Identifiants en PDF" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Génère des documents PDF contenant les identifiants des utilisateurs" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Aucun document disponible pour cet utilisateur" diff --git a/modoboa/pdfcredentials/locale/it/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/it/LC_MESSAGES/django.po new file mode 100644 index 000000000..fb1878d7e --- /dev/null +++ b/modoboa/pdfcredentials/locale/it/LC_MESSAGES/django.po @@ -0,0 +1,211 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# marcotrevisan , 2018 +# Rocco , 2015 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2018-11-02 15:15+0000\n" +"Last-Translator: marcotrevisan \n" +"Language-Team: Italian (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "Nessun valore" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Informazioni Personali" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Powered by Modoboa - Mail hosting made simple" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nGentile %s, questo documento contiene le credenziali di accesso \nper accedere a Modoboa. Leggilo e elimina\n il documento il prima possibile.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Pannello web:" + +#: documents.py:78 +msgid "Username" +msgstr "Nome Utente" + +#: documents.py:79 +msgid "Password" +msgstr "Password" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nQui puoi sempre visualizzare le tue email onlime, creare filtri\no gestire i tuoi contatti.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Per favore cambia la tua password!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "Configurazione PC/Tablet/Smartphone:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "Indirizzo del server SMTP" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "Porta del server SMTP" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "Sicurezza della connessione al server SMTP" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "indirizzo del server IMAP" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "Porta del server IMAP" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "Sicurezza della connessione al server IMAP" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Utilizza quelle impostazioni per il tuo computer, tablet o telefono." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Memorizzazione Documenti" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Cartella nella quale salvare i documenti" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Indirizzo della cartella dove i documenti PDF saranno salvati" + +#: forms.py:28 +msgid "Security options" +msgstr "Opzioni di sicurezza" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Cancella i documenti dopo averli scaricati" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Elimina automaticamente il documento dopo che è stato scaricato da questa interfaccia" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Genera documenti solo dopo la creazione dell'account" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Generare un nuovo documento solo quando si crea un nuovo account. Se impostato su no , un nuovo documento verrà creato ogni volta che la password viene aggiornata." + +#: forms.py:49 +msgid "Customization options" +msgstr "Opzioni di personalizzazione" + +#: forms.py:52 +msgid "Title" +msgstr "Titolo" + +#: forms.py:54 +msgid "The document's title" +msgstr "Il titolo del documento" + +#: forms.py:58 +msgid "Web panel url" +msgstr "URL del pannello di controllo web" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL del pannello di controllo web di Modoboa" + +#: forms.py:63 +msgid "Custom message" +msgstr "Messaggio personalizzato" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Un messaggio personalizzato comparirà alla fine dei documenti" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Includi le impostazioni di connessione del client di posta" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Includi le informazioni di connessione SMTP e IMAP richieste per configurare un client di posta, un tablet o telefono" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Indirizzo del server SMTP (nome host o indirizzo IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Porta di ascolto del server SMTP" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Meccanismo di sicurezza della connessione" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Indirizzo del server IMAP (nome host o indirizzo IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Porta di ascolto del server IMAP" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Recuperare le credenziali dell'utente come documento PDF" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Impossibile creare la cartella che conterrà i documenti PDF (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "Credenziali PDF" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Genera i documenti PDF con le credenziali dell'utente" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Non ci sono documenti disponibili er questo utente" diff --git a/modoboa/pdfcredentials/locale/ja_JP/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/ja_JP/LC_MESSAGES/django.po new file mode 100644 index 000000000..2ec0ba19a --- /dev/null +++ b/modoboa/pdfcredentials/locale/ja_JP/LC_MESSAGES/django.po @@ -0,0 +1,210 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# cwatanab , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2017-09-27 10:02+0000\n" +"Last-Translator: Antoine Nguyen \n" +"Language-Team: Japanese (Japan) (http://www.transifex.com/tonio/modoboa/language/ja_JP/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja_JP\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: constants.py:7 +msgid "None" +msgstr "" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "個人アカウント情報" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Powered by Modoboa - メールホスティングをシンプルに" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\n%s さん\n\nこのドキュメントには、Modoboa へ接続するための必要な認証情報が書かれています。\n内容を理解したら、すみやかに廃棄してください。\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "" + +#: documents.py:78 +msgid "Username" +msgstr "ユーザ名" + +#: documents.py:79 +msgid "Password" +msgstr "パスワード" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "" + +#: forms.py:20 +msgid "Documents storage" +msgstr "ドキュメントストレージ" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "ドキュメントを保存するためのディレクトリ" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "PDF ドキュメントを保存するためのディレクトリのパス" + +#: forms.py:28 +msgid "Security options" +msgstr "セキュリティオプション" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "最初のダウンロードの後にドキュメントを削除する" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "このインターフェースから最初にダウンロードされたあとにドキュメントを自動的に削除する" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "アカウントを作成するときだけドキュメントを生成する" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "アカウントの作成されたときだけ、新しいドキュメントを生成します。\nもし「いいえ」設定すれば、新しい文書は、パスワードが更新されるたびに作成されます。" + +#: forms.py:49 +msgid "Customization options" +msgstr "" + +#: forms.py:52 +msgid "Title" +msgstr "" + +#: forms.py:54 +msgid "The document's title" +msgstr "" + +#: forms.py:58 +msgid "Web panel url" +msgstr "" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "" + +#: forms.py:63 +msgid "Custom message" +msgstr "" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "PDF ドキュメントとしてユーザー認証情報を取得します" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "PDFドキュメントを格納するディレクトリの作成に失敗しました (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "PDF 認証情報" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "ユーザーの認証情報を書かれた PDF ドキュメントを生成" + +#: views.py:30 +msgid "No document available for this user" +msgstr "このユーザーにはドキュメンがありません" diff --git a/modoboa/pdfcredentials/locale/nl_NL/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/nl_NL/LC_MESSAGES/django.po new file mode 100644 index 000000000..0a828652a --- /dev/null +++ b/modoboa/pdfcredentials/locale/nl_NL/LC_MESSAGES/django.po @@ -0,0 +1,211 @@ +# 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 +# Tuxis Internet Engineering V.O.F. , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2018-01-31 08:43+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" +"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" + +#: constants.py:7 +msgid "None" +msgstr "" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Persoonlijke account informatie" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Aangeboden door Modoboa - Mail hosting made simple" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nBeste %s, dit document bevat alle gegevens dat u nodig\nheeft voor het gebruiken van Modoboa. Onthoud deze gegevens\nen verwijder dit document zo snel mogelijk.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Webpaneel:" + +#: documents.py:78 +msgid "Username" +msgstr "Gebruikersnaam" + +#: documents.py:79 +msgid "Password" +msgstr "Wachtwoord" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nHier kunt u uw e-mails online bekijken, filters aanmaken, of contactpersonen beheren.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Wijzig uw wachtwoord aub!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "PC/Tablet/Smartphone configuratie:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "SMTP serveradres" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "SMTP server poort" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "SMTP verbinding beveiliging" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "IMAP serveradres" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "IMAP server poort" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "IMAP verbinding beveiliging" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Gebruik deze instellingen voor uw computer, tablet of telefoon." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Document opslag" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Map voor het opslaan van de documenten" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Pad naar de map waar de PDF documenten worden opgeslagen" + +#: forms.py:28 +msgid "Security options" +msgstr "Beveiligings-opties" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Documenten verwijderen na eerste download" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Verwijder een document automatisch nadat het eenmalig is gedownload van paneel" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Genereer een document enkel bij het aanmaken van een account" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Genereer een document enkel wanneer een account is nieuw aangemaakt. Indien 'nee' is geselecteerd zal bij iedere wachtwoord wijziging een nieuw document worden gemaakt. " + +#: forms.py:49 +msgid "Customization options" +msgstr "Personaliseringsopties" + +#: forms.py:52 +msgid "Title" +msgstr "Titel" + +#: forms.py:54 +msgid "The document's title" +msgstr "Titel van het document" + +#: forms.py:58 +msgid "Web panel url" +msgstr "Webpaneel URL" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL van het Modoboa webpaneel" + +#: forms.py:63 +msgid "Custom message" +msgstr "Aangepast bericht" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Een aangepast bericht dat aan het einde van de documenten komt te staan" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Vraag de gebruikers gegevens op als een PDF document" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Het aanmaken van de map voor de PDF documenten is mislukt (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "PDF gegevens" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Genereer PDF document met de gegevens voor de gebruiker" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Geen document beschikbaar voor deze gebruiker" diff --git a/modoboa/pdfcredentials/locale/pl_PL/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/pl_PL/LC_MESSAGES/django.po new file mode 100644 index 000000000..20c3f866e --- /dev/null +++ b/modoboa/pdfcredentials/locale/pl_PL/LC_MESSAGES/django.po @@ -0,0 +1,211 @@ +# 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 +# Tomasz Proć , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2017-12-02 10:36+0000\n" +"Last-Translator: Tomasz Proć \n" +"Language-Team: Polish (Poland) (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "Brak" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Informacje o koncie osobistym" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Powered by Modoboa - Mail hosting made simple" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nDrogi użytkowniku %s, ten dokument zawiera dane uwierzytelniające które będzeisz potrzebował to połączenia się. Zapoznaj się z nim i usuń go najszybciej jak to możliwe.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Panel web:" + +#: documents.py:78 +msgid "Username" +msgstr "Nazwa użytkownika" + +#: documents.py:79 +msgid "Password" +msgstr "Hasło" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nPod tym adresem możesz online przeczytać swoje wiadomości, stworzyć filtry lub zarządzać\n listą kontaktów.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Proszę zmienić swoje hasło!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "konfiguracją PC/Tabletu/Smartfonu:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "Adres serwera SMTP" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "Port serwera SMTP" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "Zabezpieczenia połączenia SMTP" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "Adres serwera IMAP" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "Port serwera IMAP" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "Zabezpieczenie połączenia IMAP" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Użyj tych ustawień w swoim komputerze, tablecie lub telefonie." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Magazyn dokumentów" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Lokalizacja gdzie zapisywać dokumenty" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Ścieżka do lokalizacji, gdzie będą zapisywane PDF'y" + +#: forms.py:28 +msgid "Security options" +msgstr "Opcje bezpieczeństwa" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Usuwaj dokumenty po ich pierwszym pobraniu" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Automatycznie usuwaj dokumenty jak tylko zostaną pobranie przez ten interfejs" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Generuj dokumenty tylko podczas zakładania konta" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Generuj nowy dokument tylko wtedy, kiedy nowe konto jest zakładane. Jeśli ustawione na nie, to nowy dokument będzie tworzony przy każdej zmianie hasła." + +#: forms.py:49 +msgid "Customization options" +msgstr "Opcje dostosowania" + +#: forms.py:52 +msgid "Title" +msgstr "Tytuł" + +#: forms.py:54 +msgid "The document's title" +msgstr "Tytuł dokumentu" + +#: forms.py:58 +msgid "Web panel url" +msgstr "URL panelu Web" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL panelu Modoboa" + +#: forms.py:63 +msgid "Custom message" +msgstr "Własna wiadomość" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Dodatkowa wiadomość która pojawi się na końcu dokumentu." + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Załącz ustawienia połączenia dla programu pocztowego klienta" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Załącz wymagane do konfiguracji, informacje o połączeniu SMTP i IMAP " + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Adres serwera SMTP (nazwa hosta lub IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Port nasłuchujący serwera SMTP" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Mechanizm zabezpieczenia połączenia" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Adres serwera IMAP (nazwa hosta lub IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Port nasłuchujący serwera IMAP" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Pobieranie danych uwierzytelniających użytkownika w formacie PDF" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Nie można utworzyć katalogu do przechowywania PDF'ów (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "Poświadczenia PDF" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Generuj dokumenty PDF zawierające dane uwierzytelniające użytkowników" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Brak dokumentu dla tego użytkownika" diff --git a/modoboa/pdfcredentials/locale/pt_BR/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 000000000..41a9b5b47 --- /dev/null +++ b/modoboa/pdfcredentials/locale/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,211 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Rafael Barretto , 2015 +# Rafael Barretto , 2017-2018 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\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/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" + +#: constants.py:7 +msgid "None" +msgstr "Nenhuma" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Informações da conta pessoal" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Desenvolvido por Modoboa - Hospedagem de email de forma simples" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nCaro(a) %s, este documento contem as credenciais que você irá precisar\npara conectar ao Modoboa. Verifique o conteúdo e destrua\neste documento assim que possível.\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Painel web:" + +#: documents.py:78 +msgid "Username" +msgstr "Nome de usuário" + +#: documents.py:79 +msgid "Password" +msgstr "Senha" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nAqui você poderá ver seus emails a qualquer momento online, crie filtros ou gerencie \nseus contatos.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Por favor mude sua senha!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "Configuração para PC/Tablet/Smartphone:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "Endereço do servidor SMTP" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "Porta do servidor SMTP" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "Conexão segura SMTP" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "Endereço do servidor IMAP" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "Porta do servidor IMAP" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "Conexão segura IMAP" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Use essas configurações para seu computador, tablet ou telefone." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Armazenamento de documentos" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Diretório para salvar documentos" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Caminho para o diretório onde os arquivos PDF serão salvos" + +#: forms.py:28 +msgid "Security options" +msgstr "Opções de segurança" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Deletar documentos após o primeiro download" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Excluir automaticamente um documento logo após a sua primeira transferência a partir desta interface" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Apenas gerar documentos na criação da conta" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Gerar um novo documento apenas quando uma nova conta é criada. Se definido como não, um novo documento será criado cada vez que uma senha é atualizada." + +#: forms.py:49 +msgid "Customization options" +msgstr "Opções de customização" + +#: forms.py:52 +msgid "Title" +msgstr "Título" + +#: forms.py:54 +msgid "The document's title" +msgstr "Título do documento" + +#: forms.py:58 +msgid "Web panel url" +msgstr "URL do painel web" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL do painel web do Modoboa" + +#: forms.py:63 +msgid "Custom message" +msgstr "Mensagem personalizada" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Uma mensagem personalizada irá aparecer no fim do documento" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Incluir configurações de conexão do cliente de email" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Incluir informações de conexão SMTP e IMAP necessárias para configurar um cliente de e-mail, um tablet ou um telefone" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Endereço do servidor SMTP (hostname ou IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Mecanismo de conexão segura" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Recuperar credenciais do usuário como um documento PDF" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Falha ao criar o diretório que conterá documentos PDF (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "Credenciais PDF" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Gerar documentos em PDF contendo as credenciais dos usuários" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Nenhum documento disponível para esse usuário" diff --git a/modoboa/pdfcredentials/locale/pt_PT/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/pt_PT/LC_MESSAGES/django.po new file mode 100644 index 000000000..feb9e5fbd --- /dev/null +++ b/modoboa/pdfcredentials/locale/pt_PT/LC_MESSAGES/django.po @@ -0,0 +1,209 @@ +# 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: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2017-09-27 10:02+0000\n" +"Last-Translator: Antoine Nguyen \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/tonio/modoboa/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: constants.py:7 +msgid "None" +msgstr "" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "" + +#: documents.py:75 +msgid "Web panel:" +msgstr "" + +#: documents.py:78 +msgid "Username" +msgstr "" + +#: documents.py:79 +msgid "Password" +msgstr "" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "" + +#: forms.py:20 +msgid "Documents storage" +msgstr "" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "" + +#: forms.py:28 +msgid "Security options" +msgstr "" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "" + +#: forms.py:49 +msgid "Customization options" +msgstr "" + +#: forms.py:52 +msgid "Title" +msgstr "" + +#: forms.py:54 +msgid "The document's title" +msgstr "" + +#: forms.py:58 +msgid "Web panel url" +msgstr "" + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "" + +#: forms.py:63 +msgid "Custom message" +msgstr "" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "" + +#: views.py:30 +msgid "No document available for this user" +msgstr "" diff --git a/modoboa/pdfcredentials/locale/sv/LC_MESSAGES/django.po b/modoboa/pdfcredentials/locale/sv/LC_MESSAGES/django.po new file mode 100644 index 000000000..804ce42ff --- /dev/null +++ b/modoboa/pdfcredentials/locale/sv/LC_MESSAGES/django.po @@ -0,0 +1,211 @@ +# 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 , 2016,2018 +# Tomas Olsson , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Modoboa\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-27 12:01+0200\n" +"PO-Revision-Date: 2018-08-14 08:40+0000\n" +"Last-Translator: Olle Gustafsson \n" +"Language-Team: Swedish (http://www.transifex.com/tonio/modoboa/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" + +#: constants.py:7 +msgid "None" +msgstr "Ingen" + +#: documents.py:52 forms.py:53 +msgid "Personal account information" +msgstr "Personlig kontoinformation" + +#: documents.py:55 +msgid "Powered by Modoboa - Mail hosting made simple" +msgstr "Drivs av Modoboa - Mail hosting gjort enkelt" + +#: documents.py:69 +#, python-format +msgid "" +"\n" +"Dear %s, this document contains the credentials you will need\n" +"to connect to Modoboa. Learn the content and destroy\n" +"the document as soon as possible.\n" +msgstr "\nKära %s, detta dokument innehåller de kontouppgifter du behöver för att ansluta till Modoboa. Lär dig innehållet i detta dokument och förstör detta dokument så snart som möjligt\n" + +#: documents.py:75 +msgid "Web panel:" +msgstr "Webbpanel" + +#: documents.py:78 +msgid "Username" +msgstr "Användarnamn" + +#: documents.py:79 +msgid "Password" +msgstr "Lösenord" + +#: documents.py:89 +msgid "" +"\n" +"Here you can view your emails anytime online, create filters or manage\n" +"your contacts.\n" +msgstr "\nHär kan du se dina e-postmeddelanden när som helst online, skapa filter eller hantera\ndina kontakter.\n" + +#: documents.py:96 +msgid "Please change your password!" +msgstr "Vänligen ändra ditt lösenord!" + +#: documents.py:102 +msgid "PC/Tablet/Smartphone configuration:" +msgstr "PC/Tablet/Smartphone inställningar:" + +#: documents.py:105 forms.py:79 +msgid "SMTP server address" +msgstr "SMTP server adress" + +#: documents.py:106 forms.py:84 +msgid "SMTP server port" +msgstr "SMTP server port" + +#: documents.py:107 forms.py:90 +msgid "SMTP connection security" +msgstr "SMTP anslutningssäkerhet" + +#: documents.py:108 forms.py:97 +msgid "IMAP server address" +msgstr "IMAP server adress" + +#: documents.py:109 forms.py:102 +msgid "IMAP server port" +msgstr "IMAP server port" + +#: documents.py:110 forms.py:108 +msgid "IMAP connection security" +msgstr "IMAP anslutningssäkerhet" + +#: documents.py:120 +msgid "Use those settings for your computer, tablet or phone." +msgstr "Använd dessa inställningar för din dator, surfplatta eller telefon." + +#: forms.py:20 +msgid "Documents storage" +msgstr "Dokumentlagring" + +#: forms.py:23 +msgid "Directory to save documents into" +msgstr "Katalog att spara dokument till" + +#: forms.py:25 +msgid "Path to a directory where PDF documents will be saved" +msgstr "Sökväg till en katalog där PDF dokument kommer sparas" + +#: forms.py:28 +msgid "Security options" +msgstr "Säkerhetsinställningar" + +#: forms.py:31 +msgid "Delete documents after the first download" +msgstr "Radera dokument efter första nedladdning" + +#: forms.py:34 +msgid "" +"Automatically delete a document just after its first download from this " +"interface" +msgstr "Radera dokument automatiskt efter första nedladdningen" + +#: forms.py:40 +msgid "Generate documents only at account creation" +msgstr "Generera dokument endast vid kontoskapande" + +#: forms.py:43 +msgid "" +"Generate a new document only when a new account is created. If set to no, a " +"new document will be created each time a password is updated." +msgstr "Generera bara nya dokument när ett nytt konto skapas. Om detta sätts till nej, kommer ett nytt dokument skapas varje gång ett lösenord uppdateras." + +#: forms.py:49 +msgid "Customization options" +msgstr "Anpassningsalternativ" + +#: forms.py:52 +msgid "Title" +msgstr "Titel" + +#: forms.py:54 +msgid "The document's title" +msgstr "Dokumentets titel" + +#: forms.py:58 +msgid "Web panel url" +msgstr "Webbpanels länk " + +#: forms.py:59 +msgid "URL of the Modoboa web panel" +msgstr "URL till Modoboa webbpanel" + +#: forms.py:63 +msgid "Custom message" +msgstr "Anpassat meddelande" + +#: forms.py:65 +msgid "A custom message that will appear at the end of documents" +msgstr "Ett anpassat meddelande som kommer visas i slutet på dokumentet" + +#: forms.py:70 +msgid "Include mail client connection settings" +msgstr "Inkludera e-post klient inställningar" + +#: forms.py:73 +msgid "" +"Include required SMTP and IMAP connection information to configure a mail " +"client, a tablet or a phone" +msgstr "Inkludera SMTP och IMAP anslutningsinformation för att konfigurera en e-postklient, surfplatta eller telefon" + +#: forms.py:80 +msgid "Address of the SMTP server (hostname or IP)" +msgstr "Adress till SMTP servern (värdnamn eller IP)" + +#: forms.py:86 +msgid "Listening port of the SMTP server" +msgstr "Lyssningsport för SMTP servern" + +#: forms.py:93 forms.py:111 +msgid "Connection security mechanism" +msgstr "Anslutningssäkerhetsmekanism" + +#: forms.py:98 +msgid "Address of the IMAP server (hostname or IP)" +msgstr "Adress till IMAP servern (värdnamn eller IP)" + +#: forms.py:104 +msgid "Listening port of the IMAP server" +msgstr "Lyssningsport för IMAP servern" + +#: handlers.py:46 +msgid "Retrieve user's credentials as a PDF document" +msgstr "Hämta användares kontouppgifter som ett PDF dokument" + +#: lib.py:29 +#, python-format +msgid "Failed to create the directory that will contain PDF documents (%s)" +msgstr "Kunde inte skapa katalogen som innehåller PDF dokumenten (%s)" + +#: modo_extension.py:16 modo_extension.py:24 +msgid "PDF credentials" +msgstr "PDF kontouppgifter" + +#: modo_extension.py:19 +msgid "Generate PDF documents containing users' credentials" +msgstr "Generera PDF dokument innehållande användares kontouppgifter" + +#: views.py:30 +msgid "No document available for this user" +msgstr "Inga dokument tillgängliga för den här användaren" diff --git a/modoboa/pdfcredentials/models.py b/modoboa/pdfcredentials/models.py new file mode 100644 index 000000000..71a836239 --- /dev/null +++ b/modoboa/pdfcredentials/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/modoboa/pdfcredentials/tests/__init__.py b/modoboa/pdfcredentials/tests/__init__.py new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/modoboa/pdfcredentials/tests/__init__.py @@ -0,0 +1 @@ + diff --git a/modoboa/pdfcredentials/tests/test_lib.py b/modoboa/pdfcredentials/tests/test_lib.py new file mode 100644 index 000000000..87366d542 --- /dev/null +++ b/modoboa/pdfcredentials/tests/test_lib.py @@ -0,0 +1,77 @@ +"""PDF credentials lib tests.""" + +import os +import shutil +import tempfile + +from django.test import override_settings +from django.urls import reverse + +from modoboa.admin import factories +from modoboa.core import models as core_models + +from modoboa.lib.tests import ModoAPITestCase +from modoboa.lib.exceptions import InternalError + +import modoboa.pdfcredentials.lib as lib +from subprocess import Popen, PIPE + + +class PDFCredentialsLibTestCase(ModoAPITestCase): + + @classmethod + def setUpTestData(cls): # NOQA:N802 + """Create test data.""" + super().setUpTestData() + factories.populate_database() + + def tearDown(self): + """Reset test env.""" + shutil.rmtree(self.workdir) + + def _create_account(self, username, expected_status=201): + url = reverse("v2:account-list") + data = { + "username": f"{username}", + "role": "SimpleUsers", + "mailbox": { + "use_domain_quota": True + }, + "password": "Toto12345", + "language": "fr", + } + resp = self.client.post(url, data, format="json") + self.assertEqual(resp.status_code, expected_status) + return data + + def test_storage_dir_setting(self): + """Test multiple possibilities with storage_dir setup""" + self.set_global_parameter("storage_dir", "/I_DONT_EXIST") + with self.assertRaises(InternalError): + lib.init_storage_dir() + self.set_global_parameter("storage_dir", "/root") + with self.assertRaises(InternalError): + lib.init_storage_dir() + self.set_global_parameter("storage_dir", self.workdir) + self.assertIsNone(lib.init_storage_dir()) + + def test_pdf_decryption(self): + """Test that PDFs are decrypted.""" + username = "toto1818@test.com" + self._create_account(username) + fname = os.path.join(self.workdir, "{}.pdf".format(username)) + self.assertTrue(os.path.exists(fname)) + filebuff = lib.decrypt_file(fname) + self.assertIn("application/pdf", + Popen("/usr/bin/file -b --mime -", + shell=True, + stdout=PIPE, + stdin=PIPE) + .communicate(filebuff)[0].strip().decode() + ) + with open(fname, "r") as file: + with self.assertRaises(UnicodeDecodeError): + Popen("/usr/bin/file -b --mime -", + shell=True, + stdout=PIPE, + stdin=PIPE).communicate(file.read(1024))[0].strip() diff --git a/modoboa/pdfcredentials/tests/test_views.py b/modoboa/pdfcredentials/tests/test_views.py new file mode 100644 index 000000000..885528ffa --- /dev/null +++ b/modoboa/pdfcredentials/tests/test_views.py @@ -0,0 +1,147 @@ +"""PDF credentials tests.""" + +import os +import shutil +import tempfile + +from django.test import override_settings +from django.urls import reverse + +from modoboa.admin import factories as admin_factories +from modoboa.core import models as core_models + +from modoboa.lib.tests import ModoTestCase + + +class EventsTestCase(ModoTestCase): + """Test event handlers.""" + + @classmethod + def setUpTestData(cls): + """Create some data.""" + super(EventsTestCase, cls).setUpTestData() + admin_factories.DomainFactory(name="test.com") + + def setUp(self): + """Create temp. directory to store files.""" + super(EventsTestCase, self).setUp() + self.workdir = tempfile.mkdtemp() + self.set_global_parameter("storage_dir", self.workdir) + + def tearDown(self): + """Reset test env.""" + shutil.rmtree(self.workdir) + + def _create_account(self, username, expected_status=200): + """Create a test account.""" + values = { + "username": username, + "first_name": "Tester", "last_name": "Toto", + "role": "SimpleUsers", "quota_act": True, + "is_active": True, "email": username, + "random_password": True, "stepid": 2 + } + response = self.client.post( + reverse("admin:account_add"), values, + HTTP_X_REQUESTED_WITH="XMLHttpRequest") + self.assertEqual(response.status_code, expected_status) + return values + + def test_password_updated(self): + """Check that document is generated at account creation/update.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + account = core_models.User.objects.get(username=values["username"]) + + # Check if link is present in listing page + response = self.ajax_get(reverse("admin:_identity_list")) + self.assertIn('name="get_credentials"', response["rows"]) + + # Try to download the file + response = self.client.get( + reverse("pdfcredentials:account_credentials", + args=[account.pk])) + self.assertEqual(response.status_code, 200) + self.assertEqual(response["Content-Type"], "application/pdf") + + # File have been deleted? + self.assertFalse(os.path.exists(fname)) + + # Try to download a second time + response = self.client.get( + reverse("pdfcredentials:account_credentials", + args=[account.pk])) + self.assertContains(response, "No document available for this user") + + # Update account + values.update({"language": "en"}) + self.ajax_post( + reverse("admin:account_change", args=[account.pk]), values + ) + self.assertFalse(os.path.exists(fname)) + + self.set_global_parameter("generate_at_creation", False) + self.ajax_post( + reverse("admin:account_change", args=[account.pk]), values + ) + self.assertTrue(os.path.exists(fname)) + + def test_with_connection_settings(self): + """Add connection settings to documents.""" + self.set_global_parameter("include_connection_settings", True) + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + + def test_with_custom_message(self): + """Add custom message to documents.""" + self.set_global_parameter("custom_message", "This is a test message.") + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + + def test_account_delete(self): + """Check that document is deleted with account.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + account = core_models.User.objects.get(username=values["username"]) + self.ajax_post( + reverse("admin:account_delete", args=[account.pk]), {} + ) + self.assertFalse(os.path.exists(fname)) + + @override_settings(MODOBOA_LOGO="modoboa.png") + def test_with_custom_logo(self): + """Check that document is deleted with account.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + + def test_download_and_delete_account(self): + """Check that document is deleted with account.""" + values = self._create_account("leon@test.com") + fname = os.path.join(self.workdir, "{}.pdf".format(values["username"])) + self.assertTrue(os.path.exists(fname)) + account = core_models.User.objects.get(username=values["username"]) + + # Try to download the file + response = self.client.get( + reverse("pdfcredentials:account_credentials", + args=[account.pk])) + self.assertEqual(response.status_code, 200) + self.assertEqual(response["Content-Type"], "application/pdf") + + # File have been deleted? + self.assertFalse(os.path.exists(fname)) + + # Delete account + self.ajax_post( + reverse("admin:account_delete", args=[account.pk]), {} + ) + + def test_storage_dir_creation(self): + """Test storage directory creation.""" + self.set_global_parameter("storage_dir", "/nonexistentdir") + self._create_account("leon@test.com", expected_status=500) diff --git a/modoboa/pdfcredentials/urls.py b/modoboa/pdfcredentials/urls.py new file mode 100644 index 000000000..9a13a5b3c --- /dev/null +++ b/modoboa/pdfcredentials/urls.py @@ -0,0 +1,10 @@ +from django.urls import path + +from . import views + +app_name = "pdfcredentials" + +urlpatterns = [ + path('credentials//', views.get_account_credentials, + name="account_credentials"), +] diff --git a/modoboa/pdfcredentials/views.py b/modoboa/pdfcredentials/views.py new file mode 100644 index 000000000..7fe1b7d8e --- /dev/null +++ b/modoboa/pdfcredentials/views.py @@ -0,0 +1,36 @@ +"""modoboa.pdfcredentials views.""" + +import os + +from django.http import HttpResponse +from django.utils.translation import ugettext as _ + +from django.contrib.auth.decorators import ( + login_required, permission_required +) + +from modoboa.core.models import User +from modoboa.lib.exceptions import ModoboaException, PermDeniedException +from modoboa.parameters import tools as param_tools + +from .lib import decrypt_file, get_creds_filename + + +@login_required +@permission_required("core.add_user") +def get_account_credentials(request, accountid): + """View to download a document.""" + account = User.objects.get(pk=accountid) + if not request.user.can_access(account): + raise PermDeniedException() + fname = get_creds_filename(account) + if not os.path.exists(fname): + raise ModoboaException(_("No document available for this user")) + content = decrypt_file(fname) + if param_tools.get_global_parameter("delete_first_dl"): + os.remove(fname) + resp = HttpResponse(content) + resp["Content-Type"] = "application/pdf" + resp["Content-Length"] = len(content) + resp["Content-Disposition"] = f"attachment; filename={fname};" + return resp diff --git a/modoboa/static/css/modoboa-new.png b/modoboa/static/css/modoboa-new.png new file mode 100644 index 000000000..89462d703 Binary files /dev/null and b/modoboa/static/css/modoboa-new.png differ diff --git a/modoboa/urls.py b/modoboa/urls.py index 058f87d81..d30c04bc9 100644 --- a/modoboa/urls.py +++ b/modoboa/urls.py @@ -27,6 +27,7 @@ urlpatterns = [ path('', include("modoboa.core.urls")), path('admin/', include("modoboa.admin.urls")), path('dnstools/', include("modoboa.dnstools.urls")), + path('pdfcredentials', include("modoboa.pdfcredentials.urls")), path('stats/', include("modoboa.maillog.urls")), path('dmarc/', include("modoboa.dmarc.urls")), diff --git a/modoboa/urls_api_v2.py b/modoboa/urls_api_v2.py index c7d58e87f..4e95c8350 100644 --- a/modoboa/urls_api_v2.py +++ b/modoboa/urls_api_v2.py @@ -16,6 +16,7 @@ urlpatterns = [ path('', include("modoboa.dnstools.api.v2.urls")), path('', include("modoboa.maillog.api.v2.urls")), path('', include("modoboa.transport.api.v2.urls")), + path('', include("modoboa.pdfcredentials.api.v2.urls")), ] urlpatterns += exts_pool.get_urls(category="api") diff --git a/requirements.txt b/requirements.txt index 4c67dcaf2..f2908b35d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -38,6 +38,10 @@ qrcode aiosmtplib aioredis==2.0.1 +# PDF credentials +reportlab + +# DMARC tldextract>=2.0.2 defusedxml>=0.6.0 python-magic>=0.4.24 diff --git a/test_project/test_project/settings.py b/test_project/test_project/settings.py index 3de95333a..1f7e5aa6c 100644 --- a/test_project/test_project/settings.py +++ b/test_project/test_project/settings.py @@ -89,6 +89,7 @@ MODOBOA_APPS = ( 'modoboa.dnstools', 'modoboa.policyd', 'modoboa.maillog', + 'modoboa.pdfcredentials', 'modoboa.dmarc', # Modoboa extensions here. )