Merge pull request #5741 from mailcow/staging

2024-02
This commit is contained in:
Patrick Schult 2024-02-15 11:27:09 +01:00 committed by GitHub
commit 8d4ef147d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 454 additions and 127 deletions

View File

@ -114,8 +114,6 @@ def ban(address):
global lock global lock
refreshF2boptions() refreshF2boptions()
BAN_TIME = int(f2boptions['ban_time'])
BAN_TIME_INCREMENT = bool(f2boptions['ban_time_increment'])
MAX_ATTEMPTS = int(f2boptions['max_attempts']) MAX_ATTEMPTS = int(f2boptions['max_attempts'])
RETRY_WINDOW = int(f2boptions['retry_window']) RETRY_WINDOW = int(f2boptions['retry_window'])
NETBAN_IPV4 = '/' + str(f2boptions['netban_ipv4']) NETBAN_IPV4 = '/' + str(f2boptions['netban_ipv4'])
@ -150,7 +148,7 @@ def ban(address):
if bans[net]['attempts'] >= MAX_ATTEMPTS: if bans[net]['attempts'] >= MAX_ATTEMPTS:
cur_time = int(round(time.time())) cur_time = int(round(time.time()))
NET_BAN_TIME = BAN_TIME if not BAN_TIME_INCREMENT else BAN_TIME * 2 ** bans[net]['ban_counter'] NET_BAN_TIME = calcNetBanTime(bans[net]['ban_counter'])
logger.logCrit('Banning %s for %d minutes' % (net, NET_BAN_TIME / 60 )) logger.logCrit('Banning %s for %d minutes' % (net, NET_BAN_TIME / 60 ))
if type(ip) is ipaddress.IPv4Address and int(f2boptions['manage_external']) != 1: if type(ip) is ipaddress.IPv4Address and int(f2boptions['manage_external']) != 1:
with lock: with lock:
@ -277,12 +275,11 @@ def snat6(snat_target):
tables.snat6(snat_target, os.getenv('IPV6_NETWORK', 'fd4d:6169:6c63:6f77::/64')) tables.snat6(snat_target, os.getenv('IPV6_NETWORK', 'fd4d:6169:6c63:6f77::/64'))
def autopurge(): def autopurge():
global f2boptions
while not quit_now: while not quit_now:
time.sleep(10) time.sleep(10)
refreshF2boptions() refreshF2boptions()
BAN_TIME = int(f2boptions['ban_time'])
MAX_BAN_TIME = int(f2boptions['max_ban_time'])
BAN_TIME_INCREMENT = bool(f2boptions['ban_time_increment'])
MAX_ATTEMPTS = int(f2boptions['max_attempts']) MAX_ATTEMPTS = int(f2boptions['max_attempts'])
QUEUE_UNBAN = r.hgetall('F2B_QUEUE_UNBAN') QUEUE_UNBAN = r.hgetall('F2B_QUEUE_UNBAN')
if QUEUE_UNBAN: if QUEUE_UNBAN:
@ -290,9 +287,9 @@ def autopurge():
unban(str(net)) unban(str(net))
for net in bans.copy(): for net in bans.copy():
if bans[net]['attempts'] >= MAX_ATTEMPTS: if bans[net]['attempts'] >= MAX_ATTEMPTS:
NET_BAN_TIME = BAN_TIME if not BAN_TIME_INCREMENT else BAN_TIME * 2 ** bans[net]['ban_counter'] NET_BAN_TIME = calcNetBanTime(bans[net]['ban_counter'])
TIME_SINCE_LAST_ATTEMPT = time.time() - bans[net]['last_attempt'] TIME_SINCE_LAST_ATTEMPT = time.time() - bans[net]['last_attempt']
if TIME_SINCE_LAST_ATTEMPT > NET_BAN_TIME or TIME_SINCE_LAST_ATTEMPT > MAX_BAN_TIME: if TIME_SINCE_LAST_ATTEMPT > NET_BAN_TIME:
unban(net) unban(net)
def mailcowChainOrder(): def mailcowChainOrder():
@ -306,6 +303,16 @@ def mailcowChainOrder():
if quit_now: return if quit_now: return
quit_now, exit_code = tables.checkIPv6ChainOrder() quit_now, exit_code = tables.checkIPv6ChainOrder()
def calcNetBanTime(ban_counter):
global f2boptions
BAN_TIME = int(f2boptions['ban_time'])
MAX_BAN_TIME = int(f2boptions['max_ban_time'])
BAN_TIME_INCREMENT = bool(f2boptions['ban_time_increment'])
NET_BAN_TIME = BAN_TIME if not BAN_TIME_INCREMENT else BAN_TIME * 2 ** ban_counter
NET_BAN_TIME = max([BAN_TIME, min([NET_BAN_TIME, MAX_BAN_TIME])])
return NET_BAN_TIME
def isIpNetwork(address): def isIpNetwork(address):
try: try:
ipaddress.ip_network(address, False) ipaddress.ip_network(address, False)

View File

@ -13,9 +13,12 @@ class Logger:
tolog['time'] = int(round(time.time())) tolog['time'] = int(round(time.time()))
tolog['priority'] = priority tolog['priority'] = priority
tolog['message'] = message tolog['message'] = message
if self.r is not None:
self.r.lpush('NETFILTER_LOG', json.dumps(tolog, ensure_ascii=False))
print(message) print(message)
if self.r is not None:
try:
self.r.lpush('NETFILTER_LOG', json.dumps(tolog, ensure_ascii=False))
except Exception as ex:
print('Failed logging to redis: %s' % (ex))
def logWarn(self, message): def logWarn(self, message):
self.log('warn', message) self.log('warn', message)

View File

@ -452,6 +452,8 @@ class NFTables:
continue continue
rule = _object["rule"]["expr"][0]["match"] rule = _object["rule"]["expr"][0]["match"]
if not "payload" in rule["left"]:
continue
left_opt = rule["left"]["payload"] left_opt = rule["left"]["payload"]
if not left_opt["protocol"] == _family: if not left_opt["protocol"] == _family:
continue continue

View File

