2
0
Эх сурвалжийг харах

Merge pull request #6632 from mailcow/staging

Update 2025-07
FreddleSpl0it 1 сар өмнө
parent
commit
527f27d249

+ 3 - 0
README.md

@@ -23,6 +23,9 @@ A big thank you to everyone supporting us on GitHub Sponsors—your contribution
   <a href="https://www.maehdros.com/" target=_blank><img
     src="https://avatars.githubusercontent.com/u/173894712" height="58"
   /></a>
+  <a href="https://macarne.com/" target=_blank><img
+    src="https://avatars.githubusercontent.com/u/149550368?s=200&v=4" height="58"
+  /></a>
 
 ### 50$/Month Sponsors
   <a href="https://github.com/vnukhr" target=_blank><img

+ 1 - 13
data/Dockerfiles/acme/acme.sh

@@ -159,18 +159,6 @@ while true; do
   fi
   if [[ ! -f ${ACME_BASE}/acme/account.pem ]]; then
     log_f "Generating missing Lets Encrypt account key..."
-    if [[ ! -z ${ACME_CONTACT} ]]; then
-      if ! verify_email "${ACME_CONTACT}"; then
-        log_f "Invalid email address, will not start registration!"
-        sleep 365d
-        exec $(readlink -f "$0")
-      else
-        ACME_CONTACT_PARAMETER="--contact mailto:${ACME_CONTACT}"
-        log_f "Valid email address, using ${ACME_CONTACT} for registration"
-      fi
-    else
-      ACME_CONTACT_PARAMETER=""
-    fi
     openssl genrsa 4096 > ${ACME_BASE}/acme/account.pem
   else
     log_f "Using existing Lets Encrypt account key ${ACME_BASE}/acme/account.pem"
@@ -299,7 +287,7 @@ while true; do
     VALIDATED_CERTIFICATES+=("${CERT_NAME}")
 
     # obtain server certificate if required
-    ACME_CONTACT_PARAMETER=${ACME_CONTACT_PARAMETER} DOMAINS=${SERVER_SAN_VALIDATED[@]} /srv/obtain-certificate.sh rsa
+    DOMAINS=${SERVER_SAN_VALIDATED[@]} /srv/obtain-certificate.sh rsa
     RETURN="$?"
     if [[ "$RETURN" == "0" ]]; then # 0 = cert created successfully
       CERT_AMOUNT_CHANGED=1

+ 2 - 2
data/Dockerfiles/acme/obtain-certificate.sh

@@ -93,8 +93,8 @@ until dig letsencrypt.org +time=3 +tries=1 @unbound > /dev/null; do
   sleep 2
 done
 log_f "Resolver OK"
-log_f "Using command acme-tiny ${DIRECTORY_URL} ${ACME_CONTACT_PARAMETER} --account-key ${ACME_BASE}/acme/account.pem --disable-check --csr ${CSR} --acme-dir /var/www/acme/"
-ACME_RESPONSE=$(acme-tiny ${DIRECTORY_URL} ${ACME_CONTACT_PARAMETER} \
+log_f "Using command acme-tiny ${DIRECTORY_URL} --account-key ${ACME_BASE}/acme/account.pem --disable-check --csr ${CSR} --acme-dir /var/www/acme/"
+ACME_RESPONSE=$(acme-tiny ${DIRECTORY_URL} \
   --account-key ${ACME_BASE}/acme/account.pem \
   --disable-check \
   --csr ${CSR} \

+ 16 - 10
data/Dockerfiles/dovecot/quarantine_notify.py

@@ -8,7 +8,8 @@ from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 from email.utils import COMMASPACE, formatdate
 import jinja2
-from jinja2 import Template
+from jinja2 import TemplateError
+from jinja2.sandbox import SandboxedEnvironment
 import json
 import redis
 import time
@@ -80,17 +81,22 @@ try:
     if len(meta_query) == 0:
       return
     msg_count = len(meta_query)
+    env = SandboxedEnvironment()
     if r.get('Q_HTML'):
-      try:
-        template = Template(r.get('Q_HTML'))
-      except:
-        print("Error: Cannot parse quarantine template, falling back to default template.")
-        with open('/templates/quarantine.tpl') as file_:
-          template = Template(file_.read())
+        try:
+            template = env.from_string(r.get('Q_HTML'))
+        except Exception:
+            print("Error: Cannot parse quarantine template, falling back to default template.")
+            with open('/templates/quarantine.tpl') as file_:
+                template = env.from_string(file_.read())
     else:
-      with open('/templates/quarantine.tpl') as file_:
-        template = Template(file_.read())
-    html = template.render(meta=meta_query, username=rcpt, counter=msg_count, hostname=mailcow_hostname, quarantine_acl=quarantine_acl)
+        with open('/templates/quarantine.tpl') as file_:
+            template = env.from_string(file_.read())
+    try:
+        html = template.render(meta=meta_query, username=rcpt, counter=msg_count, hostname=mailcow_hostname, quarantine_acl=quarantine_acl)
+    except (jinja2.exceptions.SecurityError, TemplateError) as ex:
+        print(f"SecurityError or TemplateError in template rendering: {ex}")
+        return
     text = html2text.html2text(html)
     count = 0
     while count < 15:

+ 15 - 7
data/Dockerfiles/dovecot/quota_notify.py

@@ -6,7 +6,7 @@ from email.mime.multipart import MIMEMultipart
 from email.mime.text import MIMEText
 from email.utils import COMMASPACE, formatdate
 import jinja2
-from jinja2 import Template
+from jinja2.sandbox import SandboxedEnvironment
 import redis
 import time
 import json
@@ -33,16 +33,24 @@ while True:
 
 if r.get('QW_HTML'):
   try:
-    template = Template(r.get('QW_HTML'))
-  except:
-    print("Error: Cannot parse quarantine template, falling back to default template.")
+    env = SandboxedEnvironment()
+    template = env.from_string(r.get('QW_HTML'))
+  except Exception:
+    print("Error: Cannot parse quota template, falling back to default template.")
     with open('/templates/quota.tpl') as file_:
-      template = Template(file_.read())
+      env = SandboxedEnvironment()
+      template = env.from_string(file_.read())
 else:
   with open('/templates/quota.tpl') as file_:
-    template = Template(file_.read())
+    env = SandboxedEnvironment()
+    template = env.from_string(file_.read())
+
+try:
+  html = template.render(username=username, percent=percent)
+except (jinja2.exceptions.SecurityError, jinja2.TemplateError) as ex:
+  print(f"SecurityError or TemplateError in template rendering: {ex}")
+  sys.exit(1)
 
-html = template.render(username=username, percent=percent)
 text = html2text.html2text(html)
 
 try:

+ 104 - 10
data/conf/postfix/postscreen_access.cidr

@@ -1,6 +1,6 @@
-# Whitelist generated by Postwhite v3.4 on Thu May  1 00:21:10 UTC 2025
+# Whitelist generated by Postwhite v3.4 on Tue Jul  1 00:22:55 UTC 2025
 # https://github.com/stevejenkins/postwhite/
-# 2058 total rules
+# 2105 total rules
 2a00:1450:4000::/36	permit
 2a01:111:f400::/48	permit
 2a01:111:f403:8000::/50	permit
@@ -19,24 +19,38 @@
 2c0f:fb50:4000::/36	permit
 2.207.151.53	permit
 2.207.217.30	permit
+3.64.237.68	permit
+3.65.3.180	permit
 3.70.123.177	permit
+3.72.182.33	permit
+3.74.81.189	permit
+3.75.33.185	permit
 3.93.157.0/24	permit
 3.94.40.108	permit
 3.129.120.190	permit
 3.210.190.0/24	permit
+3.211.80.218	permit
+3.216.221.67	permit
+3.221.209.22	permit
 8.20.114.31	permit
 8.25.194.0/23	permit
 8.25.196.0/23	permit
 8.36.116.0/24	permit
+8.39.54.0/23	permit
+8.39.54.250/31	permit
 8.39.144.0/24	permit
+8.40.222.0/23	permit
+8.40.222.250/31	permit
 12.130.86.238	permit
-13.107.246.59	permit
+13.107.246.51	permit
 13.110.208.0/21	permit
 13.110.209.0/24	permit
 13.110.216.0/22	permit
 13.110.224.0/20	permit
 13.111.0.0/16	permit
 13.111.191.0/24	permit
+13.216.7.111	permit
+13.216.54.180	permit
 15.200.21.50	permit
 15.200.44.248	permit
 15.200.201.185	permit
@@ -49,9 +63,14 @@
 18.97.1.184/29	permit
 18.97.2.64/26	permit
 18.156.89.250	permit
+18.156.205.64	permit
 18.157.243.190	permit
+18.158.153.154	permit
 18.194.95.56	permit
+18.197.217.180	permit
 18.198.96.88	permit
+18.199.210.3	permit
+18.207.52.234	permit
 18.208.124.128/25	permit
 18.216.232.154	permit
 18.235.27.253	permit
@@ -88,6 +107,7 @@
 23.253.183.147	permit
 23.253.183.148	permit
 23.253.183.150	permit
+24.110.64.0/18	permit
 27.123.204.128/30	permit
 27.123.204.132/31	permit
 27.123.204.148/30	permit
@@ -125,16 +145,24 @@
 34.74.74.140	permit
 34.83.159.189	permit
 34.141.160.224	permit
+34.193.58.168	permit
 34.195.217.107	permit
+34.197.10.50	permit
+34.197.254.9	permit
+34.198.94.229	permit
+34.198.218.121	permit
 34.212.163.75	permit
 34.215.104.144	permit
+34.218.115.239	permit
 34.218.116.3	permit
 34.225.212.172	permit
+35.83.148.184	permit
+35.155.198.111	permit
+35.158.23.94	permit
 35.161.32.253	permit
+35.162.73.231	permit
 35.167.93.243	permit
 35.176.132.251	permit
-35.190.247.0/24	permit
-35.191.0.0/16	permit
 35.205.92.9	permit
 35.228.216.85	permit
 35.242.169.159	permit
@@ -151,9 +179,14 @@
 40.233.83.78	permit
 40.233.88.28	permit
 44.206.138.57	permit
+44.210.169.44	permit
 44.217.45.156	permit
 44.236.56.93	permit
 44.238.220.251	permit
+44.245.243.92	permit
+44.246.1.125	permit
+44.246.68.102	permit
+44.246.77.92	permit
 45.14.148.0/22	permit
 46.19.170.16	permit
 46.226.48.0/21	permit
@@ -206,6 +239,7 @@
 46.243.88.177	permit
 46.243.95.179	permit
 46.243.95.180	permit
+50.16.246.183	permit
 50.18.45.249	permit
 50.18.121.236	permit
 50.18.121.248	permit
@@ -219,14 +253,23 @@
 50.56.130.220	permit
 50.56.130.221	permit
 50.56.130.222	permit
+50.112.246.219	permit
 52.1.14.157	permit
 52.5.230.59	permit
+52.12.53.23	permit
+52.13.214.179	permit
+52.26.1.71	permit
 52.27.5.72	permit
 52.27.28.47	permit
 52.28.63.81	permit
+52.28.197.132	permit
+52.34.181.151	permit
+52.35.192.45	permit
 52.36.138.31	permit
 52.37.142.146	permit
+52.42.203.116	permit
 52.50.24.208	permit
+52.57.120.243	permit
 52.58.216.183	permit
 52.59.143.3	permit
 52.60.41.5	permit
@@ -269,15 +312,16 @@
 54.174.63.0/24	permit
 54.186.193.102	permit
 54.191.223.56	permit
+54.211.126.101	permit
 54.213.20.246	permit
 54.214.39.184	permit
 54.240.0.0/18	permit
-54.240.64.0/19	permit
-54.240.96.0/19	permit
+54.240.64.0/18	permit
 54.241.16.209	permit
 54.244.54.130	permit
 54.244.242.0/24	permit
 54.255.61.23	permit
+56.124.6.228	permit
 57.103.64.0/18	permit
 62.13.128.0/24	permit
 62.13.129.128/25	permit
@@ -293,6 +337,9 @@
 63.128.21.0/24	permit
 63.143.57.128/25	permit
 63.143.59.128/25	permit
+63.176.194.123	permit
+63.178.132.221	permit
+63.178.143.178	permit
 64.18.0.0/20	permit
 64.20.241.45	permit
 64.69.212.0/24	permit
@@ -358,10 +405,11 @@
 65.110.161.77	permit
 65.123.29.213	permit
 65.123.29.220	permit
+65.154.166.0/24	permit
 65.212.180.36	permit
 66.102.0.0/20	permit
+66.102.0.0/21	permit
 66.119.150.192/26	permit
-66.162.193.226/31	permit
 66.163.184.0/24	permit
 66.163.185.0/24	permit
 66.163.186.0/24	permit
@@ -567,7 +615,6 @@
 74.86.241.250/31	permit
 74.112.67.243	permit
 74.125.0.0/16	permit
-74.202.227.40	permit
 74.208.4.200	permit
 74.208.4.201	permit
 74.208.4.220	permit
@@ -1153,6 +1200,7 @@
 99.83.190.102	permit
 103.9.96.0/22	permit
 103.28.42.0/24	permit
+103.122.78.238	permit
 103.151.192.0/23	permit
 103.168.172.128/27	permit
 103.237.104.0/22	permit
@@ -1287,6 +1335,7 @@
 106.50.16.0/28	permit
 107.20.18.111	permit
 107.20.210.250	permit
+107.22.191.150	permit
 108.174.0.0/24	permit
 108.174.0.215	permit
 108.174.3.0/24	permit
@@ -1321,6 +1370,9 @@
 117.120.16.0/21	permit
 119.42.242.52/31	permit
 119.42.242.156	permit
+121.244.91.48	permit
+121.244.91.52	permit
+122.15.156.182	permit
 123.126.78.64/29	permit
 124.108.96.24/31	permit
 124.108.96.28/31	permit
@@ -1369,7 +1421,6 @@
 129.213.195.191	permit
 130.61.9.72	permit
 130.162.39.83	permit
-130.211.0.0/22	permit
 130.248.172.0/24	permit
 130.248.173.0/24	permit
 131.253.30.0/24	permit
@@ -1383,7 +1434,21 @@
 134.170.141.64/26	permit
 134.170.143.0/24	permit
 134.170.174.0/24	permit
+135.84.80.0/24	permit
+135.84.81.0/24	permit
+135.84.82.0/24	permit
+135.84.83.0/24	permit
 135.84.216.0/22	permit
+136.143.160.0/24	permit
+136.143.161.0/24	permit
+136.143.162.0/24	permit
+136.143.176.0/24	permit
+136.143.177.0/24	permit
+136.143.178.49	permit
+136.143.182.0/23	permit
+136.143.184.0/24	permit
+136.143.188.0/24	permit
+136.143.190.0/23	permit
 136.147.128.0/20	permit
 136.147.135.0/24	permit
 136.147.176.0/20	permit
@@ -1398,6 +1463,7 @@
 139.138.46.219	permit
 139.138.57.55	permit
 139.138.58.119	permit
+139.167.79.86	permit
 139.180.17.0/24	permit
 140.238.148.191	permit
 141.148.159.229	permit
@@ -1518,6 +1584,9 @@
 164.152.23.32	permit
 164.152.25.241	permit
 164.177.132.168/30	permit
+165.173.128.0/24	permit
+165.173.180.250/31	permit
+165.173.182.250/31	permit
 166.78.68.0/22	permit
 166.78.68.221	permit
 166.78.69.169	permit
@@ -1542,10 +1611,18 @@
 168.138.5.36	permit
 168.138.73.51	permit
 168.138.77.31	permit
+168.138.237.153	permit
 168.245.0.0/17	permit
 168.245.12.252	permit
 168.245.46.9	permit
 168.245.127.231	permit
+169.148.129.0/24	permit
+169.148.131.0/24	permit
+169.148.142.10	permit
+169.148.144.0/25	permit
+169.148.144.10	permit
+169.148.146.0/23	permit
+169.148.188.182	permit
 170.10.128.0/24	permit
 170.10.129.0/24	permit
 170.10.132.56/29	permit
@@ -1722,7 +1799,16 @@
 199.16.156.0/22	permit
 199.33.145.1	permit
 199.33.145.32	permit
+199.34.22.36	permit
 199.59.148.0/22	permit
+199.67.80.2	permit
+199.67.80.20	permit
+199.67.82.2	permit
+199.67.82.20	permit
+199.67.84.0/24	permit
+199.67.86.0/24	permit
+199.67.88.0/24	permit
+199.67.90.0/24	permit
 199.101.161.130	permit
 199.101.162.0/25	permit
 199.122.120.0/21	permit
@@ -1779,9 +1865,11 @@
 204.92.114.187	permit
 204.92.114.203	permit
 204.92.114.204/31	permit
+204.216.164.202	permit
 204.220.160.0/21	permit
 204.220.168.0/21	permit
 204.220.176.0/20	permit
+204.220.181.105	permit
 204.232.168.0/24	permit
 205.139.110.0/24	permit
 205.201.128.0/20	permit
@@ -1961,6 +2049,7 @@
 216.17.150.242	permit
 216.17.150.251	permit
 216.24.224.0/20	permit
+216.27.86.152/31	permit
 216.39.60.154/31	permit
 216.39.60.156/30	permit
 216.39.60.160/30	permit
@@ -1998,6 +2087,8 @@
 216.99.5.68	permit
 216.109.114.32/27	permit
 216.109.114.64/29	permit
+216.113.162.65	permit
+216.113.163.65	permit
 216.128.126.97	permit
 216.136.162.65	permit
 216.136.162.120/29	permit
@@ -2046,6 +2137,9 @@
 2603:1030:20e:3::23c	permit
 2603:1030:b:3::152	permit
 2603:1030:c02:8::14	permit
+2607:13c0:0001:0000:0000:0000:0000:7000/116	permit
+2607:13c0:0002:0000:0000:0000:0000:1000/116	permit
+2607:13c0:0004:0000:0000:0000:0000:0000/116	permit
 2607:f8b0:4000::/36	permit
 2620:109:c003:104::/64	permit
 2620:109:c003:104::215	permit

+ 138 - 45
data/web/lang/lang.cs-cz.json

@@ -1,7 +1,7 @@
 {
     "acl": {
         "alias_domains": "Doménové aliasy",
-        "app_passwds": "Hesla aplikací",
+        "app_passwds": "Správa hesel aplikací",
         "bcc_maps": "BCC mapy",
         "delimiter_action": "Zacházení s označkovanou poštou",
         "domain_desc": "Změnit popis domény",
@@ -82,12 +82,12 @@
         "password": "Heslo",
         "password_repeat": "Potvrzení nového hesla (opakujte)",
         "port": "Port",
-        "post_domain_add": "Po přidání nové domény je nutné restartovat SOGo kontejner!",
+        "post_domain_add": "Po přidání nové domény se musí restartovat kontejner SOGo!<br><br>Je také třeba ověřit nastavení DNS nové domény. Po ověření restartujte kontejner \"acme-mailcow\", aby se vygenerovaly certifikáty domény (autoconfig.&lt;domain&gt;, autodiscover.&lt;domain&gt;).<br>Tento krok je volitelný, a provede se automaticky každých 24 hodin.",
         "private_comment": "Soukromý komentář",
         "public_comment": "Veřejný komentář",
         "quota_mb": "Kvóta (MiB)",
         "relay_all": "Předávání všech příjemců",
-        "relay_all_info": "<small>Pokud se rozhodnete <b>nepředávat</b> všechny příjemce, musíte přidat prázdnou mailovou schránku pro každého příjemce, který se má předávat.</small>",
+        "relay_all_info": "Pokud se rozhodnete <b>nepředávat</b> všechny příjemce, musíte přidat prázdnou mailovou schránku pro každého příjemce, který se má předávat.",
         "relay_domain": "Předávání domény",
         "relay_transport_info": "<div class=\"badge fs-6 bg-info\">Info</div> U této domény lze pro konkrétní cíl nastavit transportní mapu. Není-li nastavena, použije se MX záznam.",
         "relay_unknown_only": "Předávat jen neexistující schránky. Doručení do existujících proběhne lokálně.",
@@ -183,7 +183,7 @@
         "f2b_ban_time": "Doba blokování (s)",
         "f2b_blacklist": "Sítě/hostitelé na blacklistu",
         "f2b_filter": "Regex filtre",
-        "f2b_list_info": "Síť nebo hostitelé na blacklistu mají vždy větší váhu než položky na whitelistu. Blacklist se sestavuje vždy při startu kontejneru.",
+        "f2b_list_info": "Síť nebo hostitelé na blacklistu mají vždy větší váhu než položky na whitelistu. <b>Každá úprava seznamů trvá pár sekund.</b>",
         "f2b_max_attempts": "Max. pokusů",
         "f2b_netban_ipv4": "Rozsah IPv4 podsítě k zablokování (8-32)",
         "f2b_netban_ipv6": "Rozsah IPv6 podsítě k zablokování (8-128)",
@@ -256,7 +256,7 @@
         "quarantine_exclude_domains": "Vyloučené domény a doménové aliasy",
         "quarantine_max_age": "Maximální stáří ve dnech<br><small>Hodnota musí být rovna nebo větší než 1 den.</small>",
         "quarantine_max_score": "Neposílat notifikace pokud je spam skóre větší než hodnota:<br><small>Výchozí je 9999.0</small>",
-        "quarantine_max_size": "Maximální velikost v MiB (větší prvky budou smazány)<br />0 <b>neznamená</b> neomezeno.",
+        "quarantine_max_size": "Maximální velikost v MiB (větší prvky budou smazány)<br /><small>0 <b>neznamená</b> neomezeno.</small>",
         "quarantine_notification_html": "Šablona upozornění:<br><small>Ponechte prázdné, aby se obnovila výchozí šablona.</small>",
         "quarantine_notification_sender": "Odesílatel upozornění",
         "quarantine_notification_subject": "Předmět upozornění",
@@ -264,7 +264,7 @@
         "quarantine_release_format": "Formát propuštěných položek",
         "quarantine_release_format_att": "Jako příloha",
         "quarantine_release_format_raw": "Nezměněný originál",
-        "quarantine_retention_size": "Počet zadržených zpráv na mailovou schránku<br />0 znamená <b>neaktivní</b>.",
+        "quarantine_retention_size": "Počet zadržených zpráv na mailovou schránku<br /><small>0 znamená <b>neaktivní</b>.</small>",
         "quota_notification_html": "Šablona upozornění:<br><small>Ponechte prázdné, aby se obnovila výchozí šablona.</small>",
         "quota_notification_sender": "Odesílatel upozornění",
         "quota_notification_subject": "Předmět upozornění",
@@ -283,7 +283,7 @@
         "relay_rcpt": "\"Komu:\" adresa",
         "relay_run": "Provést test",
         "relayhosts": "Transporty podle odesílatele",
-        "relayhosts_hint": "Zde definujte transporty podle odesílatele, jež pak můžete použít v nastavení domény.<br>\r\nProtokol transportu je vždy \"smtp:\". Bere se v potaz uživatelské nastavení odchozího TLS.",
+        "relayhosts_hint": "Zde definujte transporty podle odesílatele, jež pak můžete použít v nastavení domény.<br>\nProtokol transportu je vždy \"smtp:\" a použije se TLS, je-li nabídnuto. Zabalené TLS (SMTPS) se nepodporuje. Bere se v potaz uživatelské nastavení odchozího TLS.<br>\nTýká se vybraných domén včetně doménových aliasů.",
         "remove": "Smazat",
         "remove_row": "Smazat řádek",
         "reset_default": "Obnovit výchozí nastavení",
@@ -299,7 +299,7 @@
         "rsettings_preset_2": "Postmasteři chtějí dostávat spam",
         "rsettings_preset_3": "Povolit jen určité odesílatele pro schránku (např. jen interní schránka)",
         "rsettings_preset_4": "Deaktivujte Rspamd pro doménu",
-        "rspamd_com_settings": "<a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd dokumentace</a>\r\n  - Název nastavení bude automaticky vygenerován, viz níže uvedené předvolby.",
+        "rspamd_com_settings": "Název nastavení se vygeneruje automaticky, viz ukázky nastavení níže. Více informací viz <a href=\"https://rspamd.com/doc/configuration/settings.html#settings-structure\" target=\"_blank\">Rspamd dokumentace</a>",
         "rspamd_global_filters": "Mapa globálních filtrů",
         "rspamd_global_filters_agree": "Budu opatrný!",
         "rspamd_global_filters_info": "Mapa globálních filtrů obsahuje jiné globální black- a whitelisty.",
@@ -324,8 +324,8 @@
         "to_top": "Zpět na začátek",
         "transport_dest_format": "Formát: example.org, .example.org, *, box@example.org (vícero položek lze oddělit čárkou)",
         "transport_maps": "Transportní mapy",
-        "transport_test_rcpt_info": "&#8226; Na otestování odchozí pošty je možné použít null@hosted.mailcow.de jako adresáta",
-        "transports_hint": "→ Položka transportní mapy <b>přebíjí</b> transportní mapu podle odesílatele</b>.<br>\r\n→ Uživatelské nastavení odchozího TLS se ignoruje a lze je výhradně vynutit mapováním TLS pravidel.<br>\r\n→ Protokol transportu je vždy \"smtp:\".<br>\r\n→ Adresy, jež odpovídají výrazu \"/localhost$/\", se vždy předají přes \"local:\", takže nejsou zahrnuty do definice cíle \"*\".<br>\r\n→ Pro stanovení přihlašovacích údajů dalšího skoku, např. \"[host]:25\", bude Postfix <b>vždy</b> hledat nejdříve \"host\" a teprve pak \"[host]:25\". Kvůli tomu nelze použít současně \"host\" a \"[host]:25\"",
+        "transport_test_rcpt_info": "&#8226; K otestování předávání pošty ven použijte null@hosted.mailcow.de.",
+        "transports_hint": "&#8226; Položka transportní mapy <b>přebíjí</b> transportní mapu podle odesílatele</b>.<br>\n&#8226; Transporty založené na MX mají přednost.<br>\n&#8226; Uživatelské nastavení odchozího TLS se ignoruje a lze je vynutit výhradně mapou TLS pravidel.<br>\n&#8226; Transportní služnou pro tyto transporty je vždy \"smtp:\" a použije se TLS, je-li nabídnuto. Zabalené TLS (SMTPS) se nepodporuje.<br>\n&#8226; Adresy, jež odpovídají výrazu \"/localhost$/\", se vždy předají přes \"local:\", takže nejsou zahrnuty do definice cíle \"*\".<br>\n&#8226; Pro stanovení přihlašovacích údajů dalšího skoku, např. \"[host]:25\", bude Postfix <b>vždy</b> hledat nejdříve \"host\" a teprve pak \"[host]:25\". Kvůli tomu nelze použít současně \"host\" a \"[host]:25\".",
         "ui_footer": "Pata stránka (HTML povoleno)",
         "ui_header_announcement": "Oznámení",
         "ui_header_announcement_active": "Nastavit jako aktivní",
@@ -344,17 +344,70 @@
         "validate_license_now": "Ověřit GUID na licenčním serveru",
         "verify": "Ověřit",
         "yes": "&#10003;",
-        "f2b_ban_time_increment": "Délka banu je prodlužována s každým dalším banem",
-        "f2b_max_ban_time": "Maximální délka banu (s)",
+        "f2b_ban_time_increment": "Délka bloku se prodlužuje s každým dalším zablokováním",
+        "f2b_max_ban_time": "Maximální délka bloku (s)",
         "cors_settings": "Nastavení CORS",
-        "queue_unban": "zrušit ban",
+        "queue_unban": "odblokovat",
         "password_reset_info": "Pokud není zadán žádný e-mail pro obnovení, nelze tuto funkci použít.",
         "password_reset_settings": "Nastavení obnovení hesla",
         "password_settings": "Nastavení hesel",
         "password_reset_tmpl_html": "HTML šablona",
         "password_reset_tmpl_text": "Textová šablona",
         "reset_password_vars": "<code>{{link}}</code> Vygenerovaný odkaz pro obnovení hesla<br><code>{{username}}</code> Název mailboxu uživatele, který požádal o resetování hesla.<br><code>{{username2}}</code> Název schránky pro obnovení<br><code>{{date}}</code> Datum podání žádosti o obnovení hesla<br><code>{{token_lifetime}}</code> Délka životnosti tokenu v minutách<br><code>{{hostname}}</code> Název serveru mailcow",
-        "restore_template": "Ponechte prázdné pro obnovení výchozí šablony."
+        "restore_template": "Ponechte prázdné pro obnovení výchozí šablony.",
+        "copy_to_clipboard": "Text zkopírován do schránky!",
+        "iam_login_provisioning": "Automaticky vytvořit uživatele při přihlášení",
+        "user_quicklink": "Skrýt zkratku na přihlášení uživatele",
+        "domainadmin_quicklink": "Skrýt zkratku na přihlášení správce domény",
+        "iam_auth_flow_info": "Kromě metody autorizačního kódu (Authorization Code Flow, výchozího v Keycloaku), jež se používá pro SSO, podporuje mailcow také metody autentizaci přímo pomocí přihlašovacích údajů. The metoda Mailpassword Flow se pokusí ověřit přihlašovací údaje uživatele přímo v Admin REST API Keycloaku. mailcow získá hash hesla z atributu <code>mailcow_password</code> , namapovaného v Keycloaku.",
+        "iam_default_template_description": "Nemá-li uživatel přiřazenu šablonu, použije se výchozí šablona k vytvoření schránky, ale ne k její úpravě či aktualizaci.",
+        "iam_userinfo_url": "Koncový bod pro informace o uživatelích",
+        "iam_redirect_url": "URL přesměrování",
+        "user_link": "Odkaz pro uživatele",
+        "force_sso_text": "Je-li nastaven externí poskytovatel OIDC, zapnutím této volby skryjete výchozí přihlašovací formulář. Zůstane vidět jen tlačítko pro SSO",
+        "iam_mapping": "Mapování atributů",
+        "iam_bindpass": "Heslo pro bind",
+        "iam_periodic_full_sync": "Pravidelná úplná synchronizace",
+        "iam_port": "Port",
+        "iam_realm": "Realm",
+        "iam_rest_flow": "Mailpassword Flow",
+        "iam_server_url": "URL serveru",
+        "iam_sso": "Single Sign-On",
+        "iam_sync_interval": "Interval synchronizace/importu (min)",
+        "iam_test_connection": "Test spojení",
+        "iam_token_url": "Koncový bod pro tokeny",
+        "iam_username_field": "Pole uživatelského jména",
+        "iam_binddn": "Doména pro bind",
+        "iam_use_ssl": "Používat SSL",
+        "iam_use_tls": "Používat StartTLS",
+        "iam_version": "Verze",
+        "quicklink_text": "Zobrazení zkratek k dalším přihlašovacím stránkám",
+        "iam_use_tls_info": "Je-li zapnuto TLS, musí se používat standardní port pro LDAP (389). Port SSL nelze použít.",
+        "ignore_ssl_error": "Ignorovat chyby SSL",
+        "iam_use_ssl_info": "Je-li zapnuto SSL a nastaven port 389, použije se automaticky port 636.",
+        "task": "Úloha",
+        "app_hide": "Skrýt při přihlášení",
+        "admin_quicklink": "Skrýt zkratku na přihlášení správce",
+        "allowed_methods": "Access-Control-Allow-Methods",
+        "allowed_origins": "Access-Control-Allow-Origin",
+        "login_page": "Přihlašovací stránka",
+        "f2b_manage_external": "Spravovat Fail2Ban externě",
+        "f2b_manage_external_info": "Fail2ban bude udržovat seznam zakázaných adres, ale nebude aktivně nastavovat pravidla blokování. Pro blokování použijte seznam adres níže.",
+        "filter": "Filtr",
+        "force_sso": "Vypnout přihlášení mailcow a ponechat jen SSO",
+        "iam": "Poskytovatel identity",
+        "iam_attribute_field": "Pole atributu",
+        "iam_authorize_url": "Autorizační koncový bod",
+        "iam_basedn": "Doména (Base DN)",
+        "iam_client_id": "ID klienta",
+        "iam_client_secret": "Tajný kód klienta",
+        "iam_client_scopes": "Scopes klienta",
+        "iam_default_template": "Výchozí šablona",
+        "iam_description": "Nastavení externího poskytovatele ověření<br>Schránky uživatele se vytvoří po prvním přihlášení automaticky, pokud je tedy nastaveno mapování atributů.",
+        "iam_extra_permission": "Aby vše fungovalo, musí mít mailcow klient v Keycloaku nastavený <code>servisní účet</code> a povolení <code>view-users</code>.",
+        "iam_host": "Hostitel",
+        "iam_host_info": "Zadejte jeden či více hostitelů, oddělte čárkou.",
+        "iam_import_users": "Importovat uživatele"
     },
     "danger": {
         "access_denied": "Přístup odepřen nebo jsou neplatná data ve formuláři",
@@ -408,7 +461,7 @@
         "is_alias": "%s je již známa jako adresa aliasu",
         "is_alias_or_mailbox": "%s je již známa jako adresa aliasu, mailové schránky nebo aliasu rozvedeného z aliasu domény.",
         "is_spam_alias": "%s je již známa jako adresa spamového aliasu",
-        "last_key": "Nelze smazat poslední klíč",
+        "last_key": "Nelze smazat poslední klíč, vypněte tedy celé TFA.",
         "login_failed": "Přihlášení selhalo",
         "mailbox_defquota_exceeds_mailbox_maxquota": "Výchozí kvóta překračuje maximální kvótu schránky\"",
         "mailbox_invalid": "Název mailové schránky je neplatný",
@@ -486,7 +539,16 @@
         "demo_mode_enabled": "Demo režim je zapnutý",
         "recovery_email_failed": "Nepodařilo se odeslat e-mail pro obnovení. Obraťte se prosím na svého správce.",
         "password_reset_invalid_user": "Mailbox nebyl nalezen nebo není nastaven žádný e-mail pro obnovu",
-        "password_reset_na": "Obnovení hesla není v současné době k dispozici. Obraťte se prosím na svého správce."
+        "password_reset_na": "Obnovení hesla není v současné době k dispozici. Obraťte se prosím na svého správce.",
+        "generic_server_error": "Došlo k nečekané chybě. Obraťte se na vašeho správce.",
+        "to_invalid": "Adresát nemůže být prázdný",
+        "authsource_in_use": "Poskytovatele identity nelze změnit nebo odstranit, neboť se právě používá pro jednoho či více uživatelů.",
+        "iam_test_connection": "Spojení selhalo",
+        "img_dimensions_exceeded": "Obrázek je větší než povolené rozměry",
+        "img_size_exceeded": "Obrázek má větší než povolenou velikost souboru",
+        "invalid_reset_token": "Neplatný resetovací token",
+        "required_data_missing": "Chybí potřebný údaj %s",
+        "reset_token_limit_exceeded": "Byl překročen limit na reset tokeny. Zkuste to později."
     },
     "datatables": {
         "emptyTable": "Tabulka neobsahuje žádná data",
@@ -548,7 +610,8 @@
         "update_failed": "Nepodařilo se zkontrolovat aktualizace",
         "wip": "Nedokončená vývojová verze",
         "memory": "Paměť",
-        "container_disabled": "Kontejner je zastaven nebo zakázán"
+        "container_disabled": "Kontejner je zastaven nebo zakázán",
+        "cores": "jádra"
     },
     "diagnostics": {
         "cname_from_a": "Hodnota odvozena z A/AAAA záznamu. Lze použít, pokud záznam ukazuje na správný zdroj.",
@@ -569,7 +632,7 @@
         "alias": "Upravit alias",
         "allow_from_smtp": "Umožnit pouze těmto IP adresám používat <b>SMTP</b>",
         "allow_from_smtp_info": "Nechte prázdné pro povolení všech odesílatelů.<br>IPv4/IPv6 adresy a sítě.",
-        "allowed_protocols": "Povolené protokoly",
+        "allowed_protocols": "Povolené protokoly pro přímá spojení (netýká se protokolů na změnu hesla)",
         "app_name": "Název aplikace",
         "app_passwd": "Heslo aplikace",
         "app_passwd_protocols": "Povolené protokoly pro hesla aplikací",
@@ -607,7 +670,7 @@
         "inactive": "Neaktivní",
         "kind": "Druh",
         "last_modified": "Naposledy změněn",
-        "lookup_mx": "Cíl je regulární výraz který se shoduje s MX záznamem (<code>.*\\.google\\.com</code> směřuje veškerou poštu na MX které jsou cílem pro google.com přes tento skok)",
+        "lookup_mx": "Cíl je regulární výraz, jenž se porovná s MX záznamem (např. <code>.*\\.google\\.com</code> na tento skok nasměruje veškerou poštu s MX, jež končí na *.google.com)",
         "mailbox": "Úprava mailové schránky",
         "mailbox_quota_def": "Výchozí kvóta schránky",
         "mailbox_relayhost_info": "Aplikované jen na uživatelskou schránku a přímé aliasy, přepisuje předávající server domény.",
@@ -641,7 +704,7 @@
         "ratelimit": "Omezení přenosu",
         "redirect_uri": "URL přesměrování/odvolání",
         "relay_all": "Předávání všech příjemců",
-        "relay_all_info": "<small>Pokud se rozhodnete <b>nepředávat</b> všechny příjemce, musíte přidat prázdnou mailovou schránku pro každého příjemce, který se má předávat.</small>",
+        "relay_all_info": "Pokud se rozhodnete <b>nepředávat</b> všechny příjemce, musíte přidat prázdnou mailovou schránku pro každého příjemce, který se má předávat.",
         "relay_domain": "Předávání domény",
         "relay_transport_info": "<div class=\"badge fs-6 bg-info\">Info</div> U této domény lze pro konkrétní cíl nastavit transportní mapu. Není-li nastavena, použije se MX záznam.",
         "relay_unknown_only": "Předávat jen neexistující schránky. Doručení do existujících proběhne lokálně.",
@@ -666,7 +729,7 @@
         "spam_score": "Nastavte vlastní skóre spamu",
         "subfolder2": "Synchronizace do podsložky v cílovém umístění<br><small>(prázdné = nepoužívat podsložku)</small>",
         "syncjob": "Upravit synchronizační úlohu",
-        "target_address": "Cílová adresa/y<br /> <small>(oddělte čárkou)</small>",
+        "target_address": "Cílová adresa/y <small>(oddělte čárkou)</small>",
         "target_domain": "Cílová doména",
         "timeout1": "Časový limit pro připojení ke vzdálenému serveru",
         "timeout2": "Časový limit pro připojení k lokálnímu serveru",
@@ -690,7 +753,13 @@
         "custom_attributes": "Vlastní atributy",
         "footer_exclude": "Vyloučit ze zápatí",
         "domain_footer_skip_replies": "Ignorovat patičku u odpovědí na e-maily",
-        "password_recovery_email": "E-mail pro obnovu hesla"
+        "password_recovery_email": "E-mail pro obnovu hesla",
+        "mailbox_rename": "Přejmenovat schránku",
+        "mailbox_rename_agree": "Mám vytvořenou zálohu.",
+        "mailbox_rename_warning": "DŮLEŽITÉ! Vytvořte si zálohu schránky, než ji přejmenujete.",
+        "mailbox_rename_alias": "Automaticky vytvořit alias",
+        "mailbox_rename_title": "Nový název zdejší schránky",
+        "pushover": "Pushover"
     },
     "fido2": {
         "confirm": "Potvrdit",
@@ -711,7 +780,7 @@
         "cancel": "Zrušit",
         "confirm_delete": "Potvdit smazání",
         "delete_now": "Smazat",
-        "delete_these_items": "Prosím potvrďte změny objektu id:",
+        "delete_these_items": "Prosím potvrďte změny objektu id",
         "hibp_check": "Ověřit heslo v databázi hacknutých hesel haveibeenpwned.com",
         "hibp_nok": "Nalezeno! Toto je potenciálně nebezpečné heslo!",
         "hibp_ok": "Nebyla nalezena žádná shoda.",
@@ -720,12 +789,12 @@
         "restart_container": "Restartovat kontejner",
         "restart_container_info": "<b>Důležité:</b> Šetrný restart může chvíli trvat, prosím čekejte...",
         "restart_now": "Restartovat nyní",
-        "restarting_container": "Restartuje se kontejner, může to chvilku trvat..."
+        "restarting_container": "Restartuje se kontejner, může to chvilku trvat"
     },
     "header": {
         "administration": "Hlavní nastavení",
         "apps": "Aplikace",
-        "debug": "Systémové informace",
+        "debug": "Informace",
         "email": "E-Mail",
         "mailcow_system": "Systém",
         "mailcow_config": "Nastavení",
@@ -753,7 +822,14 @@
         "new_password": "Nové heslo",
         "new_password_confirm": "Ověření nového hesla",
         "reset_password": "Obnovit heslo",
-        "request_reset_password": "Požádat o změnu hesla"
+        "request_reset_password": "Požádat o změnu hesla",
+        "login_domainadmintext": "Přihlášení správce domény",
+        "login_linkstext": "Hledáte jinou přihlašovací stránku?",
+        "login_usertext": "Přihlášení uživatele",
+        "login_admintext": "Přihlášení správce",
+        "login_user": "Přihlášení uživatele",
+        "login_dadmin": "Přihlášení správce domény",
+        "login_admin": "Přihlášení správce"
     },
     "mailbox": {
         "action": "Akce",
@@ -785,7 +861,7 @@
         "bcc": "BCC",
         "bcc_destination": "Cíl kopie",
         "bcc_destinations": "Cíl kopií",
-        "bcc_info": "Skryté kopie (Mapa BCC) se používá pro tiché předávání kopií všech zpráv na jinou adresu. Při použití skryté kopie typu <i>Přijatý e-mail</i> budou přeposlány všechny maily směřující na dotyčnou adresu nebo doménu.\nU typu <i>Odeslaný e-mail</i> budou přeposlány všechny maily odeslané z dotyčné adresy nebo domény.\nPokud selže přeposlání na cílovou adresu, tak odesílatel o tom nebude informován.",
+        "bcc_info": "Skrytá kopie (mapa BCC) se používá pro tiché předávání kopií všech zpráv na jinou adresu. Mapa příjemců se použije, funguje-li je místní cíl jako adresát zprávy. Totéž platí pro mapy odesílatelů.\nMístní cíl se nedozví, selže-li doručení na cíl BCC.",
         "bcc_local_dest": "Týká se",
         "bcc_map": "Skrytá kopie",
         "bcc_map_type": "Typ skryté kopie",
@@ -840,7 +916,7 @@
         "last_run_reset": "Znovu naplánovat",
         "mailbox": "Mailová schránka",
         "mailbox_defaults": "Výchozí nastavení",
-        "mailbox_defaults_info": "Definuje výchozí nastavení pro nové schránky",
+        "mailbox_defaults_info": "Definuje výchozí nastavení pro nové schránky.",
         "mailbox_defquota": "Výchozí velikost schránky",
         "mailbox_templates": "Šablony schránek",
         "mailbox_quota": "Max. velikost schránky",
@@ -860,7 +936,7 @@
         "private_comment": "Soukromý komentář",
         "public_comment": "Veřejný komentář",
         "q_add_header": "Složka nevyžádaná pošta",
-        "q_all": "Všechny kategorie",
+        "q_all": " Nevyžádaná pošta a Odmítnuta",
         "q_reject": "Odmítnuta",
         "quarantine_category": "Kategorie oznámení karantény",
         "quarantine_notification": "Upozornění z karantény",
@@ -869,7 +945,7 @@
         "recipient_map": "Mapa příjemce",
         "recipient_map_info": "Mapy příjemců slouží k nahrazení cílové adresy zprávy před doručením.",
         "recipient_map_new": "Nový přijemce",
-        "recipient_map_new_info": "Cílová adresa mapy příjemce musí být emailová adresa nebo název domény.",
+        "recipient_map_new_info": "Cílovou adresou mapy příjemců musí být emailová adresa nebo název domény.",
         "recipient_map_old": "Původní příjemce",
         "recipient_map_old_info": "Původní příjemce musí být platná emailová adresa nebo název domény.",
         "recipient_maps": "Mapy příjemců",
@@ -888,7 +964,7 @@
         "sieve_preset_5": "Automatický odpovídač (dovolená)",
         "sieve_preset_6": "Odmítnout zprávu s odpovědí",
         "sieve_preset_7": "Přesměrovat a ponechat/zahodit",
-        "sieve_preset_8": "Zahodit zprávu poslanou na alias, do něhož patří i odesílatel",
+        "sieve_preset_8": "Zprávu od určitého odesílatele přesměrovat, označit jako přečtenou a uložit do složky",
         "sieve_preset_header": "Vizte následující ukázková pravidla. Více informací na <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedii</a>.",
         "sogo_visible": "Alias dostupný v SOGo",
         "sogo_visible_n": "Skrýt alias v SOGo",
@@ -928,7 +1004,8 @@
         "waiting": "Čekání",
         "weekly": "Každý týden",
         "yes": "&#10003;",
-        "relay_unknown": "Předávání neexistujících schránek"
+        "relay_unknown": "Předávání neexistujících schránek",
+        "iam": "Poskytovatel identity"
     },
     "oauth2": {
         "access_denied": "K udělení přístupu se přihlašte jako vlastník mailové schránky.",
@@ -936,7 +1013,7 @@
         "deny": "Zamítnout",
         "permit": "Ověřit aplikaci",
         "profile": "Profil",
-        "profile_desc": "Zobrazit osobní údaje: uživ. jméno, jméno, datum vytvoření a úpravy, stav",
+        "profile_desc": "Zobrazit osobní údaje: uživ. jméno, celé jméno, datum vytvoření a úpravy, stav",
         "scope_ask_permission": "Aplikace požádala o následující oprávnění"
     },
     "quarantine": {
@@ -1066,7 +1143,7 @@
         "logged_in_as": "Přihlášen jako %s",
         "mailbox_added": "Mailová schránka %s přidána",
         "mailbox_modified": "Změny mailové schránky %s uloženy",
-        "mailbox_removed": "Mailová schránka %s  odebrána",
+        "mailbox_removed": "Mailová schránka %s odstraněna",
         "nginx_reloaded": "Nginx reload byl úspěšný",
         "object_modified": "Změny objektu %s uloženy",
         "password_policy_saved": "Politika hesel byla úspěšně uložena",
@@ -1100,7 +1177,14 @@
         "verified_yotp_login": "Yubico OTP přihlášení ověřeno",
         "cors_headers_edited": "Nastavení CORS byla uložena",
         "domain_footer_modified": "Změny patičky domény %s byly uloženy",
-        "recovery_email_sent": "E-mail k obnovení byl odeslán na adresu %s"
+        "recovery_email_sent": "E-mail k obnovení byl odeslán na adresu %s",
+        "custom_login_modified": "Úpravy přihlašování úspěšně uloženy",
+        "domain_add_dkim_available": "Klíč DKIM už existoval",
+        "f2b_banlist_refreshed": "Seznam zákazů úspěšně obnoven.",
+        "iam_test_connection": "Spojení úspěšně navázano",
+        "ip_check_opt_in_modified": "Kontrola IP adresy úspěšně uložena",
+        "mailbox_renamed": "Schránka přejmenována z %s na %s",
+        "password_changed_success": "Heslo úspěšně změněno"
     },
     "tfa": {
         "api_register": "%s používá Yubico Cloud API. Prosím získejte API klíč pro své Yubico <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">ZDE</a>",
@@ -1116,7 +1200,7 @@
         "none": "Deaktivovat",
         "reload_retry": "- (znovu načtěte stránku, opakuje-li se chyba)",
         "scan_qr_code": "Prosím načtěte následující kód svou aplikací na ověření nebo zadejte kód ručně.",
-        "select": "Prosím vyberte...",
+        "select": "Vyberte prosím",
         "set_tfa": "Nastavení způsobu dvoufaktorového ověření",
         "start_webauthn_validation": "Zahájit inicializaci",
         "tfa": "Dvoufaktorové ověření (TFA)",
@@ -1125,7 +1209,10 @@
         "webauthn": "WebAuthn ověření",
         "waiting_usb_auth": "<i>Čeká se na USB zařízení...</i><br><br>Prosím stiskněte tlačítko na svém WebAuthn USB zařízení.",
         "waiting_usb_register": "<i>Čeká se na USB zařízení...</i><br><br>Prosím zadejte své heslo výše a potvrďte WebAuthn registraci stiskem tlačítka na svém WebAuthn USB zařízení.",
-        "yubi_otp": "Yubico OTP ověření"
+        "yubi_otp": "Yubico OTP ověření",
+        "u2f_deprecated": "Zdá se, že váš klíč byl registrován zastaralou metodou U2F. Dojde k deaktivaci dvoufaktorové autentifikace a smazání klíče.",
+        "authenticators": "Autentifikátory",
+        "u2f_deprecated_important": "Registrujte svůj klíč novou metodou WebAuthn ve správě správců."
     },
     "user": {
         "action": "Akce",
@@ -1141,7 +1228,7 @@
         "alias_time_left": "Zbývající čas",
         "alias_valid_until": "Platný do",
         "aliases_also_send_as": "Smí odesílat také jako uživatel",
-        "aliases_send_as_all": "Nekontrolovat přístup odesílatele pro následující doménu(y) a jejich aliasy domény:",
+        "aliases_send_as_all": "Nekontrolovat přístup odesílatele pro následující doménu(y) a jejich aliasy",
         "allowed_protocols": "Povolené protokoly",
         "app_hint": "Hesla aplikací jsou alternativní heslo pro přihlášení k IMAP, SMTP, CalDAV, CardDAV a EAS. Uživatelské jméno zůstává stejné.<br>SOGo však nelze s heslem aplikace použít.",
         "app_name": "Název aplikace",
@@ -1162,8 +1249,8 @@
         "description": "Popis",
         "delete_ays": "Potvrďte odstranění.",
         "direct_aliases": "Přímé aliasy",
-        "direct_aliases_desc": "Na přímé aliasy se uplatňuje filtr spamu a nastavení pravidel TLS",
-        "direct_protocol_access": "Tento uživatel mailové schránky má <b>přímý externí přístup</b> k následujícím protokolům a aplikacím. Toto nastavení je řízeno správcem. Pro udělení přístupu k jednotlivým protokolům a aplikacím lze vytvořit hesla aplikací.<br>Tlačítko \"Webmailu\" zajišťuje jednotné přihlášení k SOGo a je vždy k dispozici.",
+        "direct_aliases_desc": "Na přímé aliasy se uplatňuje filtr spamu a nastavení pravidel TLS.",
+        "direct_protocol_access": "Tento uživatel mailové schránky má <b>přímý externí přístup</b> k následujícím protokolům a aplikacím. Toto nastavení je řízeno správcem. Pro udělení přístupu k jednotlivým protokolům a aplikacím lze vytvořit hesla aplikací.<br>Tlačítko \"Webmail\" zajišťuje jednotné přihlášení k SOGo a je vždy k dispozici.",
         "eas_reset": "Smazat mezipaměť zařízení ActiveSync",
         "eas_reset_help": "Obnovení mezipaměti zařízení pomůže zpravidla obnovit poškozený profil služby ActiveSync.<br><b>Upozornění:</b> Všechna data budou opětovně stažena!",
         "eas_reset_now": "Smazat",
@@ -1204,7 +1291,7 @@
         "no_last_login": "Žádný záznam o přihlášení",
         "no_record": "Žádný záznam",
         "open_logs": "Otevřít záznam",
-        "open_webmail_sso": "Webmailu",
+        "open_webmail_sso": "Webmail",
         "password": "Heslo",
         "password_now": "Současné heslo (pro potvrzení změny)",
         "password_repeat": "Heslo (znovu)",
@@ -1241,8 +1328,8 @@
         "spamfilter": "Filtr spamu",
         "spamfilter_behavior": "Hodnocení",
         "spamfilter_bl": "Seznam zakázaných adres (blacklist)",
-        "spamfilter_bl_desc": "Zakázané emailové adresy <b>budou vždy klasifikovány jako spam a odmítnuty</b>. Lze použít zástupné znaky (*). Filtr se použije pouze na přímé aliasy (s jednou cílovou mailovou schránkou), s výjimkou doménových košů a samotné mailové schránky.",
-        "spamfilter_default_score": "Výchozí hodnoty:",
+        "spamfilter_bl_desc": "Zakázané emailové adresy budou <b>vždy</b> klasifikovány jako spam a odmítnuty. Odmítnutá pošta <b>nebude</b> uložena do karantény. Lze použít zástupné znaky (*). Filtr se použije pouze na přímé aliasy (s jednou cílovou poštovní schránkou), s výjimkou doménových košů a samotné poštovní schránky.",
+        "spamfilter_default_score": "Výchozí hodnoty",
         "spamfilter_green": "Zelená: tato zpráva není spam",
         "spamfilter_hint": "První hodnota představuje \"nízké spam skóre\" a druhá \"vysoké spam skóre\".",
         "spamfilter_red": "Červená: Tato zpráva je spam a server ji odmítne",
@@ -1274,7 +1361,7 @@
         "tag_in_subject": "V předmětu",
         "text": "Text",
         "title": "Předmět",
-        "tls_enforce_in": "Vynutit TLS pro příchozí poštu ",
+        "tls_enforce_in": "Vynutit TLS pro příchozí poštu",
         "tls_enforce_out": "Vynutit TLS pro odchozí poštu",
         "tls_policy": "Politika šifrování",
         "tls_policy_warning": "<strong>Varování:</strong> Pokud se rozhodnete vynutit šifrovaný přenos pošty, může dojít ke ztrátě e-mailů.<br>Zprávy, které nesplňují tuto politiku, budou mailovým systémem odmítnuty.<br>Tato volba ovlivňuje primární e-mailovou adresu (přihlašovací jméno), všechny adresy odvozené z doménových aliasů i aliasy, jež mají tuto mailovou schránku jako cíl.",
@@ -1290,7 +1377,13 @@
         "years": "let",
         "pushover_sound": "Zvukové upozornění",
         "password_reset_info": "Pokud není zadán e-mail pro obnovení hesla, nelze tuto funkci použít.",
-        "pw_recovery_email": "E-mail pro obnovení hesla"
+        "pw_recovery_email": "E-mail pro obnovení hesla",
+        "tfa_info": "Dvoufaktorová autentizace vám pomáhá chránit svůj účet. Je-li zapnuta, musíte si vytvořit aplikační hesla pro aplikace, jež dvoufaktorovou autentizaci nepodporují (např. poštovní klienti).",
+        "attribute": "Atribut",
+        "authentication": "Autentifikace",
+        "overview": "Přehled",
+        "protocols": "Protokoly",
+        "value": "Hodnota"
     },
     "warning": {
         "cannot_delete_self": "Nelze smazat právě přihlášeného uživatele",

+ 2 - 2
data/web/lang/lang.en-gb.json

@@ -205,8 +205,8 @@
         "f2b_whitelist": "Whitelisted networks/hosts",
         "filter": "Filter",
         "filter_table": "Filter table",
-        "force_sso_text": "If an external OIDC provider is configured, this option hides the default mailcow login froms and only shows the Singe Sign-On button",
-        "force_sso": "Disable mailcow Login and show only Singe Sign-On",
+        "force_sso_text": "If an external OIDC provider is configured, this option hides the default mailcow login forms and only shows the Single Sign-On button",
+        "force_sso": "Disable mailcow Login and show only Single Sign-On",
         "forwarding_hosts": "Forwarding Hosts",
         "forwarding_hosts_add_hint": "You can either specify IPv4/IPv6 addresses, networks in CIDR notation, host names (which will be resolved to IP addresses), or domain names (which will be resolved to IP addresses by querying SPF records or, in their absence, MX records).",
         "forwarding_hosts_hint": "Incoming messages are unconditionally accepted from any hosts listed here. These hosts are then not checked against DNSBLs or subjected to greylisting. Spam received from them is never rejected, but optionally it can be filed into the Junk folder. The most common use for this is to specify mail servers on which you have set up a rule that forwards incoming emails to your mailcow server.",

+ 73 - 12
data/web/lang/lang.fr-fr.json

@@ -359,7 +359,55 @@
         "service": "Service",
         "success": "Succès",
         "cors_settings": "Paramètres CORS",
-        "login_time": "Horodatage de connexion"
+        "login_time": "Horodatage de connexion",
+        "domainadmin_quicklink": "Masquer le lien rapide vers la page de connexion de l'administrateur du domaine",
+        "force_sso_text": "Si un fournisseur OIDC externe est configuré, cette option masque les formulaires de connexion par défaut de mailcow et n'affiche que le bouton Singe Sign-On",
+        "app_hide": "Masquer pour la connexion",
+        "admin_quicklink": "Masquer le lien rapide vers la page de connexion de l'administrateur",
+        "login_page": "Page de connexion",
+        "force_sso": "Désactiver la connexion mailcow et n'afficher que Singe Sign-On",
+        "iam_attribute_field": "Champ d'attribut",
+        "iam_authorize_url": "Endpoint d'autorisation",
+        "iam_auth_flow": "Flow d'authentification",
+        "iam_auth_flow_info": "Outre le flux de code d'autorisation (flux standard dans Keycloak), qui est utilisé pour la connexion unique, mailcow prend également en charge le flux d'authentification avec des informations d'identification directes. Le flux Mailpassword tente de valider les informations d'identification de l'utilisateur en utilisant l'API REST de Keycloak Admin. mailcow récupère le mot de passe haché dans l'attribut <code>mailcow_password</code>, qui est mappé dans Keycloak.",
+        "iam_basedn": "Base DN",
+        "iam_client_id": "ID Client",
+        "iam_client_secret": "Secret Client",
+        "iam_use_ssl": "Utiliser SSL",
+        "iam_redirect_url": "Url de redirection",
+        "iam_use_ssl_info": "Si le protocole SSL est activé et que le port est défini sur 389, il sera automatiquement remplacé par 636.",
+        "iam_use_tls_info": "Si vous activez TLS, vous devez utiliser le port par défaut de votre serveur LDAP (389). Les ports SSL ne peuvent pas être utilisés.",
+        "iam_version": "Version",
+        "ignore_ssl_error": "Ignorer les erreurs SSL",
+        "iam_login_provisioning": "Créer automatiquement l'utilisateur à la connexion",
+        "iam_mapping": "Mapping des attributs",
+        "iam_bindpass": "Lier le mot de passe",
+        "iam_periodic_full_sync": "Synchronisation complète périodique",
+        "iam_port": "Port",
+        "iam_realm": "Realm",
+        "iam_rest_flow": "Flow Mailpassword",
+        "iam_server_url": "URL du serveur",
+        "iam_sso": "Single Sign-On",
+        "iam_sync_interval": "Interval de Sync / Import (min)",
+        "iam_test_connection": "Test de connexion",
+        "iam_token_url": "Endpoint Token",
+        "iam_userinfo_url": "Endpoint User info",
+        "iam_username_field": "Champ du nom d'utilisateur",
+        "iam_binddn": "Bind DN",
+        "iam_use_tls": "Utiliser StartTLS",
+        "quicklink_text": "Afficher ou masquer les liens rapides vers d'autres pages de connexion sous le formulaire de connexion",
+        "task": "Tâche",
+        "user_link": "Lien utilisateur",
+        "user_quicklink": "Masquer le lien rapide vers la page de connexion de l'utilisateur",
+        "iam_client_scopes": "Scopes Client",
+        "iam_default_template": "Template par défaut",
+        "iam_default_template_description": "Si aucun modèle n'est attribué à un utilisateur, le modèle par défaut sera utilisé pour créer la boîte aux lettres, mais pas pour la mettre à jour.",
+        "iam_description": "Configurer un fournisseur externe pour l'authentification<br>Les boîtes aux lettres des utilisateurs seront automatiquement créées lors de leur première connexion, à condition qu'un mappage d'attributs ait été défini.",
+        "iam_extra_permission": "Pour que les paramètres suivants fonctionnent, le client mailcow dans Keycloak a besoin d'un <code>Compte de service</code> et de l'autorisation de <code>voir les utilisateurs</code>.",
+        "iam_host": "Hôte",
+        "iam_host_info": "Saisissez un ou plusieurs hôtes LDAP, séparés par des virgules.",
+        "iam_import_users": "Importer des utilisateurs",
+        "filter": "Filtrer"
     },
     "danger": {
         "access_denied": "Accès refusé ou données de formulaire non valides",
@@ -496,7 +544,11 @@
         "password_reset_invalid_user": "Boîte mail introuvable ou aucune adresse de récupération n'a été définie",
         "password_reset_na": "La réinitialisation des mots de passe est actuellement indisponible. Veuillez contacter votre administrateur.",
         "reset_token_limit_exceeded": "Le nombre limite de jetons de réinitialisation a été dépassé. Veuillez réessayer plus tard.",
-        "to_invalid": "Le destinataire ne doit pas être vide"
+        "to_invalid": "Le destinataire ne doit pas être vide",
+        "generic_server_error": "Une erreur de serveur inattendue s'est produite. Veuillez contacter votre administrateur.",
+        "authsource_in_use": "Le fournisseur d'identité ne peut pas être modifié ou supprimé car il est actuellement utilisé par un ou plusieurs utilisateurs.",
+        "iam_test_connection": "Échec de la connexion",
+        "required_data_missing": "La donnée requise %s est manquante"
     },
     "debug": {
         "chart_this_server": "Graphique (ce serveur)",
@@ -553,7 +605,7 @@
         "alias": "Éditer les alias",
         "allow_from_smtp": "Restreindre l'utilisation de <b>SMTP</b> à ces adresses IP",
         "allow_from_smtp_info": "Laissez vide pour autoriser tous les expéditeurs.<br>Adresses IPv4/IPv6 et réseaux.",
-        "allowed_protocols": "Protocoles autorisés",
+        "allowed_protocols": "Protocoles autorisés pour l'accès direct de l'utilisateur (n'affecte pas les protocoles de mot de passe de l'application)",
         "app_name": "Nom de l'application",
         "app_passwd": "Mot de passe de l'application",
         "automap": "Tenter de cibler automatiquement les dossiers (« Sent items », « Sent » => « Sent » etc.)",
@@ -672,7 +724,7 @@
         "none_inherit": "Aucun / Héritage",
         "quota_warning_bcc": "Avertissement sur les quotas BCC",
         "quota_warning_bcc_info": "Les avertissements seront envoyés en copies séparées aux destinataires suivants. Le sujet sera précédé du nom d'utilisateur correspondant entre parenthèses, par exemple : <code>Avertissement sur les quotas (user@example.com)</code>.",
-        "sogo_access_info": "L'authentification unique à partir de l'interface de messagerie reste opérationnelle. Ce paramètre n'affecte pas l'accès à tous les autres services et ne supprime ni, ne modifie le profil SOGo existant d'un utilisateur.",
+        "sogo_access_info": "Après s'être connecté, l'utilisateur est automatiquement redirigé vers SOGo.",
         "admin": "Modifier l'administrateur",
         "password_recovery_email": "Adresse email de récupération",
         "mailbox_rename_title": "Nouveau nom de la partie locale de la boîte de réception",
@@ -680,7 +732,7 @@
         "mailbox_rename_agree": "J'ai fait une sauvegarde.",
         "mailbox_rename_warning": "IMPORTANT ! Faites une sauvegarde avant de renommer la boîte de réception.",
         "mailbox_rename_alias": "Créer un alias automatiquement",
-        "sogo_access": "Autoriser la connexion directe à SOGo",
+        "sogo_access": "Redirection directe vers SOGo",
         "pushover": "Pushover",
         "pushover_sound": "Son"
     },
@@ -733,7 +785,11 @@
         "request_reset_password": "Demander le changement du mot de passe",
         "login_user": "Connexion Utilisateur",
         "login_dadmin": "Connexion Administrateur de domaine",
-        "login_admin": "Connexion Administrateur"
+        "login_admin": "Connexion Administrateur",
+        "login_linkstext": "L'identifiant n'est pas correct ?",
+        "login_usertext": "Se connecter en tant qu'utilisateur",
+        "login_domainadmintext": "Se connecter en tant qu'administrateur du domaine",
+        "login_admintext": "Se connecter en tant qu'administrateur"
     },
     "mailbox": {
         "action": "Action",
@@ -839,7 +895,7 @@
         "recipient_map_new": "Nouveau destinataire",
         "recipient_map_new_info": "La destination de la carte du destinataire doit être une adresse de courriel valide ou un nom de domaine.",
         "recipient_map_old": "Destinataire original",
-        "recipient_map_old_info": "Une carte de destination originale doit être une adresse de courriel valide ou un nom de domaine.",
+        "recipient_map_old_info": "La destination originale des cartes des destinataires doit être une adresse de courriel valide ou un nom de domaine.",
         "recipient_maps": "Cartes des bénéficiaires",
         "relay_all": "Relayer tous les destinataires",
         "remove": "Supprimer",
@@ -908,7 +964,8 @@
         "template": "Modèle",
         "syncjob_check_log": "Vérifier le journal",
         "recipient": "Destinataire",
-        "open_logs": "Afficher les journaux"
+        "open_logs": "Afficher les journaux",
+        "iam": "Fournisseur d'identité"
     },
     "oauth2": {
         "access_denied": "Veuillez vous connecter en tant que propriétaire de la boîte de réception pour accorder l’accès via Oauth2.",
@@ -1079,7 +1136,9 @@
         "recovery_email_sent": "Email de réinitialisation envoyé à %s",
         "mailbox_renamed": "La boîte de réception a été renommée de %s à %s",
         "template_modified": "Les modifications au modèle %s ont été enregistrées",
-        "password_policy_saved": "La politique de mot de passe a été enregistrée avec succès"
+        "password_policy_saved": "La politique de mot de passe a été enregistrée avec succès",
+        "custom_login_modified": "La personnalisation de la connexion a été sauvegardée avec succès",
+        "iam_test_connection": "Connexion réussie"
     },
     "tfa": {
         "api_register": "%s utilise l'API Yubico Cloud. Veuillez obtenir une clé API pour votre clé <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">ici</a>",
@@ -1259,8 +1318,8 @@
         "with_app_password": "avec le mot de passe de l'application",
         "apple_connection_profile_with_app_password": "Un nouveau mot de passe est généré et ajouté au profil, de sorte qu'aucun mot de passe ne doit être saisi lors de la configuration de votre appareil. Ne partagez pas le fichier car il vous donne un accès complet à votre boîte de réception.",
         "attribute": "Attribut",
-        "direct_protocol_access": "Cet utilisateur de la boîte aux lettres dispose d'un <b>accès externe direct</b> aux protocoles et applications suivants. Votre administrateur contrôle ce paramètre. Il est possible de créer des mots de passe d'application pour accorder l'accès à des protocoles et des applications individuels.<br>Le bouton « Connexion au webmail » permet une connexion unique à SOGo et est toujours disponible.",
-        "open_webmail_sso": "Connexion au webmail",
+        "direct_protocol_access": "Cet utilisateur de la boîte aux lettres dispose d'un <b>accès externe direct</b> aux protocoles et applications suivants. Votre administrateur contrôle ce paramètre. Il est possible de créer des mots de passe d'application pour accorder l'accès à des protocoles et des applications individuels.<br>Le bouton « Connexion au Webmail » permet une connexion unique à SOGo et est toujours disponible.",
+        "open_webmail_sso": "Connexion au Webmail",
         "recent_successful_connections": "Voir les connexions réussies",
         "syncjob_EXIT_TLS_FAILURE": "Problème de connexion chiffrée",
         "syncjob_EXIT_AUTHENTICATION_FAILURE": "Problème d'authentification",
@@ -1289,7 +1348,9 @@
         "open_logs": "Afficher les journaux",
         "pushover_sound": "Son",
         "mailbox_general": "Général",
-        "mailbox_settings": "Paramètres"
+        "mailbox_settings": "Paramètres",
+        "tfa_info": "L'authentification à deux facteurs permet de protéger votre compte. Si vous l'activez, vous aurez besoin de mots de passe d'application pour vous connecter à des applications ou des services qui ne prennent pas en charge l'authentification à deux facteurs (par exemple les clients e-mails).",
+        "overview": "Vue d'ensemble"
     },
     "warning": {
         "cannot_delete_self": "Impossible de supprimer l’utilisateur connecté",

+ 38 - 4
data/web/lang/lang.it-it.json

@@ -353,7 +353,30 @@
         "password_settings": "Impostazioni della password",
         "queue_unban": "sblocca",
         "restore_template": "Lasciare vuoto per ripristinare il modello predefinito.",
-        "logo_normal_label": "Normale"
+        "logo_normal_label": "Normale",
+        "app_hide": "Nascondi per il login",
+        "ip_check_disabled": "Il controllo IP è disabilitato. Puoi abilitarlo sotto <br><strong>Sistema > Configurazione > Opzioni > Personalizza </strong>",
+        "ip_check_opt_in": "Attiva l'utilizzo dei servizi di terze parti <strong>ipv4.mailcow.email</strong> e <strong> ipv6.mailcow.email</strong> per risolvere gli indirizzi IP esterni",
+        "iam_login_provisioning": "Creazione automatica di utenti al login",
+        "iam_port": "Porta",
+        "iam_redirect_url": "URL di reindirizzamento",
+        "iam_server_url": "URL server",
+        "iam_sso": "Single Sign-On",
+        "iam_test_connection": "Test connessione",
+        "iam_use_ssl": "Usa SSL",
+        "iam_use_tls": "Usa StartTLS",
+        "iam_version": "Versione",
+        "ignore_ssl_error": "Ignorare gli errori SSL",
+        "task": "Attività",
+        "login_page": "Pagina di accesso",
+        "filter": "Filtro",
+        "iam_attribute_field": "Campo attributo",
+        "iam_authorize_url": "Endpoint di autorizzazione",
+        "iam_auth_flow": "Flusso di autenticazione",
+        "iam_client_id": "ID cliente",
+        "iam_default_template": "Template predefinito",
+        "iam_host": "Host",
+        "iam_import_users": "Importa utenti"
     },
     "danger": {
         "access_denied": "Accesso negato o form di login non corretto",
@@ -484,7 +507,11 @@
         "password_reset_invalid_user": "La casella di posta elettronica non è stata trovata o non è stata impostata un'e-mail di recupero",
         "password_reset_na": "Il recupero della password non è attualmente disponibile. Contattare l'amministratore.",
         "recovery_email_failed": "Impossibile inviare un'e-mail di recupero. Contattare l'amministratore.",
-        "to_invalid": "Il destinatario non deve essere vuoto"
+        "to_invalid": "Il destinatario non deve essere vuoto",
+        "iam_test_connection": "Connessione non riuscita",
+        "webauthn_authenticator_failed": "L'autenticator selezionato non è stato trovato",
+        "webauthn_username_failed": "L'authenticator selezionato appartiene ad un altro account",
+        "webauthn_publickey_failed": "Nessuna chiave pubblica è stata salvata per l'authenticator selezionato"
     },
     "debug": {
         "chart_this_server": "Grafico (questo server)",
@@ -655,7 +682,10 @@
         "domain_footer_html": "Piè di pagina HTML",
         "domain_footer_plain": "Piè di pagina PLAIN",
         "footer_exclude": "Escludi dal piè di pagina",
-        "password_recovery_email": "E-mail di recupero password"
+        "password_recovery_email": "E-mail di recupero password",
+        "mailbox_rename": "Rinominare la casella mail",
+        "mailbox_rename_agree": "Ho creato un backup.",
+        "mailbox_rename_alias": "Creare alias automaticamente"
     },
     "fido2": {
         "confirm": "Conferma",
@@ -717,7 +747,11 @@
         "forgot_password": "> Password dimenticata?",
         "new_password": "Nuova password",
         "new_password_confirm": "Conferma la nuova password",
-        "reset_password": "Ripristino della password"
+        "reset_password": "Ripristino della password",
+        "login_linkstext": "Non è il login corretto?",
+        "login_usertext": "Accedere come utente",
+        "login_domainadmintext": "Accedere come domain admin",
+        "login_admintext": "Accedere come admin"
     },
     "mailbox": {
         "action": "Azione",

+ 3 - 2
data/web/lang/lang.pl-pl.json

@@ -2,7 +2,8 @@
     "acl": {
         "sogo_profile_reset": "Usuń profil SOGo (webmail)",
         "syncjobs": "Polecenie synchronizacji",
-        "alias_domains": "Dodaj aliasy domen"
+        "alias_domains": "Dodaj aliasy domen",
+        "delimiter_action": "Akcja oparta na separatorze"
     },
     "add": {
         "active": "Aktywny",
@@ -430,4 +431,4 @@
         "weekly": "Co tydzień",
         "weeks": "Tygodnie"
     }
-}
+}

+ 98 - 11
data/web/lang/lang.pt-pt.json

@@ -1,7 +1,7 @@
 {
     "add": {
         "active": "Ativo",
-        "add": "Salvar",
+        "add": "Guardar",
         "alias_address": "Apelidos:",
         "alias_address_info": "<small>Endereço de email completo ou @example.com, para uma conta coringa -catch all. (separado por vírgula). <b>apenas domínios cadastrados</b>.</small>",
         "alias_domain": "Encaminhamento de Domínio",
@@ -17,7 +17,7 @@
         "max_mailboxes": "Máximo de contas:",
         "password": "Senha:",
         "password_repeat": "Confirmar a senha (repetir):",
-        "port": "Port",
+        "port": "Porta",
         "quota_mb": "Espaço (MiB):",
         "relay_all": "Relay para todas as contas",
         "relay_all_info": "<small>Se <b>não</b> selecionar para retransmitir todas as contas, você deve adicionar uma (\"blind\") para cada conta que será direcionada.</small>",
@@ -27,13 +27,26 @@
         "target_address": "Encaminhar para:",
         "target_address_info": "<small>Endereço de email completo (separado por vírgulas).</small>",
         "target_domain": "Domínio de Destino:",
-        "username": "Administrador"
+        "username": "Nome de utilizador",
+        "app_name": "Nome da App",
+        "destination": "Destino",
+        "generate": "gerar",
+        "private_comment": "Comentário privado",
+        "inactive": "Inativo",
+        "public_comment": "Comentário público",
+        "sieve_desc": "Breve descrição",
+        "sieve_type": "Tipo de filtro",
+        "subscribeall": "Subscrever todas as pastas",
+        "syncjob": "Adicionar sincronização",
+        "validate": "Validar",
+        "validation_success": "Validado com sucesso",
+        "app_passwd_protocols": "Protocolos permitidos para senha de aplicação"
     },
     "admin": {
         "access": "Acessos",
         "action": "Ação",
         "active": "Ativo",
-        "add": "Salvar",
+        "add": "Adicionar",
         "add_domain_admin": "Adicionar administrador de domínio(s)",
         "admin": "Administrador",
         "admin_details": "Editar informações do administrator",
@@ -58,7 +71,47 @@
         "search_domain_da": "Selecione o(s) domínio(s)",
         "spamfilter": "Filtro de Spam",
         "unchanged_if_empty": "Deixar em branco para não alterar",
-        "username": "Administrador"
+        "username": "Administrador",
+        "add_row": "Adicionar linha",
+        "add_transport": "Adicionar transporte",
+        "change_logo": "Alterar logo",
+        "filter": "Filtro",
+        "iam_port": "Porta",
+        "iam_use_ssl": "Usar SSL",
+        "iam_version": "Versão",
+        "import": "Importar",
+        "import_private_key": "Importar chave privada",
+        "message": "Mensagem",
+        "dkim_private_key": "Chave privada",
+        "customize": "Personalizar",
+        "destination": "Destino",
+        "dkim_from": "De",
+        "activate_api": "Ativar API",
+        "add_admin": "Adicionar administrador",
+        "admins": "Administradores",
+        "advanced_settings": "Configurações avançadas",
+        "api_key": "Chave API",
+        "api_read_only": "Acesso leitura",
+        "api_read_write": "Acesso leitura e escrita",
+        "login_page": "Página de login",
+        "dkim_key_missing": "Chave em falta",
+        "dkim_key_valid": "Chave válida",
+        "dkim_to": "Para",
+        "domain_admin": "Administrador de dominio",
+        "domain_s": "Dominio(s)",
+        "duplicate": "Duplicar",
+        "duplicate_dkim": "Duplicar registo DKIM",
+        "empty": "Sem resultados",
+        "excludes": "Excluir estes recipientes",
+        "f2b_filter": "Filtros de regex",
+        "from": "De",
+        "generate": "gerar",
+        "html": "HTML",
+        "iam_import_users": "Importar Utilizadores",
+        "ui_header_announcement_content": "Texto (HTML permitido)",
+        "ui_footer": "Rodapé (HTML permitido)",
+        "activate_send": "Ativar botão de envio",
+        "help_text": "Anular texto de ajuda abaixo da máscara de login (HTML permitido)"
     },
     "danger": {
         "access_denied": "Acesso negado ou dados inválidos",
@@ -97,7 +150,10 @@
         "target_domain_invalid": "O endereço de Domínio Destino é inválido",
         "targetd_not_found": "Domínio de Destino não encontrado",
         "username_invalid": "Nome de utilizador inválido",
-        "validity_missing": "Você deve definir um período de validade"
+        "validity_missing": "Você deve definir um período de validade",
+        "comment_too_long": "Comentário demasiado longo, máximo 160 chars permitidos",
+        "ip_list_empty": "Lista de IPs permitidos não pode estar vazia",
+        "last_key": "A última tecla não pode ser apagada, por favor desactivar a TFA."
     },
     "edit": {
         "active": "Ativo",
@@ -129,7 +185,9 @@
         "target_domain": "Domínio de Destino:",
         "title": "Editar dos Objetos",
         "unchanged_if_empty": "Deixar em branco para não modificar",
-        "username": "Administrador"
+        "username": "Administrador",
+        "app_passwd_protocols": "Protocolos permitidos para palavra-passe de aplicação",
+        "allowed_protocols": "Protocolos permitidos para acesso direto do utilizador (não afeta os protocolos de palavra-passe da aplicação)"
     },
     "footer": {
         "loading": "Aguarde..."
@@ -186,11 +244,15 @@
         "target_domain": "Domínio Destino",
         "tls_enforce_in": "Forçar TLS na entrada",
         "tls_enforce_out": "Forçar TLS na saída",
-        "username": "Utilizador"
+        "username": "Utilizador",
+        "allowed_protocols": "Protocolos permitidos",
+        "activate": "Ativar",
+        "deactivate": "Desativar"
     },
     "quarantine": {
         "action": "Ação",
-        "remove": "Remover"
+        "remove": "Remover",
+        "check_hash": "Pesquisar hash de ficheiro @ VT"
     },
     "queue": {
         "queue_manager": "Queue Manager"
@@ -269,6 +331,31 @@
         "user_settings": "Configurações do utilizador",
         "username": "Administrador",
         "week": "Semana",
-        "weeks": "Semanas"
+        "weeks": "Semanas",
+        "aliases_also_send_as": "Também autorizado a enviar como utilizador",
+        "app_hint": "As senhas de aplicação são senhas alternativas para o seu login IMAP, SMTP, CalDAV, CardDAV e EAS. O nome de utilizador permanece inalterado. O webmail SOGo não está disponível através de passwords de aplicação.",
+        "allowed_protocols": "Protocolos permitidos"
+    },
+    "acl": {
+        "tls_policy": "Política de TLS",
+        "quarantine_attachments": "Anexos de quarentena",
+        "filters": "Filtros",
+        "smtp_ip_access": "Mudar anfitriões permitidos para SMTP"
+    },
+    "warning": {
+        "no_active_admin": "Não é possível desactivar o último administrador activo"
+    },
+    "tfa": {
+        "u2f_deprecated": "Parece que a sua chave foi registada usando o método U2F depreciado. Desactivaremos dois factores-autenticação para si e apagaremos a sua Chave.",
+        "none": "Desativar"
+    },
+    "datatables": {
+        "search": "Procurar:",
+        "info": "A mostrar _START_ a _END_ de _TOTAL_ entradas",
+        "infoEmpty": "A mostrar 0 a 0 de 0 entradas",
+        "aria": {
+            "sortAscending": ": activar para ordenar a coluna ascendente",
+            "sortDescending": ": activar para ordenar a coluna descendente"
+        }
     }
-}
+}