@ -56,21 +56,42 @@ $empty_footer = json_encode(array(
error_log("FOOTER: checking for domain " . $domain . ", user " . $username . " and address " . $from . PHP_EOL); error_log("FOOTER: checking for domain " . $domain . ", user " . $username . " and address " . $from . PHP_EOL);
try { try {
$stmt = $pdo->prepare("SELECT `plain`, `html`, `mbox_exclude`, `skip_replies` FROM `domain_wide_footer` // try get $target_domain if $domain is an alias_domain
$stmt = $pdo->prepare("SELECT `target_domain` FROM `alias_domain`
WHERE `alias_domain` = :alias_domain");
$stmt->execute(array(
':alias_domain' => $domain
));
$alias_domain = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$alias_domain) {
$target_domain = $domain;
} else {
$target_domain = $alias_domain['target_domain'];
}
// get footer associated with the domain
$stmt = $pdo->prepare("SELECT `plain`, `html`, `mbox_exclude`, `alias_domain_exclude`, `skip_replies` FROM `domain_wide_footer`
WHERE `domain` = :domain"); WHERE `domain` = :domain");
$stmt->execute(array( $stmt->execute(array(
':domain' => $domain ':domain' => $target_domain
)); ));
$footer = $stmt->fetch(PDO::FETCH_ASSOC); $footer = $stmt->fetch(PDO::FETCH_ASSOC);
// check if the sender is excluded
if (in_array($from, json_decode($footer['mbox_exclude']))){ if (in_array($from, json_decode($footer['mbox_exclude']))){
$footer = false; $footer = false;
} }
if (in_array($domain, json_decode($footer['alias_domain_exclude']))){
$footer = false;
}
if (empty($footer)){ if (empty($footer)){
echo $empty_footer; echo $empty_footer;
exit; exit;
} }
error_log("FOOTER: " . json_encode($footer) . PHP_EOL); error_log("FOOTER: " . json_encode($footer) . PHP_EOL);
// footer will be applied
// get custom mailbox attributes to insert into the footer
$stmt = $pdo->prepare("SELECT `custom_attributes` FROM `mailbox` WHERE `username` = :username"); $stmt = $pdo->prepare("SELECT `custom_attributes` FROM `mailbox` WHERE `username` = :username");
$stmt->execute(array( $stmt->execute(array(
':username' => $username ':username' => $username

View File

@ -39,9 +39,13 @@ foreach ($containers as $container => $container_info) {
$StartedAt['month'], $StartedAt['month'],
$StartedAt['day'], $StartedAt['day'],
$StartedAt['year'])); $StartedAt['year']));
$user_tz = new DateTimeZone(getenv('TZ')); try {
$date->setTimezone($user_tz); $user_tz = new DateTimeZone(getenv('TZ'));
$started = $date->format('r'); $date->setTimezone($user_tz);
$started = $date->format('r');
} catch(Exception $e) {
$started = '?';
}
} }
else { else {
$started = '?'; $started = '?';

View File

@ -59,7 +59,8 @@ if (isset($_SESSION['mailcow_cc_role'])) {
'domain_details' => $result, 'domain_details' => $result,
'domain_footer' => $domain_footer, 'domain_footer' => $domain_footer,
'mailboxes' => mailbox('get', 'mailboxes', $_GET["domain"]), 'mailboxes' => mailbox('get', 'mailboxes', $_GET["domain"]),
'aliases' => mailbox('get', 'aliases', $_GET["domain"], 'address') 'aliases' => mailbox('get', 'aliases', $_GET["domain"], 'address'),
'alias_domains' => mailbox('get', 'alias_domains', $_GET["domain"])
]; ];
} }
} }

View File

@ -3438,30 +3438,54 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
$footers['plain'] = isset($_data['plain']) ? $_data['plain'] : ''; $footers['plain'] = isset($_data['plain']) ? $_data['plain'] : '';
$footers['skip_replies'] = isset($_data['skip_replies']) ? (int)$_data['skip_replies'] : 0; $footers['skip_replies'] = isset($_data['skip_replies']) ? (int)$_data['skip_replies'] : 0;
$footers['mbox_exclude'] = array(); $footers['mbox_exclude'] = array();
if (isset($_data["mbox_exclude"])){ $footers['alias_domain_exclude'] = array();
if (!is_array($_data["mbox_exclude"])) { if (isset($_data["exclude"])){
$_data["mbox_exclude"] = array($_data["mbox_exclude"]); if (!is_array($_data["exclude"])) {
$_data["exclude"] = array($_data["exclude"]);
} }
foreach ($_data["mbox_exclude"] as $mailbox) { foreach ($_data["exclude"] as $exclude) {
if (!filter_var($mailbox, FILTER_VALIDATE_EMAIL)) { if (filter_var($exclude, FILTER_VALIDATE_EMAIL)) {
$stmt = $pdo->prepare("SELECT `address` FROM `alias` WHERE `address` = :address
UNION
SELECT `username` FROM `mailbox` WHERE `username` = :username");
$stmt->execute(array(
':address' => $exclude,
':username' => $exclude,
));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if(!$row){
$_SESSION['return'][] = array(
'type' => 'danger',
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
'msg' => array('username_invalid', $exclude)
);
continue;
}
array_push($footers['mbox_exclude'], $exclude);
}
elseif (is_valid_domain_name($exclude)) {
$stmt = $pdo->prepare("SELECT `alias_domain` FROM `alias_domain` WHERE `alias_domain` = :alias_domain");
$stmt->execute(array(
':alias_domain' => $exclude,
));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if(!$row){
$_SESSION['return'][] = array(
'type' => 'danger',
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
'msg' => array('username_invalid', $exclude)
);
continue;
}
array_push($footers['alias_domain_exclude'], $exclude);
}
else {
$_SESSION['return'][] = array( $_SESSION['return'][] = array(
'type' => 'danger', 'type' => 'danger',
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr), 'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
'msg' => array('username_invalid', $mailbox) 'msg' => array('username_invalid', $exclude)
); );
continue;
} }
$is_now = mailbox('get', 'mailbox_details', $mailbox);
if(empty($is_now)){
$_SESSION['return'][] = array(
'type' => 'danger',
'log' => array(__FUNCTION__, $_action, $_type, $_data_log, $_attr),
'msg' => array('username_invalid', $mailbox)
);
continue;
}
array_push($footers['mbox_exclude'], $mailbox);
} }
} }
foreach ($domains as $domain) { foreach ($domains as $domain) {
@ -3486,12 +3510,13 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
try { try {
$stmt = $pdo->prepare("DELETE FROM `domain_wide_footer` WHERE `domain`= :domain"); $stmt = $pdo->prepare("DELETE FROM `domain_wide_footer` WHERE `domain`= :domain");
$stmt->execute(array(':domain' => $domain)); $stmt->execute(array(':domain' => $domain));
$stmt = $pdo->prepare("INSERT INTO `domain_wide_footer` (`domain`, `html`, `plain`, `mbox_exclude`, `skip_replies`) VALUES (:domain, :html, :plain, :mbox_exclude, :skip_replies)"); $stmt = $pdo->prepare("INSERT INTO `domain_wide_footer` (`domain`, `html`, `plain`, `mbox_exclude`, `alias_domain_exclude`, `skip_replies`) VALUES (:domain, :html, :plain, :mbox_exclude, :alias_domain_exclude, :skip_replies)");
$stmt->execute(array( $stmt->execute(array(
':domain' => $domain, ':domain' => $domain,
':html' => $footers['html'], ':html' => $footers['html'],
':plain' => $footers['plain'], ':plain' => $footers['plain'],
':mbox_exclude' => json_encode($footers['mbox_exclude']), ':mbox_exclude' => json_encode($footers['mbox_exclude']),
':alias_domain_exclude' => json_encode($footers['alias_domain_exclude']),
':skip_replies' => $footers['skip_replies'], ':skip_replies' => $footers['skip_replies'],
)); ));
} }
@ -4316,6 +4341,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
$domaindata['mboxes_in_domain'] = $MailboxDataDomain['count']; $domaindata['mboxes_in_domain'] = $MailboxDataDomain['count'];
$domaindata['mboxes_left'] = $row['mailboxes'] - $MailboxDataDomain['count']; $domaindata['mboxes_left'] = $row['mailboxes'] - $MailboxDataDomain['count'];
$domaindata['domain_name'] = $row['domain']; $domaindata['domain_name'] = $row['domain'];
$domaindata['domain_h_name'] = idn_to_utf8($row['domain']);
$domaindata['description'] = $row['description']; $domaindata['description'] = $row['description'];
$domaindata['max_num_aliases_for_domain'] = $row['aliases']; $domaindata['max_num_aliases_for_domain'] = $row['aliases'];
$domaindata['max_num_mboxes_for_domain'] = $row['mailboxes']; $domaindata['max_num_mboxes_for_domain'] = $row['mailboxes'];
@ -4648,7 +4674,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
} }
try { try {
$stmt = $pdo->prepare("SELECT `html`, `plain`, `mbox_exclude`, `skip_replies` FROM `domain_wide_footer` $stmt = $pdo->prepare("SELECT `html`, `plain`, `mbox_exclude`, `alias_domain_exclude`, `skip_replies` FROM `domain_wide_footer`
WHERE `domain` = :domain"); WHERE `domain` = :domain");
$stmt->execute(array( $stmt->execute(array(
':domain' => $domain ':domain' => $domain

View File

@ -3,7 +3,7 @@ function init_db_schema() {
try { try {
global $pdo; global $pdo;
$db_version = "08012024_1442"; $db_version = "09022024_1433";
$stmt = $pdo->query("SHOW TABLES LIKE 'versions'"); $stmt = $pdo->query("SHOW TABLES LIKE 'versions'");
$num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC)); $num_results = count($stmt->fetchAll(PDO::FETCH_ASSOC));
@ -273,6 +273,7 @@ function init_db_schema() {
"html" => "LONGTEXT", "html" => "LONGTEXT",
"plain" => "LONGTEXT", "plain" => "LONGTEXT",
"mbox_exclude" => "JSON NOT NULL DEFAULT ('[]')", "mbox_exclude" => "JSON NOT NULL DEFAULT ('[]')",
"alias_domain_exclude" => "JSON NOT NULL DEFAULT ('[]')",
"skip_replies" => "TINYINT(1) NOT NULL DEFAULT '0'" "skip_replies" => "TINYINT(1) NOT NULL DEFAULT '0'"
), ),
"keys" => array( "keys" => array(

View File

@ -95,6 +95,7 @@ $AVAILABLE_LANGUAGES = array(
'it-it' => 'Italiano (Italian)', 'it-it' => 'Italiano (Italian)',
'ko-kr' => '한국어 (Korean)', 'ko-kr' => '한국어 (Korean)',
'lv-lv' => 'latviešu (Latvian)', 'lv-lv' => 'latviešu (Latvian)',
'nb-no' => 'Norsk (Norwegian)',
'nl-nl' => 'Nederlands (Dutch)', 'nl-nl' => 'Nederlands (Dutch)',
'pl-pl' => 'Język Polski (Polish)', 'pl-pl' => 'Język Polski (Polish)',
'pt-br' => 'Português brasileiro (Brazilian Portuguese)', 'pt-br' => 'Português brasileiro (Brazilian Portuguese)',

View File

@ -451,6 +451,10 @@ jQuery(function($){
dataSrc: function(json){ dataSrc: function(json){
$.each(json.data, function(i, item) { $.each(json.data, function(i, item) {
item.domain_name = escapeHtml(item.domain_name); item.domain_name = escapeHtml(item.domain_name);
item.domain_h_name = escapeHtml(item.domain_h_name);
if (item.domain_name != item.domain_h_name){
item.domain_h_name = item.domain_h_name + '<small class="d-block">' + item.domain_name + '</small>';
}
item.aliases = item.aliases_in_domain + " / " + item.max_num_aliases_for_domain; item.aliases = item.aliases_in_domain + " / " + item.max_num_aliases_for_domain;
item.mailboxes = item.mboxes_in_domain + " / " + item.max_num_mboxes_for_domain; item.mailboxes = item.mboxes_in_domain + " / " + item.max_num_mboxes_for_domain;
@ -489,11 +493,11 @@ jQuery(function($){
if (item.backupmx == 1) { if (item.backupmx == 1) {
if (item.relay_unknown_only == 1) { if (item.relay_unknown_only == 1) {
item.domain_name = '<div class="badge fs-6 bg-info">Relay Non-Local</div> ' + item.domain_name; item.domain_h_name = '<div class="badge fs-7 bg-info">Relay Non-Local</div> ' + item.domain_h_name;
} else if (item.relay_all_recipients == 1) { } else if (item.relay_all_recipients == 1) {
item.domain_name = '<div class="badge fs-6 bg-info">Relay All</div> ' + item.domain_name; item.domain_h_name = '<div class="badge fs-7 bg-info">Relay All</div> ' + item.domain_h_name;
} else { } else {
item.domain_name = '<div class="badge fs-6 bg-info">Relay</div> ' + item.domain_name; item.domain_h_name = '<div class="badge fs-7 bg-info">Relay</div> ' + item.domain_h_name;
} }
} }
}); });
@ -521,7 +525,7 @@ jQuery(function($){
}, },
{ {
title: lang.domain, title: lang.domain,
data: 'domain_name', data: 'domain_h_name',
responsivePriority: 3, responsivePriority: 3,
defaultContent: '' defaultContent: ''
}, },

View File

@ -547,7 +547,7 @@
"dns_records": "DNS záznamy", "dns_records": "DNS záznamy",
"dns_records_24hours": "Upozornění: Změnám v systému DNS může trvat až 24 hodin, než se zde správně zobrazí jejich aktuální stav. Můžete zde snadno zjistit, jak nastavit DNS záznamy a zda jsou všechny záznamy správně uloženy.", "dns_records_24hours": "Upozornění: Změnám v systému DNS může trvat až 24 hodin, než se zde správně zobrazí jejich aktuální stav. Můžete zde snadno zjistit, jak nastavit DNS záznamy a zda jsou všechny záznamy správně uloženy.",
"dns_records_data": "Správný záznam", "dns_records_data": "Správný záznam",
"dns_records_docs": "Přečtěte si prosím <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">dokumentaci</a>.", "dns_records_docs": "Přečtěte si prosím <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">dokumentaci</a>.",
"dns_records_name": "Název", "dns_records_name": "Název",
"dns_records_status": "Současný stav", "dns_records_status": "Současný stav",
"dns_records_type": "Typ", "dns_records_type": "Typ",

View File

@ -459,7 +459,7 @@
"cname_from_a": "Værdi afledt af A / AAAA-post. Dette understøttes, så længe posten peger på den korrekte ressource.", "cname_from_a": "Værdi afledt af A / AAAA-post. Dette understøttes, så længe posten peger på den korrekte ressource.",
"dns_records": "DNS-poster", "dns_records": "DNS-poster",
"dns_records_24hours": "Bemærk, at ændringer, der foretages i DNS, kan tage op til 24 timer for at få deres aktuelle status korrekt reflekteret på denne side. Det er beregnet som en måde for dig let at se, hvordan du konfigurerer dine DNS-poster og kontrollere, om alle dine poster er korrekt gemt i DNS.", "dns_records_24hours": "Bemærk, at ændringer, der foretages i DNS, kan tage op til 24 timer for at få deres aktuelle status korrekt reflekteret på denne side. Det er beregnet som en måde for dig let at se, hvordan du konfigurerer dine DNS-poster og kontrollere, om alle dine poster er korrekt gemt i DNS.",
"dns_records_docs": "Se også <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">dokumentationen</a>.", "dns_records_docs": "Se også <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">dokumentationen</a>.",
"dns_records_data": "Korrekte data", "dns_records_data": "Korrekte data",
"dns_records_name": "Navn", "dns_records_name": "Navn",
"dns_records_status": "Nuværende tilstand", "dns_records_status": "Nuværende tilstand",

View File

@ -556,7 +556,7 @@
"dns_records": "DNS-Einträge", "dns_records": "DNS-Einträge",
"dns_records_24hours": "Bitte beachten Sie, dass es bis zu 24 Stunden dauern kann, bis Änderungen an Ihren DNS-Einträgen als aktueller Status auf dieser Seite dargestellt werden. Diese Seite ist nur als Hilfsmittel gedacht, um die korrekten Werte für DNS-Einträge anzuzeigen und zu überprüfen, ob die Daten im DNS hinterlegt sind.", "dns_records_24hours": "Bitte beachten Sie, dass es bis zu 24 Stunden dauern kann, bis Änderungen an Ihren DNS-Einträgen als aktueller Status auf dieser Seite dargestellt werden. Diese Seite ist nur als Hilfsmittel gedacht, um die korrekten Werte für DNS-Einträge anzuzeigen und zu überprüfen, ob die Daten im DNS hinterlegt sind.",
"dns_records_data": "Korrekte Daten", "dns_records_data": "Korrekte Daten",
"dns_records_docs": "Die <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">Online-Dokumentation</a> enthält weitere Informationen zur DNS-Konfiguration.", "dns_records_docs": "Die <a target=\"_blank\" href=\"https://docs.mailcow.email/de/getstarted/prerequisite-dns\">Online-Dokumentation</a> enthält weitere Informationen zur DNS-Konfiguration.",
"dns_records_name": "Name", "dns_records_name": "Name",
"dns_records_status": "Aktueller Status", "dns_records_status": "Aktueller Status",
"dns_records_type": "Typ", "dns_records_type": "Typ",
@ -613,6 +613,7 @@
"extended_sender_acl_info": "Der DKIM-Domainkey der externen Absenderdomain sollte in diesen Server importiert werden, falls vorhanden.<br>\r\n Wird SPF verwendet, muss diesem Server der Versand gestattet werden.<br>\r\n Wird eine Domain oder Alias-Domain zu diesem Server hinzugefügt, die sich mit der externen Absenderadresse überschneidet, wird der externe Absender hier entfernt.<br>\r\n Ein Eintrag @domain.tld erlaubt den Versand als *@domain.tld", "extended_sender_acl_info": "Der DKIM-Domainkey der externen Absenderdomain sollte in diesen Server importiert werden, falls vorhanden.<br>\r\n Wird SPF verwendet, muss diesem Server der Versand gestattet werden.<br>\r\n Wird eine Domain oder Alias-Domain zu diesem Server hinzugefügt, die sich mit der externen Absenderadresse überschneidet, wird der externe Absender hier entfernt.<br>\r\n Ein Eintrag @domain.tld erlaubt den Versand als *@domain.tld",
"force_pw_update": "Erzwinge Passwortänderung bei nächstem Login", "force_pw_update": "Erzwinge Passwortänderung bei nächstem Login",
"force_pw_update_info": "Dem Benutzer wird lediglich der Zugang zur %s ermöglicht, App Passwörter funktionieren weiterhin.", "force_pw_update_info": "Dem Benutzer wird lediglich der Zugang zur %s ermöglicht, App Passwörter funktionieren weiterhin.",
"footer_exclude": "von Fußzeile ausschließen",
"full_name": "Voller Name", "full_name": "Voller Name",
"gal": "Globales Adressbuch", "gal": "Globales Adressbuch",
"gal_info": "Das globale Adressbuch enthält alle Objekte einer Domain und kann durch keinen Benutzer geändert werden. Die Verfügbarkeitsinformation in SOGo ist nur bei eingeschaltetem globalen Adressbuch ersichtlich <b>Zum Anwenden einer Änderung muss SOGo neugestartet werden.</b>", "gal_info": "Das globale Adressbuch enthält alle Objekte einer Domain und kann durch keinen Benutzer geändert werden. Die Verfügbarkeitsinformation in SOGo ist nur bei eingeschaltetem globalen Adressbuch ersichtlich <b>Zum Anwenden einer Änderung muss SOGo neugestartet werden.</b>",
@ -631,7 +632,6 @@
"max_quota": "Max. Größe per Mailbox (MiB)", "max_quota": "Max. Größe per Mailbox (MiB)",
"maxage": "Maximales Alter in Tagen einer Nachricht, die kopiert werden soll<br><small>(0 = alle Nachrichten kopieren)</small>", "maxage": "Maximales Alter in Tagen einer Nachricht, die kopiert werden soll<br><small>(0 = alle Nachrichten kopieren)</small>",
"maxbytespersecond": "Max. Übertragungsrate in Bytes/s (0 für unlimitiert)", "maxbytespersecond": "Max. Übertragungsrate in Bytes/s (0 für unlimitiert)",
"mbox_exclude": "Mailboxen ausschließen",
"mbox_rl_info": "Dieses Limit wird auf den SASL Loginnamen angewendet und betrifft daher alle Absenderadressen, die der eingeloggte Benutzer verwendet. Bei Mailbox Ratelimit überwiegt ein Domain-weites Ratelimit.", "mbox_rl_info": "Dieses Limit wird auf den SASL Loginnamen angewendet und betrifft daher alle Absenderadressen, die der eingeloggte Benutzer verwendet. Bei Mailbox Ratelimit überwiegt ein Domain-weites Ratelimit.",
"mins_interval": "Intervall (min)", "mins_interval": "Intervall (min)",
"multiple_bookings": "Mehrfaches Buchen", "multiple_bookings": "Mehrfaches Buchen",

View File

@ -556,7 +556,7 @@
"dns_records": "DNS Records", "dns_records": "DNS Records",
"dns_records_24hours": "Please note that changes made to DNS may take up to 24 hours to correctly have their current state reflected on this page. It is intended as a way for you to easily see how to configure your DNS records and to check whether all your records are correctly stored in DNS.", "dns_records_24hours": "Please note that changes made to DNS may take up to 24 hours to correctly have their current state reflected on this page. It is intended as a way for you to easily see how to configure your DNS records and to check whether all your records are correctly stored in DNS.",
"dns_records_data": "Correct Data", "dns_records_data": "Correct Data",
"dns_records_docs": "Please also consult <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">the documentation</a>.", "dns_records_docs": "Please also consult <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">the documentation</a>.",
"dns_records_name": "Name", "dns_records_name": "Name",
"dns_records_status": "Current State", "dns_records_status": "Current State",
"dns_records_type": "Type", "dns_records_type": "Type",
@ -613,6 +613,7 @@
"extended_sender_acl_info": "A DKIM domain key should be imported, if available.<br>\r\n Remember to add this server to the corresponding SPF TXT record.<br>\r\n Whenever a domain or alias domain is added to this server, that overlaps with an external address, the external address is removed.<br>\r\n Use @domain.tld to allow to send as *@domain.tld.", "extended_sender_acl_info": "A DKIM domain key should be imported, if available.<br>\r\n Remember to add this server to the corresponding SPF TXT record.<br>\r\n Whenever a domain or alias domain is added to this server, that overlaps with an external address, the external address is removed.<br>\r\n Use @domain.tld to allow to send as *@domain.tld.",
"force_pw_update": "Force password update at next login", "force_pw_update": "Force password update at next login",
"force_pw_update_info": "This user will only be able to login to %s. App passwords remain useable.", "force_pw_update_info": "This user will only be able to login to %s. App passwords remain useable.",
"footer_exclude": "Exclude from footer",
"full_name": "Full name", "full_name": "Full name",
"gal": "Global Address List", "gal": "Global Address List",
"gal_info": "The GAL contains all objects of a domain and cannot be edited by any user. Free/busy information in SOGo is missing, if disabled! <b>Restart SOGo to apply changes.</b>", "gal_info": "The GAL contains all objects of a domain and cannot be edited by any user. Free/busy information in SOGo is missing, if disabled! <b>Restart SOGo to apply changes.</b>",
@ -631,7 +632,6 @@
"max_quota": "Max. quota per mailbox (MiB)", "max_quota": "Max. quota per mailbox (MiB)",
"maxage": "Maximum age of messages in days that will be polled from remote<br><small>(0 = ignore age)</small>", "maxage": "Maximum age of messages in days that will be polled from remote<br><small>(0 = ignore age)</small>",
"maxbytespersecond": "Max. bytes per second <br><small>(0 = unlimited)</small>", "maxbytespersecond": "Max. bytes per second <br><small>(0 = unlimited)</small>",
"mbox_exclude": "Exclude mailboxes",
"mbox_rl_info": "This rate limit is applied on the SASL login name, it matches any \"from\" address used by the logged-in user. A mailbox rate limit overrides a domain-wide rate limit.", "mbox_rl_info": "This rate limit is applied on the SASL login name, it matches any \"from\" address used by the logged-in user. A mailbox rate limit overrides a domain-wide rate limit.",
"mins_interval": "Interval (min)", "mins_interval": "Interval (min)",
"multiple_bookings": "Multiple bookings", "multiple_bookings": "Multiple bookings",

View File

@ -107,7 +107,8 @@
"validation_success": "Validation réussie", "validation_success": "Validation réussie",
"bcc_dest_format": "La destination Cci doit être une seule adresse e-mail valide.<br>Si vous avez besoin d'envoyer une copie à plusieurs adresses, créez un alias et utilisez-le ici.", "bcc_dest_format": "La destination Cci doit être une seule adresse e-mail valide.<br>Si vous avez besoin d'envoyer une copie à plusieurs adresses, créez un alias et utilisez-le ici.",
"tags": "Etiquettes", "tags": "Etiquettes",
"app_passwd_protocols": "Protocoles autorisés pour le mot de passe de l'application" "app_passwd_protocols": "Protocoles autorisés pour le mot de passe de l'application",
"dry": "Simuler la synchronisation"
}, },
"admin": { "admin": {
"access": "Accès", "access": "Accès",
@ -209,7 +210,7 @@
"link": "Lien", "link": "Lien",
"loading": "Veuillez patienter…", "loading": "Veuillez patienter…",
"logo_info": "Votre image sera redimensionnée à une hauteur de 40 pixels pour la barre de navigation du haut et à un maximum de 250 pixels en largeur pour la page d'accueil. Un graphique extensible est fortement recommandé.", "logo_info": "Votre image sera redimensionnée à une hauteur de 40 pixels pour la barre de navigation du haut et à un maximum de 250 pixels en largeur pour la page d'accueil. Un graphique extensible est fortement recommandé.",
"lookup_mx": "Faire correspondre la destination à MX (.outlook.com pour acheminer tous les messages ciblés vers un MX * .outlook.com sur ce tronçon)", "lookup_mx": "Faire correspondre la destination à MX (<code>.*\\.google\\.com</code> pour acheminer tous les messages ciblés vers un MX se terminant par google.com sur ce tronçon)",
"main_name": "\"mailcow UI\" nom", "main_name": "\"mailcow UI\" nom",
"merged_vars_hint": "Les lignes grisées ont été importées depuis <code>vars.(local.)inc.php</code> et ne peuvent pas être modifiées.", "merged_vars_hint": "Les lignes grisées ont été importées depuis <code>vars.(local.)inc.php</code> et ne peuvent pas être modifiées.",
"message": "Message", "message": "Message",
@ -330,7 +331,14 @@
"logo_normal_label": "Normal", "logo_normal_label": "Normal",
"logo_dark_label": "Inversé pour le mode sombre", "logo_dark_label": "Inversé pour le mode sombre",
"allowed_methods": "Access-Control-Allow-Methods", "allowed_methods": "Access-Control-Allow-Methods",
"allowed_origins": "Access-Control-Allow-Origin" "allowed_origins": "Access-Control-Allow-Origin",
"copy_to_clipboard": "Texte copié dans le presse-papier !",
"password_policy_special_chars": "Doit contenir des caractères spéciaux",
"rsettings_preset_4": "Désactiver Rspamd pour un domaine",
"oauth2_apps": "Applications OAuth2",
"password_length": "Longueur des mots de passe",
"password_policy_chars": "Doit contenir au moins une lettre",
"password_policy_length": "La longueur minimale du mot de passe est de %d"
}, },
"danger": { "danger": {
"access_denied": "Accès refusé ou données de formulaire non valides", "access_denied": "Accès refusé ou données de formulaire non valides",
@ -454,7 +462,9 @@
"demo_mode_enabled": "Le mode de démonstration est activé", "demo_mode_enabled": "Le mode de démonstration est activé",
"template_exists": "La template %s existe déja", "template_exists": "La template %s existe déja",
"template_id_invalid": "Le numéro de template %s est invalide", "template_id_invalid": "Le numéro de template %s est invalide",
"template_name_invalid": "Le nom de la template est invalide" "template_name_invalid": "Le nom de la template est invalide",
"img_dimensions_exceeded": "L'image dépasse les dimensions maximales",
"img_size_exceeded": "L'image dépasse la taille maximale de fichier"
}, },
"debug": { "debug": {
"chart_this_server": "Graphique (ce serveur)", "chart_this_server": "Graphique (ce serveur)",
@ -483,7 +493,7 @@
"cname_from_a": "Valeur dérivée de lenregistrement A/AAAA. Ceci est supporté tant que lenregistrement indique la bonne ressource.", "cname_from_a": "Valeur dérivée de lenregistrement A/AAAA. Ceci est supporté tant que lenregistrement indique la bonne ressource.",
"dns_records": "Enregistrements DNS", "dns_records": "Enregistrements DNS",
"dns_records_24hours": "Veuillez noter que les modifications apportées au DNS peuvent prendre jusquà 24 heures pour que leurs états actuels soient correctement reflétés sur cette page. Il est conçu comme un moyen pour vous de voir facilement comment configurer vos enregistrements DNS et de vérifier si tous vos enregistrements sont correctement stockés dans les DNS.", "dns_records_24hours": "Veuillez noter que les modifications apportées au DNS peuvent prendre jusquà 24 heures pour que leurs états actuels soient correctement reflétés sur cette page. Il est conçu comme un moyen pour vous de voir facilement comment configurer vos enregistrements DNS et de vérifier si tous vos enregistrements sont correctement stockés dans les DNS.",
"dns_records_docs": "Veuillez également consulter <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">la documentation</a>.", "dns_records_docs": "Veuillez également consulter <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">la documentation</a>.",
"dns_records_data": "Données correcte", "dns_records_data": "Données correcte",
"dns_records_name": "Nom", "dns_records_name": "Nom",
"dns_records_status": "Etat courant", "dns_records_status": "Etat courant",

View File

@ -107,7 +107,8 @@
"validation_success": "Convalidato con successo", "validation_success": "Convalidato con successo",
"bcc_dest_format": "Il destinatario in copia nascosta deve essere un singolo indirizzo email.<br>Se si vuole spedire una copia del messaggio a più destinatari, bisogna creare un alias ed utilizzarlo per questa opzione.", "bcc_dest_format": "Il destinatario in copia nascosta deve essere un singolo indirizzo email.<br>Se si vuole spedire una copia del messaggio a più destinatari, bisogna creare un alias ed utilizzarlo per questa opzione.",
"app_passwd_protocols": "Protocolli consentiti per la password dell'app", "app_passwd_protocols": "Protocolli consentiti per la password dell'app",
"tags": "Tag" "tags": "Tag",
"dry": "Simula sincronizzazione"
}, },
"admin": { "admin": {
"access": "Accedi", "access": "Accedi",
@ -339,7 +340,8 @@
"oauth2_add_client": "Aggiungere il client OAuth2", "oauth2_add_client": "Aggiungere il client OAuth2",
"rsettings_preset_4": "Disattivare Rspamd per un dominio", "rsettings_preset_4": "Disattivare Rspamd per un dominio",
"options": "Opzioni", "options": "Opzioni",
"cors_settings": "Impostazioni CORS" "cors_settings": "Impostazioni CORS",
"copy_to_clipboard": "Testo copiato negli appunti!"
}, },
"danger": { "danger": {
"access_denied": "Accesso negato o form di login non corretto", "access_denied": "Accesso negato o form di login non corretto",
@ -462,7 +464,9 @@
"demo_mode_enabled": "La modalità demo è abilitata", "demo_mode_enabled": "La modalità demo è abilitata",
"template_name_invalid": "Nome template non valido", "template_name_invalid": "Nome template non valido",
"template_exists": "Il template %s esiste già", "template_exists": "Il template %s esiste già",
"template_id_invalid": "Il template con ID %s non è valido" "template_id_invalid": "Il template con ID %s non è valido",
"img_dimensions_exceeded": "L'immagine supera la dimensione massima consentita",
"img_size_exceeded": "L'immagine supera la dimensione massima del file"
}, },
"debug": { "debug": {
"chart_this_server": "Grafico (questo server)", "chart_this_server": "Grafico (questo server)",
@ -506,7 +510,7 @@
"dns_records": "Record DNS", "dns_records": "Record DNS",
"dns_records_24hours": "Tieni presente che le modifiche apportate ai record DNS potrebbero richiedere fino a 24 ore per poter essere visualizzate correttamente in questa pagina. Tutto ciò è da intendersi come un modo per voi di vedere come configurare i record DNS e per controllare se tutti i record DNS sono stati inseriti correttamente.", "dns_records_24hours": "Tieni presente che le modifiche apportate ai record DNS potrebbero richiedere fino a 24 ore per poter essere visualizzate correttamente in questa pagina. Tutto ciò è da intendersi come un modo per voi di vedere come configurare i record DNS e per controllare se tutti i record DNS sono stati inseriti correttamente.",
"dns_records_data": "Dati corretti", "dns_records_data": "Dati corretti",
"dns_records_docs": "Si prega di consultare anche <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">la documentazione</a>.", "dns_records_docs": "Si prega di consultare anche <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">la documentazione</a>.",
"dns_records_name": "Nome", "dns_records_name": "Nome",
"dns_records_status": "Stato attuale", "dns_records_status": "Stato attuale",
"dns_records_type": "Tipo", "dns_records_type": "Tipo",
@ -626,7 +630,9 @@
"acl": "ACL (autorizzazione)", "acl": "ACL (autorizzazione)",
"app_passwd_protocols": "Protocolli consentiti per la password dell'app", "app_passwd_protocols": "Protocolli consentiti per la password dell'app",
"last_modified": "Ultima modifica", "last_modified": "Ultima modifica",
"pushover_sound": "Suono" "pushover_sound": "Suono",
"custom_attributes": "Attributi personalizzati",
"domain_footer_skip_replies": "Ignora il piè di pagina nelle e-mail di risposta"
}, },
"fido2": { "fido2": {
"confirm": "Conferma", "confirm": "Conferma",
@ -1021,7 +1027,8 @@
"domain_add_dkim_available": "Esisteva già una chiave DKIM", "domain_add_dkim_available": "Esisteva già una chiave DKIM",
"template_added": "Aggiunto template %s", "template_added": "Aggiunto template %s",
"template_modified": "Le modifiche al template %s sono state salvate", "template_modified": "Le modifiche al template %s sono state salvate",
"template_removed": "Il template con ID %s è stato cancellato" "template_removed": "Il template con ID %s è stato cancellato",
"f2b_banlist_refreshed": "L'ID della lista blocchi è stato aggiornato con successo."
}, },
"tfa": { "tfa": {
"api_register": "%s usa le API Yubico Cloud. Richiedi una chiave API <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">qui</a>", "api_register": "%s usa le API Yubico Cloud. Richiedi una chiave API <a href=\"https://upgrade.yubico.com/getapikey/\" target=\"_blank\">qui</a>",
@ -1048,7 +1055,8 @@
"yubi_otp": "Autenticazione Yubico OTP", "yubi_otp": "Autenticazione Yubico OTP",
"tfa_token_invalid": "Token TFA non valido", "tfa_token_invalid": "Token TFA non valido",
"u2f_deprecated": "Sembra che la tua chiave sia stata registrata utilizzando il metodo U2F deprecato. Disattiveremo Two-Factor-Authenticaiton per te e cancelleremo la tua chiave.", "u2f_deprecated": "Sembra che la tua chiave sia stata registrata utilizzando il metodo U2F deprecato. Disattiveremo Two-Factor-Authenticaiton per te e cancelleremo la tua chiave.",
"u2f_deprecated_important": "Registra la tua chiave nel pannello di amministrazione con il nuovo metodo WebAuthn." "u2f_deprecated_important": "Registra la tua chiave nel pannello di amministrazione con il nuovo metodo WebAuthn.",
"authenticators": "Autenticatori"
}, },
"user": { "user": {
"action": "Azione", "action": "Azione",
@ -1210,7 +1218,9 @@
"syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Nome utente o password errati", "syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Nome utente o password errati",
"with_app_password": "con password dell'app", "with_app_password": "con password dell'app",
"direct_protocol_access": "Questo utente della mailbox ha <b>accesso diretto ed esterno</b> ai seguenti protocolli e applicazioni. Questa impostazione è controllata dal tuo amministratore. Le password delle applicazioni possono essere create per garantire l'accesso ai singoli protocolli e applicazioni.<br>Il pulsante \"Accedi alla webmail\" fornisce un singolo accesso a SOGo ed è sempre disponibile.", "direct_protocol_access": "Questo utente della mailbox ha <b>accesso diretto ed esterno</b> ai seguenti protocolli e applicazioni. Questa impostazione è controllata dal tuo amministratore. Le password delle applicazioni possono essere create per garantire l'accesso ai singoli protocolli e applicazioni.<br>Il pulsante \"Accedi alla webmail\" fornisce un singolo accesso a SOGo ed è sempre disponibile.",
"pushover_sound": "Suono" "pushover_sound": "Suono",
"attribute": "Attributo",
"value": "Valore"
}, },
"warning": { "warning": {
"cannot_delete_self": "Cannot delete logged in user", "cannot_delete_self": "Cannot delete logged in user",

View File

@ -0,0 +1,208 @@
{
"admin": {
"api_read_only": "Kun lesetilgang",
"advanced_settings": "Avanserte innstillinger",
"admin_details": "Endre administratordetaljer",
"add_row": "Legg til rad",
"active_rspamd_settings_map": "Aktivt innstillingskart",
"admins": "Administratorer",
"api_info": "APIet er under utvikling. Dokumentasjonen finnes på <a href=\"/api\">/api</a>",
"admin_domains": "Domenetilordninger",
"add": "Legg til",
"active": "Aktiv",
"add_transport": "Legg til transport",
"api_key": "API-nøkkel",
"add_admin": "Legg til administrator",
"admin": "Administrator",
"allowed_methods": "Tilgangskontroll-Tillatte-Metoder",
"add_transports_hint": "Vær oppmerksom på at eventuelle autentiseringsdata vil bli lagret i klartekst.",
"add_relayhost": "Legg til sender-avhengig transport",
"additional_rows": " ekstra rader ble lagt til",
"admins_ldap": "LDAP-administratorer",
"action": "Handling",
"add_settings_rule": "Legg til innstillingsregel",
"allowed_origins": "Tilgangskontroll-Tillat-Opphav",
"api_allow_from": "Tillat API-tilgang fra disse IP/CIDR-nettverkene",
"activate_send": "Aktivér sendeknapp",
"access": "Tilgang",
"add_domain_admin": "Legg til domeneadministrator",
"add_forwarding_host": "Legg til videresendingsvert",
"activate_api": "Aktivér API",
"add_relayhost_hint": "Vennligst vær oppmerksom på at autentiseringsdata, om noe, vil bli lagret i klartekst.",
"app_links": "App-lenker",
"app_name": "App-navn",
"apps_name": "\"mailcow Apps\"-navn",
"arrival_time": "Ankomsttid (servertid)",
"authed_user": "Autorisert bruker",
"ays": "Er du sikker på at du vil fortsette?",
"change_logo": "Endre logo",
"logo_normal_label": "Normal",
"logo_dark_label": "Omvendt for mørk modus",
"configuration": "Konfigurasjon",
"convert_html_to_text": "Konvertér HTML til ren tekst",
"copy_to_clipboard": "Tekst kopiert til utklippstavle!",
"cors_settings": "CORS-innstillinger",
"credentials_transport_warning": "<b>Advarsel</b>: Å legge til en ny transport-mapping vil oppdatere innloggingsinformasjon for alle oppføringer med en tilsvarende \"next hop\"-kolonne.",
"customer_id": "Kunde-ID",
"customize": "Tilpass",
"destination": "Mål",
"dkim_add_key": "Legg til ARC/DKIM-nøkkel",
"dkim_domains_selector": "Velger",
"dkim_domains_wo_keys": "Velg domener med manglende nøkler",
"dkim_from": "Fra",
"dkim_key_length": "DKIM-nøkkellengde (bits)",
"dkim_key_missing": "Nøkkel mangler",
"dkim_key_unused": "Nøkkel ikke i bruk",
"dkim_key_valid": "Nøkkel gyldig",
"dkim_keys": "ARC/DKIM-nøkler",
"dkim_overwrite_key": "Overskriv eksisterende DKIM-nøkkel",
"dkim_private_key": "Privat nøkkel",
"dkim_to": "Til",
"domain_admins": "Domeneadministratorer",
"domain_s": "Domene/r",
"duplicate": "Duplikat",
"duplicate_dkim": "Duplisert DKIM-oppføring",
"edit": "Rediger",
"empty": "Ingen resultater",
"excludes": "Ekspluderer disse mottakerne",
"f2b_ban_time": "Utestengingstid (sek)",
"f2b_blacklist": "Svartelistede nettverk/verter",
"f2b_filter": "Regex-filtre",
"f2b_manage_external": "Betjene Fail2Ban eksternt",
"f2b_manage_external_info": "Fail2Ban vil fortsette å vedlikeholde utestengingslisten, men den vil ikke aktivt legge til regler for å blokkere trafikk. Bruk den genererte blokkeringslisten under for å blokkere trafikk eksternt.",
"f2b_max_attempts": "Maks antall forsøk",
"f2b_max_ban_time": "Maks utestengingstid (sek)",
"f2b_netban_ipv4": "IPv4-subnetstørrelse å aktivere blokkering for (8-32)",
"f2b_netban_ipv6": "IPv6-subnetstørrelse å aktivere blokkering for (8-128)",
"f2b_parameters": "Fail2Ban-parametre",
"f2b_retry_window": "Tidsrom (sek) for maks antall forsøk",
"f2b_whitelist": "Hvitelistede nettverk/verter",
"filter_table": "Filtreringstabell",
"forwarding_hosts": "Videresendingsverter",
"api_skip_ip_check": "Hopp over IP-sjekk for API",
"ban_list_info": "Se liste over utestengte IPer under: <b>nettverk (gjenværende utestengingstid) - [handlinger]</b>.<br />IPer i kø for å bli tillatt igjen vil bli fjernet fra den aktive utestengingslisten i løpet av noen sekunder.<br />Røde etiketter indikerer aktive permanente utestenginger via svartelisting.",
"dkim_from_title": "Kildedomene å kopiere data fra",
"domain": "Domene",
"f2b_ban_time_increment": "Utestengingstid økes for hver ny utestenging",
"api_read_write": "Lese- og skrivetilgang",
"f2b_list_info": "En svartelistet vert eller nettverk vil alltid ha større vekt enn en hvitelistet oppføring.<b>Oppdateringer av listen tar noen sekunder før de vises.</b>",
"f2b_regex_info": "Logger tatt i betraktning: SOGo, Postfix, Dovecot, PHP-FHM.",
"dkim_to_title": "Måldomene/r - vil bli overskrevet",
"domain_admin": "Domeneadministrator",
"r_active": "Aktive begrensninger",
"queue_unban": "fjern blokkering",
"r_inactive": "Inaktive begrensninger",
"r_info": "Grå/deaktivere elementer i listen over aktive restriksjoner er ikke kjente som gyldige restriksjoner i mailcow og kan ikke flyttes. Ukjente begrensninger vil bli aktivert i den rekkefølgen de opptrer uansett.<br>Du kan legge til nye elementer i <code>inc/vars.local.inc.php</code> for å kunne slå dem av og på."
},
"acl": {
"ratelimit": "Nivågrense",
"sogo_profile_reset": "Nullstill SOGo-profil",
"smtp_ip_access": "Endre tillatte verter for SMTP",
"tls_policy": "TLS-policy",
"spam_alias": "Midlertidige alias",
"spam_policy": "Svarteliste/Hvitliste",
"unlimited_quota": "Ubegrenset kvote for postkasser",
"sogo_access": "Tillat administrasjon av SOGo-tilgang",
"syncjobs": "Synkroniser jobber",
"spam_score": "Spam-resultat",
"recipient_maps": "Mottakerkart",
"alias_domains": "Legg til alias-domene",
"app_passwds": "Behandle app-passord",
"bcc_maps": "BCC-mappinger",
"delimiter_action": "Skilletegn-handling",
"domain_relayhost": "Endre videresendingsvert for et domene",
"eas_reset": "Nullstill EAS-enheter",
"filters": "Filtre",
"login_as": "Logg inn som postkassebruker",
"mailbox_relayhost": "Endre videresendingsvert for en postkasse",
"prohibited": "Forbudt av ACL",
"protocol_access": "Endre protokolltilgang",
"pushover": "Pushover",
"quarantine": "Karantenehandlinger",
"quarantine_attachments": "Sett vedlegg i karantene",
"quarantine_category": "Endre varslingskategori for karantene",
"quarantine_notification": "Endre karantenevarslinger",
"domain_desc": "Endre domenebeskrivelse",
"extend_sender_acl": "Tillat utvidelse av sender-ACL fra eksterne adresser"
},
"add": {
"app_passwd_protocols": "Tillatte protokoller for app-passord",
"hostname": "Vert",
"goto_ham": "Lær som <span class=\"text-success\"><b>ham</b></span>",
"custom_params": "Tilpassede parametre",
"target_address": "Gå-til-adresse",
"delete2": "Slett meldinger på måldestinasjonen som ikke finnes på kilden",
"syncjob": "Legg til synkroniseringsjobb",
"domain": "Domene",
"timeout1": "Tidsavbrudd for tilkobling til ekstern vert",
"goto_null": "Slett epost uten varsling",
"custom_params_hint": "Riktig: --param=xy, feil: --param xy",
"multiple_bookings": "Flere reservasjoner",
"alias_domain": "Aliasdomene",
"exclude": "Ekskludér objekter (regex)",
"validate": "Validér",
"dry": "Simulér synkronisering",
"relay_all_info": "↪ Hvis du velger å <b>ikke</b> videresende for alle mottakere, så må du legge til en (\"blind\") postkasse for hver eneste mottaker som det skal videresendes for.",
"description": "Beskrivelse",
"destination": "Måldestinasjon",
"alias_domain_info": "<small>Kun gyldige domenenavn (kommaseparerte).</small>",
"mailbox_username": "Brukernavn (venstre del av en epostadresse)",
"username": "Brukernavn",
"mins_interval": "Sjekkintervall (minutter)",
"disable_login": "Ikke tillat innlogging (innkommende epost blir fremdeles mottatt)",
"delete2duplicates": "Slett duplikater på måldestinasjonen",
"post_domain_add": "SOGo-kontaineren, \"sogo-mailcow\", må startes på nytt etter at man har lagt til et nytt domene!<br><br>I tillegg må domenets DNS-oppsett ses gjennom. Når DNS-oppsettet er godkjent, start \"acme-mailcow\" på nytt for å automatisk opprette sertifikater for det nye domenet (autoconfig.&lt;domain&gt;, autodiscover.&lt;domain&gt;).<br>Dette steget er valgfritt og vil bli forsøkt utført hver 24. time.",
"select": "Vennligst velg...",
"full_name": "Fullt navn",
"alias_address": "Aliasadresse/r",
"activate_filter_warn": "Alle andre filtre vil deaktiveres når aktive er valgt.",
"quota_mb": "Kvote (MiB)",
"gal_info": "Den globale adresselisten inneholder alle objekter i et domene og kan ikke redigeres av noen bruker. Ledig/opptatt-informasjon i SOGo vil mangle, hvis deaktivert! <b>Start SOGo på nytt for å aktivere endringene.</b>",
"alias_address_info": "<small>Komplett/e epostadresse/r eller @example.com, for å fange opp alle meldinger til et domene (kommaseparert).<b>Kun mailcow-domener</b>.</small>",
"bcc_dest_format": "BCC-mål må være én enkelt og gyldig epostadresse.<br>Hvis du trenger å sende en kopi til flere adresser, opprett et alias og bruk det her.",
"add": "Legg til",
"add_domain_only": "Legg til kun domene",
"kind": "Type",
"relay_domain": "Vidersend for dette domenet",
"add_domain_restart": "Legg til domene og start SOGo på nytt",
"enc_method": "Krypteringsmetode",
"app_name": "App-navn",
"relay_transport_info": "<div class=\"badge fs-6 bg-info\">Info</div> Du kan definere transport-kart for en egendefinert destinasjon for dette domenet. Hvis denne ikke er satt, vil det bli foretatt et MX-oppslag.",
"max_aliases": "Maks. antall mulige alias",
"comment_info": "En privat kommentar er ikke synlig for brukeren, mens en offentlig kommentar vises som et verktøytips når man holder muspekeren over i en brukers oversikt.",
"inactive": "Inaktiv",
"domain_quota_m": "Total domenekvote (MiB)",
"password": "Passord",
"delete1": "Slett fra kilde når fullført",
"tags": "Emneknagger",
"port": "Port",
"backup_mx_options": "Alternativer for videresending",
"gal": "Global Adresseliste",
"private_comment": "Privat kommentar",
"goto_spam": "Lær som <span class=\"text-danger\"><b>spam</b></span>",
"target_domain": "Måldomene",
"public_comment": "Offentlig kommentar",
"timeout2": "Tidsavbrudd for tilkobling til lokal vert",
"mailbox_quota_def": "Standard kvote for postkasser",
"skipcrossduplicates": "Hopp over duplikatmeldinger på tvers av mapper (førstemann til mølla)",
"sieve_desc": "Kort beskrivelse",
"mailbox_quota_m": "Maks. kvote pr. postkasse (MiB)",
"automap": "Forsøk automatisk mappe-tilordning (\"Sendte elementer\", \"Sendt\" => \"Sendt\" etc.)",
"validation_success": "Validering fullført",
"relay_all": "Videresend for alle mottakere",
"subscribeall": "Abonnér på alle mapper",
"domain_matches_hostname": "Domene %s er det samme som vertsnavn",
"generate": "opprett",
"app_password": "Legg til app-passord",
"max_mailboxes": "Maks. antall mulige postkasser",
"syncjob_hint": "Vær oppmerksom på at passord må lagres i klartekst!",
"relayhost_wrapped_tls_info": "Vennligst <b>ikke</b> bruk TLS-aktiverte porter (stort sett bare brukt på port 465).<br>\nBruk en annen ikke-TLS-aktivert port og send STARTTLS. En TLS-policy for å tvinge TLS kan opprettes i \"TLS-policy-mappinger\".",
"relay_unknown_only": "Videresend kun for ikke-eksisterende postkasser. Eksisterende postkasser vil bli levert lokalt.",
"sieve_type": "Filtertype",
"password_repeat": "Passordbekreftelse (gjenta)",
"nexthop": "Neste hopp",
"select_domain": "Vennligst velg et domene først",
"active": "Aktiv",
"target_address_info": "<small>Komplett/e epostadresse/r (kommaseparert).</small>"
}
}

View File

@ -510,7 +510,7 @@
"cname_from_a": "Waarde afgeleid van een A- of AAAA-vermelding.", "cname_from_a": "Waarde afgeleid van een A- of AAAA-vermelding.",
"dns_records": "DNS-configuratie", "dns_records": "DNS-configuratie",
"dns_records_24hours": "Houd er rekening mee dat wijzigingen aan DNS tot wel 24 uur in beslag kunnen nemen voordat ze op deze pagina worden weergegeven. Deze informatie is bedoeld om gemakkelijk te bekijken of de DNS-configuratie aan de eisen voldoet.", "dns_records_24hours": "Houd er rekening mee dat wijzigingen aan DNS tot wel 24 uur in beslag kunnen nemen voordat ze op deze pagina worden weergegeven. Deze informatie is bedoeld om gemakkelijk te bekijken of de DNS-configuratie aan de eisen voldoet.",
"dns_records_docs": "Raadpleeg ook <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">de documentatie</a>.", "dns_records_docs": "Raadpleeg ook <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">de documentatie</a>.",
"dns_records_data": "Correcte gegevens", "dns_records_data": "Correcte gegevens",
"dns_records_name": "Naam", "dns_records_name": "Naam",
"dns_records_status": "Huidige staat", "dns_records_status": "Huidige staat",

View File

@ -1,6 +1,6 @@
{ {
"acl": { "acl": {
"alias_domains": "Adicionar domínios alternativos", "alias_domains": "Adicionar domínios alias",
"app_passwds": "Gerenciar senhas de aplicativos", "app_passwds": "Gerenciar senhas de aplicativos",
"bcc_maps": "Mapas BCC", "bcc_maps": "Mapas BCC",
"delimiter_action": "Ação delimitadora", "delimiter_action": "Ação delimitadora",
@ -28,7 +28,7 @@
"spam_score": "Pontuação de spam", "spam_score": "Pontuação de spam",
"syncjobs": "Trabalhos de sincronização", "syncjobs": "Trabalhos de sincronização",
"tls_policy": "Política de TLS", "tls_policy": "Política de TLS",
"unlimited_quota": "Cota ilimitada para mailbox" "unlimited_quota": "Cota ilimitada para mailboxes"
}, },
"add": { "add": {
"activate_filter_warn": "Todos os outros filtros serão desativados quando a opção ativa estiver marcada.", "activate_filter_warn": "Todos os outros filtros serão desativados quando a opção ativa estiver marcada.",
@ -480,7 +480,9 @@
"username_invalid": "O nome de usuário %s não pode ser usado", "username_invalid": "O nome de usuário %s não pode ser usado",
"validity_missing": "Por favor, atribua um período de validade", "validity_missing": "Por favor, atribua um período de validade",
"value_missing": "Forneça todos os valores", "value_missing": "Forneça todos os valores",
"yotp_verification_failed": "Falha na verificação do Yubico OTP: %s" "yotp_verification_failed": "Falha na verificação do Yubico OTP: %s",
"img_dimensions_exceeded": "A imagem excede o tamanho máximo",
"img_size_exceeded": "A imagem excede o tamanho máximo"
}, },
"datatables": { "datatables": {
"collapse_all": "Recolher tudo", "collapse_all": "Recolher tudo",
@ -554,7 +556,7 @@
"dns_records": "Registros DNS", "dns_records": "Registros DNS",
"dns_records_24hours": "Observe que as alterações feitas no DNS podem levar até 24 horas para que seu estado atual seja refletido corretamente nesta página. O objetivo é uma forma de você ver facilmente como configurar seus registros DNS e verificar se todos os seus registros estão armazenados corretamente no DNS.", "dns_records_24hours": "Observe que as alterações feitas no DNS podem levar até 24 horas para que seu estado atual seja refletido corretamente nesta página. O objetivo é uma forma de você ver facilmente como configurar seus registros DNS e verificar se todos os seus registros estão armazenados corretamente no DNS.",
"dns_records_data": "Dados corretos", "dns_records_data": "Dados corretos",
"dns_records_docs": "Consulte também <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">a documentação</a>.", "dns_records_docs": "Consulte também <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">a documentação</a>.",
"dns_records_name": "Nome", "dns_records_name": "Nome",
"dns_records_status": "Estado atual", "dns_records_status": "Estado atual",
"dns_records_type": "Tipo", "dns_records_type": "Tipo",
@ -609,6 +611,7 @@
"extended_sender_acl_info": "Uma chave de domínio DKIM deve ser importada, se disponível. <br>\r\n Lembre-se de adicionar esse servidor ao registro TXT SPF correspondente. <br>\r\n Sempre que um domínio ou domínio de alias é adicionado a esse servidor, que se sobrepõe a um endereço externo, o endereço externo é removido. <br>\r\n Use @domain .tld para permitir o envio como * @domain .tld.", "extended_sender_acl_info": "Uma chave de domínio DKIM deve ser importada, se disponível. <br>\r\n Lembre-se de adicionar esse servidor ao registro TXT SPF correspondente. <br>\r\n Sempre que um domínio ou domínio de alias é adicionado a esse servidor, que se sobrepõe a um endereço externo, o endereço externo é removido. <br>\r\n Use @domain .tld para permitir o envio como * @domain .tld.",
"force_pw_update": "Forçar a atualização da senha no próximo login", "force_pw_update": "Forçar a atualização da senha no próximo login",
"force_pw_update_info": "Esse usuário só poderá fazer login em %s. As senhas do aplicativo permanecem utilizáveis.", "force_pw_update_info": "Esse usuário só poderá fazer login em %s. As senhas do aplicativo permanecem utilizáveis.",
"footer_exclude": "Excluir do rodapé",
"full_name": "Nome completo", "full_name": "Nome completo",
"gal": "Lista de endereços global", "gal": "Lista de endereços global",
"gal_info": "A GAL contém todos os objetos de um domínio e não pode ser editada por nenhum usuário. Faltam informações de disponibilidade no SoGo, se desativadas! <b>Reinicie o SoGo para aplicar as alterações.</b>", "gal_info": "A GAL contém todos os objetos de um domínio e não pode ser editada por nenhum usuário. Faltam informações de disponibilidade no SoGo, se desativadas! <b>Reinicie o SoGo para aplicar as alterações.</b>",
@ -624,10 +627,10 @@
"mailbox_relayhost_info": "Aplicado somente à caixa de correio e aos aliases diretos, substitui um host de retransmissão de domínio.", "mailbox_relayhost_info": "Aplicado somente à caixa de correio e aos aliases diretos, substitui um host de retransmissão de domínio.",
"max_aliases": "Máximo de aliases", "max_aliases": "Máximo de aliases",
"max_mailboxes": "Número máximo de mailboxes possíveis", "max_mailboxes": "Número máximo de mailboxes possíveis",
"max_quota": "Cota máxima por caixa de correio (MiB)", "max_quota": "Cota máxima por mailbox (MiB)",
"maxage": "Duração máxima das mensagens em dias que serão pesquisadas remotamente <br><small>(0 = ignorar a idade</small>)", "maxage": "Duração máxima das mensagens em dias que serão pesquisadas remotamente <br><small>(0 = ignorar a idade</small>)",
"maxbytespersecond": "Máximo de bytes por segundo <br><small>(0 = ilimitado</small>)", "maxbytespersecond": "Máximo de bytes por segundo <br><small>(0 = ilimitado</small>)",
"mbox_rl_info": "Esse limite de taxa é aplicado ao nome de login do SASL e corresponde a qualquer endereço “de” usado pelo usuário conectado. Um limite de taxa de caixa de correio substitui um limite de taxa em todo o domínio.", "mbox_rl_info": "Esse limite de taxa é aplicado ao nome de login do SASL e corresponde a qualquer endereço “de” usado pelo usuário conectado. Um limite de taxa de mailbox substitui um limite de taxa em todo o domínio.",
"mins_interval": "Intervalo (min)", "mins_interval": "Intervalo (min)",
"multiple_bookings": "Várias reservas", "multiple_bookings": "Várias reservas",
"none_inherit": "Nenhum/Herdar", "none_inherit": "Nenhum/Herdar",
@ -654,7 +657,7 @@
"ratelimit": "Limite de taxa", "ratelimit": "Limite de taxa",
"redirect_uri": "URL de redirecionamento/retorno de chamada", "redirect_uri": "URL de redirecionamento/retorno de chamada",
"relay_all": "Retransmita todos os destinatários", "relay_all": "Retransmita todos os destinatários",
"relay_all_info": "↪ Se você optar por <b>não</b> retransmitir todos os destinatários, precisará adicionar uma caixa de correio (“cega”) para cada destinatário que deve ser retransmitido.", "relay_all_info": "↪ Se você optar por <b>não</b> retransmitir todos os destinatários, precisará adicionar uma mailbox (“cega”) para cada destinatário que deve ser retransmitido.",
"relay_domain": "Retransmitir este domínio", "relay_domain": "Retransmitir este domínio",
"relay_transport_info": "<div class=\"badge fs-6 bg-info\">Informações</div> Você pode definir mapas de transporte para um destino personalizado para esse domínio. Se não for definido, uma pesquisa MX será feita.", "relay_transport_info": "<div class=\"badge fs-6 bg-info\">Informações</div> Você pode definir mapas de transporte para um destino personalizado para esse domínio. Se não for definido, uma pesquisa MX será feita.",
"relay_unknown_only": "Retransmita somente mailboxes não existentes. As caixas de mailboxes serão entregues localmente.", "relay_unknown_only": "Retransmita somente mailboxes não existentes. As caixas de mailboxes serão entregues localmente.",
@ -665,14 +668,14 @@
"scope": "Escopo", "scope": "Escopo",
"sender_acl": "Permitir enviar como", "sender_acl": "Permitir enviar como",
"sender_acl_disabled": "<span class=\"badge fs-6 bg-danger\">A verificação do remetente está desativada</span>", "sender_acl_disabled": "<span class=\"badge fs-6 bg-danger\">A verificação do remetente está desativada</span>",
"sender_acl_info": "Se o usuário A da caixa de correio tiver permissão para enviar como usuário B da caixa de correio, o endereço do remetente não será exibido automaticamente como campo “de” selecionável no SoGo. <br>\r\n O usuário B da caixa de correio precisa criar uma delegação no SoGo para permitir que o usuário A da caixa de correio selecione seu endereço como remetente. Para delegar uma caixa de correio no SoGo, use o menu (três pontos) à direita do nome da sua caixa de correio no canto superior esquerdo enquanto estiver na visualização de e-mail. Esse comportamento não se aplica a endereços de alias.", "sender_acl_info": "Se o usuário A da mailbox tiver permissão para enviar como usuário B da mailbox, o endereço do remetente não será exibido automaticamente como campo “de” selecionável no SoGo. <br>\n O usuário B da mailbox precisa criar uma delegação no SoGo para permitir que o usuário A da mailbox selecione seu endereço como remetente. Para delegar uma mailbox no SoGo, use o menu (três pontos) à direita do nome da sua caixa de correio no canto superior esquerdo enquanto estiver na visualização de e-mail. Esse comportamento não se aplica a endereços de alias.",
"sieve_desc": "Breve descrição", "sieve_desc": "Breve descrição",
"sieve_type": "Tipo de filtro", "sieve_type": "Tipo de filtro",
"skipcrossduplicates": "Ignore mensagens duplicadas entre pastas (primeiro a chegar, primeiro a ser servido)", "skipcrossduplicates": "Ignore mensagens duplicadas entre pastas (primeiro a chegar, primeiro a ser servido)",
"sogo_access": "Conceder acesso de login direto ao SoGo", "sogo_access": "Conceder acesso de login direto ao SoGo",
"sogo_access_info": "O login único de dentro da interface do usuário de e-mail continua funcionando. Essa configuração não afeta o acesso a todos os outros serviços nem exclui ou altera o perfil SoGo existente de um usuário.", "sogo_access_info": "O login único de dentro da interface do usuário de e-mail continua funcionando. Essa configuração não afeta o acesso a todos os outros serviços nem exclui ou altera o perfil SoGo existente de um usuário.",
"sogo_visible": "O alias é visível no SoGo", "sogo_visible": "O alias é visível no SoGo",
"sogo_visible_info": "Essa opção afeta somente objetos, que podem ser exibidos no SoGo (endereços de alias compartilhados ou não compartilhados apontando para pelo menos uma caixa de correio local). Se estiver oculto, um alias não aparecerá como remetente selecionável no SoGo.", "sogo_visible_info": "Essa opção afeta somente objetos, que podem ser exibidos no SoGo (endereços de alias compartilhados ou não compartilhados apontando para pelo menos uma mailbox local). Se estiver oculto, um alias não aparecerá como remetente selecionável no SoGo.",
"spam_alias": "Crie ou altere endereços de alias com limite de tempo", "spam_alias": "Crie ou altere endereços de alias com limite de tempo",
"spam_filter": "Filtro de spam", "spam_filter": "Filtro de spam",
"spam_policy": "Adicionar ou remover itens da lista branca/negra", "spam_policy": "Adicionar ou remover itens da lista branca/negra",
@ -688,7 +691,7 @@
"username": "Nome de usuário", "username": "Nome de usuário",
"validate_save": "Valide e salve", "validate_save": "Valide e salve",
"custom_attributes": "Atributos personalizados", "custom_attributes": "Atributos personalizados",
"mbox_exclude": "Excluir mailboxes" "domain_footer_skip_replies": "Ignore o rodapé nos e-mails de resposta"
}, },
"fido2": { "fido2": {
"confirm": "Confirme", "confirm": "Confirme",
@ -724,7 +727,7 @@
"administration": "Configuração e detalhes", "administration": "Configuração e detalhes",
"apps": "Aplicativos", "apps": "Aplicativos",
"debug": "Informações", "debug": "Informações",
"email": "Correio eletrônico", "email": "E-mail",
"mailcow_system": "Sistema", "mailcow_system": "Sistema",
"mailcow_config": "Configuração", "mailcow_config": "Configuração",
"quarantine": "Quarentena", "quarantine": "Quarentena",
@ -741,7 +744,7 @@
"delayed": "O login foi atrasado em %s segundos.", "delayed": "O login foi atrasado em %s segundos.",
"fido2_webauthn": "Login do FIDO2/WebAuthn", "fido2_webauthn": "Login do FIDO2/WebAuthn",
"login": "Login", "login": "Login",
"mobileconfig_info": "Faça login como usuário da caixa de correio para baixar o perfil de conexão Apple solicitado.", "mobileconfig_info": "Faça login como usuário da mailbox para baixar o perfil de conexão Apple solicitado.",
"other_logins": "Login com chave", "other_logins": "Login com chave",
"password": "Senha", "password": "Senha",
"username": "Nome de usuário" "username": "Nome de usuário"
@ -758,16 +761,16 @@
"add_domain_alias": "Adicionar alias de domínio", "add_domain_alias": "Adicionar alias de domínio",
"add_domain_record_first": "Por favor, adicione um domínio primeiro", "add_domain_record_first": "Por favor, adicione um domínio primeiro",
"add_filter": "Adicionar filtro", "add_filter": "Adicionar filtro",
"add_mailbox": "Adicionar caixa de correio", "add_mailbox": "Adicionar mailbox",
"add_recipient_map_entry": "Adicionar mapa do destinatário", "add_recipient_map_entry": "Adicionar mapa do destinatário",
"add_resource": "Adicionar recurso", "add_resource": "Adicionar recurso",
"add_template": "Adicionar modelo", "add_template": "Adicionar modelo",
"add_tls_policy_map": "Adicionar mapa de política TLS", "add_tls_policy_map": "Adicionar mapa de política TLS",
"address_rewriting": "Reescrita de endereço", "address_rewriting": "Reescrita de endereço",
"alias": "Pseudônimo", "alias": "Alias",
"alias_domain_alias_hint": "Os aliases <b>não</b> são aplicados automaticamente aos aliases de domínio. Um endereço de alias <code>my-alias @domain</code> <b>não</b> cobre o endereço <code>my-alias @alias -domain (onde “alias-domain” é um domínio</code> de alias imaginário para “domain”). <br>Use um filtro de peneira para redirecionar e-mails para uma caixa de correio externa (consulte a guia “Filtros” ou use SoGo -> Forwarder). Use “Expandir alias em domínios de alias” para adicionar automaticamente os aliases ausentes.", "alias_domain_alias_hint": "Os aliases <b>não</b> são aplicados automaticamente aos aliases de domínio. Um endereço de alias <code>my-alias@domain</code> <b>não</b> cobre o endereço <code>my-alias@alias -domain</code> (onde “alias-domain” é um domínio de alias imaginário para “domain”). <br>Use um filtro para redirecionar e-mails para uma mailbox externa (consulte a guia “Filtros” ou use SoGo -> Forwarder). Use “Expandir alias em domínios de alias” para adicionar automaticamente os aliases ausentes.",
"alias_domain_backupmx": "Domínio de alias inativo para domínio de retransmissão", "alias_domain_backupmx": "Domínio de alias inativo para domínio de retransmissão",
"aliases": "Pseudônimos", "aliases": "Aliases",
"all_domains": "Todos os domínios", "all_domains": "Todos os domínios",
"allow_from_smtp": "<b>Permita que esses IPs usem apenas SMTP</b>", "allow_from_smtp": "<b>Permita que esses IPs usem apenas SMTP</b>",
"allow_from_smtp_info": "Deixe em branco para permitir todos os remetentes. Endereços e <br>redes IPv4/IPv6.", "allow_from_smtp_info": "Deixe em branco para permitir todos os remetentes. Endereços e <br>redes IPv4/IPv6.",
@ -829,16 +832,16 @@
"last_pw_change": "Última alteração de senha", "last_pw_change": "Última alteração de senha",
"last_run": "Última corrida", "last_run": "Última corrida",
"last_run_reset": "Programe a seguir", "last_run_reset": "Programe a seguir",
"mailbox": "Caixa de correio", "mailbox": "Mailbox",
"mailbox_defaults": "Configurações padrão", "mailbox_defaults": "Configurações padrão",
"mailbox_defaults_info": "Defina as configurações padrão para novas mailboxes.", "mailbox_defaults_info": "Defina as configurações padrão para novas mailboxes.",
"mailbox_defquota": "Tamanho padrão da caixa de correio", "mailbox_defquota": "Tamanho padrão da mailbox",
"mailbox_templates": "Modelos de caixa de correio", "mailbox_templates": "Modelos de mailbox",
"mailbox_quota": "Tamanho máximo de uma caixa de correio", "mailbox_quota": "Tamanho máximo de uma mailbox",
"mailboxes": "mailboxes", "mailboxes": "Mailboxes",
"max_aliases": "Máximo de aliases", "max_aliases": "Máximo de aliases",
"max_mailboxes": "Número máximo de mailboxes possíveis", "max_mailboxes": "Número máximo de mailboxes possíveis",
"max_quota": "Cota máxima por caixa de correio", "max_quota": "Cota máxima por mailbox",
"mins_interval": "Intervalo (min)", "mins_interval": "Intervalo (min)",
"msg_num": "Mensagem #", "msg_num": "Mensagem #",
"multiple_bookings": "Várias reservas", "multiple_bookings": "Várias reservas",
@ -895,7 +898,7 @@
"syncjob_EXIT_CONNECTION_FAILURE": "Problema de conexão", "syncjob_EXIT_CONNECTION_FAILURE": "Problema de conexão",
"syncjob_EXIT_TLS_FAILURE": "Problema com conexão criptografada", "syncjob_EXIT_TLS_FAILURE": "Problema com conexão criptografada",
"syncjob_EXIT_AUTHENTICATION_FAILURE": "Problema de autenticação", "syncjob_EXIT_AUTHENTICATION_FAILURE": "Problema de autenticação",
"syncjob_EXIT_OVERQUOTA": "A caixa de correio de destino está acima da cota", "syncjob_EXIT_OVERQUOTA": "A mailbox de destino está acima da cota",
"syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Não é possível se conectar ao servidor remoto", "syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Não é possível se conectar ao servidor remoto",
"syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Nome de usuário ou senha incorretos", "syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Nome de usuário ou senha incorretos",
"table_size": "Tamanho da mesa", "table_size": "Tamanho da mesa",
@ -922,7 +925,7 @@
"yes": "✓" "yes": "✓"
}, },
"oauth2": { "oauth2": {
"access_denied": "Faça login como proprietário da caixa de correio para conceder acesso via OAuth2.", "access_denied": "Faça login como proprietário da mailbox para conceder acesso via OAuth2.",
"authorize_app": "Autorizar aplicativo", "authorize_app": "Autorizar aplicativo",
"deny": "Negar", "deny": "Negar",
"permit": "Autorizar aplicativo", "permit": "Autorizar aplicativo",
@ -938,7 +941,7 @@
"confirm_delete": "Confirme a exclusão desse elemento.", "confirm_delete": "Confirme a exclusão desse elemento.",
"danger": "Perigo", "danger": "Perigo",
"deliver_inbox": "Entregar na caixa de entrada", "deliver_inbox": "Entregar na caixa de entrada",
"disabled_by_config": "A configuração atual do sistema desativa a funcionalidade de quarentena. Defina “retenções por caixa de correio” e um “tamanho máximo” para os elementos de quarentena.", "disabled_by_config": "A configuração atual do sistema desativa a funcionalidade de quarentena. Defina “retenções por mailbox” e um “tamanho máximo” para os elementos de quarentena.",
"download_eml": "Baixar (.eml)", "download_eml": "Baixar (.eml)",
"empty": "Sem resultados", "empty": "Sem resultados",
"high_danger": "Alto", "high_danger": "Alto",
@ -951,7 +954,7 @@
"notified": "Notificado", "notified": "Notificado",
"qhandler_success": "Solicitação enviada com sucesso para o sistema. Agora você pode fechar a janela.", "qhandler_success": "Solicitação enviada com sucesso para o sistema. Agora você pode fechar a janela.",
"qid": "Respand AID", "qid": "Respand AID",
"qinfo": "O sistema de quarentena salvará as mensagens rejeitadas no banco de dados (o remetente <em>não</em> terá a impressão de uma mensagem entregue), bem como as mensagens, que são entregues como cópia na pasta Lixo eletrônico de uma caixa de correio.\r\n <br>“Aprenda como spam e exclua” aprenderá uma mensagem como spam por meio do teorema bayesiano e também calculará hashes difusos para negar mensagens semelhantes no futuro.\r\n <br>Esteja ciente de que aprender várias mensagens pode ser demorado, dependendo do seu sistema. <br>Os elementos da lista negra são excluídos da quarentena.", "qinfo": "O sistema de quarentena salvará as mensagens rejeitadas no banco de dados (o remetente <em>não</em> terá a impressão de uma mensagem entregue), bem como as mensagens, que são entregues como cópia na pasta Lixo eletrônico de uma mailbox.\n <br>“Aprenda como spam e exclua” aprenderá uma mensagem como spam por meio do Teorema de Bayes e também calculará hashes difusos para negar mensagens semelhantes no futuro.\n <br>Esteja ciente de que aprender várias mensagens pode ser demorado, dependendo do seu sistema. <br>Os elementos da lista negra são excluídos da quarentena.",
"qitem": "Item de quarentena", "qitem": "Item de quarentena",
"quarantine": "Quarentena", "quarantine": "Quarentena",
"quick_actions": "Ações", "quick_actions": "Ações",
@ -1010,7 +1013,7 @@
"help": "Mostrar/ocultar painel de ajuda", "help": "Mostrar/ocultar painel de ajuda",
"imap_smtp_server_auth_info": "Use seu endereço de e-mail completo e o mecanismo de autenticação PLAIN. <br>\r\nSeus dados de login serão criptografados pela criptografia obrigatória do lado do servidor.", "imap_smtp_server_auth_info": "Use seu endereço de e-mail completo e o mecanismo de autenticação PLAIN. <br>\r\nSeus dados de login serão criptografados pela criptografia obrigatória do lado do servidor.",
"mailcow_apps_detail": "Use um aplicativo mailcow para acessar seus e-mails, calendário, contatos e muito mais.", "mailcow_apps_detail": "Use um aplicativo mailcow para acessar seus e-mails, calendário, contatos e muito mais.",
"mailcow_panel_detail": "<b>Os administradores de domínio</b> criam, modificam ou excluem mailboxes e aliases, alteram domínios e leem mais informações sobre seus domínios atribuídos. <br>\n<b>Os usuários de caixas de correio</b> podem criar aliases com limite de tempo (aliases de spam), alterar suas configurações de senha e filtro de spam." "mailcow_panel_detail": "<b>Os administradores de domínio</b> criam, modificam ou excluem mailboxes e aliases, alteram domínios e leem mais informações sobre seus domínios atribuídos. <br>\n<b>Os usuários de mailbox </b> podem criar aliases com limite de tempo (aliases de spam), alterar suas configurações de senha e filtro de spam."
}, },
"success": { "success": {
"acl_saved": "ACL para o objeto %s salvo", "acl_saved": "ACL para o objeto %s salvo",
@ -1062,9 +1065,9 @@
"learned_ham": "Identificação %s como ham aprendida com sucesso", "learned_ham": "Identificação %s como ham aprendida com sucesso",
"license_modified": "As alterações na licença foram salvas", "license_modified": "As alterações na licença foram salvas",
"logged_in_as": "Conectado como %s", "logged_in_as": "Conectado como %s",
"mailbox_added": "A caixa de correio %s foi adicionada", "mailbox_added": "A mailbox %s foi adicionada",
"mailbox_modified": "As alterações na caixa de correio %s foram salvas", "mailbox_modified": "As alterações na mailbox %s foram salvas",
"mailbox_removed": "A caixa de correio %s foi removida", "mailbox_removed": "A mailbox %s foi removida",
"nginx_reloaded": "O Nginx foi recarregado", "nginx_reloaded": "O Nginx foi recarregado",
"object_modified": "As alterações no objeto %s foram salvas", "object_modified": "As alterações no objeto %s foram salvas",
"password_policy_saved": "A política de senha foi salva com sucesso", "password_policy_saved": "A política de senha foi salva com sucesso",
@ -1077,7 +1080,7 @@
"relayhost_removed": "A entrada de mapa %s foi removida", "relayhost_removed": "A entrada de mapa %s foi removida",
"reset_main_logo": "Redefinir para o logotipo padrão", "reset_main_logo": "Redefinir para o logotipo padrão",
"resource_added": "O recurso %s foi adicionado", "resource_added": "O recurso %s foi adicionado",
"resource_modified": "As alterações na caixa de correio %s foram salvas", "resource_modified": "As alterações na mailbox %s foram salvas",
"resource_removed": "O recurso %s foi removido", "resource_removed": "O recurso %s foi removido",
"rl_saved": "Limite de taxa para o objeto %s salvo", "rl_saved": "Limite de taxa para o objeto %s salvo",
"rspamd_ui_pw_set": "Senha do Rspamd UI definida com sucesso", "rspamd_ui_pw_set": "Senha do Rspamd UI definida com sucesso",
@ -1123,14 +1126,15 @@
"webauthn": "Autenticação WebAuthn", "webauthn": "Autenticação WebAuthn",
"waiting_usb_auth": "<i>Aguardando o dispositivo USB...</i> <br><br>Toque no botão no seu dispositivo USB agora.", "waiting_usb_auth": "<i>Aguardando o dispositivo USB...</i> <br><br>Toque no botão no seu dispositivo USB agora.",
"waiting_usb_register": "<i>Aguardando o dispositivo USB...</i> <br><br>Digite sua senha acima e confirme seu registro tocando no botão no seu dispositivo USB.", "waiting_usb_register": "<i>Aguardando o dispositivo USB...</i> <br><br>Digite sua senha acima e confirme seu registro tocando no botão no seu dispositivo USB.",
"yubi_otp": "Autenticação Yubico OTP" "yubi_otp": "Autenticação Yubico OTP",
"authenticators": "Autenticadores"
}, },
"user": { "user": {
"action": "Ação", "action": "Ação",
"active": "Ativo", "active": "Ativo",
"active_sieve": "Filtro ativo", "active_sieve": "Filtro ativo",
"advanced_settings": "Configurações avançadas", "advanced_settings": "Configurações avançadas",
"alias": "Pseudônimo", "alias": "Alias",
"alias_create_random": "Gere um alias aleatório", "alias_create_random": "Gere um alias aleatório",
"alias_extend_all": "Estenda os aliases em 1 hora", "alias_extend_all": "Estenda os aliases em 1 hora",
"alias_full_date": "D.M.Y., H: S T", "alias_full_date": "D.M.Y., H: S T",
@ -1147,7 +1151,7 @@
"apple_connection_profile": "Perfil de conexão da Apple", "apple_connection_profile": "Perfil de conexão da Apple",
"apple_connection_profile_complete": "Esse perfil de conexão inclui parâmetros IMAP e SMTP, bem como caminhos CalDAV (calendários) e CardDAV (contatos) para um dispositivo Apple.", "apple_connection_profile_complete": "Esse perfil de conexão inclui parâmetros IMAP e SMTP, bem como caminhos CalDAV (calendários) e CardDAV (contatos) para um dispositivo Apple.",
"apple_connection_profile_mailonly": "Esse perfil de conexão inclui parâmetros de configuração IMAP e SMTP para um dispositivo Apple.", "apple_connection_profile_mailonly": "Esse perfil de conexão inclui parâmetros de configuração IMAP e SMTP para um dispositivo Apple.",
"apple_connection_profile_with_app_password": "Uma nova senha de aplicativo é gerada e adicionada ao perfil para que nenhuma senha precise ser inserida ao configurar seu dispositivo. Não compartilhe o arquivo, pois ele concede acesso total à sua caixa de correio.", "apple_connection_profile_with_app_password": "Uma nova senha de aplicativo é gerada e adicionada ao perfil para que nenhuma senha precise ser inserida ao configurar seu dispositivo. Não compartilhe o arquivo, pois ele concede acesso total à sua mailbox.",
"change_password": "Alterar senha", "change_password": "Alterar senha",
"change_password_hint_app_passwords": "Sua conta tem %d senhas de aplicativos que não serão alteradas. Para gerenciá-las, acesse a guia Senhas do aplicativo.", "change_password_hint_app_passwords": "Sua conta tem %d senhas de aplicativos que não serão alteradas. Para gerenciá-las, acesse a guia Senhas do aplicativo.",
"clear_recent_successful_connections": "Conexões bem-sucedidas e claras", "clear_recent_successful_connections": "Conexões bem-sucedidas e claras",
@ -1160,7 +1164,7 @@
"delete_ays": "Confirme o processo de exclusão.", "delete_ays": "Confirme o processo de exclusão.",
"direct_aliases": "Endereços de alias diretos", "direct_aliases": "Endereços de alias diretos",
"direct_aliases_desc": "Os endereços de alias diretos são afetados pelo filtro de spam e pelas configurações da política TLS.", "direct_aliases_desc": "Os endereços de alias diretos são afetados pelo filtro de spam e pelas configurações da política TLS.",
"direct_protocol_access": "Esse usuário da caixa de correio tem <b>acesso externo direto</b> aos seguintes protocolos e aplicativos. Essa configuração é controlada pelo administrador. As senhas de aplicativos podem ser criadas para conceder acesso a protocolos e aplicativos individuais. <br>O botão “Login no webmail” fornece login único no SoGo e está sempre disponível.", "direct_protocol_access": "Esse usuário da mailbox tem <b>acesso externo direto</b> aos seguintes protocolos e aplicativos. Essa configuração é controlada pelo administrador. As senhas de aplicativos podem ser criadas para conceder acesso a protocolos e aplicativos individuais. <br>O botão “Login no webmail” fornece login único no SoGo e está sempre disponível.",
"eas_reset": "Redefinir o cache do dispositivo ActiveSync", "eas_reset": "Redefinir o cache do dispositivo ActiveSync",
"eas_reset_help": "Em muitos casos, uma redefinição do cache do dispositivo ajudará a recuperar um perfil quebrado do ActiveSync. <br><b>Atenção:</b> Todos os elementos serão baixados novamente!", "eas_reset_help": "Em muitos casos, uma redefinição do cache do dispositivo ajudará a recuperar um perfil quebrado do ActiveSync. <br><b>Atenção:</b> Todos os elementos serão baixados novamente!",
"eas_reset_now": "Reinicie agora", "eas_reset_now": "Reinicie agora",
@ -1187,7 +1191,7 @@
"last_ui_login": "Último login na interface do usuário", "last_ui_login": "Último login na interface do usuário",
"loading": "Carregando...", "loading": "Carregando...",
"login_history": "Histórico de login", "login_history": "Histórico de login",
"mailbox": "Caixa de correio", "mailbox": "Mailbox",
"mailbox_details": "Detalhes", "mailbox_details": "Detalhes",
"mailbox_general": "Geral", "mailbox_general": "Geral",
"mailbox_settings": "Configurações", "mailbox_settings": "Configurações",
@ -1239,7 +1243,7 @@
"spamfilter": "Filtro de spam", "spamfilter": "Filtro de spam",
"spamfilter_behavior": "Avaliação", "spamfilter_behavior": "Avaliação",
"spamfilter_bl": "Lista negra", "spamfilter_bl": "Lista negra",
"spamfilter_bl_desc": "Endereços de e-mail na lista negra para <b>sempre</b> serem classificados como spam e rejeitados. E-mails rejeitados <b>não</b> serão copiados para a quarentena. Podem ser usados curingas. Um filtro só é aplicado a aliases diretos (aliases com uma única caixa de correio de destino), excluindo aliases abrangentes e a própria caixa de correio.", "spamfilter_bl_desc": "Endereços de e-mail na lista negra para <b>sempre</b> serem classificados como spam e rejeitados. E-mails rejeitados <b>não</b> serão copiados para a quarentena. Podem ser usados curingas. Um filtro só é aplicado a aliases diretos (aliases com uma única caixa de correio de destino), excluindo aliases abrangentes e a própria mailbox.",
"spamfilter_default_score": "Valores padrão", "spamfilter_default_score": "Valores padrão",
"spamfilter_green": "Verde: esta mensagem não é spam", "spamfilter_green": "Verde: esta mensagem não é spam",
"spamfilter_hint": "O primeiro valor descreve a “pontuação baixa de spam”, o segundo representa a “alta pontuação de spam”.", "spamfilter_hint": "O primeiro valor descreve a “pontuação baixa de spam”, o segundo representa a “alta pontuação de spam”.",
@ -1251,7 +1255,7 @@
"spamfilter_table_remove": "remover", "spamfilter_table_remove": "remover",
"spamfilter_table_rule": "Regra", "spamfilter_table_rule": "Regra",
"spamfilter_wl": "Lista branca", "spamfilter_wl": "Lista branca",
"spamfilter_wl_desc": "Os endereços de e-mail incluídos na lista branca são programados para <b>nunca</b> serem classificados como spam. Podem ser usados curingas. Um filtro só é aplicado a aliases diretos (aliases com uma única caixa de correio de destino), excluindo aliases abrangentes e a própria caixa de correio.", "spamfilter_wl_desc": "Os endereços de e-mail incluídos na lista branca são programados para <b>nunca</b> serem classificados como spam. Podem ser usados curingas. Um filtro só é aplicado a aliases diretos (aliases com uma única mailbox de destino), excluindo aliases abrangentes e a própria mailbox.",
"spamfilter_yellow": "Amarelo: esta mensagem pode ser spam, será marcada como spam e movida para sua pasta de lixo eletrônico", "spamfilter_yellow": "Amarelo: esta mensagem pode ser spam, será marcada como spam e movida para sua pasta de lixo eletrônico",
"status": "Status", "status": "Status",
"sync_jobs": "Trabalhos de sincronização", "sync_jobs": "Trabalhos de sincronização",
@ -1261,7 +1265,7 @@
"syncjob_EXIT_CONNECTION_FAILURE": "Problema de conexão", "syncjob_EXIT_CONNECTION_FAILURE": "Problema de conexão",
"syncjob_EXIT_TLS_FAILURE": "Problema com conexão criptografada", "syncjob_EXIT_TLS_FAILURE": "Problema com conexão criptografada",
"syncjob_EXIT_AUTHENTICATION_FAILURE": "Problema de autenticação", "syncjob_EXIT_AUTHENTICATION_FAILURE": "Problema de autenticação",
"syncjob_EXIT_OVERQUOTA": "A caixa de correio de destino está acima da cota", "syncjob_EXIT_OVERQUOTA": "A mailbox de destino está acima da cota",
"syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Não é possível se conectar ao servidor remoto", "syncjob_EXIT_CONNECTION_FAILURE_HOST1": "Não é possível se conectar ao servidor remoto",
"syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Nome de usuário ou senha incorretos", "syncjob_EXIT_AUTHENTICATION_FAILURE_USER1": "Nome de usuário ou senha incorretos",
"tag_handling": "Definir o tratamento para e-mails marcados", "tag_handling": "Definir o tratamento para e-mails marcados",
@ -1275,7 +1279,7 @@
"tls_enforce_in": "Imponha a entrada de TLS", "tls_enforce_in": "Imponha a entrada de TLS",
"tls_enforce_out": "Imponha a saída TLS", "tls_enforce_out": "Imponha a saída TLS",
"tls_policy": "Política de criptografia", "tls_policy": "Política de criptografia",
"tls_policy_warning": "<strong>Aviso:</strong> Se você decidir impor a transferência de e-mail criptografada, poderá perder e-mails. <br>As mensagens que não satisfizerem a política serão devolvidas com uma falha grave pelo sistema de correio. <br>Essa opção se aplica ao seu endereço de e-mail principal (nome de login), a todos os endereços derivados de domínios de alias, bem como aos endereços de alias <b>com apenas essa única caixa de correio</b> como destino.", "tls_policy_warning": "<strong>Aviso:</strong> Se você decidir impor a transferência de e-mail criptografada, poderá perder e-mails. <br>As mensagens que não satisfizerem a política serão devolvidas com uma falha grave pelo sistema de correio. <br>Essa opção se aplica ao seu endereço de e-mail principal (nome de login), a todos os endereços derivados de domínios de alias, bem como aos endereços de alias <b>com apenas essa única mailbox </b> como destino.",
"user_settings": "Configurações do usuário", "user_settings": "Configurações do usuário",
"username": "Nome de usuário", "username": "Nome de usuário",
"verify": "Verificar", "verify": "Verificar",

View File

@ -504,7 +504,7 @@
"cname_from_a": "Valoare derivată din înregistrarea A/AAAA. Acest lucru este acceptat atâta timp cât înregistrarea indică resursele corecte.", "cname_from_a": "Valoare derivată din înregistrarea A/AAAA. Acest lucru este acceptat atâta timp cât înregistrarea indică resursele corecte.",
"dns_records": "Înregistrări DNS", "dns_records": "Înregistrări DNS",
"dns_records_24hours": "Rețineți că modificările aduse DNS-ului pot dura până la 24 de ore pentru a reflecta corect starea lor curentă pe această pagină. Acest mecanism este conceput ca o modalitate să vezi ușor cum să îți configurezi înregistrările DNS și să verifici dacă toate înregistrările sunt stocate corect în DNS.", "dns_records_24hours": "Rețineți că modificările aduse DNS-ului pot dura până la 24 de ore pentru a reflecta corect starea lor curentă pe această pagină. Acest mecanism este conceput ca o modalitate să vezi ușor cum să îți configurezi înregistrările DNS și să verifici dacă toate înregistrările sunt stocate corect în DNS.",
"dns_records_docs": "Vă rugăm să consultați și <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">documentația</a>.", "dns_records_docs": "Vă rugăm să consultați și <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">documentația</a>.",
"dns_records_data": "Date corecte", "dns_records_data": "Date corecte",
"dns_records_name": "Nume", "dns_records_name": "Nume",
"dns_records_status": "Stare curentă", "dns_records_status": "Stare curentă",

View File

@ -504,7 +504,7 @@
"dns_records": "Записи DNS", "dns_records": "Записи DNS",
"dns_records_24hours": "Обратите внимание, что для внесения изменений в DNS может потребоваться до 24 часов, чтобы правильно отобразить их текущее состояние на этой странице. Эта страница предназначен для того, чтобы вы могли легко увидеть, как настроить записи DNS и проверить, все ли записи правильно занесены в DNS.", "dns_records_24hours": "Обратите внимание, что для внесения изменений в DNS может потребоваться до 24 часов, чтобы правильно отобразить их текущее состояние на этой странице. Эта страница предназначен для того, чтобы вы могли легко увидеть, как настроить записи DNS и проверить, все ли записи правильно занесены в DNS.",
"dns_records_data": "Значение", "dns_records_data": "Значение",
"dns_records_docs": "Пожалуйста, ознакомьтесь с <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">документацией</a>.", "dns_records_docs": "Пожалуйста, ознакомьтесь с <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">документацией</a>.",
"dns_records_name": "Название", "dns_records_name": "Название",
"dns_records_status": "Статус", "dns_records_status": "Статус",
"dns_records_type": "Тип", "dns_records_type": "Тип",
@ -546,6 +546,7 @@
"extended_sender_acl_info": "Для внешних доменов должен быть импортирован или сгенерирован доменный ключ DKIM с соответствующей записью TXT в домене, если внешний домен использует DMARC.<br>\r\n Не забудьте добавить этот сервер к соответствующей записи SPF TXT внешнего домена.<br>\r\n Добавление домена из списка внешних адресов в mailcow автоматически удалит соответствующие записи из внешних адресов пользователей.<br>\r\n Чтобы разрешить пользователю отправку от имени *@domain.tld, укажите @domain.tld.", "extended_sender_acl_info": "Для внешних доменов должен быть импортирован или сгенерирован доменный ключ DKIM с соответствующей записью TXT в домене, если внешний домен использует DMARC.<br>\r\n Не забудьте добавить этот сервер к соответствующей записи SPF TXT внешнего домена.<br>\r\n Добавление домена из списка внешних адресов в mailcow автоматически удалит соответствующие записи из внешних адресов пользователей.<br>\r\n Чтобы разрешить пользователю отправку от имени *@domain.tld, укажите @domain.tld.",
"force_pw_update": "Требовать смены пароля при следующем входе в систему", "force_pw_update": "Требовать смены пароля при следующем входе в систему",
"force_pw_update_info": "Пользователь должен будет войти в %s и сменить свой пароль. mailcow OAuth2, SOGo, EAS, IMAP/POP3 и SMTP будут не доступны до смены пароля.", "force_pw_update_info": "Пользователь должен будет войти в %s и сменить свой пароль. mailcow OAuth2, SOGo, EAS, IMAP/POP3 и SMTP будут не доступны до смены пароля.",
"footer_exclude": "Исключить из нижнего колонтитула",
"full_name": "Полное имя", "full_name": "Полное имя",
"gal": "GAL - Глобальная адресная книга", "gal": "GAL - Глобальная адресная книга",
"gal_info": "GAL содержит все объекты домена и не подлежит редактированию. Информация о занятости в SOGo будет отсутствовать для домена, если данная функция будет отключена! <b>Требуется перезапустить SOGo, чтобы применить изменения.</b>", "gal_info": "GAL содержит все объекты домена и не подлежит редактированию. Информация о занятости в SOGo будет отсутствовать для домена, если данная функция будет отключена! <b>Требуется перезапустить SOGo, чтобы применить изменения.</b>",
@ -635,7 +636,6 @@
"domain_footer": "Нижний колонтитул домена", "domain_footer": "Нижний колонтитул домена",
"domain_footer_html": "HTML нижний колонтитул", "domain_footer_html": "HTML нижний колонтитул",
"domain_footer_plain": "ПРОСТОЙ нижний колонтитул", "domain_footer_plain": "ПРОСТОЙ нижний колонтитул",
"mbox_exclude": "Исключить почтовые ящики",
"custom_attributes": "Пользовательские атрибуты" "custom_attributes": "Пользовательские атрибуты"
}, },
"fido2": { "fido2": {

View File

@ -543,7 +543,7 @@
"dns_records": "DNS zapisi", "dns_records": "DNS zapisi",
"dns_records_24hours": "Prosim upoštevajte, da lahko traja do 24 ur da se spremembe v DNS pravilno prikažejo na tej strani. Namen je da lahko enostavno vidite, kako konfigurirati svoje DNS zapise in preverite ali so vaši zapisi pravilno shranjeni v DNS.", "dns_records_24hours": "Prosim upoštevajte, da lahko traja do 24 ur da se spremembe v DNS pravilno prikažejo na tej strani. Namen je da lahko enostavno vidite, kako konfigurirati svoje DNS zapise in preverite ali so vaši zapisi pravilno shranjeni v DNS.",
"dns_records_data": "Pravilni podatki", "dns_records_data": "Pravilni podatki",
"dns_records_docs": "Prosim preverite tudi <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">dokumentacijo</a>.", "dns_records_docs": "Prosim preverite tudi <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">dokumentacijo</a>.",
"dns_records_name": "Ime", "dns_records_name": "Ime",
"dns_records_status": "Trenutno stanje", "dns_records_status": "Trenutno stanje",
"dns_records_type": "Vrsta", "dns_records_type": "Vrsta",

View File

@ -523,7 +523,7 @@
"dns_records": "DNS záznamy", "dns_records": "DNS záznamy",
"dns_records_24hours": "Berte prosím do úvahy, že zmeny v DNS môžu trvať až 24 hodín, aby sa zmeny prejavili na tejto stránke. Pre jednoduchosť DNS konfigurácie môžete použiť údaje uvedené nižšie, prípadne skontrolovať tak správnosť záznamov v DNS.", "dns_records_24hours": "Berte prosím do úvahy, že zmeny v DNS môžu trvať až 24 hodín, aby sa zmeny prejavili na tejto stránke. Pre jednoduchosť DNS konfigurácie môžete použiť údaje uvedené nižšie, prípadne skontrolovať tak správnosť záznamov v DNS.",
"dns_records_data": "Správne dáta", "dns_records_data": "Správne dáta",
"dns_records_docs": "Pozrite si prosím <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">dokumentáciu</a>.", "dns_records_docs": "Pozrite si prosím <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">dokumentáciu</a>.",
"dns_records_name": "Meno", "dns_records_name": "Meno",
"dns_records_status": "Súčasný stav", "dns_records_status": "Súčasný stav",
"dns_records_type": "Typ", "dns_records_type": "Typ",

View File

@ -473,7 +473,7 @@
"cname_from_a": "Värde härstammar från A/AAAA-uppslaget. Detta stöds så länge som uppslaget pekar mot rätt resurs.", "cname_from_a": "Värde härstammar från A/AAAA-uppslaget. Detta stöds så länge som uppslaget pekar mot rätt resurs.",
"dns_records": "DNS-uppslag", "dns_records": "DNS-uppslag",
"dns_records_24hours": "Observera att ändringar gjorda i DNS kan ta upp till 24 timmar innan det visas korrekt på denna sida. Syftet med sidan är att enkelt se hur DNS-uppslagen är konfigurerade. Det är lätt att kontrollera att DNS-uppslagen är korrekt uppsatta.", "dns_records_24hours": "Observera att ändringar gjorda i DNS kan ta upp till 24 timmar innan det visas korrekt på denna sida. Syftet med sidan är att enkelt se hur DNS-uppslagen är konfigurerade. Det är lätt att kontrollera att DNS-uppslagen är korrekt uppsatta.",
"dns_records_docs": "Se även <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">dokumentationen</a>.", "dns_records_docs": "Se även <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">dokumentationen</a>.",
"dns_records_data": "Korrektdata", "dns_records_data": "Korrektdata",
"dns_records_name": "Namn", "dns_records_name": "Namn",
"dns_records_status": "Nuvarande status", "dns_records_status": "Nuvarande status",

View File

@ -525,7 +525,7 @@
"cname_from_a": "Значення, отримане із запису A/AAAA. Це підтримується, поки запис вказує на правильний ресурс.", "cname_from_a": "Значення, отримане із запису A/AAAA. Це підтримується, поки запис вказує на правильний ресурс.",
"dns_records": "Записи DNS", "dns_records": "Записи DNS",
"dns_records_data": "Значення", "dns_records_data": "Значення",
"dns_records_docs": "Також перегляньте <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">документацію</a>.", "dns_records_docs": "Також перегляньте <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">документацію</a>.",
"dns_records_name": "Назва", "dns_records_name": "Назва",
"dns_records_status": "Статус", "dns_records_status": "Статус",
"optional": "Цей запис необов'язковий.", "optional": "Цей запис необов'язковий.",
@ -561,6 +561,7 @@
"extended_sender_acl": "Зовнішні адреси пошти", "extended_sender_acl": "Зовнішні адреси пошти",
"force_pw_update": "Вимагати зміну пароля при наступному вході до системи", "force_pw_update": "Вимагати зміну пароля при наступному вході до системи",
"force_pw_update_info": "Цей користувач зможе увійти лише в %s. Паролі додатків залишаються придатними для використання.", "force_pw_update_info": "Цей користувач зможе увійти лише в %s. Паролі додатків залишаються придатними для використання.",
"footer_exclude": "Виключити з нижнього колонтитула",
"full_name": "Повне ім'я", "full_name": "Повне ім'я",
"gal": "GAL - Глобальна адресна книга", "gal": "GAL - Глобальна адресна книга",
"generate": "згенерувати", "generate": "згенерувати",
@ -659,8 +660,7 @@
}, },
"domain_footer_html": "Нижній колонтитул HTML", "domain_footer_html": "Нижній колонтитул HTML",
"domain_footer_plain": "ЗВИЧАЙНИЙ нижній колонтитул", "domain_footer_plain": "ЗВИЧАЙНИЙ нижній колонтитул",
"custom_attributes": "Користувацькі атрибути", "custom_attributes": "Користувацькі атрибути"
"mbox_exclude": "Виключити поштові скриньки"
}, },
"fido2": { "fido2": {
"confirm": "Підтвердити", "confirm": "Підтвердити",

View File

@ -494,7 +494,7 @@
"dns_records": "DNS 记录", "dns_records": "DNS 记录",
"dns_records_24hours": "请注意 DNS 记录的更改可能需要24小时才可以使此页面的当前状态显示正确。此页面为你提供了一个可以便捷查询如何配置 DNS 记录以及检查你的 DNS 记录是否正确的方式。", "dns_records_24hours": "请注意 DNS 记录的更改可能需要24小时才可以使此页面的当前状态显示正确。此页面为你提供了一个可以便捷查询如何配置 DNS 记录以及检查你的 DNS 记录是否正确的方式。",
"dns_records_data": "正确数据", "dns_records_data": "正确数据",
"dns_records_docs": "请同时也参考这个<a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">文档</a>.", "dns_records_docs": "请同时也参考这个<a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">文档</a>.",
"dns_records_name": "名称", "dns_records_name": "名称",
"dns_records_status": "当前状态", "dns_records_status": "当前状态",
"dns_records_type": "类型", "dns_records_type": "类型",

View File

@ -88,7 +88,7 @@
"relay_all": "中繼所有收件人", "relay_all": "中繼所有收件人",
"relay_all_info": "↪ 如果選擇<b>不</b>中繼所有收件人,你會需要幫每個應該中繼的收件人新增一個 (\"盲\") 信箱。", "relay_all_info": "↪ 如果選擇<b>不</b>中繼所有收件人,你會需要幫每個應該中繼的收件人新增一個 (\"盲\") 信箱。",
"relay_domain": "中繼此域名", "relay_domain": "中繼此域名",
"relay_transport_info": "<div class=\"label label-info\">資訊</div> 你可以為此域名定義傳輸規則以自訂目的地,如果留空則會遵照 MX 紀錄。", "relay_transport_info": "<div class=\"badge fs-6 bg-info\">資訊</div> 你可以為此域名定義傳輸規則以自訂目的地,如果留空則會遵照 MX 紀錄。",
"relay_unknown_only": "只為不存在的信箱地址中繼。已存在的信箱地址則在本區域遞送。", "relay_unknown_only": "只為不存在的信箱地址中繼。已存在的信箱地址則在本區域遞送。",
"relayhost_wrapped_tls_info": "請 <b>不要</b> 使用\"已包裝 TLS\"的通訊埠 (大多為通訊埠 465).<br>\r\n使用其他\"未包裝\"的通訊埠發起 STARTTLS. 你可以在\"TLS 規則表\"中新增強制使用 TLS 的規則。", "relayhost_wrapped_tls_info": "請 <b>不要</b> 使用\"已包裝 TLS\"的通訊埠 (大多為通訊埠 465).<br>\r\n使用其他\"未包裝\"的通訊埠發起 STARTTLS. 你可以在\"TLS 規則表\"中新增強制使用 TLS 的規則。",
"select": "請選擇...", "select": "請選擇...",
@ -519,14 +519,15 @@
"show_ip": "顯示公網IP", "show_ip": "顯示公網IP",
"update_available": "有可用更新", "update_available": "有可用更新",
"no_update_available": "系統已經是最新版本", "no_update_available": "系統已經是最新版本",
"update_failed": "無法檢查更新" "update_failed": "無法檢查更新",
"wip": "工作正在進行中"
}, },
"diagnostics": { "diagnostics": {
"cname_from_a": "由 A/AAAA 紀錄獲取。只要紀錄指向正確的資源,此功能就會持續運作。", "cname_from_a": "由 A/AAAA 紀錄獲取。只要紀錄指向正確的資源,此功能就會持續運作。",
"dns_records": "DNS 紀錄", "dns_records": "DNS 紀錄",
"dns_records_24hours": "請注意 DNS 紀錄的更改可能需要 24 小時才能正確顯示於此頁面。此頁面的目的是為了讓你可以輕鬆的了解如何設定 DNS 紀錄並檢查 DNS 是否設定正確。", "dns_records_24hours": "請注意 DNS 紀錄的更改可能需要 24 小時才能正確顯示於此頁面。此頁面的目的是為了讓你可以輕鬆的了解如何設定 DNS 紀錄並檢查 DNS 是否設定正確。",
"dns_records_data": "正確值", "dns_records_data": "正確值",
"dns_records_docs": "請同時另外查看 <a target=\"_blank\" href=\"https://docs.mailcow.email/prerequisite/prerequisite-dns/\">文件</a>.", "dns_records_docs": "請同時另外查看 <a target=\"_blank\" href=\"https://docs.mailcow.email/getstarted/prerequisite-dns\">文件</a>.",
"dns_records_name": "名稱", "dns_records_name": "名稱",
"dns_records_status": "目前狀態", "dns_records_status": "目前狀態",
"dns_records_type": "類型", "dns_records_type": "類型",
@ -569,6 +570,7 @@
"extended_sender_acl_info": "如果可以的話,請匯入 DKIM 域名金鑰。<br>\r\n別忘記將此伺服器新增到相應的 SPF TXT 中。<br>\r\n當域名或域名別名被新增時若其與此外部寄件人地址交疊則外部寄件人地址會被移除。<br>\r\n填入 @domain.tld 以允許作為 *@domain.tld 發送郵件。", "extended_sender_acl_info": "如果可以的話,請匯入 DKIM 域名金鑰。<br>\r\n別忘記將此伺服器新增到相應的 SPF TXT 中。<br>\r\n當域名或域名別名被新增時若其與此外部寄件人地址交疊則外部寄件人地址會被移除。<br>\r\n填入 @domain.tld 以允許作為 *@domain.tld 發送郵件。",
"force_pw_update": "在下一次登入時強制要求更新密碼", "force_pw_update": "在下一次登入時強制要求更新密碼",
"force_pw_update_info": "此使用者只能登入至 %s。應用程式密碼仍可正常使用", "force_pw_update_info": "此使用者只能登入至 %s。應用程式密碼仍可正常使用",
"footer_exclude": "从页脚排除",
"full_name": "全名", "full_name": "全名",
"gal": "全域聯絡人清單", "gal": "全域聯絡人清單",
"gal_info": "<b>全域聯絡人清單</b>包含了域名下的所有物件,且使用者不可編輯。如果關閉,使用者的 空閒/繁忙 訊息將不能在 SOGo 中顯示。<b>重新啟動 SOGo 以應用更改。</b>", "gal_info": "<b>全域聯絡人清單</b>包含了域名下的所有物件,且使用者不可編輯。如果關閉,使用者的 空閒/繁忙 訊息將不能在 SOGo 中顯示。<b>重新啟動 SOGo 以應用更改。</b>",
@ -615,7 +617,7 @@
"relay_all": "中繼所有收件人", "relay_all": "中繼所有收件人",
"relay_all_info": "↪ 如果選擇<b>不</b>中繼所有收件人,你會需要幫每個應該中繼的收件人新增一個 (\"盲\") 信箱。", "relay_all_info": "↪ 如果選擇<b>不</b>中繼所有收件人,你會需要幫每個應該中繼的收件人新增一個 (\"盲\") 信箱。",
"relay_domain": "中繼這個域名", "relay_domain": "中繼這個域名",
"relay_transport_info": "<div class=\"label label-info\">資訊</div> 你可以為此域名定義傳輸規則以自訂目的地,如果留空則會遵照 MX 紀錄。", "relay_transport_info": "<div class=\"badge fs-6 bg-info\">資訊</div> 你可以為此域名定義傳輸規則以自訂目的地,如果留空則會遵照 MX 紀錄。",
"relay_unknown_only": "只為不存在的信箱地址中繼。已存在的信箱地址則在本區域遞送。", "relay_unknown_only": "只為不存在的信箱地址中繼。已存在的信箱地址則在本區域遞送。",
"relayhost": "中繼傳輸", "relayhost": "中繼傳輸",
"remove": "移除", "remove": "移除",
@ -623,7 +625,7 @@
"save": "儲存更改", "save": "儲存更改",
"scope": "範圍", "scope": "範圍",
"sender_acl": "允許發送為", "sender_acl": "允許發送為",
"sender_acl_disabled": "<span class=\"label label-danger\">寄件人檢查已關閉</span>", "sender_acl_disabled": "<span class=\"badge fs-6 bg-danger\">寄件人檢查已關閉</span>",
"sender_acl_info": "如果信箱使用者 A 被允許以信箱使用者 B 發送郵件,該寄件人地址不會出現在 SOGo 中\"發送自\"的下拉選項中。<br>\r\n信箱使用者 B 需要新增授權以允許信箱使用者 A 選擇 B 的地址作為寄件人;授權方法為,在 SOGo 中點擊右上方信箱名稱左邊的選項按鈕(三個點)並授權。此行為不會套用於信箱別名。", "sender_acl_info": "如果信箱使用者 A 被允許以信箱使用者 B 發送郵件,該寄件人地址不會出現在 SOGo 中\"發送自\"的下拉選項中。<br>\r\n信箱使用者 B 需要新增授權以允許信箱使用者 A 選擇 B 的地址作為寄件人;授權方法為,在 SOGo 中點擊右上方信箱名稱左邊的選項按鈕(三個點)並授權。此行為不會套用於信箱別名。",
"sieve_desc": "簡短描述", "sieve_desc": "簡短描述",
"sieve_type": "過濾器類型", "sieve_type": "過濾器類型",
@ -648,7 +650,6 @@
"validate_save": "驗證並儲存", "validate_save": "驗證並儲存",
"domain_footer_info": "網域範圍的頁尾將會新增至與該網域內的位址關聯的所有外發電子郵件。 <br> 以下變數可用於頁尾:", "domain_footer_info": "網域範圍的頁尾將會新增至與該網域內的位址關聯的所有外發電子郵件。 <br> 以下變數可用於頁尾:",
"custom_attributes": "自訂屬性", "custom_attributes": "自訂屬性",
"mbox_exclude": "排除信箱",
"pushover_sound": "聲音" "pushover_sound": "聲音"
}, },
"fido2": { "fido2": {
@ -684,7 +685,7 @@
"header": { "header": {
"administration": "設定和管理", "administration": "設定和管理",
"apps": "應用程式", "apps": "應用程式",
"debug": "系統", "debug": "系統訊",
"quarantine": "隔離", "quarantine": "隔離",
"restart_netfilter": "重新啟動 netfilter", "restart_netfilter": "重新啟動 netfilter",
"restart_sogo": "重新啟動 SOGo", "restart_sogo": "重新啟動 SOGo",
@ -829,7 +830,7 @@
"sender": "寄件人", "sender": "寄件人",
"set_postfilter": "標記為 postfilter", "set_postfilter": "標記為 postfilter",
"set_prefilter": "標記為 prefilter", "set_prefilter": "標記為 prefilter",
"sieve_info": "你可以為每個使用者儲存多個過濾器,但只能同時啟用一個 prefilter 和一個 postfilter。<br>\r\n過濾器將按清單中的順序依次執行下一個腳本不會因為上一個腳本失敗或\"keep;\"而停止。更改全域 sieve 腳本會重新啟動 Dovecot。<br><br>全域 sieve prefilter → Prefilter → 使用者腳本 → Postfilter → 全域 sieve postfilter", "sieve_info": "你可以為每個使用者儲存多個過濾器,但只能同時啟用一個 prefilter 和一個 postfilter。<br>\n過濾器將按清單中的順序依次執行下一個腳本不會因為上一個腳本失敗或保留而停止。更改全域 sieve 腳本會重新啟動 Dovecot。<br><br>全域 sieve prefilter &#8226; Prefilter &#8226; 使用者腳本 &#8226; Postfilter &#8226; 全域 sieve postfilter",
"sieve_preset_1": "丟棄含有潛在危險檔案格式的信件", "sieve_preset_1": "丟棄含有潛在危險檔案格式的信件",
"sieve_preset_2": "永遠標記來自指定寄件人的郵件為已讀", "sieve_preset_2": "永遠標記來自指定寄件人的郵件為已讀",
"sieve_preset_3": "無聲刪除,並停止運行後續的 sieve 腳本", "sieve_preset_3": "無聲刪除,並停止運行後續的 sieve 腳本",
@ -837,7 +838,7 @@
"sieve_preset_5": "自動回覆 (休假)", "sieve_preset_5": "自動回覆 (休假)",
"sieve_preset_6": "拒絕郵件並回應", "sieve_preset_6": "拒絕郵件並回應",
"sieve_preset_7": "重新導向並保留/刪除", "sieve_preset_7": "重新導向並保留/刪除",
"sieve_preset_8": "刪除寄件人發送給包含自己別名地址的郵件", "sieve_preset_8": "重新導向來自特定寄件者的電子郵件,標記為已讀取並分類到子資料夾中",
"sieve_preset_header": "請看下方的範例預設。 查看 <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a> 以瞭解更多細節。", "sieve_preset_header": "請看下方的範例預設。 查看 <a href=\"https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)\" target=\"_blank\">Wikipedia</a> 以瞭解更多細節。",
"sogo_visible": "別名會顯示於 SOGo", "sogo_visible": "別名會顯示於 SOGo",
"sogo_visible_n": "在 SOGo 中隱藏別名", "sogo_visible_n": "在 SOGo 中隱藏別名",
@ -1171,7 +1172,7 @@
"running": "運行中", "running": "運行中",
"save": "儲存變更", "save": "儲存變更",
"save_changes": "儲存變更", "save_changes": "儲存變更",
"sender_acl_disabled": "<span class=\"label label-danger\">寄件人檢查已關閉</span>", "sender_acl_disabled": "<span class=\"badge fs-6 bg-danger\">寄件人檢查已關閉</span>",
"shared_aliases": "共享別名地址", "shared_aliases": "共享別名地址",
"shared_aliases_desc": "共用別名不會受使用者的個別設定如垃圾過濾器和加密規則等影響。共享別名地址的垃圾信件過濾只能由管理員透過域名級別規則修改。", "shared_aliases_desc": "共用別名不會受使用者的個別設定如垃圾過濾器和加密規則等影響。共享別名地址的垃圾信件過濾只能由管理員透過域名級別規則修改。",
"show_sieve_filters": "顯示使用者啟用的 sieve 過濾器", "show_sieve_filters": "顯示使用者啟用的 sieve 過濾器",
@ -1231,7 +1232,8 @@
"year": "年", "year": "年",
"years": "年", "years": "年",
"attribute": "屬性", "attribute": "屬性",
"pushover_sound": "聲音" "pushover_sound": "聲音",
"value": "數值"
}, },
"warning": { "warning": {
"cannot_delete_self": "不能刪除已登入的使用者", "cannot_delete_self": "不能刪除已登入的使用者",
@ -1282,6 +1284,9 @@
"ays": "請確認您要刪除目前隊列中的所有項目。", "ays": "請確認您要刪除目前隊列中的所有項目。",
"deliver_mail": "遞送", "deliver_mail": "遞送",
"queue_manager": "隊列管理器", "queue_manager": "隊列管理器",
"unhold_mail_legend": "釋放選定的郵件以供投遞。 (需事先持有)" "unhold_mail_legend": "釋放選定的郵件以供投遞。 (需事先持有)",
"hold_mail_legend": "保存選定的郵件。(防止進一步的交付嘗試)",
"hold_mail": "保留",
"unhold_mail": "取消保留"
} }
} }

View File

@ -26,6 +26,15 @@
<input type="hidden" value="0" name="gal"> <input type="hidden" value="0" name="gal">
<input type="hidden" value="0" name="relay_all_recipients"> <input type="hidden" value="0" name="relay_all_recipients">
<input type="hidden" value="0" name="relay_unknown_only"> <input type="hidden" value="0" name="relay_unknown_only">
<div class="row mb-4">
<label class="control-label col-sm-2" for="domain">{{ lang.mailbox.domain }}</label>
<div class="col-sm-10">
<span class="d-block"><strong>{{ result.domain_h_name }}</strong></span>
{% if result.domain_h_name != result.domain_name %}
<small>{{ result.domain_name }}</small>
{% endif %}
</div>
</div>
<div class="row mb-2" data-acl="{{ acl.domain_desc }}"> <div class="row mb-2" data-acl="{{ acl.domain_desc }}">
<label class="control-label col-sm-2" for="description">{{ lang.edit.description }}</label> <label class="control-label col-sm-2" for="description">{{ lang.edit.description }}</label>
<div class="col-sm-10"> <div class="col-sm-10">
@ -289,9 +298,9 @@
{{ lang.edit.domain_footer_info_vars.custom }}</pre> {{ lang.edit.domain_footer_info_vars.custom }}</pre>
<form class="form-horizontal mt-4" data-id="domain_footer"> <form class="form-horizontal mt-4" data-id="domain_footer">
<div class="row mb-4"> <div class="row mb-4">
<label class="control-label col-sm-2" for="mbox_exclude">{{ lang.edit.mbox_exclude }}</label> <label class="control-label col-sm-2" for="exclude">{{ lang.edit.footer_exclude }}</label>
<div class="col-sm-10"> <div class="col-sm-10">
<select data-live-search="true" data-width="100%" style="width:100%" id="editMboxExclude" name="mbox_exclude" size="10" multiple> <select data-live-search="true" data-width="100%" style="width:100%" id="editFooterExclude" name="exclude" size="10" multiple>
{% for mailbox in mailboxes %} {% for mailbox in mailboxes %}
<option value="{{ mailbox }}" {% if mailbox in domain_footer.mbox_exclude %}selected{% endif %}> <option value="{{ mailbox }}" {% if mailbox in domain_footer.mbox_exclude %}selected{% endif %}>
{{ mailbox }} {{ mailbox }}
@ -302,6 +311,11 @@
{{ alias }} {{ alias }}
</option> </option>
{% endfor %} {% endfor %}
{% for alias_domain in alias_domains %}
<option data-subtext="Alias-Domain" value="{{ alias_domain }}" {% if alias_domain in domain_footer.alias_domain_exclude %}selected{% endif %}>
{{ alias_domain }}
</option>
{% endfor %}
</select> </select>
</div> </div>
</div> </div>

View File

@ -381,6 +381,12 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form class="form-horizontal" data-cached-form="true" data-id="add_domain" role="form"> <form class="form-horizontal" data-cached-form="true" data-id="add_domain" role="form">
<input type="hidden" value="0" name="gal">
<input type="hidden" value="0" name="active">
<input type="hidden" value="0" name="backupmx">
<input type="hidden" value="0" name="relay_all_recipients">
<input type="hidden" value="0" name="relay_unknown_only">
<div class="row mb-2"> <div class="row mb-2">
<label class="control-label col-sm-2 text-sm-end text-sm-end" for="domain">{{ lang.add.domain }}</label> <label class="control-label col-sm-2 text-sm-end text-sm-end" for="domain">{{ lang.add.domain }}</label>
<div class="col-sm-10"> <div class="col-sm-10">

View File

@ -62,7 +62,7 @@ services:
- redis - redis
clamd-mailcow: clamd-mailcow:
image: mailcow/clamd:1.64 image: mailcow/clamd:1.65
restart: always restart: always
depends_on: depends_on:
unbound-mailcow: unbound-mailcow:
@ -441,7 +441,7 @@ services:
- acme - acme
netfilter-mailcow: netfilter-mailcow:
image: mailcow/netfilter:1.57 image: mailcow/netfilter:1.58
stop_grace_period: 30s stop_grace_period: 30s
restart: always restart: always
privileged: true privileged: true