+ 75 - 8
data/web/lang/lang.ru-ru.json

@@ -359,7 +359,56 @@
         "username": "Имя пользователя",
         "validate_license_now": "Получить лицензию на основе GUID с сервера лицензий",
         "verify": "Проверить",
-        "yes": "&#10003;"
+        "yes": "&#10003;",
+        "force_sso_text": "Если настроен внешний провайдер OIDC, эта опция скрывает стандартные формы входа mailcow и показывает только кнопку Singe Sign-On",
+        "domainadmin_quicklink": "Скрыть ссылку на вход для администраторов домена",
+        "iam_periodic_full_sync": "Периодическая полная синхронизация",
+        "iam_sync_interval": "Интервал синхронизации/импорта (мин)",
+        "iam_use_tls_info": "При включённом TLS необходимо использовать стандартный порт LDAP-сервера (389). Порты SSL не подходят.",
+        "iam_use_ssl_info": "При включённом SSL, если указан порт 389, то вместо него автоматически будет использоваться порт 636.",
+        "quicklink_text": "Показать или скрыть ссылки для быстрого перехода к другим страницам входа под формой авторизации",
+        "iam_login_provisioning": "Автоматическое создание пользователей при входе в систему",
+        "iam_mapping": "Сопоставление атрибутов",
+        "iam_bindpass": "Bind пароль",
+        "iam_port": "Порт",
+        "iam_realm": "Realm",
+        "iam_redirect_url": "URL переадресации",
+        "iam_rest_flow": "Поток Mailpassword",
+        "iam_server_url": "URL сервера",
+        "iam_sso": "Технология единого входа (SSO)",
+        "iam_token_url": "Token endpoint",
+        "iam_userinfo_url": "User info endpoint",
+        "iam_username_field": "Поле имени пользователя",
+        "iam_binddn": "Bind DN",
+        "iam_use_ssl": "Использовать SSL",
+        "iam_use_tls": "Использовать StartTLS",
+        "iam_version": "Версия",
+        "ignore_ssl_error": "Игнорировать ошибки SSL",
+        "task": "Задача",
+        "user_link": "Пользовательская ссылка",
+        "user_quicklink": "Скрыть ссылку на вход для пользователей",
+        "app_hide": "Скрыть для входа",
+        "iam_test_connection": "Проверка соединения",
+        "login_page": "Страница входа",
+        "filter": "Фильтр",
+        "force_sso": "Отключить mailcow авторизацию и показывать только Singe Sign-On",
+        "iam": "Провайдер идентификации",
+        "iam_attribute_field": "Поле атрибута",
+        "iam_authorize_url": "Конечная точка авторизации",
+        "iam_auth_flow": "Процесс аутентификации",
+        "iam_auth_flow_info": "В дополнение к потоку кода авторизации (стандартный поток в Keycloak), который используется для Single-Sign On входа, mailcow также поддерживает поток аутентификации с непосредственными учетными данными. Поток Mailpassword пытается проверить учетные данные пользователя с помощью REST API администратора Keycloak. mailcow извлекает хешированный пароль из атрибута <code>mailcow_password</code>, который отображается в Keycloak.",
+        "iam_basedn": "Base DN",
+        "iam_client_id": "ID клиента",
+        "iam_client_secret": "Секрет клиента",
+        "iam_client_scopes": "Области действия клиента",
+        "iam_default_template": "Шаблон по умолчанию",
+        "iam_default_template_description": "Если пользователю не назначен шаблон, шаблон по умолчанию будет использоваться при создании почтового ящика, но не при обновлении почтового ящика.",
+        "iam_description": "Настройка внешнего провайдера для аутентификации<br>Почтовые ящики пользователей будут автоматически создаваться при первом входе в систему, если было задано сопоставление атрибутов.",
+        "iam_extra_permission": "Для работы следующих настроек клиенту mailcow в Keycloak необходима <code>служебная учетная запись</code> и разрешение на <code>просмотр пользователей</code>.",
+        "iam_host": "Хост",
+        "iam_host_info": "Укажите один или несколько LDAP-хостов через запятую.",
+        "iam_import_users": "Импорт пользователей",
+        "admin_quicklink": "Скрыть ссылку на вход для администраторов"
     },
     "danger": {
         "access_denied": "Доступ запрещён, или указаны неверные данные",
@@ -496,7 +545,11 @@
         "webauthn_publickey_failed": "Для выбранного аутентификатора не был сохранен открытый ключ",
         "webauthn_username_failed": "Выбранный аутентификатор принадлежит другой учетной записи",
         "webauthn_verification_failed": "Ошибка валидации WebAuthn: %s",
-        "yotp_verification_failed": "Ошибка валидации Yubico OTP: %s"
+        "yotp_verification_failed": "Ошибка валидации Yubico OTP: %s",
+        "generic_server_error": "На сервере произошла непредвиденная ошибка. Пожалуйста, свяжитесь с вашим администратором.",
+        "authsource_in_use": "Поставщик идентификационных данных не может быть изменен или удален, так как в данный момент он используется одним или несколькими пользователями.",
+        "iam_test_connection": "Ошибка соединения",
+        "required_data_missing": "Отсутствуют необходимые данные %s"
     },
     "datatables": {
         "collapse_all": "Свернуть все",
@@ -581,7 +634,7 @@
         "alias": "Изменить псевдоним",
         "allow_from_smtp": "Разрешить использование <b>SMTP</b> только для этих IP",
         "allow_from_smtp_info": "Укажите IPv4/IPv6 адреса и/или подсети.<br>Оставьте поле пустым, чтобы разрешить отправку с любых адресов.",
-        "allowed_protocols": "Разрешённые протоколы",
+        "allowed_protocols": "Разрешённые протоколы для прямого доступа пользователей (не влияет на протоколы паролей приложений)",
         "app_name": "Название приложения",
         "app_passwd": "Пароль приложения",
         "app_passwd_protocols": "Разрешенные протоколы для пароля приложения",
@@ -771,7 +824,14 @@
         "password": "Пароль",
         "request_reset_password": "Запросить восстановление пароля",
         "reset_password": "Восстановление пароля",
-        "username": "Имя пользователя"
+        "username": "Имя пользователя",
+        "login_linkstext": "Неправильный логин?",
+        "login_usertext": "Войти как пользователь",
+        "login_domainadmintext": "Войти как администратор домена",
+        "login_admintext": "Войти как администратор",
+        "login_user": "Вход для пользователей",
+        "login_dadmin": "Вход для администраторов домена",
+        "login_admin": "Вход для администраторов"
     },
     "mailbox": {
         "action": "Действия",
@@ -946,7 +1006,8 @@
         "username": "Имя пользователя",
         "waiting": "В ожидании",
         "weekly": "Раз в неделю",
-        "yes": "&#10003;"
+        "yes": "&#10003;",
+        "iam": "Поставщик идентификационных данных"
     },
     "oauth2": {
         "access_denied": "Пожалуйста, войдите в систему как владелец почтового аккаунта, чтобы получить доступ через OAuth2.",
@@ -1124,7 +1185,9 @@
         "verified_fido2_login": "Авторизация FIDO2 пройдена",
         "verified_totp_login": "Авторизация TOTP пройдена",
         "verified_webauthn_login": "Авторизация WebAuthn пройдена",
-        "verified_yotp_login": "Авторизация Yubico OTP пройдена"
+        "verified_yotp_login": "Авторизация Yubico OTP пройдена",
+        "iam_test_connection": "Успешное соединение",
+        "custom_login_modified": "Настройки входа успешно сохранены"
     },
     "tfa": {
         "api_register": "%s использует Yubico Cloud API. Пожалуйста, получите ключ API для вашего ключа <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">здесь</a>",
@@ -1191,7 +1254,7 @@
         "delete_ays": "Пожалуйста, подтвердите удаление",
         "direct_aliases": "Личные псевдонимы",
         "direct_aliases_desc": "На личные псевдонимы распространяются фильтры нежелательной почты и параметры политики TLS.",
-        "direct_protocol_access": "Этот пользователь почтового ящика имеет <b>прямой, внешний доступ</b> к следующим протоколам и приложениям. Эта настройка контролируется вашим администратором. Для предоставления доступа к отдельным протоколам и приложениям могут быть созданы пароли приложений.<br> Кнопка \"Вход в веб-почту\" обеспечивает единый вход в SOGo и всегда доступна.",
+        "direct_protocol_access": "Этот пользователь почтового ящика имеет <b>прямой, внешний доступ</b> к следующим протоколам и приложениям. Эта настройка контролируется вашим администратором. Для предоставления доступа к отдельным протоколам и приложениям могут быть созданы пароли приложений.<br> Кнопка \"Веб-почта\" обеспечивает единый вход в SOGo и всегда доступна.",
         "eas_reset": "Сбросить кеш ActiveSync устройств",
         "eas_reset_help": "Во многих случаях сброс кеша устройств помогает восстановить повреждённый профиль ActiveSync.<br><b>Внимание:</b> все письма, календари и контакты будут загружены заново на все ваши устройства!",
         "eas_reset_now": "Сбросить кеш сейчас",
@@ -1319,7 +1382,11 @@
         "weeks": "недели",
         "with_app_password": "с паролем приложения",
         "year": "год",
-        "years": "лет"
+        "years": "лет",
+        "authentication": "Аутентификация",
+        "tfa_info": "Двухфакторная аутентификация помогает защитить вашу учетную запись. Если вы включите эту функцию, вам понадобятся пароли приложений для входа в приложения или службы, которые не поддерживают двухфакторную аутентификацию (например, почтовые клиенты).",
+        "protocols": "Протоколы",
+        "overview": "Обзор"
     },
     "warning": {
         "cannot_delete_self": "Вы не можете удалить сами себя",

+ 759 - 14
data/web/lang/lang.si-si.json

@@ -352,13 +352,69 @@
         "allowed_origins": "Upravljanje-dostopa-Dovoljeni-Viri",
         "copy_to_clipboard": "Besedilo kopirano v odložišče!",
         "f2b_manage_external": "Zunanje upravljanje Fail2Ban",
-        "f2b_manage_external_info": "Fail2ban bo še vedno vzdrževal seznam prepovedi, vendar ne bo aktivno nastavil pravil za blokiranje prometa. Uporabite spodnji ustvarjeni seznam prepovedi za zunanje blokiranje prometa."
+        "f2b_manage_external_info": "Fail2ban bo še vedno vzdrževal seznam prepovedi, vendar ne bo aktivno nastavil pravil za blokiranje prometa. Uporabite spodnji ustvarjeni seznam prepovedi za zunanje blokiranje prometa.",
+        "force_sso_text": "Če je konfiguriran zunanji ponudnik OIDC, ta možnost skrije privzete obrazce za prijavo v Mailcow in prikaže samo gumb za enotno prijavo",
+        "app_hide": "Skrij za prijavo",
+        "iam_login_provisioning": "Samodejno ustvarjanje uporabnikov ob prijavi",
+        "admin_quicklink": "Skrij hitro povezavo do strani za prijavo skrbnika",
+        "login_page": "Prijavna stran",
+        "domainadmin_quicklink": "Skrij hitro povezavo do strani za prijavo v Skrbnik domen",
+        "filter": "Filter",
+        "force_sso": "Onemogoči prijavo v mailcow in prikaži samo enotno prijavo",
+        "iam": "Ponudnik identitete",
+        "iam_attribute_field": "Polje atributa",
+        "iam_authorize_url": "Končna točka avtorizacije",
+        "iam_auth_flow": "Potek preverjanja pristnosti",
+        "iam_auth_flow_info": "Poleg toka avtorizacijske kode (standardni tok v Keycloaku), ki se uporablja za prijavo z enotno prijavo, mailcow podpira tudi tok preverjanja pristnosti z neposrednimi poverilnicami. Tok Mailpassword poskuša preveriti uporabnikove poverilnice z uporabo REST API-ja Keycloak Admin. mailcow pridobi zgoščeno geslo iz atributa <code>mailcow_password</code>, ki je preslikan v Keycloaku.",
+        "iam_basedn": "Osnovni DN",
+        "iam_client_id": "ID odjemalca",
+        "iam_client_secret": "Skrivnost odjemalca",
+        "iam_client_scopes": "Obsegi odjemalcev",
+        "iam_default_template": "Privzeta predloga",
+        "iam_default_template_description": "Če uporabniku ni dodeljena nobena predloga, bo privzeta predloga uporabljena za ustvarjanje nabiralnika, ne pa za posodabljanje nabiralnika.",
+        "iam_description": "Konfigurirajte zunanjega ponudnika za preverjanje pristnosti<br>Uporabnikovi poštni nabiralniki bodo samodejno ustvarjeni ob prvi prijavi, če je nastavljeno preslikavanje atributov.",
+        "iam_extra_permission": "Za delovanje naslednjih nastavitev potrebuje odjemalec mailcow v Keycloaku <code>Servisni račun</code> in dovoljenje za <code>ogled uporabnikov</code>.",
+        "iam_host": "Gostitelj",
+        "iam_host_info": "Vnesite enega ali več gostiteljev LDAP, ločenih z vejicami.",
+        "iam_import_users": "Uvozi uporabnike",
+        "iam_use_tls_info": "Če omogočite TLS, morate uporabiti privzeta vrata za strežnik LDAP (389). Vrat SSL ni mogoče uporabiti.",
+        "iam_sync_interval": "Interval sinhronizacije / uvoza (min)",
+        "user_quicklink": "Skrij hitro povezavo do strani za prijavo uporabnika",
+        "iam_use_ssl_info": "Če omogočite SSL in so vrata nastavljena na 389, bodo samodejno prepisana na uporabo 636.",
+        "iam_mapping": "Preslikava atributov",
+        "iam_bindpass": "Vezano geslo",
+        "iam_periodic_full_sync": "Periodična popolna sinhronizacija",
+        "iam_port": "Vrata",
+        "iam_redirect_url": "Preusmeri URL",
+        "iam_rest_flow": "Tok gesla za pošto",
+        "iam_server_url": "URL strežnika",
+        "iam_sso": "Enotna prijava",
+        "iam_test_connection": "Preizkus povezave",
+        "iam_token_url": "Končna točka žetona",
+        "iam_userinfo_url": "Končna točka z uporabniškimi podatki",
+        "iam_username_field": "Polje z uporabniškim imenom",
+        "iam_binddn": "Povezava DN",
+        "iam_use_ssl": "Uporabi SSL",
+        "iam_use_tls": "Uporabi StartTLS",
+        "iam_version": "Različica",
+        "ignore_ssl_error": "Prezri napake SSL",
+        "password_reset_info": "Če ni naveden e-poštni naslov za obnovitev, te funkcije ni mogoče uporabiti.",
+        "password_reset_settings": "Nastavitve za obnovitev gesla",
+        "password_reset_tmpl_html": "Predloga HTML",
+        "password_reset_tmpl_text": "Predloga besedila",
+        "password_settings": "Nastavitve gesla",
+        "quicklink_text": "Prikaži ali skrij hitre povezave do drugih strani za prijavo pod prijavnim obrazcem",
+        "reset_password_vars": "<code>{{link}}<code> Ustvarjena povezava za ponastavitev gesla<br><code>{{username}}<code> Ime nabiralnika uporabnika, ki je zahteval ponastavitev gesla<br><code>{{username2}}<code> Ime obnovitvenega nabiralnika<br><code>{{date}}<code> Datum zahteve za ponastavitev gesla<br><code>{{token_lifetime}}<code> Življenjska doba žetona v minutah<br><code>{{hostname}}<code> Ime gostitelja mailcow",
+        "restore_template": "Za obnovitev privzete predloge pustite polje prazno.",
+        "task": "Naloga",
+        "user_link": "Uporabniška povezava",
+        "iam_realm": "Realm"
     },
     "danger": {
         "alias_goto_identical": "Alias in goto naslov morata biti identična",
         "aliasd_targetd_identical": "Alias domena ne sme biti enaka ciljni domeni: %s",
         "bcc_exists": "BCC preslikava obstaja za vrsto %s",
-        "dkim_domain_or_sel_exists": "DKIM ključ za \"%s\" obstaja in ne bo prepisan.",
+        "dkim_domain_or_sel_exists": "DKIM ključ za \"%s\" obstaja in ne bo prepisan",
         "domain_quota_m_in_use": "Kvota domene mora biti večja ali enaka %s MiB",
         "extra_acl_invalid_domain": "Zunanji pošiljatelj \"%s\" uporablja neveljavno domeno",
         "global_map_write_error": "Ni mogoče zapisati ID globalne preslikave %s: %s",
@@ -375,8 +431,8 @@
         "app_passwd_id_invalid": "ID gesla aplikacije %s je neveljaven",
         "bcc_empty": "BCC cilj ne more biti prazen",
         "bcc_must_be_email": "BCC cilj %s ni veljaven e-poštni naslov",
-        "comment_too_long": "Komentar je predolg, dovoljeno je največ 100 znakov.",
-        "defquota_empty": "Privzeta kvota na poštni predal ne more biti 0",
+        "comment_too_long": "Komentar je predolg, dovoljeno je največ 160 znakov",
+        "defquota_empty": "Privzeta kvota na poštni predal ne more biti 0.",
         "description_invalid": "Opis resursa za %s ni veljaven",
         "dkim_domain_or_sel_invalid": "Domena ali izbirnik DKIM ni veljaven: %s",
         "domain_cannot_match_hostname": "Domena se ne more ujemati z imenom gostitelja",
@@ -414,9 +470,9 @@
         "invalid_recipient_map_old": "Naveden neveljaven izvirni prejemnik: %s",
         "ip_list_empty": "Seznam dovoljenih IPjev ne sme biti prazen",
         "is_alias": "%s je že znan kot alias naslov",
-        "is_alias_or_mailbox": "%s je že znan kot alias, poštni naslov, ali alias izveden iz alias domene",
+        "is_alias_or_mailbox": "%s je že znan kot alias, poštni naslov, ali alias izveden iz alias domene.",
         "is_spam_alias": "%s že obstaja kot začasen alias (spam alias naslov)",
-        "last_key": "Zadnji ključ ne more biti izbrisan, prosim raje deaktivirajte dvofaktorsko avtentikacijo (TFA)",
+        "last_key": "Zadnji ključ ne more biti izbrisan, prosim raje deaktivirajte dvofaktorsko avtentikacijo (TFA).",
         "login_failed": "Prijava ni uspela",
         "mailbox_defquota_exceeds_mailbox_maxquota": "Privzeta kvota presega najvišjo omejitev",
         "mailbox_invalid": "Ime poštnega predala ni veljavno",
@@ -428,7 +484,7 @@
         "map_content_empty": "Preslikava vsebine ne more biti prazna",
         "max_alias_exceeded": "Preseženo največje število aliasov",
         "max_mailbox_exceeded": "Preseženo največje število poštnih predalov (%d od %d)",
-        "maxquota_empty": "Največja kvota na poštni predal ne more biti 0",
+        "maxquota_empty": "Največja kvota na poštni predal ne more biti 0.",
         "mysql_error": "Napaka MySQL: %s",
         "network_host_invalid": "Nepravilno omrežje ali gostitel: %s",
         "next_hop_interferes": "% moti naslednji skok %s",
@@ -483,7 +539,17 @@
         "cors_invalid_origin": "Naveden neveljaven Allow-Origin",
         "invalid_recipient_map_new": "Naveden neveljaven nov prejemnik: %s",
         "img_dimensions_exceeded": "Slika presega največje dovoljene dimenzije",
-        "img_size_exceeded": "Slika presega največjo dovoljeno velikost datoteke"
+        "img_size_exceeded": "Slika presega največjo dovoljeno velikost datoteke",
+        "iam_test_connection": "Povezava ni uspela",
+        "authsource_in_use": "Ponudnika identitete ni mogoče spremeniti ali izbrisati, ker ga trenutno uporablja eden ali več uporabnikov.",
+        "password_reset_na": "Obnovitev gesla trenutno ni na voljo. Obrnite se na skrbnika.",
+        "generic_server_error": "Prišlo je do nepričakovane napake strežnika. Obrnite se na skrbnika.",
+        "invalid_reset_token": "Neveljaven žeton za ponastavitev",
+        "password_reset_invalid_user": "Poštni predal ni bil najden ali pa ni nastavljen e-poštni naslov za obnovitev",
+        "recovery_email_failed": "E-poštnega sporočila za obnovitev ni bilo mogoče poslati. Obrnite se na skrbnika.",
+        "required_data_missing": "Manjkajo zahtevani podatki %s",
+        "reset_token_limit_exceeded": "Omejitev žetonov za ponastavitev je bila presežena. Poskusite znova pozneje.",
+        "to_invalid": "Polje za prejemnika ne sme biti prazno"
     },
     "debug": {
         "containers_info": "Informacije o vsebniku (containerju)",
@@ -583,8 +649,8 @@
         "pushover_sender_array": "Upoštevaj samo sledeče e-poštne naslove pošiljateljev <small>(ločeni z vejico)</small>",
         "mbox_rl_info": "Ta omejitev velja za SASL uporabniško ime, preverja se ujemanje s katerim koli \"from\" naslovom, ki ga uporablja prijavljeni uporabnik. Omejitev pošiljanja za poštni predal preglasi pravilo omejitve za domeno.",
         "kind": "Tip",
-        "client_secret": "Client secret",
-        "comment_info": "Zasebni komentar ni viden uporabniku, javni komentar pa je viden kot tooltip v uporabnikovem pregledu.",
+        "client_secret": "Skrivnost odjemalca",
+        "comment_info": "Zasebni komentar ni viden uporabniku, javni komentar pa se prikaže kot opis orodja, ko nanj v pregledu uporabnika zadržite miško",
         "created_on": "Ustvarjeno",
         "custom_attributes": "Atributi po meri",
         "delete1": "Izbriši na viru, ko je končano",
@@ -601,11 +667,11 @@
         "pushover_verify": "Preveri poverilnice",
         "quota_mb": "Omejitev (MiB)",
         "quota_warning_bcc": "BCC za sporočilo z opozorilom omejitve",
-        "quota_warning_bcc_info": "Opozorila bodo poslana kot ločene kopije sledečim prejemnikom. K naslovu sporočila bo dodano uporabniško ime v oklepajih, npr. <code>Opozorilo omejitve (user@example.com)</code>",
+        "quota_warning_bcc_info": "Opozorila bodo poslana kot ločene kopije naslednjim prejemnikom. Zadevi bo v oklepaju dodano ustrezno uporabniško ime, na primer: <code>Opozorilo o kvoti (uporabnik@example.com)</code>.",
         "ratelimit": "Omejitev pošiljanja",
         "advanced_settings": "Napredne nastavitve",
         "allow_from_smtp_info": "Pustite prazno da dovolite vse pošiljatelje.<br>IPv4/IPv6 naslovi in omrežja.",
-        "allowed_protocols": "Dovoljeni protokoli",
+        "allowed_protocols": "Dovoljeni protokoli za neposreden dostop uporabnikov (ne vpliva na protokole za gesla aplikacij)",
         "app_name": "Ime aplikacije",
         "app_passwd": "Geslo aplikacije",
         "app_passwd_protocols": "Dovoljeni protokoli za geslo aplikacije",
@@ -647,12 +713,691 @@
         "public_comment": "Javni komentar",
         "pushover": "Pushover",
         "pushover_evaluate_x_prio": "Eskaliraj visoko prednostno pošto [<code>X-Priority: 1</code>]",
-        "pushover_info": "Nastavitve potisnih obvestil bodo veljala za vsa čisto (ne spam) elektronsko pošto dostavljeno v <b>%s</b> vključno z aliasi (deljeni, nedeljeni, označeni)",
+        "pushover_info": "Nastavitve potisnih obvestil bodo veljale za vso čisto (ne neželeno) pošto, dostavljeno na <b>%s</b>, vključno z vzdevki (v skupni rabi, brez skupne rabe, označeni).",
         "pushover_only_x_prio": "Upoštevaj samo pošto z visoko prioriteto [<code>X-Priority: 1</code>]",
         "pushover_sender_regex": "Upoštevaj sledeči regex za pošiljatelja",
         "pushover_text": "Besedilo obvestila",
         "pushover_sound": "Zvok",
         "encryption": "Šifriranje",
-        "alias": "Uredi alias"
+        "alias": "Uredi alias",
+        "relayhost": "Prenosi, odvisni od pošiljatelja",
+        "mailbox_rename_alias": "Samodejno ustvari vzdevek",
+        "sender_acl_info": "Če lahko uporabnik poštnega predala A pošilja kot uporabnik poštnega predala B, se naslov pošiljatelja v SOGo ne prikaže samodejno kot izbirno polje \"od\".<br>\n  Uporabnik poštnega predala B mora v SOGo ustvariti pooblastilo, da lahko uporabnik poštnega predala A izbere svoj naslov kot pošiljatelja. Če želite pooblastiti poštni predal v SOGo, uporabite meni (tri pike) desno od imena vašega poštnega predala v zgornjem levem kotu v pogledu pošte. To vedenje ne velja za vzdevke.",
+        "redirect_uri": "URL za preusmeritev/povratni klic",
+        "relay_all": "Posreduj vsem prejemnikom",
+        "relay_unknown_only": "Posreduj samo neobstoječe poštne nabiralnike. Obstoječi poštni nabiralniki bodo dostavljeni lokalno.",
+        "relay_domain": "Posreduj to domeno",
+        "remove": "Odstrani",
+        "resource": "Vir",
+        "mailbox_rename_title": "Novo ime lokalnega poštnega predala",
+        "password_recovery_email": "E-poštno sporočilo za obnovitev gesla",
+        "relay_all_info": "↪ Če se odločite, da <b>ne</b> želite posredovati vseh prejemnikov, boste morali za vsakega posameznega prejemnika, ki ga želite posredovati, dodati (\"slepi\") poštni predal.",
+        "relay_transport_info": "<div class=\"badge fs-6 bg-info\">Informacije</div> Za to domeno lahko določite transportne zemljevide za cilj po meri. Če niso nastavljeni, bo izvedeno iskanje MX.",
+        "save": "Shrani spremembe",
+        "scope": "Obseg",
+        "sender_acl": "Dovoli pošiljanje kot",
+        "sender_acl_disabled": "<span class=\"badge fs-6 bg-danger\">Preverjanje pošiljatelja je onemogočeno</span>",
+        "sieve_type": "Vrsta filtra",
+        "skipcrossduplicates": "Preskoči podvojena sporočila med mapami (po principu \"kdor prej pride, prej melje\")",
+        "sogo_access": "Neposredno posredovanje na SOGo",
+        "sogo_access_info": "Po prijavi je uporabnik samodejno preusmerjen na SOGo.",
+        "sogo_visible": "Vzdevek je viden v SOGo",
+        "sogo_visible_info": "Ta možnost vpliva samo na objekte, ki jih je mogoče prikazati v SOGo (naslovi aliasov v skupni rabi ali brez nje, ki kažejo na vsaj en lokalni poštni predal). Če je skrita, vzdevek ne bo prikazan kot izbirni pošiljatelj v SOGo.",
+        "spam_alias": "Ustvarjanje ali spreminjanje časovno omejenih vzdevkovnih naslovov",
+        "spam_filter": "Filter neželene pošte",
+        "spam_policy": "Dodajanje ali odstranjevanje elementov na beli/črni seznam",
+        "spam_score": "Nastavite oceno neželene pošte po meri",
+        "subfolder2": "Sinhroniziraj v podmapo na cilju<br><small>(prazno = ne uporabi podmape)</small>",
+        "syncjob": "Urejanje sinhronizacijskega opravila",
+        "target_address": "Pojdi na naslov/e <small>(ločeno z vejico)</small>",
+        "target_domain": "Ciljna domena",
+        "timeout1": "Časovna omejitev za povezavo z oddaljenim gostiteljem",
+        "timeout2": "Časovna omejitev za povezavo z lokalnim gostiteljem",
+        "title": "Urejanje predmeta",
+        "unchanged_if_empty": "Če ni spremenjeno, pustite prazno",
+        "username": "Uporabniško ime",
+        "validate_save": "Potrdi in shrani",
+        "mailbox_rename": "Preimenuj poštni predal",
+        "mailbox_rename_agree": "Ustvaril/a sem varnostno kopijo.",
+        "mailbox_rename_warning": "POMEMBNO! Pred preimenovanjem nabiralnika ustvarite varnostno kopijo.",
+        "sieve_desc": "Kratek opis"
+    },
+    "footer": {
+        "restart_container_info": "<b>Pomembno:</b> Ugoden ponovni zagon lahko traja nekaj časa, zato počakajte, da se konča.",
+        "delete_these_items": "Prosimo, potrdite spremembe naslednjega ID-ja objekta",
+        "confirm_delete": "Potrdi brisanje",
+        "delete_now": "Izbriši zdaj",
+        "hibp_check": "Preverite na haveibeenpwned.com",
+        "hibp_nok": "Ujema se! To je potencialno nevarno geslo!",
+        "hibp_ok": "Ni najdenega ujemanja.",
+        "loading": "Prosim, počakajte...",
+        "nothing_selected": "Nič izbranega",
+        "restart_container": "Znova zaženite zabojnik",
+        "restart_now": "Znova zaženi zdaj",
+        "restarting_container": "Ponovni zagon zabojnika, to lahko traja nekaj časa",
+        "cancel": "Prekliči"
+    },
+    "login": {
+        "password": "Geslo",
+        "invalid_pass_reset_token": "Žeton za ponastavitev gesla je neveljaven ali je potekel.<br>Zahtevajte novo povezavo za ponastavitev gesla.",
+        "back_to_mailcow": "Nazaj v mailcow",
+        "delayed": "Prijava je bila zakasnjena za %s sekund.",
+        "fido2_webauthn": "Prijava FIDO2/WebAuthent",
+        "forgot_password": "> Ste pozabili geslo?",
+        "login": "Prijava",
+        "login_linkstext": "Ni pravilna prijava?",
+        "login_usertext": "Prijava kot uporabnik",
+        "login_domainadmintext": "Prijava kot skrbnik domene",
+        "login_admintext": "Prijava kot skrbnik",
+        "login_user": "Prijava uporabnika",
+        "login_dadmin": "Prijava skrbnika domene",
+        "login_admin": "Prijava skrbnika",
+        "mobileconfig_info": "Za prenos zahtevanega profila povezave Apple se prijavite kot uporabnik poštnega predala.",
+        "new_password": "Novo geslo",
+        "new_password_confirm": "Potrdi novo geslo",
+        "other_logins": "ali se prijavite s/z",
+        "reset_password": "Ponastavi geslo",
+        "request_reset_password": "Zahteva za spremembo gesla",
+        "username": "Uporabniško ime"
+    },
+    "mailbox": {
+        "last_mail_login": "Zadnja prijava v e-pošto",
+        "deactivate": "Deaktiviraj",
+        "domain_admins": "Skrbniki domen",
+        "kind": "Prijazno",
+        "mailbox_defaults_info": "Določite privzete nastavitve za nove poštne nabiralnike.",
+        "allowed_protocols": "Dovoljeni protokoli",
+        "add_alias": "Dodaj vzdevek",
+        "mins_interval": "Interval (min)",
+        "recipient_map_info": "Zemljevidi prejemnikov se uporabljajo za zamenjavo naslova prejemnika v sporočilu, preden je dostavljeno.",
+        "add_domain_record_first": "Najprej dodajte domeno",
+        "booking_ltnull": "Neomejeno, vendar se ob rezervaciji prikaži kot zasedeno",
+        "alias_domain_alias_hint": "Vzdevki se na vzdevke domen samodejno <b>ne</b> uporabijo. Naslov vzdevka <code>my-alias@domain</code> <b>ne</b> pokriva naslova <code>my-alias@alias-domain</code> (kjer je \"vzdevek domene\" namišljeni vzdevek domene za \"domeno\").<br>Za preusmeritev pošte v zunanji nabiralnik uporabite filter sito (glejte zavihek »Filtri« ali uporabite SOGo -> Posrednik). Za samodejno dodajanje manjkajočih vzdevkov uporabite \"Razširi vzdevek čez domene vzdevkov\".",
+        "q_all": " ob premiku v mapo Neželena pošta in ob zavrnitvi",
+        "bcc_info": "BCC zemljevidi se uporabljajo za tiho posredovanje kopij vseh sporočil na drug naslov. Vnos vrste preslikave prejemnika se uporablja, kadar lokalni cilj deluje kot prejemnik pošte. Preslikave pošiljatelja delujejo po istem načelu.<br>\n  Lokalni cilj ne bo obveščen o neuspeli dostavi.",
+        "force_pw_update": "Vsiljena posodobitev gesla ob naslednji prijavi",
+        "recipient_map_new_info": "Cilj zemljevida prejemnika mora biti veljaven e-poštni naslov ali ime domene.",
+        "recipient_map_old_info": "Izvirni cilj prejemnika mora biti veljaven e-poštni naslov ali ime domene.",
+        "action": "Dejanje",
+        "activate": "Aktiviraj",
+        "active": "Aktivno",
+        "add": "Dodaj",
+        "add_alias_expand": "Razširi vzdevek nad vzdevki domen",
+        "add_bcc_entry": "Dodaj zemljevid BCC",
+        "add_domain": "Dodaj domeno",
+        "add_domain_alias": "Dodaj vzdevek domene",
+        "add_filter": "Dodaj filter",
+        "add_mailbox": "Dodaj poštni predal",
+        "add_recipient_map_entry": "Dodaj zemljevid prejemnikov",
+        "add_resource": "Dodaj vir",
+        "add_template": "Dodaj predlogo",
+        "add_tls_policy_map": "Dodaj zemljevid pravilnikov TLS",
+        "address_rewriting": "Prepisovanje naslovov",
+        "alias": "Vzdevek",
+        "alias_domain_backupmx": "Vzdevek domene ni aktiven za posredovalno domeno",
+        "aliases": "Vzdevki",
+        "all_domains": "Vse domene",
+        "allow_from_smtp": "Dovoli samo tem IP-jem uporabo <b>SMTP</b>",
+        "allow_from_smtp_info": "Pustite prazno, da dovolite vse pošiljatelje.<br>Naslovi in omrežja IPv4/IPv6.",
+        "backup_mx": "Posredovalna domena",
+        "bcc": "BCC",
+        "bcc_destination": "Ciljna stran BCC",
+        "bcc_destinations": "Ciljna stran BCC",
+        "bcc_local_dest": "Lokalni cilj",
+        "bcc_map": "BCC zemljevid",
+        "bcc_map_type": "BCC tip",
+        "bcc_maps": "BCC zemljevidi",
+        "bcc_rcpt_map": "Zemljevid prejemnikov",
+        "bcc_sender_map": "Zemljevid pošiljatelja",
+        "bcc_to_rcpt": "Preklopi na vrsto zemljevida prejemnika",
+        "bcc_to_sender": "Preklopi na vrsto zemljevida pošiljatelja",
+        "bcc_type": "BCC tip",
+        "booking_null": "Vedno prikaži kot brezplačno",
+        "booking_0_short": "Vedno prost",
+        "booking_custom": "Točna omejitev na število rezervacij po meri",
+        "booking_custom_short": "Trda omejitev",
+        "booking_lt0_short": "Mehka omejitev",
+        "catch_all": "Zajemi vse",
+        "created_on": "Ustvarjeno dne",
+        "daily": "Dnevno",
+        "description": "Opis",
+        "disable_login": "Prepreči prijavo (dohodna pošta je še vedno sprejeta)",
+        "disable_x": "Onemogoči",
+        "dkim_domains_selector": "Izbirnik",
+        "dkim_key_length": "Dolžina ključa DKIM (biti)",
+        "domain": "Domena",
+        "domain_aliases": "Vzdevki domen",
+        "domain_templates": "Predloge domen",
+        "domain_quota": "Kvota",
+        "domain_quota_total": "Celotna kvota domene",
+        "domains": "Domene",
+        "edit": "Uredi",
+        "empty": "Ni rezultatov",
+        "enable_x": "Omogoči",
+        "filters": "Filtri",
+        "fname": "Polno ime",
+        "gal": "Globalni seznam naslovov",
+        "goto_ham": "Uči se kot <b>ham</b>",
+        "goto_spam": "Uči se kot <b>spam</b>",
+        "hourly": "Urno",
+        "iam": "Ponudnik identitete",
+        "in_use": "V uporabi (%)",
+        "inactive": "Neaktivno",
+        "insert_preset": "Vstavi primer prednastavitve \"%s\"",
+        "last_modified": "Zadnja sprememba",
+        "last_pw_change": "Zadnja sprememba gesla",
+        "last_run_reset": "Načrtuj naslednje",
+        "mailbox": "Poštni nabiralnik",
+        "mailbox_defaults": "Privzete nastavitve",
+        "mailbox_defquota": "Privzeta velikost poštnega nabiralnika",
+        "mailbox_templates": "Predloge poštnih nabiralnikov",
+        "mailbox_quota": "Največja velikost poštnega nabiralnika",
+        "mailboxes": "Poštni nabiralniki",
+        "max_aliases": "Največje število vzdevkov",
+        "max_mailboxes": "Največje možno število poštnih predalov",
+        "max_quota": "Največja kvota na poštni predal",
+        "msg_num": "Sporočilo #",
+        "multiple_bookings": "Več rezervacij",
+        "never": "Nikoli",
+        "no": "&#10005;",
+        "no_record": "Ni zapisa za objekt %s",
+        "no_record_single": "Ni zapisa",
+        "open_logs": "Odpri dnevnike",
+        "owner": "Lastnik",
+        "private_comment": "Zasebni komentar",
+        "public_comment": "Javni komentar",
+        "q_add_header": "ko je premaknjeno v mapo Neželena pošta",
+        "q_reject": "ob zavrnitvi",
+        "quarantine_category": "Kategorija obvestil o karanteni",
+        "quarantine_notification": "Obvestila o karanteni",
+        "quick_actions": "Dejanja",
+        "recipient": "Prejemnik",
+        "recipient_map": "Zemljevid prejemnikov",
+        "recipient_map_new": "Nov prejemnik",
+        "recipient_map_old": "Prvotni prejemnik",
+        "recipient_maps": "Zemljevidi prejemnikov",
+        "relay_all": "Posreduj vsem prejemnikom",
+        "relay_unknown": "Posredovanje neznanih poštnih predalov",
+        "remove": "Odstrani",
+        "resources": "Viri",
+        "running": "V teku",
+        "sender": "Pošiljatelj",
+        "set_postfilter": "Označi kot postfilter",
+        "set_prefilter": "Označi kot predfilter",
+        "sieve_preset_1": "Zavrzi pošto z verjetno nevarnimi vrstami datotek",
+        "filter_table": "Filtriraj tabelo",
+        "excludes": "Izključuje",
+        "last_run": "Zadnji zagon",
+        "sieve_preset_2": "Vedno označi e-pošto določenega pošiljatelja kot videno",
+        "target_address": "Pojdi na naslov",
+        "syncjob_EXIT_TLS_FAILURE": "Težava s šifrirano povezavo",
+        "syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Ni mogoče vzpostaviti povezave z oddaljenim strežnikom",
+        "tls_map_parameters_info": "Prazno ali parametri, na primer: protocols=!SSLv2 ciphers=medium exclude=3DES",
+        "tls_policy_maps_enforced_tls": "Ti pravilniki bodo preglasili tudi vedenje uporabnikov poštnih predalov, ki vsiljujejo odhodne povezave TLS. Če spodaj ni pravilnika, bodo ti uporabniki uporabili privzete vrednosti, določene kot <code>smtp_tls_mandatory_protocols</code> in <code>smtp_tls_mandatory_ciphers</code>.",
+        "spam_aliases": "Začasni vzdevek",
+        "sieve_preset_3": "Tiho zavrzite, ustavite vso nadaljnjo obdelavo s presejanjem",
+        "sieve_preset_4": "Vloži v mapo PREJETO, preskoči nadaljnjo obdelavo s sitastimi filtri",
+        "sieve_preset_5": "Samodejni odzivnik (dopust)",
+        "sieve_preset_6": "Zavrni pošto z odgovorom",
+        "sieve_preset_7": "Preusmeritev in ohrani/opusti",
+        "sieve_preset_8": "Preusmeritev e-pošte od določenega pošiljatelja, označitev kot prebrano in razvrščanje v podmapo",
+        "sieve_preset_header": "Spodaj si oglejte primere prednastavitev. Za več podrobnosti glejte <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedijo</a>.",
+        "sogo_visible": "Vzdevek je viden v SOGo",
+        "sogo_visible_n": "Skrij vzdevek v SOGo",
+        "sogo_visible_y": "Prikaži vzdevek v SOGo",
+        "stats": "Statistika",
+        "status": "Stanje",
+        "sync_jobs": "Sinhronizacija opravil",
+        "syncjob_check_log": "Preveri dnevnik",
+        "syncjob_last_run_result": "Rezultat zadnjega zagona",
+        "syncjob_EX_OK": "Uspešno",
+        "syncjob_EXIT_CONNECTION_FAILURE": "Težava s povezavo",
+        "syncjob_EXIT_AUTHENTICATION_FAILURE": "Težava z overjanjem",
+        "syncjob_EXIT_OVERQUOTA": "Ciljni poštni predal presega kvoto",
+        "table_size_show_n": "Prikaži %s elementov",
+        "target_domain": "Ciljna domena",
+        "template": "Predloga",
+        "tls_enforce_in": "Uveljavi dohodni TLS",
+        "tls_enforce_out": "Uveljavi odhodni TLS",
+        "tls_map_dest": "Cilj",
+        "tls_map_dest_info": "Primeri: example.org, .example.org, [mail.example.org]:25",
+        "tls_map_parameters": "Parametri",
+        "tls_map_policy": "Politika",
+        "tls_policy_maps": "Zemljevidi pravilnikov TLS",
+        "syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Napačno uporabniško ime ali geslo",
+        "templates": "Predloge",
+        "tls_policy_maps_long": "Preglasitve zemljevidov pravilnikov odhodnega TLS",
+        "table_size": "Velikost tabele",
+        "toggle_all": "Preklopi vse",
+        "username": "Uporabniško ime",
+        "waiting": "Čakanje",
+        "yes": "&#10003;",
+        "weekly": "Tedensko",
+        "sieve_info": "Na uporabnika lahko shranite več filtrov, vendar je lahko hkrati aktiven le en predfilter in en postfilter.<br>\nVsak filter bo obdelan v opisanem vrstnem redu. Niti neuspešen skript niti izdan ukaz »keep;« ne bosta ustavila obdelave nadaljnjih skript. Spremembe globalnih skriptov sita bodo sprožile ponovni zagon Dovecota.<br><br>Globalni predfilter sita &#8226; Predfilter &#8226; Uporabniški skripti &#8226; Postfilter &#8226; Globalni postfilter sita",
+        "tls_policy_maps_info": "Ta preslikava pravilnikov preglasi pravila odhodnega prenosa TLS neodvisno od uporabnikovih nastavitev pravilnikov TLS.<br>\n  Za več informacij preverite <a href=\"http://www.postfix.org/postconf.5.html#smtp_tls_policy_maps\" target=\"_blank\">dokumentacijo »smtp_tls_policy_maps«</a>."
+    },
+    "fido2": {
+        "known_ids": "Znani ID-ji",
+        "set_fido2_touchid": "Registrirajte Touch ID na Apple M1",
+        "confirm": "Potrdi",
+        "fido2_auth": "Prijava s FIDO2",
+        "fido2_success": "Naprava je bila uspešno registrirana",
+        "fido2_validation_failed": "Preverjanje ni uspelo",
+        "fn": "Prijazno ime",
+        "none": "Onemogočeno",
+        "register_status": "Status registracije",
+        "rename": "Preimenuj",
+        "set_fido2": "Registrirajte napravo FIDO2",
+        "set_fn": "Nastavi prijazno ime",
+        "start_fido2_validation": "Začni validacijo FIDO2"
+    },
+    "info": {
+        "session_expires": "Vaša seja bo potekla čez približno 15 sekund",
+        "awaiting_tfa_confirmation": "Čakam na potrditev TFA",
+        "no_action": "Ni veljavnih ukrepov"
+    },
+    "header": {
+        "administration": "Konfiguracija in podrobnosti",
+        "apps": "Aplikacije",
+        "debug": "Informacije",
+        "email": "E-pošta",
+        "mailcow_system": "Sistem",
+        "mailcow_config": "Konfiguracija",
+        "quarantine": "Karantena",
+        "restart_netfilter": "Znova zaženite omrežni filter",
+        "restart_sogo": "Znova zaženite SOGo",
+        "user_settings": "Uporabniške nastavitve"
+    },
+    "quarantine": {
+        "learn_spam_delete": "Uči se kot neželena pošta in izbriši",
+        "medium_danger": "Srednje",
+        "notified": "Obveščen",
+        "low_danger": "Nizko",
+        "qinfo": "Sistem karantene bo zavrnjeno pošto shranil v zbirko podatkov (pošiljatelj ne bo imel vtisa, da je bila pošta dostavljena), prav tako pa bo pošto, ki bo dostavljena kot kopija, shranil v mapo »Neželena pošta« v nabiralniku.\n<br>»Uči kot neželeno pošto in izbriši« bo sporočilo prepoznal kot neželeno pošto prek Bayesovega izreka in izračunal tudi mehke zgoščene vrednosti, da bi v prihodnje zavrnil podobna sporočila.\n<br>Upoštevajte, da je učenje več sporočil lahko – odvisno od vašega sistema – zamudno.<br>Elementi na črnem seznamu so izključeni iz karantene.",
+        "junk_folder": "Mapa z neželeno pošto",
+        "action": "Dejanje",
+        "atts": "Priloge",
+        "check_hash": "Iskanje zgoščene vrednosti datoteke @ VT",
+        "confirm": "Potrdi",
+        "confirm_delete": "Potrdite brisanje tega elementa.",
+        "danger": "Nevarnost",
+        "deliver_inbox": "Dostavi v mapo »Prejeto«",
+        "disabled_by_config": "Trenutna konfiguracija sistema onemogoča funkcionalnost karantene. Nastavite »število hranjenj na poštni predal« in »največjo velikost« za elemente karantene.",
+        "download_eml": "Prenesi (.eml)",
+        "empty": "Ni rezultatov",
+        "high_danger": "Visoko",
+        "info": "Informacija",
+        "neutral_danger": "Nevtralno",
+        "qhandler_success": "Zahteva je bila uspešno poslana v sistem. Zdaj lahko zaprete okno.",
+        "qid": "Rspamd QID",
+        "qitem": "Predmet iz karantene",
+        "spam_score": "Rezultat",
+        "text_from_html_content": "Vsebina (pretvorjen html)",
+        "quarantine": "Karantena",
+        "quick_delete_link": "Odpri povezavo za hitro brisanje",
+        "quick_info_link": "Odpri povezavo z informacijami",
+        "quick_release_link": "Odpri povezavo za hitro objavo",
+        "rcpt": "Prejemnik",
+        "received": "Prejeto",
+        "recipients": "Prejemniki",
+        "refresh": "Osveži",
+        "rejected": "Zavrnjeno",
+        "release": "Izdaja",
+        "release_body": "Vaše sporočilo smo priložili kot datoteko eml temu sporočilu.",
+        "release_subject": "Potencialno škodljiv predmet v karanteni %s",
+        "remove": "Odstrani",
+        "rewrite_subject": "Prepiši zadevo",
+        "rspamd_result": "Rezultat Rspamd",
+        "sender": "Pošiljatelj (SMTP)",
+        "sender_header": "Pošiljatelj (glava »Od«)",
+        "settings_info": "Največje število elementov za karanteno: %s<br>Največja velikost e-pošte: %s MiB",
+        "show_item": "Prikaži element",
+        "spam": "Neželena pošta",
+        "subj": "Zadeva",
+        "table_size": "Velikost tabele",
+        "table_size_show_n": "Prikaži %s elementov",
+        "text_plain_content": "Vsebina (besedilo/navadno)",
+        "toggle_all": "Preklopi vse",
+        "type": "Vrsta",
+        "quick_actions": "Dejanja"
+    },
+    "oauth2": {
+        "access_denied": "Za odobritev dostopa prek OAuth2 se prijavite kot lastnik poštnega predala.",
+        "authorize_app": "Avtorizacija aplikacije",
+        "deny": "Zavrni",
+        "permit": "Avtorizacija aplikacije",
+        "profile": "Profil",
+        "profile_desc": "Ogled osebnih podatkov: uporabniško ime, polno ime, ustvarjeno, spremenjeno, aktivno",
+        "scope_ask_permission": "Aplikacija je zahtevala naslednja dovoljenja"
+    },
+    "queue": {
+        "info": "Čakalna vrsta pošte vsebuje vsa e-poštna sporočila, ki čakajo na dostavo. Če je e-poštno sporočilo dlje časa obtičalo v čakalni vrsti, ga sistem samodejno izbriše.<br>Sporočilo o napaki ustreznega e-poštnega sporočila vsebuje informacije o tem, zakaj sporočila ni bilo mogoče dostaviti.",
+        "delete": "Izbriši vse",
+        "flush": "Izprazni čakalno vrsto",
+        "legend": "Funkcije dejanj čakalne vrste pošte:",
+        "ays": "Potrdite, da želite izbrisati vse elemente iz trenutne čakalne vrste.",
+        "deliver_mail": "Dostavi",
+        "deliver_mail_legend": "Poskusi ponovne dostave izbranih e-poštnih sporočil.",
+        "hold_mail": "Zadrži",
+        "hold_mail_legend": "Zadrži izbrano pošto. (Prepreči nadaljnje poskuse dostave)",
+        "queue_manager": "Upravitelj čakalnih vrst",
+        "show_message": "Prikaži sporočilo",
+        "unban": "odblokiraj čakalno vrsto",
+        "unhold_mail": "Nezadrži",
+        "unhold_mail_legend": "Sprosti izbrana sporočila za dostavo. (Zahteva predhodno zadržanje)"
+    },
+    "success": {
+        "eas_reset": "Naprave ActiveSync za uporabnika %s so bile ponastavljene",
+        "alias_added": "Dodan je bil vzdevek %s (%d)",
+        "app_passwd_added": "Dodano novo geslo za aplikacijo",
+        "domain_add_dkim_available": "Ključ DKIM je že obstajal",
+        "custom_login_modified": "Prilagoditev prijave je bila uspešno shranjena",
+        "rl_saved": "Omejitev hitrosti za objekt %s je shranjena",
+        "domain_admin_modified": "Spremembe skrbnika domene %s so bile shranjene",
+        "license_modified": "Spremembe licence so bile shranjene",
+        "pushover_settings_edited": "Nastavitve Pushoverja so bile uspešno nastavljene, preverite poverilnice.",
+        "mailbox_renamed": "Poštni nabiralnik je bil preimenovan iz %s v %s",
+        "recovery_email_sent": "E-poštno sporočilo za obnovitev je bilo poslano na %s",
+        "relayhost_removed": "Vnos na zemljevidu %s je bil odstranjen",
+        "acl_saved": "ACL za objekt %s shranjen",
+        "admin_added": "Dodan je bil skrbnik %s",
+        "admin_api_modified": "Spremembe API-ja so bile shranjene",
+        "admin_modified": "Spremembe skrbnika so bile shranjene",
+        "admin_removed": "Administrator %s je bil odstranjen",
+        "alias_domain_removed": "Vzdevek domene %s je bil odstranjen",
+        "alias_modified": "Spremembe vzdevka %s so bile shranjene",
+        "alias_removed": "Vzdevek %s je bil odstranjen",
+        "aliasd_added": "Dodan vzdevek domene %s",
+        "aliasd_modified": "Spremembe vzdevka domene %s so bile shranjene",
+        "app_links": "Shranjene spremembe povezav aplikacij",
+        "app_passwd_removed": "Odstranjen ID gesla za aplikacijo %s",
+        "bcc_deleted": "Vnosi na zemljevidu BCC so izbrisani: %s",
+        "bcc_edited": "Vnos na zemljevidu BCC %s je bil urejen",
+        "db_init_complete": "Inicializacija baze podatkov končana",
+        "delete_filter": "Izbrisani filtri ID %s",
+        "delete_filters": "Izbrisani filtri: %s",
+        "deleted_syncjob": "Izbrisan ID sinhronizacijskega opravila %s",
+        "deleted_syncjobs": "Izbrisana opravila sinhronizacije: %s",
+        "dkim_added": "Ključ DKIM %s je bil shranjen",
+        "dkim_duplicated": "Ključ DKIM za domeno %s je bil kopiran v %s",
+        "dkim_removed": "Ključ DKIM %s je bil odstranjen",
+        "domain_added": "Dodana domena %s",
+        "domain_admin_added": "Dodan je bil skrbnik domene %s",
+        "domain_admin_removed": "Skrbnik domene %s je bil odstranjen",
+        "domain_footer_modified": "Spremembe v nogi domene %s so bile shranjene",
+        "domain_modified": "Spremembe domene %s so bile shranjene",
+        "domain_removed": "Domena %s je bila odstranjena",
+        "dovecot_restart_success": "Dovecot je bil uspešno ponovno zagnan",
+        "f2b_banlist_refreshed": "ID seznama prepovedanih je bil uspešno osvežen.",
+        "f2b_modified": "Spremembe parametrov Fail2ban so bile shranjene",
+        "forwarding_host_added": "Dodan je bil posredovalni gostitelj %s",
+        "forwarding_host_removed": "Gostitelj za posredovanje %s je bil odstranjen",
+        "global_filter_written": "Filter je bil uspešno zapisan v datoteko",
+        "hash_deleted": "Zgoščena vrednost je izbrisana",
+        "iam_test_connection": "Povezava je bila uspešna",
+        "ip_check_opt_in_modified": "Preverjanje IP-ja je bilo uspešno shranjeno",
+        "item_deleted": "Element %s je bil uspešno izbrisan",
+        "items_deleted": "Element %s je bil uspešno izbrisan",
+        "items_released": "Izbrani elementi so bili izdani",
+        "logged_in_as": "Prijavljen kot %s",
+        "mailbox_added": "Dodan je bil poštni predal %s",
+        "mailbox_modified": "Spremembe poštnega nabiralnika %s so bile shranjene",
+        "mailbox_removed": "Poštni nabiralnik %s je bil odstranjen",
+        "nginx_reloaded": "Nginx je bil ponovno naložen",
+        "object_modified": "Spremembe objekta %s so bile shranjene",
+        "password_policy_saved": "Pravilnik o geslih je bil uspešno shranjen",
+        "password_changed_success": "Geslo je bilo uspešno spremenjeno",
+        "qlearn_spam": "Sporočilo z ID-jem %s je bilo prepoznano kot neželena pošta in izbrisano",
+        "queue_command_success": "Ukaz za čakalno vrsto je bil uspešno zaključen",
+        "recipient_map_entry_deleted": "ID zemljevida prejemnika %s je bil izbrisan",
+        "recipient_map_entry_saved": "Vnos zemljevida prejemnika »%s« je bil shranjen",
+        "relayhost_added": "Dodan je bil vnos na zemljevid %s",
+        "reset_main_logo": "Ponastavi na privzeti logotip",
+        "resource_added": "Dodan je bil vir %s",
+        "resource_modified": "Spremembe poštnega nabiralnika %s so bile shranjene",
+        "resource_removed": "Vir %s je bil odstranjen",
+        "rspamd_ui_pw_set": "Geslo uporabniškega vmesnika Rspamd je bilo uspešno nastavljeno",
+        "settings_map_added": "Dodan vnos nastavitev zemljevida",
+        "settings_map_removed": "Odstranjen ID zemljevida nastavitev %s",
+        "sogo_profile_reset": "Profil SOGo za uporabnika %s je bil ponastavljen",
+        "template_added": "Dodana predloga %s",
+        "template_modified": "Spremembe predloge %s so bile shranjene",
+        "template_removed": "ID predloge %s je bil izbrisan",
+        "tls_policy_map_entry_deleted": "ID zemljevida pravilnika TLS %s je bil izbrisan",
+        "tls_policy_map_entry_saved": "Vnos zemljevida pravilnika TLS »%s« je bil shranjen",
+        "ui_texts": "Shranjene spremembe besedil uporabniškega vmesnika",
+        "upload_success": "Datoteka je bila uspešno naložena",
+        "verified_fido2_login": "Preverjena prijava v FIDO2",
+        "verified_totp_login": "Preverjena prijava v TOTP",
+        "verified_webauthn_login": "Preverjena prijava v WebAuth",
+        "verified_yotp_login": "Preverjena prijava z enkratnim geslom Yubico",
+        "bcc_saved": "Vnos na zemljevidu BCC je shranjen",
+        "cors_headers_edited": "Nastavitve CORS so bile shranjene",
+        "item_released": "Izdan je bil element %s",
+        "saved_settings": "Shranjene nastavitve",
+        "learned_ham": "Uspešno naučen ID %s kot zaželjen"
+    },
+    "start": {
+        "imap_smtp_server_auth_info": "Prosimo, uporabite svoj celoten e-poštni naslov in mehanizem za preverjanje pristnosti PLAIN.<br>\nVaši podatki za prijavo bodo šifrirani z obveznim šifriranjem na strani strežnika.",
+        "help": "Prikaži/skrij ploščo s pomočjo"
+    },
+    "tfa": {
+        "api_register": "%s uporablja Yubico Cloud API. Pridobite API ključ za svoj ključ <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">tukaj</a>",
+        "authenticators": "Preverjevalniki pristnosti",
+        "confirm": "Potrdi",
+        "delete_tfa": "Onemogoči TFA",
+        "disable_tfa": "Onemogoči TFA do naslednje uspešne prijave",
+        "enter_qr_code": "Vaša koda TOTP, če vaša naprava ne more skenirati kod QR",
+        "error_code": "Koda napake",
+        "confirm_totp_token": "Spremembe potrdite z vnosom ustvarjenega žetona",
+        "tfa": "Dvofaktorska avtentikacija",
+        "webauthn": "Preverjanje pristnosti WebAuthn",
+        "none": "Deaktiviraj",
+        "init_webauthn": "Inicializacija, prosim počakajte...",
+        "key_id": "Identifikator za vašo napravo",
+        "key_id_totp": "Identifikator za vaš ključ",
+        "reload_retry": "- (če napaka vztraja, znova zaženite brskalnik)",
+        "scan_qr_code": "Prosimo, skenirajte naslednjo kodo z aplikacijo za preverjanje pristnosti ali jo vnesite ročno.",
+        "select": "Prosimo, izberite",
+        "set_tfa": "Nastavite metodo dvofaktorske avtentikacije",
+        "start_webauthn_validation": "Začni validacijo",
+        "tfa_token_invalid": "Žeton TFA neveljaven",
+        "totp": "Enkratno geslo na podlagi časa (Google Authenticator, Authy itd.)",
+        "u2f_deprecated": "Zdi se, da je bil vaš ključ registriran z zastarelo metodo U2F. Deaktivirali bomo dvofaktorsko overjanje in izbrisali vaš ključ.",
+        "u2f_deprecated_important": "Prosimo, registrirajte svoj ključ v skrbniški plošči z novo metodo WebAuthn.",
+        "waiting_usb_auth": "<i>Čakanje na napravo USB ...</i><br><br>Zdaj se dotaknite gumba na napravi USB.",
+        "waiting_usb_register": "<i>Čakanje na napravo USB ...</i><br><br>Vnesite svoje geslo zgoraj in potrdite registracijo tako, da tapnete gumb na napravi USB.",
+        "yubi_otp": "Avtentikacija z enkratnim geslom Yubico"
+    },
+    "ratelimit": {
+        "disabled": "Onemogočeno",
+        "second": "sporočil / sekundo",
+        "minute": "sporočil / minuto",
+        "hour": "sporočil / uro",
+        "day": "sporočil / dan"
+    },
+    "user": {
+        "create_syncjob": "Ustvari novo sinhronizacijsko opravilo",
+        "open_webmail_sso": "Spletna pošta",
+        "attribute": "Atribut",
+        "description": "Opis",
+        "direct_aliases_desc": "Na neposredne vzdevke vplivajo nastavitve filtra neželene pošte in pravilnika TLS.",
+        "direct_protocol_access": "Ta uporabnik poštnega predala ima <b>neposreden zunanji dostop</b> do naslednjih protokolov in aplikacij. To nastavitev nadzoruje vaš skrbnik. Za dostop do posameznih protokolov in aplikacij je mogoče ustvariti gesla za aplikacije.<br>Gumb »Spletna pošta« omogoča enotno prijavo v SOGo in je vedno na voljo.",
+        "shared_aliases_desc": "Na uporabniške nastavitve, kot sta filter neželene pošte ali pravilnik za šifriranje, ne vplivajo skupni vzdevki. Ustrezne filtre neželene pošte lahko nastavi le skrbnik kot pravilnik za celotno domeno.",
+        "force_pw_update": "Za dostop do storitev, povezanih s skupinsko programsko opremo, <b>morate</b> nastaviti novo geslo.",
+        "new_password": "Novo geslo",
+        "password_reset_info": "Če ni naveden e-poštni naslov za obnovitev gesla, te funkcije ni mogoče uporabiti.",
+        "pushover_sender_array": "Upoštevajte naslednje e-poštne naslove pošiljateljev <small>(ločeni z vejico)</small>",
+        "tag_help_explain": "V podmapi: pod mapo INBOX (\"INBOX/Facebook\") bo ustvarjena nova podmapa, poimenovana po oznaki.<br>\nV zadevi: ime oznake bo dodano pred zadevo e-poštnega sporočila, na primer: \"[Facebook] Moje novice\".",
+        "pushover_vars": "Če filter pošiljatelja ni definiran, bodo upoštevana vsa e-poštna sporočila.<br>Filtre regularnih izrazov in natančna preverjanja pošiljateljev je mogoče definirati posamično in bodo obravnavana zaporedno. Niso odvisna drug od drugega.<br>Uporabne spremenljivke za besedilo in naslov (upoštevajte pravilnike o varstvu podatkov)",
+        "quarantine_notification_info": "Ko je obvestilo poslano, bodo elementi označeni kot »obveščeni« in za ta določen element ne bodo poslana nobena nadaljnja obvestila.",
+        "verify": "Preveri",
+        "spamfilter_bl_desc": "E-poštni naslovi na črnem seznamu, ki jih <b>vedno</b> razvrstite kot neželeno pošto in zavrnete. Zavrnjena pošta <b>ne</b> bo kopirana v karanteno. Uporabite lahko nadomestne znake. Filter se uporabi samo za neposredne vzdevke (vzdevke z enim samim ciljnim nabiralnikom), izključujoč vseobsegajoče vzdevke in sam nabiralnik.",
+        "spamfilter_wl_desc": "E-poštni naslovi na belem seznamu so programirani tako, da se <b>nikoli</b> ne razvrstijo kot neželena pošta. Uporabijo se lahko nadomestni znaki. Filter se uporabi samo za neposredne vzdevke (vzdevke z enim samim ciljnim poštnim predalom), izključujoč vseobsegajoče vzdevke in sam poštni predal.",
+        "tls_policy_warning": "<strong>Opozorilo:</strong> Če se odločite za uveljavitev šifriranega prenosa pošte, lahko izgubite e-pošto.<br>Sporočila, ki ne ustrezajo pravilniku, bo poštni sistem zavrnil s popolno napako.<br>Ta možnost velja za vaš primarni e-poštni naslov (prijavno ime), vse naslove, izpeljane iz vzdevkov domen, in vzdevke, <b>ki imajo samo ta en poštni predal</b> kot cilj.",
+        "allowed_protocols": "Dovoljeni protokoli",
+        "title": "Naslov",
+        "action": "Dejanje",
+        "active": "Aktivno",
+        "active_sieve": "Aktiven filter",
+        "advanced_settings": "Napredne nastavitve",
+        "alias": "Vzdevek",
+        "alias_create_random": "Generiraj naključne vzdevke",
+        "alias_extend_all": "Podaljšaj vzdevek za 1 uro",
+        "alias_full_date": "d.m.Y, H:i:s T",
+        "alias_remove_all": "Odstrani vse vzdevke",
+        "alias_select_validity": "Obdobje veljavnosti",
+        "alias_time_left": "Preostali čas",
+        "alias_valid_until": "Veljavno do",
+        "aliases_also_send_as": "Pošiljanje je dovoljeno tudi kot uporabnik",
+        "aliases_send_as_all": "Ne preverjaj dostopa pošiljatelja za naslednje domene in njihove vzdevke",
+        "app_hint": "Gesla aplikacij so alternativna gesla za prijavo v IMAP, SMTP, CalDAV, CardDAV in EAS. Uporabniško ime ostane nespremenjeno. Spletna pošta SOGo ni na voljo prek gesel aplikacij.",
+        "app_name": "Ime aplikacije",
+        "app_passwds": "Gesla aplikacij",
+        "apple_connection_profile": "Profil povezave Apple",
+        "apple_connection_profile_complete": "Ta profil povezave vključuje parametre IMAP in SMTP ter poti CalDAV (koledarji) in CardDAV (stiki) za napravo Apple.",
+        "apple_connection_profile_mailonly": "Ta profil povezave vključuje konfiguracijske parametre IMAP in SMTP za napravo Apple.",
+        "apple_connection_profile_with_app_password": "Novo geslo za aplikacijo se ustvari in doda v profil, tako da pri nastavitvi naprave ni treba vnesti gesla. Datoteke ne delite, saj omogoča poln dostop do vašega nabiralnika.",
+        "authentication": "Avtentikacija",
+        "change_password": "Spremeni geslo",
+        "change_password_hint_app_passwords": "Vaš račun ima %d gesel aplikacij, ki ne bodo spremenjena. Če jih želite upravljati, odprite zavihek Gesla aplikacij.",
+        "clear_recent_successful_connections": "Jasno vidne uspešne povezave",
+        "client_configuration": "Prikaži vodnike za konfiguracijo e-poštnih odjemalcev in pametnih telefonov",
+        "create_app_passwd": "Ustvari geslo za aplikacijo",
+        "created_on": "Ustvarjeno dne",
+        "daily": "Dnevno",
+        "day": "dan",
+        "delete_ays": "Prosimo, potrdite postopek brisanja.",
+        "direct_aliases": "Neposredni vzdevki",
+        "eas_reset": "Ponastavi predpomnilnik naprave ActiveSync",
+        "eas_reset_help": "V mnogih primerih bo ponastavitev predpomnilnika naprave pomagala obnoviti pokvarjen profil ActiveSync.<br><b>Pozor:</b> Vsi elementi bodo ponovno preneseni!",
+        "eas_reset_now": "Ponastavi zdaj",
+        "edit": "Uredi",
+        "email": "E-pošta",
+        "email_and_dav": "E-pošta, koledarji in stiki",
+        "empty": "Ni rezultatov",
+        "encryption": "Šifriranje",
+        "excludes": "Izključuje",
+        "expire_in": "Poteče čez",
+        "fido2_webauthn": "FIDO2/WebAuthn",
+        "from": "od",
+        "generate": "ustvari",
+        "hour": "ura",
+        "hourly": "Urno",
+        "hours": "ure",
+        "in_use": "Uporabljeno",
+        "interval": "Interval",
+        "is_catch_all": "Vseobsegajoča povezava za domeno/e",
+        "last_mail_login": "Zadnja prijava v e-pošto",
+        "last_pw_change": "Zadnja sprememba gesla",
+        "last_run": "Zadnji zagon",
+        "last_ui_login": "Zadnja prijava v uporabniški vmesnik",
+        "loading": "Nalaganje ...",
+        "login_history": "Zgodovina prijav",
+        "mailbox": "Poštni nabiralnik",
+        "mailbox_details": "Podrobnosti",
+        "mailbox_general": "Splošno",
+        "mailbox_settings": "Nastavitve",
+        "messages": "sporočila",
+        "month": "mesec",
+        "months": "meseci",
+        "never": "Nikoli",
+        "new_password_repeat": "Potrditveno geslo (ponovite)",
+        "no_active_filter": "Ni aktivnega filtra",
+        "no_last_login": "Ni zadnjih podatkov za prijavo v uporabniški vmesnik",
+        "no_record": "Ni zapisa",
+        "open_logs": "Odpri dnevnike",
+        "overview": "Pregled",
+        "password": "Geslo",
+        "password_now": "Trenutno geslo (potrdite spremembe)",
+        "password_repeat": "Geslo (ponovite)",
+        "protocols": "Protokoli",
+        "pushover_evaluate_x_prio": "Eskalacija e-pošte z visoko prioriteto [<code>X-Priority: 1</code>]",
+        "pushover_info": "Nastavitve potisnih obvestil bodo veljale za vso čisto (ne neželeno) pošto, dostavljeno na <b>%s</b>, vključno z vzdevki (v skupni rabi, brez skupne rabe, označeni).",
+        "pushover_only_x_prio": "Upoštevaj samo pošto z visoko prioriteto [<code>X-Priority: 1</code>]",
+        "pushover_sender_regex": "Poišči ujemanje pošiljateljev z naslednjim regularnim izrazom",
+        "pushover_text": "Besedilo obvestila",
+        "pushover_title": "Naslov obvestila",
+        "pushover_sound": "Zvok",
+        "pushover_verify": "Preverite poverilnice",
+        "pw_recovery_email": "E-poštno sporočilo za obnovitev gesla",
+        "q_add_header": "Mapa z neželeno pošto",
+        "q_reject": "Zavrnjeno",
+        "quarantine_category": "Kategorija obvestil o karanteni",
+        "quarantine_category_info": "Kategorija obvestil »Zavrnjeno« vključuje zavrnjeno pošto, medtem ko »Mapa z neželeno pošto« obvesti uporabnika o e-pošti, ki je bila premaknjena v mapo z neželeno pošto.",
+        "quarantine_notification": "Obvestila o karanteni",
+        "recent_successful_connections": "Videne uspešne povezave",
+        "remove": "Odstrani",
+        "running": "V teku",
+        "save": "Shrani spremembe",
+        "save_changes": "Shrani spremembe",
+        "sender_acl_disabled": "<span class=\"badge fs-6 bg-danger\">Preverjanje pošiljatelja je onemogočeno</span>",
+        "shared_aliases": "Skupni vzdevki",
+        "show_sieve_filters": "Prikaži filter sita aktivnega uporabnika",
+        "sogo_profile_reset": "Ponastavi profil SOGo",
+        "sogo_profile_reset_help": "S tem boste uničili uporabnikov profil SOGo in <b>nepovratno izbrisali vse stike in podatke koledarja</b>.",
+        "sogo_profile_reset_now": "Ponastavi profil zdaj",
+        "spam_aliases": "Začasni vzdevki e-pošte",
+        "spam_score_reset": "Ponastavi na privzete nastavitve strežnika",
+        "spamfilter": "Filter neželene pošte",
+        "spamfilter_behavior": "Ocena",
+        "spamfilter_bl": "Črna lista",
+        "spamfilter_default_score": "Privzete vrednosti",
+        "spamfilter_green": "Zelena: to sporočilo ni neželena pošta",
+        "spamfilter_hint": "Prva vrednost opisuje »nizko oceno neželene pošte«, druga pa »visoko oceno neželene pošte«.",
+        "spamfilter_red": "Rdeča: To sporočilo je neželena pošta in ga bo strežnik zavrnil.",
+        "spamfilter_table_action": "Dejanje",
+        "spamfilter_table_add": "Dodaj element",
+        "spamfilter_table_domain_policy": "ni na voljo (pravilnik domene)",
+        "spamfilter_table_empty": "Ni podatkov za prikaz",
+        "spamfilter_table_remove": "odstrani",
+        "spamfilter_table_rule": "Pravilo",
+        "spamfilter_wl": "Bela lista",
+        "spamfilter_yellow": "Rumena: to sporočilo je morda neželena pošta, označeno bo kot neželena pošta in premaknjeno v mapo z neželeno pošto",
+        "status": "Stanje",
+        "sync_jobs": "Sinhronizacija opravil",
+        "syncjob_check_log": "Preveri dnevnik",
+        "syncjob_last_run_result": "Rezultat zadnjega zagona",
+        "syncjob_EXIT_CONNECTION_FAILURE": "Težava s povezavo",
+        "syncjob_EXIT_TLS_FAILURE": "Težava s šifrirano povezavo",
+        "syncjob_EXIT_AUTHENTICATION_FAILURE": "Težava z overjanjem",
+        "syncjob_EXIT_OVERQUOTA": "Ciljni poštni predal presega kvoto",
+        "syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Ni mogoče vzpostaviti povezave z oddaljenim strežnikom",
+        "syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Napačno uporabniško ime ali geslo",
+        "tag_handling": "Nastavitev obravnave označene pošte",
+        "tag_help_example": "Primer označenega e-poštnega naslova: jaz<b>+Facebook</b>@example.org",
+        "tag_in_none": "Ne naredi ničesar",
+        "tag_in_subfolder": "V podmapi",
+        "tag_in_subject": "V zadevi",
+        "text": "Besedilo",
+        "tfa_info": "Dvofaktorska avtentikacija pomaga zaščititi vaš račun. Če jo omogočite, boste za prijavo v aplikacije ali storitve, ki ne podpirajo dvofaktorske avtentikacije (npr. poštni odjemalci), potrebovali gesla za aplikacije.",
+        "tls_enforce_in": "Uveljavi dohodni TLS",
+        "tls_enforce_out": "Uveljavi odhodni TLS",
+        "tls_policy": "Pravilnik o šifriranju",
+        "user_settings": "Uporabniške nastavitve",
+        "username": "Uporabniško ime",
+        "value": "Vrednost",
+        "week": "teden",
+        "weekly": "Tedensko",
+        "weeks": "tedni",
+        "with_app_password": "z geslom za aplikacijo",
+        "year": "leto",
+        "years": "leta",
+        "waiting": "Čakanje",
+        "q_all": "Vse kategorije",
+        "syncjob_EX_OK": "Uspeh"
+    },
+    "warning": {
+        "cannot_delete_self": "Prijavljenega uporabnika ni mogoče izbrisati",
+        "domain_added_sogo_failed": "Domena je bila dodana, vendar ponovni zagon SOGo ni uspel. Preverite dnevnike strežnika.",
+        "dovecot_restart_failed": "Dovecota ni uspelo znova zagnati, preverite dnevnike.",
+        "fuzzy_learn_error": "Napaka učenja mehkega zgoščevanja: %s",
+        "hash_not_found": "Zgoščena vrednost ni bila najdena ali je bila že izbrisana",
+        "ip_invalid": "Preskočen neveljaven IP: %s",
+        "is_not_primary_alias": "Preskočen neprimarni vzdevek %s",
+        "no_active_admin": "Zadnjega aktivnega skrbnika ni mogoče deaktivirati",
+        "quota_exceeded_scope": "Kvota domene presežena: V tem obsegu domene je mogoče ustvariti le neomejeno število poštnih predalov.",
+        "session_token": "Neveljaven žeton obrazca: Neujemanje žetonov",
+        "session_ua": "Neveljaven žeton obrazca: Napaka pri preverjanju uporabniškega agenta"
     }
 }

+ 21 - 6
data/web/lang/lang.zh-cn.json

@@ -390,12 +390,22 @@
         "iam_username_field": "Username 域",
         "iam_binddn": "Bind DN",
         "iam_use_ssl": "使用 SSL",
-        "iam_use_tls": "使用 TLS",
+        "iam_use_tls": "使用  StartTLS",
         "iam_version": "版本",
         "ignore_ssl_error": "忽略 SSL 错误",
         "iam_auth_flow_info": "除了在单点登录(SSO)中使用的 Authorization Code 流程(在 Keycloak 中是标准流程)之外,mailcow 还支持使用 Credentials 的身份认证流程。Mailpassword 流程尝试通过 Keycloak 的 Admin REST API 验证用户凭据,mailcow 会从 Keycloak 中的 <code>mailcow_password</code> 属性中获取哈希后的密码。",
         "filter": "过滤",
-        "iam_extra_permission": "要使以下设置生效,Keycloak 中的 mailcow 客户端需要一个 <code>服务账户(Service account)</code> 以及 <code>查看用户(view-users)</code> 的权限。"
+        "iam_extra_permission": "要使以下设置生效,Keycloak 中的 mailcow 客户端需要一个 <code>服务账户(Service account)</code> 以及 <code>查看用户(view-users)</code> 的权限。",
+        "domainadmin_quicklink": "隐藏指向域管理员登陆页面的快捷链接",
+        "force_sso_text": "如果配置了外部的 OIDC 认证,这个选项隐藏默认的 mailcow 登陆界面,只显示单点登录(SSO)的按钮",
+        "iam_login_provisioning": "登录时自动创建用户",
+        "login_page": "登陆页面",
+        "iam_use_ssl_info": "如果使用了 SSL,且端口被设置为 389,该端口将自动被覆盖为 636。",
+        "quicklink_text": "显示或隐藏登陆表单下面指向其他登陆页面的快捷链接",
+        "user_quicklink": "隐藏指向用户登陆页面的快捷链接",
+        "admin_quicklink": "隐藏指向管理员登陆页面的快捷链接",
+        "force_sso": "强制要求单点登录(SSO)",
+        "user_link": "自定义链接"
     },
     "danger": {
         "access_denied": "访问被拒绝或者表单数据无效",
@@ -681,7 +691,7 @@
         "sieve_desc": "简短描述",
         "sieve_type": "过滤器类型",
         "skipcrossduplicates": "跳过其他文件夹中已存在的邮件(保留已经存在的邮件)",
-        "sogo_access": "直接转发给 SOGo",
+        "sogo_access": "直接转 SOGo",
         "sogo_access_info": "登录后,用户会自动跳转到 SOGo。",
         "sogo_visible": "SOGo 显示的别名",
         "sogo_visible_info": "此设置只影响 SOGo 上可显示的对象 (指向本地邮箱的共享或非共享别名地址)。如果设置为隐藏,则别名地址不会作为可选发件人的下拉项显示。",
@@ -788,7 +798,11 @@
         "invalid_pass_reset_token": "密码重置 token 无效或已过期。<br> 请重新获取新的密码重置链接。",
         "login_user": "用户登录",
         "login_dadmin": "域管理员登录",
-        "login_admin": "管理员登录"
+        "login_admin": "管理员登录",
+        "login_linkstext": "不是正确的登陆页面?",
+        "login_usertext": "以用户身份登陆",
+        "login_domainadmintext": "以域管理员身份登陆",
+        "login_admintext": "以管理员身份登陆"
     },
     "mailbox": {
         "action": "操作",
@@ -892,7 +906,7 @@
         "recipient_map": "收件人映射",
         "recipient_map_info": "收件人映射用于在邮件被发送前替换收件人的地址。",
         "recipient_map_new": "新收件人",
-        "recipient_map_new_info": "新收件人必须为合法的邮箱地址。",
+        "recipient_map_new_info": "收件人映射的目标必须为合法的邮件地址或域名。",
         "recipient_map_old": "原收件人",
         "recipient_map_old_info": "原收件人必须为合法的邮箱地址。",
         "recipient_maps": "收件人映射",
@@ -1143,7 +1157,8 @@
         "template_added": "新增了模板 %s",
         "template_modified": "模板 %s 的修改已保存",
         "template_removed": "模板 ID %s 已删除",
-        "iam_test_connection": "连接成功"
+        "iam_test_connection": "连接成功",
+        "custom_login_modified": "登陆选项保存成功"
     },
     "tfa": {
         "api_register": "%s 使用了 Yubico Cloud API,请<a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">在此</a>为你的密钥获取 API 密钥",

+ 9 - 10
docker-compose.yml

@@ -24,7 +24,7 @@ services:
       stop_grace_period: 45s
       volumes:
         - mysql-vol-1:/var/lib/mysql/
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
         - ./data/conf/mysql/:/etc/mysql/conf.d/:ro,Z
       environment:
         - TZ=${TZ}
@@ -134,7 +134,7 @@ services:
         - ./data/web/inc/functions.ratelimit.inc.php:/mailcowauth/functions.ratelimit.inc.php:z
         - ./data/web/inc/functions.acl.inc.php:/mailcowauth/functions.acl.inc.php:z
         - rspamd-vol-1:/var/lib/rspamd
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
         - ./data/conf/sogo/:/etc/sogo/:z
         - ./data/conf/rspamd/meta_exporter:/meta_exporter:ro,z
         - ./data/conf/phpfpm/crons:/crons:z
@@ -230,7 +230,7 @@ services:
         - ./data/conf/sogo/custom-fulllogo.png:/usr/lib/GNUstep/SOGo/WebServerResources/img/sogo-logo.png:z
         - ./data/conf/sogo/custom-theme.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/theme.js:z
         - ./data/conf/sogo/custom-sogo.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/custom-sogo.js:z
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
         - sogo-web-vol-1:/sogo_web
         - sogo-userdata-backup-vol-1:/sogo_backup
       labels:
@@ -251,7 +251,7 @@ services:
             - sogo
 
     dovecot-mailcow:
-      image: ghcr.io/mailcow/dovecot:2.33
+      image: ghcr.io/mailcow/dovecot:2.34
       depends_on:
         - mysql-mailcow
         - netfilter-mailcow
@@ -272,7 +272,7 @@ services:
         - ./data/conf/rspamd/custom/:/etc/rspamd/custom:z
         - ./data/assets/templates:/templates:z
         - rspamd-vol-1:/var/lib/rspamd
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
       environment:
         - DOVECOT_MASTER_USER=${DOVECOT_MASTER_USER:-}
         - DOVECOT_MASTER_PASS=${DOVECOT_MASTER_PASS:-}
@@ -351,7 +351,7 @@ services:
         - postfix-vol-1:/var/spool/postfix
         - crypt-vol-1:/var/lib/zeyple
         - rspamd-vol-1:/var/lib/rspamd
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
       environment:
         - LOG_LINES=${LOG_LINES:-9999}
         - TZ=${TZ}
@@ -440,12 +440,11 @@ services:
           condition: service_started
         unbound-mailcow:
           condition: service_healthy
-      image: ghcr.io/mailcow/acme:1.92
+      image: ghcr.io/mailcow/acme:1.93
       dns:
         - ${IPV4_NETWORK:-172.22.1}.254
       environment:
         - LOG_LINES=${LOG_LINES:-9999}
-        - ACME_CONTACT=${ACME_CONTACT:-}
         - ADDITIONAL_SAN=${ADDITIONAL_SAN}
         - AUTODISCOVER_SAN=${AUTODISCOVER_SAN:-y}
         - MAILCOW_HOSTNAME=${MAILCOW_HOSTNAME}
@@ -470,7 +469,7 @@ services:
         - ./data/web/.well-known/acme-challenge:/var/www/acme:z
         - ./data/assets/ssl:/var/lib/acme/:z
         - ./data/assets/ssl-example:/var/lib/ssl-example/:ro,Z
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
       restart: always
       networks:
         mailcow-network:
@@ -505,7 +504,7 @@ services:
         - /tmp
       volumes:
         - rspamd-vol-1:/var/lib/rspamd
-        - mysql-socket-vol-1:/var/run/mysqld/
+        - mysql-socket-vol-1:/var/run/mysqld/:z
         - postfix-vol-1:/var/spool/postfix
         - ./data/assets/ssl:/etc/ssl/mail/:ro,z
       restart: always

+ 0 - 7
generate_config.sh

@@ -498,13 +498,6 @@ DOVECOT_MASTER_USER=
 # LEAVE EMPTY IF UNSURE
 DOVECOT_MASTER_PASS=
 
-# Let's Encrypt registration contact information
-# Optional: Leave empty for none
-# This value is only used on first order!
-# Setting it at a later point will require the following steps:
-# https://docs.mailcow.email/troubleshooting/debug-reset_tls/
-ACME_CONTACT=
-
 # WebAuthn device manufacturer verification
 # After setting WEBAUTHN_ONLY_TRUSTED_VENDORS=y only devices from trusted manufacturers are allowed
 # root certificates can be placed for validation under mailcow-dockerized/data/web/inc/lib/WebAuthn/rootCertificates

+ 22 - 23
update.sh

@@ -353,7 +353,6 @@ adapt_new_options() {
   "DOVECOT_MASTER_PASS"
   "MAILCOW_PASS_SCHEME"
   "ADDITIONAL_SERVER_NAMES"
-  "ACME_CONTACT"
   "WATCHDOG_VERBOSE"
   "WEBAUTHN_ONLY_TRUSTED_VENDORS"
   "SPAMHAUS_DQS_KEY"
@@ -599,16 +598,6 @@ adapt_new_options() {
         echo '# Comma separated list without spaces! Example: ADDITIONAL_SERVER_NAMES=a.b.c,d.e.f' >> mailcow.conf
         echo 'ADDITIONAL_SERVER_NAMES=' >> mailcow.conf
       fi
-    elif [[ ${option} == "ACME_CONTACT" ]]; then
-      if ! grep -q ${option} mailcow.conf; then
-        echo "Adding new option \"${option}\" to mailcow.conf"
-        echo '# Lets Encrypt registration contact information' >> mailcow.conf
-        echo '# Optional: Leave empty for none' >> mailcow.conf
-        echo '# This value is only used on first order!' >> mailcow.conf
-        echo '# Setting it at a later point will require the following steps:' >> mailcow.conf
-        echo '# https://docs.mailcow.email/troubleshooting/debug-reset_tls/' >> mailcow.conf
-        echo 'ACME_CONTACT=' >> mailcow.conf
-      fi
     elif [[ ${option} == "WEBAUTHN_ONLY_TRUSTED_VENDORS" ]]; then
       if ! grep -q ${option} mailcow.conf; then
         echo "Adding new option \"${option}\" to mailcow.conf"
@@ -761,6 +750,27 @@ detect_major_update() {
   fi
 }
 
+remove_obsolete_options() {
+  OBSOLETE_OPTIONS=(
+    "ACME_CONTACT"
+  )
+
+  for option in "${OBSOLETE_OPTIONS[@]}"; do
+    if [[ "$option" == "ACME_CONTACT" ]]; then
+      sed -i '/^# Lets Encrypt registration contact information/d' mailcow.conf
+      sed -i "/^# Let's Encrypt registration contact information/d" mailcow.conf
+      sed -i '/^# Optional: Leave empty for none/d' mailcow.conf
+      sed -i '/^# This value is only used on first order!/d' mailcow.conf
+      sed -i '/^# Setting it at a later point will require the following steps:/d' mailcow.conf
+      sed -i '/^# https:\/\/docs.mailcow.email\/troubleshooting\/debug-reset_tls\//d' mailcow.conf
+      sed -i '/^ACME_CONTACT=.*/d' mailcow.conf
+      sed -i '/^#ACME_CONTACT=.*/d' mailcow.conf
+    else
+      sed -i "/^${option}=.*/d" mailcow.conf
+      sed -i "/^#${option}=.*/d" mailcow.conf
+    fi
+  done
+}
 ############## End Function Section ##############
 
 # Check permissions
@@ -996,7 +1006,6 @@ CONFIG_ARRAY=(
   "DOVECOT_MASTER_PASS"
   "MAILCOW_PASS_SCHEME"
   "ADDITIONAL_SERVER_NAMES"
-  "ACME_CONTACT"
   "WATCHDOG_VERBOSE"
   "WEBAUTHN_ONLY_TRUSTED_VENDORS"
   "SPAMHAUS_DQS_KEY"
@@ -1232,17 +1241,6 @@ for option in "${CONFIG_ARRAY[@]}"; do
       echo '# in the reverse proxy.' >> mailcow.conf
       echo 'AUTODISCOVER_SAN=y' >> mailcow.conf
     fi
-
-  elif [[ "${option}" == "ACME_CONTACT" ]]; then
-    if ! grep -q "${option}" mailcow.conf; then
-      echo "Adding new option \"${option}\" to mailcow.conf"
-      echo '# Lets Encrypt registration contact information' >> mailcow.conf
-      echo '# Optional: Leave empty for none' >> mailcow.conf
-      echo '# This value is only used on first order!' >> mailcow.conf
-      echo '# Setting it at a later point will require the following steps:' >> mailcow.conf
-      echo '# https://docs.mailcow.email/troubleshooting/debug-reset_tls/' >> mailcow.conf
-      echo 'ACME_CONTACT=' >> mailcow.conf
-    fi
   elif [[ "${option}" == "WEBAUTHN_ONLY_TRUSTED_VENDORS" ]]; then
     if ! grep -q "${option}" mailcow.conf; then
       echo "Adding new option \"${option}\" to mailcow.conf"
@@ -1488,6 +1486,7 @@ done
 [[ -f data/conf/nginx/ZZZ-ejabberd.conf ]] && rm data/conf/nginx/ZZZ-ejabberd.conf
 migrate_solr_config_options
 adapt_new_options
+remove_obsolete_options
 
 # Silently fixing remote url from andryyy to mailcow
 # git remote set-url origin https://github.com/mailcow/mailcow-dockerized