mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge remote-tracking branch 'origin/dev' into manifestv2
This commit is contained in:
commit
d7e87b34c7
22 changed files with 572 additions and 101 deletions
3
.github/workflows/n_updater.sh
vendored
3
.github/workflows/n_updater.sh
vendored
|
@ -70,6 +70,9 @@ echo "Calculated checksum for n v${version} is $checksum"
|
|||
# Replace new version in helper
|
||||
sed -i -E "s/^n_version=.*$/n_version=$version/" helpers/nodejs
|
||||
|
||||
# Replace checksum in helper
|
||||
sed -i -E "s/^n_checksum=.*$/n_checksum=$checksum/" helpers/nodejs
|
||||
|
||||
# The Action will proceed only if the PROCEED environment variable is set to true
|
||||
echo "PROCEED=true" >> $GITHUB_ENV
|
||||
exit 0
|
||||
|
|
|
@ -29,7 +29,7 @@ ssl_dhparam /usr/share/yunohost/ffdhe2048.pem;
|
|||
more_set_headers "Content-Security-Policy : upgrade-insecure-requests; default-src https: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'";
|
||||
{% else %}
|
||||
more_set_headers "Content-Security-Policy : upgrade-insecure-requests";
|
||||
more_set_headers "Content-Security-Policy-Report-Only : default-src https: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'";
|
||||
more_set_headers "Content-Security-Policy-Report-Only : default-src https: wss: data: blob: ; object-src https: data: 'unsafe-inline'; style-src https: data: 'unsafe-inline' ; script-src https: data: 'unsafe-inline' 'unsafe-eval'";
|
||||
{% endif %}
|
||||
more_set_headers "X-Content-Type-Options : nosniff";
|
||||
more_set_headers "X-XSS-Protection : 1; mode=block";
|
||||
|
|
17
debian/changelog
vendored
17
debian/changelog
vendored
|
@ -1,3 +1,20 @@
|
|||
yunohost (11.0.7) testing; urgency=low
|
||||
|
||||
- [fix] Allow lime2 to upgrade even if kernel is hold ([#1452](https://github.com/YunoHost/yunohost/pull/1452))
|
||||
- [fix] Some DNS suggestions for specific domains are incorrect ([#1460](https://github.com/YunoHost/yunohost/pull/1460))
|
||||
- [enh] Reorganize PHP-specific code in apt helper (5ca18c5)
|
||||
- [enh] Implement install and removal of YunoHost apps ([#1445](https://github.com/YunoHost/yunohost/pull/1445))
|
||||
- [enh] Add n auto-updater ([#1437](https://github.com/YunoHost/yunohost/pull/1437))
|
||||
- [enh] nodejs: Upgrade n to v8.2.0 ([#1456](https://github.com/YunoHost/yunohost/pull/1456))
|
||||
- [enh] Improve ynh_string_random to output various ranges of characters ([#1455](https://github.com/YunoHost/yunohost/pull/1455))
|
||||
- [enh] Avoid alert for Content Security Policies Report-Only and Websockets ((#1464)[https://github.com/YunoHost/yunohost/pull/1464])
|
||||
- [doc] Improve ynh_add_config template doc ([#1463](https://github.com/YunoHost/yunohost/pull/1463))
|
||||
- [i18n] Translations updated for Russian and French
|
||||
|
||||
Thanks to all contributors <3 ! (DiesDasJenes, ljf, kayou, yalh, aleks, tituspijean, keomabrun, pp-r, cheredin)
|
||||
|
||||
-- tituspijean <titus+yunohost@pijean.ovh> Tue, 17 May 2022 23:20:00 +0200
|
||||
|
||||
yunohost (11.0.6) testing; urgency=low
|
||||
|
||||
- [fix] configpanel: the config panel was not modifying the configuration of the correct app in certain situations ([#1449](http://github.com/YunoHost/yunohost/pull/1449))
|
||||
|
|
|
@ -31,8 +31,11 @@ ynh_install_apps() {
|
|||
if ! yunohost app list --output-as json --quiet | jq -e --arg id $one_app '.apps[] | select(.id == $id)' >/dev/null
|
||||
then
|
||||
# Retrieve the arguments of the app (part after ?)
|
||||
local one_argument=$(cut -d "?" -f2- <<< "$one_app_and_its_args")
|
||||
[ ! -z "$one_argument" ] && one_argument="--args $one_argument"
|
||||
local one_argument=""
|
||||
if [[ "$one_app_and_its_args" == *"?"* ]]; then
|
||||
one_argument=$(cut -d "?" -f2- <<< "$one_app_and_its_args")
|
||||
one_argument="--args $one_argument"
|
||||
fi
|
||||
|
||||
# Install the app with its arguments
|
||||
yunohost app install $one_app $one_argument
|
||||
|
|
|
@ -20,13 +20,15 @@ ynh_add_nginx_config() {
|
|||
|
||||
local finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/nginx.conf" --destination="$finalnginxconf"
|
||||
|
||||
if [ "${path_url:-}" != "/" ]; then
|
||||
ynh_replace_string --match_string="^#sub_path_only" --replace_string="" --target_file="$YNH_APP_BASEDIR/conf/nginx.conf"
|
||||
ynh_replace_string --match_string="^#sub_path_only" --replace_string="" --target_file="$finalnginxconf"
|
||||
else
|
||||
ynh_replace_string --match_string="^#root_path_only" --replace_string="" --target_file="$YNH_APP_BASEDIR/conf/nginx.conf"
|
||||
ynh_replace_string --match_string="^#root_path_only" --replace_string="" --target_file="$finalnginxconf"
|
||||
fi
|
||||
|
||||
ynh_add_config --template="$YNH_APP_BASEDIR/conf/nginx.conf" --destination="$finalnginxconf"
|
||||
ynh_store_file_checksum --file="$finalnginxconf"
|
||||
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
n_version=8.0.2
|
||||
n_version=8.2.0
|
||||
n_checksum=75efd9e583836f3e6cc6d793df1501462fdceeb3460d5a2dbba99993997383b9
|
||||
n_install_dir="/opt/node_n"
|
||||
node_version_path="$n_install_dir/n/versions/node"
|
||||
# N_PREFIX is the directory of n, it needs to be loaded as a environment variable.
|
||||
|
@ -16,7 +17,7 @@ export N_PREFIX="$n_install_dir"
|
|||
ynh_install_n() {
|
||||
# Build an app.src for n
|
||||
echo "SOURCE_URL=https://github.com/tj/n/archive/v${n_version}.tar.gz
|
||||
SOURCE_SUM=1cdc34d3a53a13a23675797dd775d562e33e64877e367df9d1afe863719de973" >"$YNH_APP_BASEDIR/conf/n.src"
|
||||
SOURCE_SUM=${n_checksum}" >"$YNH_APP_BASEDIR/conf/n.src"
|
||||
# Download and extract n
|
||||
ynh_setup_source --dest_dir="$n_install_dir/git" --source_id=n
|
||||
# Install n
|
||||
|
|
|
@ -17,7 +17,7 @@ ynh_user_exists() {
|
|||
# Manage arguments with getopts
|
||||
ynh_handle_getopts_args "$@"
|
||||
|
||||
yunohost user list --output-as json --quiet | jq -e ".users.${username}" >/dev/null
|
||||
yunohost user list --output-as json --quiet | jq -e ".users.\"${username}\"" >/dev/null
|
||||
}
|
||||
|
||||
# Retrieve a YunoHost user information
|
||||
|
@ -27,7 +27,7 @@ ynh_user_exists() {
|
|||
# | arg: -k, --key= - the key to retrieve
|
||||
# | ret: the value associate to that key
|
||||
#
|
||||
# example: mail=$(ynh_user_get_info 'toto' 'mail')
|
||||
# example: mail=$(ynh_user_get_info --username="toto" --key=mail)
|
||||
#
|
||||
# Requires YunoHost version 2.2.4 or higher.
|
||||
ynh_user_get_info() {
|
||||
|
|
|
@ -317,8 +317,7 @@ ynh_local_curl() {
|
|||
# | arg: -d, --destination= - Destination of the config file
|
||||
#
|
||||
# examples:
|
||||
# ynh_add_config --template=".env" --destination="$final_path/.env"
|
||||
# ynh_add_config --template="../conf/.env" --destination="$final_path/.env"
|
||||
# ynh_add_config --template=".env" --destination="$final_path/.env" use the template file "../conf/.env"
|
||||
# ynh_add_config --template="/etc/nginx/sites-available/default" --destination="etc/nginx/sites-available/mydomain.conf"
|
||||
#
|
||||
# The template can be by default the name of a file in the conf directory
|
||||
|
|
|
@ -73,7 +73,7 @@ do_post_regen() {
|
|||
|
||||
grep -q '^supersede domain-name "";' /etc/dhcp/dhclient.conf 2>/dev/null || echo 'supersede domain-name "";' >>/etc/dhcp/dhclient.conf
|
||||
grep -q '^supersede domain-search "";' /etc/dhcp/dhclient.conf 2>/dev/null || echo 'supersede domain-search "";' >>/etc/dhcp/dhclient.conf
|
||||
grep -q '^supersede name "";' /etc/dhcp/dhclient.conf 2>/dev/null || echo 'supersede name "";' >>/etc/dhcp/dhclient.conf
|
||||
grep -q '^supersede search "";' /etc/dhcp/dhclient.conf 2>/dev/null || echo 'supersede search "";' >>/etc/dhcp/dhclient.conf
|
||||
systemctl restart resolvconf
|
||||
fi
|
||||
|
||||
|
|
|
@ -71,12 +71,12 @@
|
|||
"mail_forward_remove_failed": "Die Weiterleitungs-E-Mail '{mail}' konnte nicht gelöscht werden",
|
||||
"main_domain_change_failed": "Die Hauptdomain konnte nicht geändert werden",
|
||||
"main_domain_changed": "Die Hauptdomain wurde geändert",
|
||||
"pattern_backup_archive_name": "Muss ein gültiger Dateiname mit maximal 30 alphanumerischen sowie -_. Zeichen sein",
|
||||
"pattern_backup_archive_name": "Es muss ein gültiger Dateiname mit maximal 30 Zeichen sein, nur alphanumerische Zeichen und -_.",
|
||||
"pattern_domain": "Muss ein gültiger Domainname sein (z.B. meine-domain.org)",
|
||||
"pattern_email": "Muss eine gültige E-Mail-Adresse ohne '+' Symbol sein (z.B. someone@example.com)",
|
||||
"pattern_email": "Es muss sich um eine gültige E-Mail-Adresse handeln, ohne '+'-Symbol (z. B. name@domäne.de)",
|
||||
"pattern_firstname": "Muss ein gültiger Vorname sein",
|
||||
"pattern_lastname": "Muss ein gültiger Nachname sein",
|
||||
"pattern_mailbox_quota": "Muss eine Größe mit b/k/M/G/T Suffix, oder 0 zum deaktivieren sein",
|
||||
"pattern_mailbox_quota": "Es muss eine Größe mit dem Suffix b/k/M/G/T sein oder 0 um kein Kontingent zu haben",
|
||||
"pattern_password": "Muss mindestens drei Zeichen lang sein",
|
||||
"pattern_port_or_range": "Muss ein valider Port (z.B. 0-65535) oder ein Bereich (z.B. 100:200) sein",
|
||||
"pattern_username": "Darf nur aus klein geschriebenen alphanumerischen Zeichen und Unterstrichen bestehen",
|
||||
|
@ -86,7 +86,7 @@
|
|||
"restore_cleaning_failed": "Das temporäre Dateiverzeichnis für Systemrestaurierung konnte nicht gelöscht werden",
|
||||
"restore_complete": "Vollständig wiederhergestellt",
|
||||
"restore_confirm_yunohost_installed": "Möchtest du die Wiederherstellung wirklich starten? [{answers}]",
|
||||
"restore_failed": "Das System konnte nicht wiederhergestellt werden",
|
||||
"restore_failed": "System konnte nicht wiederhergestellt werden",
|
||||
"restore_hook_unavailable": "Das Wiederherstellungsskript für '{part}' steht weder in deinem System noch im Archiv zur Verfügung",
|
||||
"restore_nothings_done": "Nichts wurde wiederhergestellt",
|
||||
"restore_running_app_script": "App '{app}' wird wiederhergestellt...",
|
||||
|
@ -97,21 +97,21 @@
|
|||
"service_already_stopped": "Der Dienst '{service}' wurde bereits gestoppt",
|
||||
"service_cmd_exec_failed": "Der Befehl '{command}' konnte nicht ausgeführt werden",
|
||||
"service_disable_failed": "Der Start des Dienstes '{service}' beim Hochfahren konnte nicht verhindert werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_disabled": "Der Dienst '{service}' wird beim Hochfahren des Systems nicht mehr gestartet werden.",
|
||||
"service_disabled": "Der Dienst '{service}' wird beim Systemstart nicht mehr gestartet.",
|
||||
"service_enable_failed": "Der Dienst '{service}' konnte beim Hochfahren nicht gestartet werden.\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_enabled": "Der Dienst '{service}' wird nun beim Hochfahren des Systems automatisch gestartet.",
|
||||
"service_remove_failed": "Konnte den Dienst '{service}' nicht entfernen",
|
||||
"service_removed": "Der Dienst '{service}' wurde erfolgreich entfernt",
|
||||
"service_start_failed": "Der Dienst '{service}' konnte nicht gestartet werden\n\nKürzlich erstellte Logs des Dienstes: {logs}",
|
||||
"service_started": "Der Dienst '{service}' wurde erfolgreich gestartet",
|
||||
"service_stop_failed": "Der Dienst '{service}' kann nicht gestoppt werden\n\nAktuelle Service-Logs: {logs}",
|
||||
"service_stop_failed": "Der Dienst '{service}' kann nicht beendet werden\n\nLetzte Dienstprotokolle:{logs}",
|
||||
"service_stopped": "Der Dienst '{service}' wurde erfolgreich beendet",
|
||||
"service_unknown": "Unbekannter Dienst '{service}'",
|
||||
"ssowat_conf_generated": "Konfiguration von SSOwat neu erstellt",
|
||||
"ssowat_conf_generated": "SSOwat-Konfiguration neu generiert",
|
||||
"system_upgraded": "System aktualisiert",
|
||||
"system_username_exists": "Der Anmeldename existiert bereits in der Liste der System-Konten",
|
||||
"unbackup_app": "'{app}' wird nicht gespeichert werden",
|
||||
"unexpected_error": "Etwas Unerwartetes ist passiert: {error}",
|
||||
"unexpected_error": "Ein unerwarteter Fehler ist aufgetreten {error}",
|
||||
"unlimit": "Kein Kontingent",
|
||||
"unrestore_app": "{app} wird nicht wiederhergestellt werden",
|
||||
"updating_apt_cache": "Die Liste der verfügbaren Pakete wird aktualisiert…",
|
||||
|
@ -132,9 +132,9 @@
|
|||
"yunohost_already_installed": "YunoHost ist bereits installiert",
|
||||
"yunohost_configured": "YunoHost ist nun konfiguriert",
|
||||
"yunohost_installing": "YunoHost wird installiert...",
|
||||
"yunohost_not_installed": "YunoHost ist nicht oder nur unvollständig installiert worden. Bitte 'yunohost tools postinstall' ausführen",
|
||||
"yunohost_not_installed": "YunoHost ist nicht oder unvollständig installiert worden. Bitte 'yunohost tools postinstall' ausführen",
|
||||
"app_not_properly_removed": "{app} wurde nicht ordnungsgemäß entfernt",
|
||||
"not_enough_disk_space": "Nicht genügend Speicherplatz auf '{path}' frei",
|
||||
"not_enough_disk_space": "Nicht genügend freier Speicherplatz unter '{path}'",
|
||||
"backup_creation_failed": "Konnte Backup-Archiv nicht erstellen",
|
||||
"app_not_correctly_installed": "{app} scheint nicht korrekt installiert zu sein",
|
||||
"app_requirements_checking": "Überprüfe notwendige Pakete für {app}...",
|
||||
|
@ -184,7 +184,7 @@
|
|||
"dyndns_could_not_check_available": "Konnte nicht überprüfen, ob {domain} auf {provider} verfügbar ist.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Dieser Befehl zeigt dir die *empfohlene* Konfiguration. Er konfiguriert *nicht* das DNS für dich. Es liegt in deiner Verantwortung, die DNS-Zone bei deinem DNS-Registrar nach dieser Empfehlung zu konfigurieren.",
|
||||
"dpkg_lock_not_available": "Dieser Befehl kann momentan nicht ausgeführt werden, da anscheinend ein anderes Programm die Sperre von dpkg (dem Systempaket-Manager) verwendet",
|
||||
"confirm_app_install_thirdparty": "WARNUNG! Diese Applikation ist nicht Teil des YunoHost-Applikationskatalogs. Das Installieren von Drittanbieterapplikationen könnte die Sicherheit und Integrität deines Systems beeinträchtigen. Du solltest wahrscheinlich NICHT fortfahren, es sei denn, du weißt, was du tust. Es wird KEINE UNTERSTÜTZUNG angeboten, wenn die Applikation nicht funktionieren oder dein System beschädigen sollte... Wenn du das Risiko trotzdem eingehen möchrst, tippe '{answers}'",
|
||||
"confirm_app_install_thirdparty": "Warnung! Diese Applikation ist nicht Teil des App-Katalogs von YunoHost. Die Installation von Drittanbieter Applikationen kann die Integrität und Sicherheit Ihres Systems gefährden. Sie sollten sie NICHT installieren, wenn Sie nicht wissen, was Sie tun. Es wird KEIN SUPPORT geleistet, wenn diese Applikation nicht funktioniert oder Ihr System beschädigt! Wenn Sie dieses Risiko trotzdem eingehen wollen, geben Sie '{answers}' ein",
|
||||
"confirm_app_install_danger": "WARNUNG! Diese Applikation ist noch experimentell (wenn nicht sogar ausdrücklich nicht funktionsfähig)! Du solltest sie wahrscheinlich NICHT installieren, es sei denn, du weißt, was du tust. Es wird keine Unterstützung angeboten, falls diese Applikation nicht funktionieren oder dein System beschädigen sollte... Falls du bereit bist, dieses Risiko einzugehen, tippe '{answers}'",
|
||||
"confirm_app_install_warning": "Warnung: Diese Applikation funktioniert möglicherweise, ist jedoch nicht gut in YunoHost integriert. Einige Funktionen wie Single Sign-On und Backup / Restore sind möglicherweise nicht verfügbar. Trotzdem installieren? [{answers}] ",
|
||||
"backup_with_no_restore_script_for_app": "{app} hat kein Wiederherstellungsskript. Das Backup dieser App kann nicht automatisch wiederhergestellt werden.",
|
||||
|
@ -319,7 +319,7 @@
|
|||
"diagnosis_dns_bad_conf": "Einige DNS-Einträge für die Domäne {domain} fehlen oder sind nicht korrekt (Kategorie {category})",
|
||||
"diagnosis_ip_local": "Lokale IP: <code>{local}</code>",
|
||||
"diagnosis_ip_global": "Globale IP: <code>{global}</code>",
|
||||
"diagnosis_ip_no_ipv6_tip": "Die Verwendung von IPv6 ist nicht Voraussetzung für das Funktionieren deines Servers, trägt aber zur Gesundheit des Internet als Ganzes bei. IPv6 sollte normalerweise automatisch von deinem Server oder deinem Provider konfiguriert werden, sofern verfügbar. Andernfalls musst du einige Dinge manuell konfigurieren. Weitere Informationen findest du hier: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>. Wenn du IPv6 nicht aktivieren kannst oder dir das zu technisch ist, kannst du diese Warnung gefahrlos ignorieren.",
|
||||
"diagnosis_ip_no_ipv6_tip": "Ein funktionierendes IPv6 ist für den Betrieb Ihres Servers nicht zwingend erforderlich, aber es ist besser für das Funktionieren des Internets als Ganzes. IPv6 sollte normalerweise automatisch vom System oder Ihrem Provider konfiguriert werden, wenn es verfügbar ist. Andernfalls müssen Sie möglicherweise einige Dinge manuell konfigurieren, wie in der Dokumentation hier beschrieben: <a href='https://yunohost.org/#/ipv6'>https://yunohost.org/#/ipv6</a>. Wenn Sie IPv6 nicht aktivieren können oder wenn es Ihnen zu technisch erscheint, können Sie diese Warnung auch getrost ignorieren.",
|
||||
"diagnosis_services_bad_status_tip": "Du kannst versuchen, <a href='#/services/{service}'>den Dienst neu zu starten</a>, und wenn das nicht funktioniert, schaue dir <a href='#/services/{service}'>die (Dienst-)Logs in der Verwaltung</a> an (In der Kommandozeile kannst du dies mit <cmd>yunohost service restart {service}</cmd> und <cmd>yunohost service log {service}</cmd> tun).",
|
||||
"diagnosis_services_bad_status": "Der Dienst {service} ist {status} :(",
|
||||
"diagnosis_diskusage_verylow": "Der Speicher <code>{mountpoint}</code> (auf Gerät <code>{device}</code>) hat nur noch {free} ({free_percent}%) freien Speicherplatz (von ingesamt {total}). Du solltest ernsthaft in Betracht ziehen, etwas Seicherplatz frei zu machen!",
|
||||
|
@ -346,7 +346,7 @@
|
|||
"diagnosis_domain_expiration_not_found_details": "Die WHOIS-Informationen für die Domäne {domain} scheinen keine Informationen über das Ablaufdatum zu enthalten. Stimmt das?",
|
||||
"diagnosis_domain_expiration_warning": "Einige Domänen werden bald ablaufen!",
|
||||
"diagnosis_diskusage_ok": "Der Speicher <code>{mountpoint}</code> (auf Gerät <code>{device}</code>) hat immer noch {free} ({free_percent}%) freien Speicherplatz übrig(von insgesamt {total})!",
|
||||
"diagnosis_ram_ok": "Das System hat immer noch {available} ({available_percent}%) RAM zu Verfügung von {total}.",
|
||||
"diagnosis_ram_ok": "Das System hat noch {available} ({available_percent}%) RAM von {total} zur Verfügung.",
|
||||
"diagnosis_swap_none": "Das System hat gar keinen Swap. Du solltest überlegen mindestens {recommended} an Swap einzurichten, um Situationen zu verhindern, in welchen der RAM des Systems knapp wird.",
|
||||
"diagnosis_mail_ehlo_unreachable_details": "Konnte keine Verbindung zu deinem Server auf dem Port 25 herzustellen über IPv{ipversion}. Er scheint nicht erreichbar zu sein.<br>1. Das häufigste Problem ist, dass der Port 25 <a href='https://yunohost.org/isp_box_config'>nicht richtig zu deinem Server weitergeleitet ist</a>.<br>2. Du solltest auch sicherstellen, dass der Postfix-Dienst läuft.<br>3. In komplexeren Umgebungen: Stelle sicher, daß keine Firewall oder Reverse-Proxy stört.",
|
||||
"diagnosis_mail_ehlo_wrong": "Ein anderer SMTP-Server antwortet auf IPv{ipversion}. Dein Server wird wahrscheinlich nicht in der Lage sein, E-Mails zu empfangen.",
|
||||
|
@ -410,7 +410,7 @@
|
|||
"diagnosis_http_hairpinning_issue": "In deinem lokalen Netzwerk scheint Hairpinning nicht aktiviert zu sein.",
|
||||
"diagnosis_ports_needed_by": "Diesen Port zu öffnen ist nötig, um die Funktionalität des Typs {category} (service {service}) zu gewährleisten",
|
||||
"diagnosis_mail_queue_too_big": "Zu viele anstehende Nachrichten in der Warteschlange ({nb_pending} emails)",
|
||||
"diagnosis_package_installed_from_sury_details": "Einige Pakete wurden unbeabsichtigterweise aus einem Drittanbieter-Repository, genannt Sury, installiert. Das YunoHost-Team hat die Strategie, um diese Pakete zu handhaben, verbessert, aber es wird erwartet, dass einige Setups, welche PHP7.3-Applikationen installiert haben und immer noch auf Strech laufen, ein paar Inkonsistenzen aufweisen. Um diese Situation zu beheben, solltest du versuchen, den folgenden Befehl auszuführen: <cmd>{cmd_to_fix}</cmd>",
|
||||
"diagnosis_package_installed_from_sury_details": "Einige Pakete wurden versehentlich von einem Drittanbieter-Repository namens Sury installiert. Das YunoHost-Team hat die Strategie für den Umgang mit diesen Paketen verbessert, aber es ist zu erwarten, dass einige Setups, die PHP7.3-Anwendungen installiert haben, während sie noch auf Stretch waren, einige verbleibende Inkonsistenzen aufweisen. Um diese Situation zu beheben, sollten Sie versuchen, den folgenden Befehl auszuführen: <cmd>{cmd_to_fix}</cmd>",
|
||||
"domain_cannot_add_xmpp_upload": "Eine hinzugefügte Domain darf nicht mit 'xmpp-upload.' beginnen. Dieser Name ist für das XMPP-Upload-Feature von YunoHost reserviert.",
|
||||
"group_cannot_be_deleted": "Die Gruppe {group} kann nicht manuell entfernt werden.",
|
||||
"group_cannot_edit_primary_group": "Die Gruppe '{group}' kann nicht manuell bearbeitet werden. Es ist die primäre Gruppe, welche dazu gedacht ist, nur ein spezifisches Konto zu enthalten.",
|
||||
|
@ -422,7 +422,7 @@
|
|||
"diagnosis_http_hairpinning_issue_details": "Das liegt wahrscheinlich an deinem Router. Dadurch können Personen von ausserhalb deines Netzwerkes, aber nicht von innerhalb deines lokalen Netzwerkes (wie wahrscheinlich du selbst), auf deinen Server zugreifen, wenn dazu die Domäne oder öffentliche IP verwendet wird. Du kannst das Problem eventuell beheben, indem du ein einen Blick auf <a href='https://yunohost.org/dns_local_network'>https://yunohost.org/dns_local_network</a> wirfst",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date": "Die Konfiguration von Nginx scheint für diese Domäne manuell geändert worden zu sein. Dies hindert YunoHost daran festzustellen, ob es über HTTP erreichbar ist.",
|
||||
"diagnosis_http_bad_status_code": "Es sieht so aus als ob ein anderes Gerät (vielleicht dein Router/Modem) anstelle deines Servers antwortet.<br>1. Der häufigste Grund hierfür ist, dass Port 80 (und 443) <a href='https://yunohost.org/isp_box_config'> nicht korrekt zu deinem Server weiterleiten</a>.<br>2. Bei komplexeren Setups: prüfe ob deine Firewall oder Reverse-Proxy die Verbindung stören.",
|
||||
"diagnosis_never_ran_yet": "Du hast kürzlich einen neuen YunoHost-Server installiert aber es gibt davon noch keinen Diagnosereport. Du solltest eine Diagnose anstossen. Du kannst das entweder vom Webadmin aus oder in der Kommandozeile machen. In der Kommandozeile verwendest du dafür den Befehl 'yunohost diagnosis run'.",
|
||||
"diagnosis_never_ran_yet": "Es sieht so aus, als wäre dieser Server erst kürzlich eingerichtet worden und es gibt noch keinen Diagnosebericht, der angezeigt werden könnte. Sie sollten zunächst eine vollständige Diagnose durchführen, entweder über die Web-Oberfläche oder mit \"yunohost diagnosis run\" von der Kommandozeile aus.",
|
||||
"diagnosis_http_nginx_conf_not_up_to_date_details": "Um dieses Problem zu beheben, gebe in der Kommandozeile <cmd>yunohost tools regen-conf nginx --dry-run --with-diff</cmd> ein. Dieses Tool zeigt dir den Unterschied an. Wenn du damit einverstanden bist, kannst du mit <cmd>yunohost tools regen-conf nginx --force</cmd> die Änderungen übernehmen.",
|
||||
"diagnosis_backports_in_sources_list": "Du hast anscheinend apt (den Paketmanager) für das Backports-Repository konfiguriert. Wir raten strikte davon ab, Pakete aus dem Backports-Repository zu installieren. Diese würden wahrscheinlich zu Instabilitäten und Konflikten führen. Es sei denn, du weißt, was du tust.",
|
||||
"diagnosis_basesystem_hardware_model": "Das Servermodell ist {model}",
|
||||
|
@ -438,20 +438,20 @@
|
|||
"global_settings_setting_smtp_relay_port": "SMTP Relay Port",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Erlaube die Nutzung von IPv6 um Mails zu empfangen und zu versenden",
|
||||
"global_settings_setting_pop3_enabled": "Aktiviere das POP3 Protokoll für den Mailserver",
|
||||
"domain_cannot_remove_main_add_new_one": "Du kannst '{domain}' nicht entfernen, weil es die Haupt-Domäne und gleichzeitig deine einzige Domäne ist. Zuerst musst du eine andere Domäne hinzufügen, indem du 'yunohost domain add another-domain.com>' eingibst. Mache diese dann zu deiner Haupt-Domäne indem du 'yunohost domain main-domain -n <another-domain.com>' eingibst. Nun kannst du die Domäne '{domain}' enfernen, indem du 'yunohost domain remove {domain}' eingibst.'",
|
||||
"domain_cannot_remove_main_add_new_one": "Sie können '{domain}' nicht entfernen, da es die Hauptdomäne und Ihre einzige Domäne ist. Sie müssen zuerst eine andere Domäne mit 'yunohost domain add <domäne.com>' hinzufügen, dann als Hauptdomäne mit 'yunohost domain main-domain -n <domäne.com>' festlegen und dann können Sie die Domäne '{domain}' mit 'yunohost domain remove {domain}' entfernen'.'",
|
||||
"diagnosis_rootfstotalspace_critical": "Das Root-Filesystem hat noch freien Speicher von {space}. Das ist besorngiserregend! Der Speicher wird schnell aufgebraucht sein. 16 GB für das Root-Filesystem werden empfohlen.",
|
||||
"diagnosis_rootfstotalspace_warning": "Das Root-Filesystem hat noch freien Speicher von {space}. Möglich, dass das in Ordnung ist. Vielleicht ist er aber auch schneller aufgebraucht. 16 GB für das Root-Filesystem werden empfohlen.",
|
||||
"global_settings_setting_smtp_relay_host": "Zu verwendender SMTP-Relay-Host um E-Mails zu versenden. Er wird anstelle dieser YunoHost-Instanz verwendet. Nützlich, wenn du in einer der folgenden Situationen bist: Dein ISP- oder VPS-Provider hat deinen Port 25 geblockt, eine deinen residentiellen IPs ist auf DUHL gelistet, du kannst keinen Reverse-DNS konfigurieren oder dieser Server ist nicht direkt mit dem Internet verbunden und du möchtest einen anderen verwenden, um E-Mails zu versenden.",
|
||||
"global_settings_setting_backup_compress_tar_archives": "Beim Erstellen von Backups die Archive komprimieren (.tar.gz) anstelle von unkomprimierten Archiven (.tar). N.B. : Diese Option ergibt leichtere Backup-Archive, aber das initiale Backupprozedere wird länger dauern und mehr CPU brauchen.",
|
||||
"log_remove_on_failed_restore": "'{}' entfernen nach einer fehlerhaften Wiederherstellung aus einem Backup-Archiv",
|
||||
"log_backup_restore_app": "'{}' aus einem Backup-Archiv wiederherstellen",
|
||||
"log_backup_restore_system": "System aus einem Backup-Archiv wiederherstellen",
|
||||
"log_remove_on_failed_restore": "Entfernen von '{}' nach einer fehlgeschlagenen Wiederherstellung aus einem Sicherungsarchiv",
|
||||
"log_backup_restore_app": "Wiederherstellen von '{}' aus einem Sicherungsarchiv",
|
||||
"log_backup_restore_system": "System aus einem Sicherungsarchiv wiederherstellen",
|
||||
"log_available_on_yunopaste": "Das Protokoll ist nun via {url} verfügbar",
|
||||
"log_app_action_run": "Führe Aktion der Applikation '{}' aus",
|
||||
"invalid_regex": "Ungültige Regex:'{regex}'",
|
||||
"mailbox_disabled": "E-Mail für Konto {user} deaktiviert",
|
||||
"log_tools_reboot": "Server neustarten",
|
||||
"log_tools_shutdown": "Server ausschalten",
|
||||
"mailbox_disabled": "E-Mail für Konto {user} ist deaktiviert",
|
||||
"log_tools_reboot": "Starten Sie Ihren Server neu",
|
||||
"log_tools_shutdown": "Ihren Server herunterfahren",
|
||||
"log_tools_upgrade": "Systempakete aktualisieren",
|
||||
"log_tools_postinstall": "Post-Installation des YunoHost-Servers durchführen",
|
||||
"log_tools_migrations_migrate_forward": "Migrationen durchführen",
|
||||
|
@ -469,7 +469,7 @@
|
|||
"log_permission_create": "Erstelle Berechtigung '{}'",
|
||||
"log_dyndns_update": "Die IP, die mit der YunoHost-Subdomain '{}' verbunden ist, aktualisieren",
|
||||
"log_dyndns_subscribe": "Für eine YunoHost-Subdomain registrieren '{}'",
|
||||
"log_domain_remove": "Entfernen der Domäne '{}' aus der Systemkonfiguration",
|
||||
"log_domain_remove": "Domäne '{}' aus der Systemkonfiguration entfernen",
|
||||
"log_domain_add": "Hinzufügen der Domäne '{}' zur Systemkonfiguration",
|
||||
"log_remove_on_failed_install": "Entfernen von '{}' nach einer fehlgeschlagenen Installation",
|
||||
"domain_remove_confirm_apps_removal": "Wenn du diese Domäne löschst, werden folgende Applikationen entfernt:\n{apps}\n\nBist du sicher? [{answers}]",
|
||||
|
@ -536,7 +536,7 @@
|
|||
"restore_extracting": "Packe die benötigten Dateien aus dem Archiv aus...",
|
||||
"restore_already_installed_apps": "Folgende Apps können nicht wiederhergestellt werden, weil sie schon installiert sind: {apps}",
|
||||
"regex_with_only_domain": "Du kannst regex nicht als Domain verwenden, sondern nur als Pfad",
|
||||
"root_password_desynchronized": "Das Admin-Passwort wurde verändert, aber das Root-Passwort ist immer noch das alte!",
|
||||
"root_password_desynchronized": "Das Admin-Passwort wurde geändert, aber YunoHost konnte dies nicht auf das Root-Passwort übertragen!",
|
||||
"regenconf_need_to_explicitly_specify_ssh": "Die SSH-Konfiguration wurde manuell modifiziert, aber du musst explizit die Kategorie 'SSH' mit --force spezifizieren, um die Änderungen tatsächlich anzuwenden.",
|
||||
"log_backup_create": "Erstelle ein Backup-Archiv",
|
||||
"diagnosis_sshd_config_inconsistent": "Es sieht aus, als ob der SSH-Port manuell geändert wurde in /etc/ssh/ssh_config. Seit YunoHost 4.2 ist eine neue globale Einstellung 'security.ssh.port' verfügbar um zu verhindern, dass die Konfiguration manuell verändert wird.",
|
||||
|
@ -544,15 +544,15 @@
|
|||
"backup_create_size_estimation": "Das Archiv wird etwa {size} an Daten enthalten.",
|
||||
"app_restore_script_failed": "Im Wiederherstellungsskript der Applikation ist ein Fehler aufgetreten",
|
||||
"app_restore_failed": "Konnte {app} nicht wiederherstellen: {error}",
|
||||
"migration_ldap_rollback_success": "System-Rollback erfolgreich.",
|
||||
"migration_ldap_rollback_success": "Das System wurde zurückgesetzt.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Migrieren war nicht möglich... Versuch, ein Rollback des Systems durchzuführen.",
|
||||
"migration_ldap_backup_before_migration": "Vor der eigentlichen Migration ein Backup der LDAP-Datenbank und der Applikations-Einstellungen erstellen.",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Das SSOwat-Overlay-Panel aktivieren",
|
||||
"global_settings_setting_security_ssh_port": "SSH-Port",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Bitte führe <cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd> aus, um den SSH-Port festzulegen, und prüfe <cmd> yunohost tools regen-conf ssh --dry-run --with-diff</cmd> und <cmd>yunohost tools regen-conf ssh --force</cmd> um deine Konfiguration auf die YunoHost-Empfehlung zurückzusetzen.",
|
||||
"regex_incompatible_with_tile": "/!\\ Packagers! Für Berechtigung '{permission}' ist show_tile auf 'true' gesetzt und deshalb kannst du keine regex-URL als Hauptdomäne setzen",
|
||||
"permission_cant_add_to_all_users": "Die Berechtigung {permission} konnte nicht allen Konten gegeben werden.",
|
||||
"migration_ldap_can_not_backup_before_migration": "Das System-Backup konnte nicht abgeschlossen werden, bevor die Migration fehlschlug. Fehler: {error}",
|
||||
"permission_cant_add_to_all_users": "Die Berechtigung {permission} kann nicht für allen Konten hinzugefügt werden.",
|
||||
"migration_ldap_can_not_backup_before_migration": "Die Sicherung des Systems konnte nicht abgeschlossen werden, bevor die Migration fehlschlug. Fehler: {error}",
|
||||
"service_description_fail2ban": "Schützt gegen Brute-Force-Angriffe und andere Angriffe aus dem Internet",
|
||||
"service_description_dovecot": "Ermöglicht es E-Mail-Clients auf Konten zuzugreifen (IMAP und POP3)",
|
||||
"service_description_dnsmasq": "Verarbeitet die Auflösung des Domainnamens (DNS)",
|
||||
|
@ -567,18 +567,18 @@
|
|||
"service_description_yunohost-firewall": "Verwaltet offene und geschlossene Ports zur Verbindung mit Diensten",
|
||||
"service_description_yunohost-api": "Verwaltet die Interaktionen zwischen der Weboberfläche von YunoHost und dem System",
|
||||
"service_description_ssh": "Ermöglicht die Verbindung zu deinem Server über ein Terminal (SSH-Protokoll)",
|
||||
"server_reboot_confirm": "Der Server wird sofort heruntergefahren, bist du sicher? [{answers}]",
|
||||
"server_reboot_confirm": "Der Server wird sofort neu gestartet. Sind Sie sicher? [{answers}]",
|
||||
"server_reboot": "Der Server wird neu gestartet",
|
||||
"server_shutdown_confirm": "Der Server wird sofort heruntergefahren, bist du sicher? [{answers}]",
|
||||
"server_shutdown_confirm": "Der Server wird sofort heruntergefahren, sind Sie sicher? [{answers}]",
|
||||
"server_shutdown": "Der Server wird heruntergefahren",
|
||||
"root_password_replaced_by_admin_password": "Dein Root Passwort wurde durch dein Admin Passwort ersetzt.",
|
||||
"root_password_replaced_by_admin_password": "Ihr Root-Passwort wurde durch Ihr Admin-Passwort ersetzt.",
|
||||
"show_tile_cant_be_enabled_for_regex": "Du kannst 'show_tile' momentan nicht aktivieren, weil die URL für die Berechtigung '{permission}' ein regulärer Ausdruck ist",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "Momentan kannst du 'show_tile' nicht aktivieren, weil du zuerst eine URL für die Berechtigung '{permission}' definieren musst",
|
||||
"this_action_broke_dpkg": "Diese Aktion hat unkonfigurierte Pakete verursacht, welche durch dpkg/apt (die Paketverwaltungen dieses Systems) zurückgelassen wurden... Du kannst versuchen dieses Problem zu lösen, indem du 'sudo apt install --fix-broken' und/oder 'sudo dpkg --configure -a' ausführst.",
|
||||
"update_apt_cache_failed": "Kann den Cache von APT (Debians Paketmanager) nicht aktualisieren. Hier ist ein Auszug aus den sources.list-Zeilen, die helfen könnten, das Problem zu identifizieren:\n{sourceslist}",
|
||||
"unknown_main_domain_path": "Unbekannte:r Domain oder Pfad für '{app}'. Du musst eine Domain und einen Pfad setzen, um die URL für Berechtigungen zu setzen.",
|
||||
"unknown_main_domain_path": "Unbekannte Domäne oder Pfad für '{app}'. Sie müssen eine Domäne und einen Pfad angeben, um eine URL für die Genehmigung angeben zu können.",
|
||||
"yunohost_postinstall_end_tip": "Post-install ist fertig! Um das Setup abzuschliessen, wird empfohlen:\n - ein erstes Konto über den Bereich 'Konto' im Adminbereich hinzuzufügen (oder mit 'yunohost user create <username>' in der Kommandezeile);\n - mögliche Fehler zu diagnostizieren über den Bereich 'Diagnose' im Adminbereich (oder mit 'yunohost diagnosis run' in der Kommandozeile;\n - Die Abschnitte 'Install YunoHost' und 'Geführte Tour' im Administratorenhandbuch zu lesen: https://yunohost.org/admindoc.",
|
||||
"user_already_exists": "Konto '{user}' ist bereits vorhanden",
|
||||
"user_already_exists": "Das Konto '{user}' ist bereits vorhanden",
|
||||
"update_apt_cache_warning": "Beim Versuch den Cache für APT (Debians Paketmanager) zu aktualisieren, ist etwas schief gelaufen. Hier ist ein Dump der Zeilen aus sources.list, die Ihnen vielleicht dabei helfen, das Problem zu identifizieren:\n{sourceslist}",
|
||||
"global_settings_setting_security_webadmin_allowlist": "IP-Adressen, die auf die Verwaltungsseite zugreifen dürfen. Kommasepariert.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Erlaube nur bestimmten IP-Adressen den Zugriff auf die Verwaltungsseite.",
|
||||
|
@ -633,7 +633,7 @@
|
|||
"user_import_failed": "Der Import von Konten ist komplett fehlgeschlagen",
|
||||
"domain_dns_push_failed_to_list": "Auflistung der aktuellen Einträge über die API des Registrars fehlgeschlagen: {error}",
|
||||
"domain_dns_pushing": "DNS-Einträge übertragen…",
|
||||
"domain_dns_push_record_failed": "{action} für Eintrag {type}/{name} fehlgeschlagen: {error}",
|
||||
"domain_dns_push_record_failed": "Fehler bei {action} Eintrag {type}/{name} : {error}",
|
||||
"domain_dns_push_success": "DNS-Einträge aktualisiert!",
|
||||
"domain_dns_push_failed": "Die Aktualisierung der DNS-Einträge ist leider gescheitert.",
|
||||
"domain_dns_push_partial_failure": "DNS-Einträge teilweise aktualisiert: einige Warnungen/Fehler wurden gemeldet.",
|
||||
|
@ -648,7 +648,7 @@
|
|||
"domain_config_auth_entrypoint": "API-Einstiegspunkt",
|
||||
"domain_config_auth_application_key": "Anwendungsschlüssel",
|
||||
"domain_config_auth_application_secret": "Geheimer Anwendungsschlüssel",
|
||||
"domain_config_auth_consumer_key": "Consumer-Schlüssel",
|
||||
"domain_config_auth_consumer_key": "Verbraucherschlüssel",
|
||||
"invalid_number_min": "Muss größer sein als {min}",
|
||||
"invalid_number_max": "Muss kleiner sein als {max}",
|
||||
"invalid_password": "Ungültiges Passwort",
|
||||
|
@ -676,13 +676,13 @@
|
|||
"global_settings_setting_security_ssh_password_authentication": "Passwort-Authentifizierung für SSH zulassen",
|
||||
"migration_description_0021_migrate_to_bullseye": "Upgrade des Systems auf Debian Bullseye und YunoHost 11.x",
|
||||
"migration_0021_general_warning": "Bitte beachte, dass diese Migration ein heikler Vorgang ist. Das YunoHost-Team hat sein Bestes getan, um sie zu überprüfen und zu testen, aber die Migration könnte immer noch Teile des Systems oder seiner Anwendungen beschädigen.\n\nEs wird daher empfohlen,:\n - Führe eine Sicherung aller kritischen Daten oder Applikationen durch. Mehr Informationen unter https://yunohost.org/backup;\n - Habe Geduld, nachdem du die Migration gestartet hast: Je nach Internetverbindung und Hardware kann es bis zu ein paar Stunden dauern, bis alles aktualisiert ist.",
|
||||
"tools_upgrade": "Upgrade Systempakete",
|
||||
"tools_upgrade": "Aktualisieren von Systempaketen",
|
||||
"tools_upgrade_failed": "Pakete konnten nicht aktualisiert werden: {packages_list}",
|
||||
"domain_config_default_app": "Standard-Applikation",
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL war auf deinem System nicht installiert. Es gibt nichts zu tun.",
|
||||
"migration_0023_postgresql_13_not_installed": "PostgreSQL 11 ist installiert, PostgreSQL 13 allerdings nicht? Mit deinem System scheint etwas seltsam zu sein :(...",
|
||||
"migration_description_0022_php73_to_php74_pools": "Migriere php7.3-fpm 'pool' conf Dateien auf php7.4",
|
||||
"migration_description_0023_postgresql_11_to_13": "Migriere Datenbanken von PostgreSQL 11 auf 13",
|
||||
"migration_0023_postgresql_11_not_installed": "PostgreSQL wurde nicht auf Ihrem System installiert. Es ist nichts zu tun.",
|
||||
"migration_0023_postgresql_13_not_installed": "PostgreSQL 11 ist installiert, aber nicht PostgreSQL 13!? Irgendetwas Seltsames könnte auf Ihrem System passiert sein. :( ...",
|
||||
"migration_description_0022_php73_to_php74_pools": "Migriere php7.3-fpm 'pool' Konfiguration nach php7.4",
|
||||
"migration_description_0023_postgresql_11_to_13": "Migrieren von Datenbanken von PostgreSQL 11 nach 13",
|
||||
"service_description_postgresql": "Speichert Applikations-Daten (SQL Datenbank)",
|
||||
"migration_0023_not_enough_space": "Stelle sicher, dass unter {path} genug Speicherplatz zur Verfügung steht, um die Migration auszuführen."
|
||||
}
|
||||
|
|
|
@ -571,7 +571,7 @@
|
|||
"diagnosis_rootfstotalspace_warning": "Le système de fichiers racine n'est que de {space}. Cela peut suffire, mais faites attention car vous risquez de les remplir rapidement... Il est recommandé d'avoir au moins 16 GB pour ce système de fichiers.",
|
||||
"app_restore_script_failed": "Une erreur s'est produite dans le script de restauration de l'application",
|
||||
"restore_backup_too_old": "Cette sauvegarde ne peut pas être restaurée car elle provient d'une version de YunoHost trop ancienne.",
|
||||
"log_backup_create": "Créer une archive de sauvegarde",
|
||||
"log_backup_create": "Création d'une archive de sauvegarde",
|
||||
"global_settings_setting_ssowat_panel_overlay_enabled": "Activer la superposition de la vignette SSOwat",
|
||||
"migration_ldap_rollback_success": "Système rétabli dans son état initial.",
|
||||
"permission_cant_add_to_all_users": "L'autorisation {permission} ne peut pas être ajoutée à tous les utilisateurs.",
|
||||
|
|
182
locales/ru.json
182
locales/ru.json
|
@ -32,9 +32,9 @@
|
|||
"admin_password_too_long": "Пожалуйста, выберите пароль короче 127 символов",
|
||||
"password_listed": "Этот пароль является одним из наиболее часто используемых паролей в мире. Пожалуйста, выберите что-то более уникальное.",
|
||||
"backup_applying_method_copy": "Копирование всех файлов в резервную копию...",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Эта страница показывает вам *рекомендуемую* конфигурацию. Она *не* создаёт для вас конфигурацию DNS. Вы должны сами конфигурировать зону вашего DNS у вашего регистратора в соответствии с этой рекомендацией.",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Эта страница показывает вам *рекомендуемую* конфигурацию. Она не создаёт для вас конфигурацию DNS. Вы должны сами конфигурировать DNS у вашего регистратора в соответствии с этой рекомендацией.",
|
||||
"good_practices_about_user_password": "Выберите пароль пользователя длиной не менее 8 символов, хотя рекомендуется использовать более длинные (например, парольную фразу) и / или использовать символы различного типа (прописные, строчные буквы, цифры и специальные символы).",
|
||||
"password_too_simple_3": "Пароль должен содержать не менее 8 символов и содержать цифры, заглавные и строчные буквы и специальные символы",
|
||||
"password_too_simple_3": "Пароль должен содержать не менее 8 символов и содержать цифры, заглавные и строчные буквы, а также специальные символы",
|
||||
"upnp_enabled": "UPnP включен",
|
||||
"user_deleted": "Пользователь удалён",
|
||||
"ask_lastname": "Фамилия",
|
||||
|
@ -68,7 +68,7 @@
|
|||
"app_start_restore": "Восстановление {app}...",
|
||||
"app_upgrade_several_apps": "Будут обновлены следующие приложения: {apps}",
|
||||
"password_too_simple_2": "Пароль должен содержать не менее 8 символов и включать цифры, заглавные и строчные буквы",
|
||||
"password_too_simple_4": "Пароль должен содержать не менее 12 символов и включать цифры, заглавные и строчные буквы и специальные символы",
|
||||
"password_too_simple_4": "Пароль должен содержать не менее 12 символов и включать цифры, заглавные и строчные буквы, а также специальные символы",
|
||||
"upgrade_complete": "Обновление завершено",
|
||||
"user_unknown": "Неизвестный пользователь: {user}",
|
||||
"yunohost_already_installed": "YunoHost уже установлен",
|
||||
|
@ -106,21 +106,21 @@
|
|||
"config_unknown_filter_key": "Ключ фильтра '{filter_key}' неверен.",
|
||||
"config_validate_date": "Должна быть правильная дата в формате YYYY-MM-DD",
|
||||
"config_validate_email": "Должен быть правильный email",
|
||||
"config_validate_time": "Должно быть правильное время формата HH:MM",
|
||||
"config_validate_time": "Должно быть правильное время формата ЧЧ:ММ",
|
||||
"backup_ask_for_copying_if_needed": "Хотите ли вы временно выполнить резервное копирование с использованием {size}MB? (Этот способ используется, поскольку некоторые файлы не могут быть подготовлены более эффективным методом.)",
|
||||
"backup_permission": "Разрешить резервное копирование для {app}",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "DNS-записи для домена '{domain}' отличаются от IP этого сервера. Пожалуйста, проверьте категорию 'DNS-записи' (основные) в диагностике для получения дополнительной информации. Если вы недавно изменили свою A-запись, пожалуйста, подождите, пока она распространится (некоторые программы проверки распространения DNS доступны в интернете). (Если вы знаете, что делаете, используйте '--no-checks', чтобы отключить эти проверки.)",
|
||||
"certmanager_domain_not_diagnosed_yet": "Для домена {domain} еще нет результатов диагностики. Пожалуйста, перезапустите диагностику для категорий 'DNS-записи' и 'Web', чтобы проверить, готов ли домен к Let's Encrypt. (Или, если вы знаете, что делаете, используйте '--no-checks', чтобы отключить эти проверки.)",
|
||||
"certmanager_domain_not_diagnosed_yet": "Для домена {domain} еще нет результатов диагностики. Пожалуйста, перезапустите диагностику для категорий 'DNS-записи' и 'Домены', чтобы проверить, готов ли домен к Let's Encrypt. (Или, если вы знаете, что делаете, используйте '--no-checks', чтобы отключить эти проверки.)",
|
||||
"config_validate_url": "Должна быть правильная ссылка",
|
||||
"config_version_not_supported": "Версии конфигурационной панели '{version}' не поддерживаются.",
|
||||
"confirm_app_install_danger": "ОПАСНО! Это приложение все еще является экспериментальным (если не сказать, что оно явно не работает)! Вам не следует устанавливать его, если вы не знаете, что делаете. Если это приложение не будет работать или сломает вашу систему, мы не будем оказывать техническую поддержку... Если вы все равно готовы рискнуть, введите '{answers}'",
|
||||
"confirm_app_install_thirdparty": "ВАЖНО! Это приложение не входит в каталог приложений YunoHost. Установка сторонних приложений может нарушить целостность и безопасность вашей системы. Вам не следует устанавливать его, если вы не знаете, что делаете. ТЕХНИЧЕСКОЙ ПОДДЕРЖКИ НЕ БУДЕТ, если это приложение не будет работать или сломает вашу систему... Если вы все равно готовы рискнуть, введите '{answers}'",
|
||||
"confirm_app_install_danger": "ОПАСНО! Это приложение все еще является экспериментальным (если не сказать, что оно явно не работает)! Вам НЕ следует устанавливать его, если вы НЕ знаете, что делаете. Если это приложение не будет работать или сломает вашу систему, мы НЕ будем оказывать техническую поддержку... Если вы все равно готовы рискнуть, введите '{answers}'",
|
||||
"confirm_app_install_thirdparty": "ВАЖНО! Это приложение не входит в каталог приложений YunoHost. Установка сторонних приложений может нарушить целостность и безопасность вашей системы. Вам НЕ следует устанавливать его, если вы НЕ знаете, что делаете. Если это приложение не будет работать или сломает вашу систему, мы НЕ будем оказывать техническую поддержку... Если вы все равно готовы рискнуть, введите '{answers}'",
|
||||
"config_apply_failed": "Не удалось применить новую конфигурацию: {error}",
|
||||
"config_cant_set_value_on_section": "Вы не можете установить одно значение на весь раздел конфигурации.",
|
||||
"config_forbidden_keyword": "Ключевое слово '{keyword}' зарезервировано, вы не можете создать или использовать панель конфигурации с вопросом с таким id.",
|
||||
"config_no_panel": "Панель конфигурации не найдена.",
|
||||
"danger": "Опасно:",
|
||||
"certmanager_warning_subdomain_dns_record": "Субдомен '{subdomain}' не соответствует IP-адресу основного домена '{domain}'. Некоторые функции будут недоступны, пока вы не исправите это и не перегенерируете сертификат.",
|
||||
"certmanager_warning_subdomain_dns_record": "Субдомен '{subdomain}' не соответствует IP-адресу основного домена '{domain}'. Некоторые функции будут недоступны, пока вы не исправите это и не сгенерируете сертификат снова.",
|
||||
"app_argument_password_no_default": "Ошибка при парсинге аргумента пароля '{name}': аргумент пароля не может иметь значение по умолчанию по причинам безопасности",
|
||||
"custom_app_url_required": "Вы должны указать URL для обновления вашего пользовательского приложения {app}",
|
||||
"backup_creation_failed": "Не удалось создать резервную копию",
|
||||
|
@ -137,8 +137,8 @@
|
|||
"backup_system_part_failed": "Не удалось создать резервную копию системной части '{part}'",
|
||||
"certmanager_cert_renew_success": "Обновлен сертификат Let's Encrypt для домена '{domain}'",
|
||||
"certmanager_cert_signing_failed": "Не удалось подписать новый сертификат",
|
||||
"diagnosis_apps_bad_quality": "В настоящее время это приложение отмечено как неработающее в каталоге приложений YunoHost. Это может быть временной проблемой, пока мэинтейнеры пытаются исправить проблему. Пока что обновление этого приложения отключено.",
|
||||
"diagnosis_apps_broken": "В настоящее время это приложение отмечено как неработающее в каталоге приложений YunoHost. Это может быть временной проблемой, пока мэинтейнеры пытаются исправить проблему. Пока что обновления для этого приложения отключены.",
|
||||
"diagnosis_apps_bad_quality": "В настоящее время это приложение отмечено как неработающее в каталоге приложений YunoHost. Это может быть временной проблемой, пока сопровождающий пытается исправить проблему. Пока что обновление этого приложения отключено.",
|
||||
"diagnosis_apps_broken": "В настоящее время это приложение отмечено как неработающее в каталоге приложений YunoHost. Это может быть временной проблемой, пока сопровождающие пытаются исправить проблему. Пока что обновления для этого приложения отключены.",
|
||||
"diagnosis_apps_allgood": "Все установленные приложения соблюдают основные правила упаковки",
|
||||
"diagnosis_apps_issue": "Обнаружена проблема для приложения {app}",
|
||||
"diagnosis_apps_not_in_app_catalog": "Этого приложения нет в каталоге приложений YunoHost. Если оно было там раньше, а теперь удалено, вам стоит подумать об удалении этого приложения, так как оно больше не получит обновлений и может нарушить целостность и безопасность вашей системы.",
|
||||
|
@ -157,14 +157,14 @@
|
|||
"backup_with_no_backup_script_for_app": "Приложение '{app}' не имеет сценария резервного копирования. Оно будет проигнорировано.",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Сертификат для домена '{domain}' не выпущен Let's Encrypt. Невозможно продлить его автоматически!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Срок действия сертификата для домена '{domain}' НЕ истекает! (Вы можете использовать --force, если знаете, что делаете)",
|
||||
"certmanager_cannot_read_cert": "При попытке открыть текущий сертификат для домена {domain} произошло что-то неправильное (файл: {file}), причина: {reason}",
|
||||
"certmanager_cannot_read_cert": "При попытке открыть текущий сертификат для домена {domain}что-то пошло не так (файл: {file}), причина: {reason}",
|
||||
"certmanager_cert_install_success": "Сертификат Let's Encrypt для домена '{domain}' установлен",
|
||||
"certmanager_domain_cert_not_selfsigned": "Сертификат для домена {domain} не самоподписанный. Вы уверены, что хотите заменить его? (Для этого используйте '--force'.)",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Попытка использовать новый сертификат для {domain} не сработала...",
|
||||
"certmanager_domain_http_not_working": "Похоже, домен {domain} не доступен через HTTP. Пожалуйста, проверьте категорию 'Web' в диагностике для получения дополнительной информации. (Если вы знаете, что делаете, используйте '--no-checks', чтобы отключить эти проверки.)",
|
||||
"certmanager_domain_http_not_working": "Похоже, домен {domain} не доступен через HTTP. Пожалуйста, проверьте категорию 'Домены' в диагностике для получения дополнительной информации. (Если вы знаете, что делаете, используйте '--no-checks', чтобы отключить эти проверки.)",
|
||||
"certmanager_hit_rate_limit": "Для этого набора доменов {domain} в последнее время было выпущено слишком много сертификатов. Пожалуйста, повторите попытку позже. См. https://letsencrypt.org/docs/rate-limits/ для получения более подробной информации",
|
||||
"certmanager_no_cert_file": "Не удалось прочитать файл сертификата для домена {domain} (файл: {file})",
|
||||
"confirm_app_install_warning": "Предупреждение: Это приложение может работать, но пока еще недостаточно интегрировано в YunoHost. Некоторые функции, такие как единая регистрация и резервное копирование/восстановление, могут быть недоступны. Все равно устанавливать? [{answers}] ",
|
||||
"confirm_app_install_warning": "Предупреждение: Это приложение может работать, но пока еще недостаточно интегрировано в YunoHost. Некоторые функции, такие как единая регистрация и резервное копирование/восстановление, могут быть недоступны. Все равно установить? [{answers}] ",
|
||||
"yunohost_not_installed": "YunoHost установлен неправильно. Пожалуйста, запустите 'yunohost tools postinstall'",
|
||||
"backup_cleaning_failed": "Не удалось очистить временную папку резервного копирования",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Вы пытаетесь перезаписать хороший и действительный сертификат для домена {domain}! (Используйте --force для обхода)",
|
||||
|
@ -173,20 +173,166 @@
|
|||
"diagnosis_description_services": "Проверка статусов сервисов",
|
||||
"config_validate_color": "Должен быть правильный hex цвета RGB",
|
||||
"diagnosis_basesystem_hardware": "Аппаратная архитектура сервера – {virt} {arch}",
|
||||
"certmanager_acme_not_configured_for_domain": "Задача ACME не может быть запущена для {domain} прямо сейчас, потому что в его nginx conf отсутствует соответствующий фрагмент кода... Пожалуйста, убедитесь, что конфигурация вашего nginx обновлена, используя `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"certmanager_acme_not_configured_for_domain": "Задача ACME не может быть запущена для {domain} прямо сейчас, потому что в его nginx conf отсутствует соответствующий фрагмент кода... Пожалуйста, убедитесь, что конфигурация вашего nginx обновлена, используя 'yunohost tools regen-conf nginx --dry-run --with-diff'.",
|
||||
"diagnosis_basesystem_ynh_single_version": "{package} версия: {version} ({repo})",
|
||||
"diagnosis_description_mail": "Email",
|
||||
"diagnosis_description_mail": "Электронная почта",
|
||||
"diagnosis_basesystem_kernel": "Версия ядра Linux на сервере {kernel_version}",
|
||||
"diagnosis_description_apps": "Приложения",
|
||||
"diagnosis_diskusage_low": "В хранилище <code>{mountpoint}</code> (на устройстве <code>{device}</code>) осталось {free} ({free_percent}%) места (из {total}). Будьте осторожны.",
|
||||
"diagnosis_description_dnsrecords": "DNS записи",
|
||||
"diagnosis_description_dnsrecords": "DNS-записи",
|
||||
"diagnosis_description_ip": "Интернет-соединение",
|
||||
"diagnosis_description_basesystem": "Основная система",
|
||||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_description_web": "Доступность доменов",
|
||||
"diagnosis_basesystem_host": "На сервере запущен Debian {debian_version}",
|
||||
"diagnosis_dns_bad_conf": "Некоторые записи DNS для домена {domain} (категория {category}) отсутствуют или неверны",
|
||||
"diagnosis_description_systemresources": "Системные ресурсы",
|
||||
"backup_with_no_restore_script_for_app": "{app} не имеет сценария восстановления, вы не сможете автоматически восстановить это приложение из резервной копии.",
|
||||
"diagnosis_description_ports": "Открытые порты",
|
||||
"diagnosis_basesystem_hardware_model": "Модель сервера {model}"
|
||||
"diagnosis_basesystem_hardware_model": "Модель сервера {model}",
|
||||
"domain_config_mail_in": "Входящие письма",
|
||||
"domain_config_mail_out": "Исходящие письма",
|
||||
"domain_config_xmpp": "Мгновенный обмен сообщениями (XMPP)",
|
||||
"domain_config_auth_token": "Токен аутентификации",
|
||||
"domain_deletion_failed": "Невозможно удалить домен {domain}: {error}",
|
||||
"domain_config_default_app": "Приложение по умолчанию",
|
||||
"domain_dns_push_failed_to_authenticate": "Не удалось пройти аутентификацию на API регистратора для домена '{domain}'. Возможно учетные данные неверны? (Ошибка: {error})",
|
||||
"domain_dns_push_already_up_to_date": "Записи уже обновлены, ничего делать не нужно.",
|
||||
"domain_dns_push_failed": "Обновление записей DNS потерпело неудачу.",
|
||||
"backup_custom_mount_error": "Пользовательский метод резервного копирования не смог пройти этап 'mount'",
|
||||
"diagnosis_diskusage_ok": "Хранилище <code>{mountpoint}</code> (на устройстве <code>{device}</code>) имеет еще {free} ({free_percent}%) свободного места (всего {total})!",
|
||||
"domain_dns_conf_special_use_tld": "Этот домен основан на домене верхнего уровня специального назначения (TLD), таком как .local или .test, и поэтому не предполагает наличия реальных записей DNS.",
|
||||
"diagnosis_basesystem_ynh_main_version": "Сервер работает под управлением YunoHost {main_version} ({repo})",
|
||||
"domain_creation_failed": "Невозможно создать домен {domain}: {error}",
|
||||
"domain_deleted": "Домен удален",
|
||||
"backup_custom_backup_error": "Пользовательский метод резервного копирования не смог пройти этап 'backup'",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "Установленная версия этого приложения требует только yunohost >= 2.x, что указывает на то, что оно не соответствует рекомендуемым практикам упаковки и помощникам. Вам следует рассмотреть возможность его обновления.",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "Вы используете несовместимые версии пакетов YunoHost... скорее всего, из-за неудачного или частичного обновления.",
|
||||
"diagnosis_failed_for_category": "Не удалось провести диагностику для категории '{category}': {error}",
|
||||
"diagnosis_cache_still_valid": "(Кэш еще действителен для диагностики {category}. Повторная диагностика пока не проводится!)",
|
||||
"diagnosis_cant_run_because_of_dep": "Невозможно выполнить диагностику для {category}, пока есть важные проблемы, связанные с {dep}.",
|
||||
"diagnosis_found_errors": "Есть {errors} существенная проблема(ы), связанная с {category}!",
|
||||
"diagnosis_everything_ok": "Все выглядит отлично для {category}!",
|
||||
"diagnosis_dns_good_conf": "DNS-записи правильно настроены для домена {domain} (категория {category})",
|
||||
"diagnosis_display_tip": "Чтобы увидеть найденные проблемы, вы можете перейти в раздел Диагностика в веб-интерфейсе или выполнить команду 'yunohost diagnosis show --issues --human-readable' из командной строки.",
|
||||
"diagnosis_dns_point_to_doc": "Если вам нужна помощь по настройке DNS-записей, обратитесь к документации на сайте <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a>.",
|
||||
"diagnosis_domain_expiration_error": "Срок действия некоторых доменов истекает ОЧЕНЬ СКОРО!",
|
||||
"diagnosis_failed": "Не удалось получить результат диагностики для категории '{category}': {error}",
|
||||
"domain_created": "Домен создан",
|
||||
"diagnosis_backports_in_sources_list": "Похоже, что apt (менеджер пакетов) настроен на использование репозитория backports. Если вы не знаете, что делаете, мы настоятельно не рекомендуем устанавливать пакеты из backports, потому что это может привести к нестабильности или конфликтам в вашей системе.",
|
||||
"group_updated": "Группа '{group}' обновлена",
|
||||
"invalid_number_min": "Должно быть больше, чем {min}",
|
||||
"invalid_number_max": "Должно быть меньше, чем {max}",
|
||||
"ldap_attribute_already_exists": "Атрибут LDAP '{attribute}' уже существует со значением '{value}'",
|
||||
"regenconf_up_to_date": "Конфигурация уже актуальна для категории '{category}'",
|
||||
"pattern_password": "Должно быть не менее 3 символов",
|
||||
"hook_exec_failed": "Не удалось запустить скрипт: {path}",
|
||||
"group_deleted": "Группа '{group}' удалена",
|
||||
"group_user_not_in_group": "Пользователь {user} не входит в группу {group}",
|
||||
"permission_protected": "Разрешение {permission} защищено. Вы не можете добавить или удалить группу посетителей в/из этого разрешения.",
|
||||
"log_domain_config_set": "Обновление конфигурации для домена '{}'",
|
||||
"log_domain_dns_push": "Сделать DNS-записи для домена '{}'",
|
||||
"other_available_options": "... и {n} других не показанных доступных опций",
|
||||
"permission_cannot_remove_main": "Удаление основного разрешения не допускается",
|
||||
"permission_require_account": "Разрешение {permission} имеет смысл только для пользователей, имеющих учетную запись, и поэтому не может быть включено для посетителей.",
|
||||
"permission_update_failed": "Не удалось обновить разрешение '{permission}': {error}",
|
||||
"regenconf_file_removed": "Файл конфигурации '{conf}' удален",
|
||||
"permission_not_found": "Разрешение '{permission}' не найдено",
|
||||
"group_cannot_edit_all_users": "Группа 'all_users' не может быть отредактирована вручную. Это специальная группа, предназначенная для всех пользователей, зарегистрированных в YunoHost",
|
||||
"global_settings_setting_smtp_allow_ipv6": "Разрешить использование IPv6 для получения и отправки почты",
|
||||
"log_dyndns_subscribe": "Подписаться на субдомен YunoHost '{}'",
|
||||
"pattern_firstname": "Должно быть настоящее имя",
|
||||
"migrations_pending_cant_rerun": "Эти миграции еще не завершены, поэтому не могут быть запущены снова: {ids}",
|
||||
"migrations_running_forward": "Запуск миграции {id}...",
|
||||
"regenconf_file_backed_up": "Файл конфигурации '{conf}' сохранен в '{backup}'",
|
||||
"regenconf_file_copy_failed": "Не удалось скопировать новый файл конфигурации '{new}' в '{conf}'",
|
||||
"regenconf_file_manually_modified": "Конфигурационный файл '{conf}' был изменен вручную и не будет обновлен",
|
||||
"regenconf_file_updated": "Файл конфигурации '{conf}' обновлен",
|
||||
"regenconf_now_managed_by_yunohost": "Конфигурационный файл '{conf}' теперь управляется YunoHost (категория {category}).",
|
||||
"migrations_to_be_ran_manually": "Миграция {id} должна быть запущена вручную. Пожалуйста, перейдите в раздел Инструменты → Миграции на вэб-странице администратора или выполните команду `yunohost tools migrations run`.",
|
||||
"port_already_opened": "Порт {port} уже открыт для {ip_version} подключений",
|
||||
"postinstall_low_rootfsspace": "Общий размер корневой файловой системы составляет менее 10 ГБ, что вызывает беспокойство! Скорее всего, свободное место очень быстро закончится! Рекомендуется иметь не менее 16 ГБ для корневой файловой системы. Если вы хотите установить YunoHost, несмотря на это предупреждение, повторно запустите пост-установку с параметром --force-diskspace",
|
||||
"diagnosis_services_running": "Служба {service} запущена!",
|
||||
"diagnosis_swap_none": "Система вообще не имеет свопа. Вы должны рассмотреть возможность добавления по крайней мере {recommended} объема подкачки, чтобы избежать ситуаций, когда в системе заканчивается память.",
|
||||
"diagnosis_swap_notsomuch": "В системе имеется только {total} своп. Вам следует иметь не менее {recommended}, чтобы избежать ситуаций, когда в системе заканчивается память.",
|
||||
"group_creation_failed": "Не удалось создать группу '{group}': {error}",
|
||||
"group_cannot_edit_visitors": "Группу \"посетители\" нельзя редактировать вручную. Это специальная группа, представляющая анонимных посетителей",
|
||||
"ldap_server_down": "Невозможно подключиться к серверу LDAP",
|
||||
"permission_updated": "Разрешение '{permission}' обновлено",
|
||||
"regenconf_file_remove_failed": "Не удалось удалить файл конфигурации '{conf}'",
|
||||
"group_created": "Группа '{group}' создана",
|
||||
"group_deletion_failed": "Не удалось удалить группу '{group}': {error}",
|
||||
"log_backup_create": "Создание резервной копии",
|
||||
"group_update_failed": "Не удалось обновить группу '{group}': {error}",
|
||||
"permission_already_allowed": "В группе '{group}' уже включено разрешение '{permission}'",
|
||||
"invalid_password": "Неверный пароль",
|
||||
"group_already_exist": "Группа {group} уже существует",
|
||||
"group_cannot_be_deleted": "Группа {group} не может быть удалена вручную.",
|
||||
"log_app_config_set": "Примените конфигурацию приложения '{}'",
|
||||
"log_backup_restore_app": "Восстановление '{}' из резервной копии",
|
||||
"global_settings_setting_security_webadmin_allowlist": "IP-адреса, разрешенные для доступа к веб-интерфейсу администратора. Разделенные запятыми.",
|
||||
"global_settings_setting_security_webadmin_allowlist_enabled": "Разрешите доступ к веб-интерфейсу администратора только некоторым IP-адресам.",
|
||||
"log_domain_remove": "Удалить домен '{}' из конфигурации системы",
|
||||
"user_import_success": "Пользователи успешно импортированы",
|
||||
"group_user_already_in_group": "Пользователь {user} уже входит в группу {group}",
|
||||
"diagnosis_swap_ok": "Система имеет {total} свопа!",
|
||||
"permission_already_exist": "Разрешение '{permission}' уже существует",
|
||||
"permission_cant_add_to_all_users": "Разрешение {permission} не может быть добавлено всем пользователям.",
|
||||
"permission_created": "Разрешение '{permission}' создано",
|
||||
"log_app_makedefault": "Сделайте '{}' приложением по умолчанию",
|
||||
"log_app_upgrade": "Обновите приложение '{}'",
|
||||
"migrations_no_migrations_to_run": "Нет миграций для запуска",
|
||||
"diagnosis_sshd_config_inconsistent_details": "Пожалуйста, выполните <cmd>yunohost settings set security.ssh.port -v YOUR_SSH_PORT</cmd>, чтобы определить порт SSH, и проверьте <cmd>yunohost tools regen-conf ssh --dry-run --with-diff</cmd> и <cmd>yunohost tools regen-conf ssh --force</cmd>, чтобы сбросить ваш conf в соответствии с рекомендациями YunoHost.",
|
||||
"log_domain_main_domain": "Сделать '{}' основным доменом",
|
||||
"diagnosis_sshd_config_insecure": "Похоже, что конфигурация SSH была изменена вручную, и она небезопасна, поскольку не содержит директив 'AllowGroups' или 'AllowUsers' для ограничения доступа авторизованных пользователей.",
|
||||
"global_settings_setting_security_ssh_port": "SSH порт",
|
||||
"group_already_exist_on_system": "Группа {group} уже существует в системных группах",
|
||||
"group_already_exist_on_system_but_removing_it": "Группа {group} уже существует в системных группах, но YunoHost удалит ее...",
|
||||
"group_unknown": "Группа '{group}' неизвестна",
|
||||
"log_app_action_run": "Запуск действия приложения '{}'",
|
||||
"log_available_on_yunopaste": "Эти логи теперь доступны через {url}",
|
||||
"permission_deleted": "Разрешение '{permission}' удалено",
|
||||
"regenconf_file_kept_back": "Конфигурационный файл '{conf}' должен был быть удален regen-conf (категория {category}), но был сохранен.",
|
||||
"regenconf_updated": "Обновлена конфигурация для '{category}'",
|
||||
"global_settings_setting_smtp_relay_port": "Порт ретрансляции SMTP",
|
||||
"global_settings_setting_smtp_relay_password": "Пароль узла ретрансляции SMTP",
|
||||
"invalid_regex": "Неверный regex:'{regex}'",
|
||||
"regenconf_file_manually_removed": "Конфигурационный файл '{conf}' был удален вручную и не будет создан",
|
||||
"migrations_not_pending_cant_skip": "Эти миграции не ожидаются, поэтому не могут быть пропущены: {ids}",
|
||||
"migrations_skip_migration": "Пропуск миграции {id}...",
|
||||
"invalid_number": "Должна быть цифра",
|
||||
"regenconf_failed": "Не удалось восстановить конфигурацию для категории(й): {categories}",
|
||||
"diagnosis_services_conf_broken": "Конфигурация нарушена для службы {service}!",
|
||||
"diagnosis_sshd_config_inconsistent": "Похоже, что порт SSH был вручную изменен в /etc/ssh/sshd_config. Начиная с версии YunoHost 4.2, доступен новый глобальный параметр 'security.ssh.port', позволяющий избежать ручного редактирования конфигурации.",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Разрешить использование (устаревшего) ключа хоста DSA для конфигурации демона SSH",
|
||||
"hook_exec_not_terminated": "Скрипт не завершился должным образом: {path}",
|
||||
"ip6tables_unavailable": "Вы не можете играть с ip6tables здесь. Либо Вы находитесь в контейнере, либо ваше ядро это не поддерживает",
|
||||
"iptables_unavailable": "Вы не можете играть с ip6tables здесь. Либо Вы находитесь в контейнере, либо ваше ядро это не поддерживает",
|
||||
"log_corrupted_md_file": "Файл метаданных YAML, связанный с логами, поврежден: '{md_file}\nОшибка: {error}'",
|
||||
"log_does_exists": "Нет логов с именем '{log}', используйте 'yunohost log list' для просмотра всех доступных логов",
|
||||
"log_app_change_url": "Измените URL приложения '{}'",
|
||||
"log_app_install": "Установите приложение '{}'",
|
||||
"log_backup_restore_system": "Восстановление системы из резервной копии",
|
||||
"log_domain_add": "Добавьте домен '{}' в конфигурацию системы",
|
||||
"pattern_backup_archive_name": "Должно быть действительное имя файла, содержащее не более 30 символов: только буквы, цифры и символы -_.",
|
||||
"pattern_domain": "Должно быть существующее доменное имя (например, my-domain.org)",
|
||||
"pattern_email": "Должен быть правильный адрес электронной почты, без символа \"+\" (например, someone@example.com)",
|
||||
"pattern_lastname": "Должна быть настоящая фамилия",
|
||||
"pattern_port_or_range": "Должен быть корректный номер порта (т.е. 0-65535) или диапазон портов (например, 100:200)",
|
||||
"pattern_password_app": "Извините, пароли не могут содержать следующие символы: {forbidden_chars}",
|
||||
"port_already_closed": "Порт {port} уже закрыт для подключений {ip_version}",
|
||||
"user_update_failed": "Не удалось обновить пользователя {user}: {error}",
|
||||
"migrations_success_forward": "Миграция {id} завершена",
|
||||
"pattern_mailbox_quota": "Должен быть размер с суффиксом b/k/M/G/T или 0, что значит без ограничений",
|
||||
"permission_already_disallowed": "У группы '{group}' уже отключено разрешение '{permission}'",
|
||||
"permission_creation_failed": "Не удалось создать разрешение '{permission}': {error}",
|
||||
"regenconf_pending_applying": "Применение ожидающей конфигурации для категории '{category}'...",
|
||||
"user_updated": "Информация о пользователе изменена",
|
||||
"regenconf_need_to_explicitly_specify_ssh": "Конфигурация ssh была изменена вручную, но Вам нужно явно указать категорию 'ssh' с --force, чтобы применить изменения.",
|
||||
"ldap_server_is_down_restart_it": "Служба LDAP не работает, попытайтесь перезапустить ее...",
|
||||
"permission_already_up_to_date": "Разрешение не было обновлено, потому что запросы на добавление/удаление уже соответствуют текущему состоянию.",
|
||||
"group_cannot_edit_primary_group": "Группа '{group}' не может быть отредактирована вручную. Это основная группа, предназначенная для содержания только одного конкретного пользователя.",
|
||||
"log_app_remove": "Удалите приложение '{}'",
|
||||
"not_enough_disk_space": "Недостаточно свободного места в '{путь}'",
|
||||
"pattern_email_forward": "Должен быть корректный адрес электронной почты, символ '+' допустим (например, someone+tag@example.com)",
|
||||
"permission_deletion_failed": "Не удалось удалить разрешение '{permission}': {error}"
|
||||
}
|
215
locales/sk.json
Normal file
215
locales/sk.json
Normal file
|
@ -0,0 +1,215 @@
|
|||
{
|
||||
"additional_urls_already_removed": "Dodatočná URL adresa '{url}' už bola odstránená pre oprávnenie '{permission}'",
|
||||
"admin_password": "Heslo pre správu",
|
||||
"admin_password_change_failed": "Nebolo možné zmeniť heslo",
|
||||
"admin_password_changed": "Heslo pre správu bolo zmenené",
|
||||
"app_action_broke_system": "Vyzerá, že táto akcia spôsobila nefunkčnosť nasledovných dôležitých služieb: {services}",
|
||||
"app_already_installed": "{app} je už nainštalovaný/á",
|
||||
"app_already_installed_cant_change_url": "Táto aplikácia je už nainštalovaná. Adresa URL nemôže byť touto akciou zmenená. Skontrolujte `app changeurl`, ak je dostupné.",
|
||||
"app_already_up_to_date": "{app} aplikácia je/sú aktuálna/e",
|
||||
"app_argument_choice_invalid": "Vyberte platnú hodnotu pre argument '{name}': '{value}' nie je medzi dostupnými možnosťami ({choices})",
|
||||
"app_argument_invalid": "Vyberte platnú hodnotu pre argument '{name}': {error}",
|
||||
"app_argument_required": "Argument '{name}' je vyžadovaný",
|
||||
"app_change_url_identical_domains": "Stará a nová doména/url_cesta sú identické ('{domain}{path}'), nebudú vykonané žiadne zmeny.",
|
||||
"password_too_simple_1": "Heslo sa musí skladať z aspoň 8 znakov",
|
||||
"aborting": "Zrušené.",
|
||||
"action_invalid": "Nesprávna akcia '{action}'",
|
||||
"additional_urls_already_added": "Dodatočná URL adresa '{url}' už bola pridaná pre oprávnenie '{permission}'",
|
||||
"admin_password_too_long": "Prosím, vyberte heslo kratšie ako 127 znakov",
|
||||
"already_up_to_date": "Nič netreba robiť. Všetko je už aktuálne.",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "Pre vykonanie tejto akcie by mali byť spustené nasledovné služby: {services}. Skúste ich reštartovať, prípadne zistite, prečo nebežia.",
|
||||
"app_argument_password_no_default": "Chyba pri spracovaní obsahu hesla '{name}': z bezpečnostných dôvodov nemôže obsahovať predvolenú hodnotu",
|
||||
"app_change_url_success": "URL adresa {app} je teraz {domain}{path}",
|
||||
"app_config_unable_to_apply": "Nepodarilo sa použiť hodnoty z panela s nastaveniami.",
|
||||
"app_config_unable_to_read": "Nepodarilo sa prečítať hodnoty z panela s nastaveniami.",
|
||||
"app_extraction_failed": "Chyba pri rozbaľovaní inštalačných súborov",
|
||||
"app_id_invalid": "Neplatné ID aplikácie",
|
||||
"app_install_failed": "Nedá sa nainštalovať {app}: {error}",
|
||||
"app_install_files_invalid": "Tieto súbory sa nedajú nainštalovať",
|
||||
"app_install_script_failed": "Objavila sa chyba vo vnútri inštalačného skriptu aplikácie",
|
||||
"app_location_unavailable": "Táto adresa URL je buď nedostupná alebo koliduje s už nainštalovanou aplikáciou(ami):\n{apps}",
|
||||
"app_make_default_location_already_used": "Nepodarilo sa nastaviť '{app}' ako predvolenú aplikáciu na doméne, doménu '{domain}' už využíva aplikácia '{other_app}'",
|
||||
"app_manifest_install_ask_admin": "Vyberte používateľa, ktorý bude spravovať túto aplikáciu",
|
||||
"app_manifest_install_ask_domain": "Vyberte doménu, kam bude táto aplikácia nainštalovaná",
|
||||
"app_manifest_install_ask_is_public": "Má byť táto aplikácia viditeľná pre anonymných návštevníkov?",
|
||||
"app_manifest_install_ask_password": "Vyberte heslo pre správu tejto aplikácie",
|
||||
"app_manifest_install_ask_path": "Vyberte cestu adresy URL (po názve domény), kde bude táto aplikácia nainštalovaná",
|
||||
"app_not_correctly_installed": "Zdá sa, že {app} nie je správne nainštalovaná",
|
||||
"app_not_properly_removed": "{app} nebola správne odstránená",
|
||||
"app_packaging_format_not_supported": "Túto aplikáciu nie je možné nainštalovať, pretože formát balíčkov, ktorý používa, nie je podporovaný Vašou verziou YunoHost. Mali by ste zvážiť aktualizovanie Vášho systému.",
|
||||
"app_remove_after_failed_install": "Aplikácia sa po chybe počas inštalácie odstraňuje…",
|
||||
"app_removed": "{app} bola odinštalovaná",
|
||||
"app_requirements_checking": "Kontrolujem programy vyžadované aplikáciou {app}…",
|
||||
"app_restore_failed": "Nepodarilo sa obnoviť {app}: {error}",
|
||||
"app_restore_script_failed": "Chyba nastala vo vnútri skriptu na obnovu aplikácie",
|
||||
"app_sources_fetch_failed": "Nepodarilo sa získať zdrojové súbory, je adresa URL správna?",
|
||||
"app_start_backup": "Zbieram súbory, ktoré budú zálohovať pre {app}…",
|
||||
"app_start_install": "Inštalujem {app}…",
|
||||
"app_start_remove": "Odstraňujem {app}…",
|
||||
"app_start_restore": "Obnovujem {app}…",
|
||||
"app_unknown": "Neznáma aplikácia",
|
||||
"app_upgrade_app_name": "Teraz aktualizujem {app}…",
|
||||
"app_upgrade_failed": "Nemôžem aktualizovať {app}: {error}",
|
||||
"app_upgrade_script_failed": "Chyba nastala vo vnútri skriptu na aktualizáciu aplikácie",
|
||||
"app_upgrade_some_app_failed": "Niektoré aplikácie sa nepodarilo aktualizovať",
|
||||
"app_upgraded": "{app} bola aktualizovaná",
|
||||
"apps_already_up_to_date": "Všetky aplikácie sú aktuálne",
|
||||
"apps_catalog_failed_to_download": "Nepodarilo sa stiahnuť repozitár aplikáciI {apps_catalog}: {error}",
|
||||
"apps_catalog_init_success": "Systém s repozitárom aplikácií bol inicializovaný!",
|
||||
"apps_catalog_obsolete_cache": "Medzipamäť repozitára aplikácií je prázdna alebo zastaralá.",
|
||||
"apps_catalog_update_success": "Repozitár s aplikáciami bol aktualizovaný!",
|
||||
"app_change_url_no_script": "Aplikácia '{app_name}' ešte nepodporuje modifikáciu URL adresy. Skúste ju aktualizovať.",
|
||||
"app_full_domain_unavailable": "Ľutujeme, túto aplikáciu musíte nainštalovať na samostatnej doméne, ale na doméne '{domain}' sú už nainštalované iné aplikácie. Ako alternatívu môžete použiť poddoménu určenú iba pre túto aplikáciu.",
|
||||
"app_label_deprecated": "Tento príkaz je zastaraný! Prosím, použite nový príkaz 'yunohost user permission update' pre správu názvu aplikácie.",
|
||||
"app_not_installed": "{app} sa nepodarilo nájsť v zozname nainštalovaných aplikácií: {all_apps}",
|
||||
"app_not_upgraded": "Aplikáciu '{failed_app}' sa nepodarilo aktualizovať v dôsledku čoho boli aktualizácie nasledovných aplikácií zrušené: {apps}",
|
||||
"app_requirements_unmeet": "Požiadavky aplikácie {app} neboli splnené, balíček {pkgname} ({version}) musí byť {spec}",
|
||||
"app_unsupported_remote_type": "Nepodporovaný vzdialený typ použitý pre aplikáciu",
|
||||
"app_upgrade_several_apps": "Nasledovné aplikácie budú aktualizované: {apps}",
|
||||
"apps_catalog_updating": "Aktualizujem repozitár aplikácií…",
|
||||
"ask_firstname": "Krstné meno",
|
||||
"ask_lastname": "Priezvisko",
|
||||
"ask_main_domain": "Hlavná doména",
|
||||
"ask_new_admin_password": "Nové heslo pre správu",
|
||||
"ask_new_domain": "Nová doména",
|
||||
"ask_new_path": "Nová cesta",
|
||||
"ask_password": "Heslo",
|
||||
"ask_user_domain": "Doména, ktorá bude použitá pre e-mailové adresy používateľov a ich XMPP účet",
|
||||
"backup_abstract_method": "Táto metóda zálohovania ešte nebola implementovaná",
|
||||
"backup_actually_backuping": "Vytváram archív so zálohou vyzbieraných súborov…",
|
||||
"backup_app_failed": "Nepodarilo sa zálohovať {app}",
|
||||
"backup_applying_method_copy": "Kopírujem všetky súbory do zálohy…",
|
||||
"backup_applying_method_custom": "Volám vlastnú metódu zálohovania '{method}'…",
|
||||
"backup_applying_method_tar": "Vytváram TAR archív so zálohou…",
|
||||
"backup_archive_app_not_found": "Nepodarilo sa nájsť {app} v archíve so zálohou",
|
||||
"backup_archive_broken_link": "Nepodarilo sa získať prístup k archívu so zálohou (neplatný odkaz na {path})",
|
||||
"backup_archive_cant_retrieve_info_json": "Nepodarilo sa načítať informácie o archíve '{archive}'… Nie je možné získať info.json (alebo to nie je platný súbor json).",
|
||||
"backup_archive_corrupted": "Zdá sa, že archív so zálohou '{archive}' je poškodený: {error}",
|
||||
"backup_archive_name_unknown": "Neznámy archív s miestnou zálohou s názvom '{name}'",
|
||||
"backup_archive_open_failed": "Nepodarilo sa otvoriť archív so zálohou",
|
||||
"backup_ask_for_copying_if_needed": "Chcete dočasne vytvoriť zálohu využitím {size} MB? (Využije sa tento spôsob, pretože niektoré súbory nie je možné pripraviť pomocou účinnejšej metódy.)",
|
||||
"backup_cant_mount_uncompress_archive": "Dekomprimovaný archív sa nepodarilo pripojiť bez ochrany pred zápisom",
|
||||
"backup_cleaning_failed": "Nepodarilo sa vyčistiť dočasný priečinok pre zálohovanie",
|
||||
"backup_copying_to_organize_the_archive": "Kopírujem {size} MB kvôli preusporiadaniu archívu",
|
||||
"backup_couldnt_bind": "Nepodarilo sa previazať {src} s {dest}.",
|
||||
"backup_create_size_estimation": "Archív bude obsahovať približne {size} údajov.",
|
||||
"backup_created": "Záloha bola vytvorená",
|
||||
"backup_creation_failed": "Nepodarilo sa vytvoriť archív so zálohou",
|
||||
"backup_csv_addition_failed": "Do CSV súboru sa nepodarilo pridať súbory na zálohovanie",
|
||||
"backup_csv_creation_failed": "Nepodarilo sa vytvoriť súbor CSV potrebný pre obnovu zo zálohy",
|
||||
"backup_custom_backup_error": "Vlastná metóda zálohovania sa nedostala za krok 'záloha'",
|
||||
"backup_custom_mount_error": "Vlastná metóda zálohovania sa nedostala za krok 'pripojenie'",
|
||||
"backup_delete_error": "Nepodarilo sa odstrániť '{path}'",
|
||||
"backup_deleted": "Záloha bola odstránená",
|
||||
"backup_method_copy_finished": "Dokončené kopírovanie zálohy",
|
||||
"backup_method_custom_finished": "Vlastná metóda zálohovania '{method}' skončila",
|
||||
"backup_method_tar_finished": "Bol vytvorený TAR archív so zálohou",
|
||||
"backup_mount_archive_for_restore": "Pripravujem archív na obnovu…",
|
||||
"backup_nothings_done": "Nie je čo uložiť",
|
||||
"backup_output_directory_not_empty": "Pre výstup by ste si mali vybrať prázdny adresár",
|
||||
"backup_output_directory_required": "Musíte vybrať výstupný adresár pre zálohu",
|
||||
"backup_output_symlink_dir_broken": "Váš adresár pre archívy '{path}' je neplatným symbolickým odkazom. Možno ste zabudli (opätovne) pripojiť alebo vložiť úložné zariadenie, na ktoré odkazuje.",
|
||||
"backup_permission": "Oprávnenia pre zálohy aplikácie {app}",
|
||||
"backup_running_hooks": "Spúšťam obslužné skripty záloh…",
|
||||
"backup_system_part_failed": "Nepodarilo sa pripojiť systémovú časť '{part}'",
|
||||
"backup_with_no_backup_script_for_app": "Aplikácia '{app}' nemá žiaden skript na zálohovanie. Ignorujem.",
|
||||
"backup_with_no_restore_script_for_app": "Aplikácia {app} nemá žiaden skript na obnovu, nebudete môcť automaticky obnoviť zálohu tejto aplikácie.",
|
||||
"certmanager_acme_not_configured_for_domain": "Výzvu ACME nie je možné momentálne spustiť pre {domain}, pretože jej konfigurácia nginx neobsahuje príslušný kus kódu… Prosím, zabezpečte, aby bola Vaša konfigurácia nginx aktuálna tak, že spustíte `yunohost tools regen-conf nginx --dry-run --with-diff`.",
|
||||
"certmanager_attempt_to_renew_nonLE_cert": "Certifikát pre doménu '{domain}' nevydal Let's Encrypt. Nebude možné ho automaticky obnoviť!",
|
||||
"certmanager_attempt_to_renew_valid_cert": "Certifikát pre doménu '{domain}' zatiaľ neexpiruje! (Môžete použiť --force, ak viete, čo robíte)",
|
||||
"certmanager_attempt_to_replace_valid_cert": "Chystáte sa prepísať správny a platný certifikát pre doménu {domain}! (Použite --force na vynútenie)",
|
||||
"certmanager_cannot_read_cert": "Počas otvárania aktuálneho certifikátu pre doménu {domain} došlo k neznámej chybe (súbor: {file}), príčina: {reason}",
|
||||
"certmanager_cert_install_success": "Pre doménu '{domain}' bol práve nainštalovaný certifikát od Let's Encrypt",
|
||||
"certmanager_cert_install_success_selfsigned": "Pre doménu '{domain}' bol práve nainštalovaný vlastnoručne podpísany (self-signed) certifikát",
|
||||
"certmanager_cert_renew_success": "Certifikát od Let's Encrypt pre doménu '{domain}' bol úspešne obnovený",
|
||||
"certmanager_cert_signing_failed": "Nepodarilo sa podpísať nový certifikát",
|
||||
"certmanager_domain_cert_not_selfsigned": "Certifikát pre doménu {domain} nie je vlastnoručne podpísaný (self-signed). Naozaj ho chcete nahradiť? (Použite '--force', ak to chcete urobiť.)",
|
||||
"certmanager_domain_http_not_working": "Zdá sa, že doména {domain} nie je dostupná prostredníctvom HTTP. Pre zistenie viac informácií skontrolujte, prosím, kategóriu 'Web' v režime diagnostiky. (Ak viete, čo robíte, použite '--no-checks' na vypnutie týchto kontrol.)",
|
||||
"backup_archive_name_exists": "Archív so zálohou s takýmto názvom už existuje.",
|
||||
"backup_archive_system_part_not_available": "Systémová časť '{part}' nie je prítomná v tejto zálohe",
|
||||
"backup_archive_writing_error": "Nepodarilo sa pridať súbory '{source}' (vymenované v archíve '{dest}') do zoznamu na zálohovanie do skomprimovaného archívu '{archive}'",
|
||||
"backup_hook_unknown": "Obsluha zálohy '{hook}' je neznáma",
|
||||
"backup_no_uncompress_archive_dir": "Taký dekomprimovaný adresár v archíve neexistuje",
|
||||
"backup_output_directory_forbidden": "Vyberte si iný adresár pre výstup. Zálohy nie je možné vytvoriť v /bin, /boot, /dev, /etc, /lib, /root, /run, /sbin, /sys, /usr, /var alebo v podadresároch /home/yunohost.backup/archives",
|
||||
"backup_unable_to_organize_files": "Nie je možné použiť rýchlu metódu na organizáciu súborov v archíve",
|
||||
"certmanager_certificate_fetching_or_enabling_failed": "Pokus o použitie nového certifikátu pre {domain} skončil s chybou…",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "DNS záznamy pre doménu '{domain}' sa líšia od IP adresy tohto servera. Pre získanie viac informácií skontrolujte, prosím, kategóriu 'DNS záznamy' (základné) v režime diagnostiky. Ak ste nedávno upravovali Váš A záznam, počkajte nejaký čas, kým sa vypropaguje (niektoré služby kontroly DNS propagovania sú dostupné online). (Ak viete, čo robíte, použite '--no-checks' na vypnutie týchto kontrol.)",
|
||||
"certmanager_domain_not_diagnosed_yet": "Pre doménu {domain} zatiaľ neexistujú výsledky diagnostiky. Prosím, opätovne spustite diagnostiku pre kategórie 'DNS záznamy' a 'Web' a skontrolujte, či je doména pripravená na Let's Encrypt. (Alebo ak viete, čo robíte, použite '--no-checks' na vypnutie týchto kontrol.)",
|
||||
"certmanager_hit_rate_limit": "V poslednom čase bolo pre sadu domén {domain} vydaných príliš mnoho certifikátov. Skúste to, prosím, neskôr. Viac podrobností nájdete na https://letsencrypt.org/docs/rate-limits/",
|
||||
"certmanager_no_cert_file": "Nepodarilo sa prečítať súbor s certifikátom pre doménu {domain} (súbor: {file})",
|
||||
"certmanager_unable_to_parse_self_CA_name": "Nepodarilo sa prečítať názov autority na podpisovanie certifikátov (súbor: {file})",
|
||||
"config_apply_failed": "Pri nasadzovaní novej konfigurácie došlo k chybe: {error}",
|
||||
"config_cant_set_value_on_section": "Nemôžete použiť jednoduchú hodnotu na celú časť konfigurácie.",
|
||||
"certmanager_self_ca_conf_file_not_found": "Nepodarilo sa nájsť súbor s konfiguráciou pre autoritu na podpisovanie certifikátov (súbor: {file})",
|
||||
"certmanager_warning_subdomain_dns_record": "Poddoména '{subdomain}' nevracia rovnakú IP adresu ako '{domain}'. Niektoré funkcie nebudú dostupné, kým to neopravíte a nevygenerujete nový certifikát.",
|
||||
"config_forbidden_keyword": "Kľúčové slovo '{keyword}' je vyhradené, nemôžete vytvoriť alebo použiť konfiguračný panel s otázkou s týmto identifikátorom.",
|
||||
"config_no_panel": "Nenašiel sa žiaden konfiguračný panel.",
|
||||
"config_unknown_filter_key": "Kľúč filtra '{filter_key}' je nesprávny.",
|
||||
"config_validate_color": "Toto by mala byť platná kód RGB v šestnástkovej sústave",
|
||||
"config_validate_date": "Toto by mal byť platný dátum vo formáte RRRR-MM-DD",
|
||||
"config_validate_email": "Toto by mal byť platný e-mail",
|
||||
"config_validate_time": "Toto by mal byť platný čas vo formáte HH:MM",
|
||||
"config_validate_url": "Toto by mala byť platná URL adresa webu",
|
||||
"config_version_not_supported": "Verzie konfiguračného panela '{version}' nie sú podporované.",
|
||||
"danger": "Nebezpečenstvo:",
|
||||
"confirm_app_install_danger": "NEBEZPEČENSTVO! Táto aplikácia je experimentálna (ak vôbec funguje)! Pravdepodobne by ste ju NEMALI inštalovať, pokiaľ si nie ste istý, čo robíte. NEPOSKYTNEME VÁM ŽIADNU POMOC, ak táto aplikácia nebude fungovať alebo rozbije Váš systém… Ak sa rozhodnete i napriek tomu podstúpiť toto riziko, zadajte '{answers}'",
|
||||
"confirm_app_install_thirdparty": "NEBEZPEČENSTVO! Táto aplikácia nie je súčasťou katalógu aplikácií YunoHost. Inštalovaním aplikácií tretích strán môžete ohroziť integritu a bezpečnosť Vášho systému. Pravdepodobne by ste NEMALI pokračovať v inštalácií, pokiaľ neviete, čo robíte. NEPOSKYTNEME VÁM ŽIADNU POMOC, ak táto aplikácia nebude fungovať alebo rozbije Váš systém… Ak sa rozhodnete i napriek tomu podstúpiť toto riziko, zadajte '{answers}'",
|
||||
"custom_app_url_required": "Pre aktualizáciu Vašej vlastnej aplikácie {app} musíte zadať adresu URL",
|
||||
"diagnosis_apps_allgood": "Všetky nainštalované aplikácie sa riadia základnými zásadami balíčkovania",
|
||||
"diagnosis_apps_bad_quality": "Táto aplikácia je v katalógu aplikácií YunoHost momentálne označená ako rozbitá. Toto môže byť dočasný problém do momentu, kedy jej správcovia danú chybu neopravia. Kým sa tak stane sú aktualizácie tejto aplikácie vypnuté.",
|
||||
"diagnosis_apps_broken": "Táto aplikácia je v katalógu aplikácií YunoHost momentálne označená ako rozbitá. Toto môže byť dočasný problém do momentu, kedy jej správcovia danú chybu neopravia. Kým sa tak stane sú aktualizácie tejto aplikácie vypnuté.",
|
||||
"diagnosis_apps_deprecated_practices": "Táto verzia nainštalovanej aplikácie používa niektoré prehistorické a zastaralé zásady balíčkovania. Naozaj by ste mali zvážiť jej aktualizovanie.",
|
||||
"diagnosis_apps_issue": "V aplikácií {app} sa našla chyba",
|
||||
"diagnosis_apps_outdated_ynh_requirement": "Tejto verzii nainštalovanej aplikácie stačí yunohost vo verzii 2.x, čo naznačuje, že neobsahuje aktuálne odporúčané zásady balíčkovania a pomocné skripty. Naozaj by ste mali zvážiť jej aktualizáciu.",
|
||||
"diagnosis_basesystem_hardware": "Hardvérová architektúra servera je {virt} {arch}",
|
||||
"diagnosis_basesystem_hardware_model": "Model servera je {model}",
|
||||
"diagnosis_basesystem_host": "Server beží na Debiane {debian_version}",
|
||||
"diagnosis_basesystem_kernel": "Server beží na Linuxovom jadre {kernel_version}",
|
||||
"diagnosis_basesystem_ynh_single_version": "verzia {package}: {version} ({repo})",
|
||||
"diagnosis_cache_still_valid": "(Diagnostické údaje pre {category} sú stále platné. Nespúšťajte diagnostiku znovu!)",
|
||||
"diagnosis_description_apps": "Aplikácie",
|
||||
"diagnosis_description_basesystem": "Základný systém",
|
||||
"diagnosis_description_dnsrecords": "DNS záznamy",
|
||||
"diagnosis_description_ip": "Internetové pripojenie",
|
||||
"diagnosis_description_mail": "E-mail",
|
||||
"diagnosis_description_ports": "Otvorenie portov",
|
||||
"diagnosis_description_regenconf": "Nastavenia systému",
|
||||
"diagnosis_description_services": "Kontrola stavu služieb",
|
||||
"diagnosis_description_systemresources": "Systémové prostriedky",
|
||||
"diagnosis_description_web": "Web",
|
||||
"diagnosis_diskusage_ok": "Na úložisku <code>{mountpoint}</code> (na zariadení <code>{device}</code>) ostáva {free} ({free_percent} %) voľného miesta (z celkovej veľkosti {total})!",
|
||||
"diagnosis_display_tip": "Pre zobrazenie nájdených problémov prejdite do časti Diagnostiky vo webovej administrácií alebo spustite 'yunohost diagnosis show --issues --human-readable' z rozhrania príkazového riadka.",
|
||||
"diagnosis_dns_bad_conf": "Niektoré DNS záznamy chýbajú alebo nie sú platné pre doménu {domain} (kategória {category})",
|
||||
"confirm_app_install_warning": "Upozornenie: Táto aplikácia môže fungovať, ale nie je dobre integrovaná s YunoHost. Niektoré funkcie ako spoločné prihlásenie (SSO) alebo zálohovanie/obnova nemusia byť dostupné. Nainštalovať aj napriek tomu? [{answers}] ",
|
||||
"diagnosis_cant_run_because_of_dep": "Nie je možné spustiť diagnostiku pre {category}, kým existujú významné chyby súvisiace s {dep}.",
|
||||
"diagnosis_diskusage_low": "Na úložisku <code>{mountpoint}</code> (na zariadení <code>{device}</code>) ostáva iba {free} ({free_percent} %) voľného miesta (z celkovej veľkosti {total}). Dávajte pozor.",
|
||||
"diagnosis_diskusage_verylow": "Na úložisku <code>{mountpoint}</code> (na zariadení <code>{device}</code>) ostáva iba {free} ({free_percent} %) voľného miesta (z celkovej veľkosti {total}). Dobre zvážte vyčistenie úložiska!",
|
||||
"diagnosis_apps_not_in_app_catalog": "Táto aplikácia sa nenachádza v katalógu aplikácií YunoHost. Ak sa tam v minulosti nachádzala a bola odstránená, mali by ste zvážiť jej odinštalovanie, pretože nebude dostávať žiadne aktualizácie a môže ohroziť integritu a bezpečnosť Vášho systému.",
|
||||
"diagnosis_backports_in_sources_list": "Vyzerá, že apt (správca balíkov) je nastavený na používanie repozitára backports. Inštalovaním balíkov z backports môžete spôsobiť nestabilitu systému a vznik konfliktov, preto - ak naozaj neviete, čo robíte - Vás chceme pred ich používaním dôrazne vystríhať.",
|
||||
"diagnosis_basesystem_ynh_inconsistent_versions": "Používate nekonzistentné verzie balíkov YunoHost… s najväčšou pravdepodobnosťou kvôli nedokončenej/chybnej aktualizácii.",
|
||||
"diagnosis_basesystem_ynh_main_version": "Na serveri beží YunoHost {main_version} ({repo})",
|
||||
"diagnosis_dns_discrepancy": "Nasledujúci DNS záznam nezodpovedá odporúčanej konfigurácii:<br>Typ:<code>{type}</code><br>Názov:<code>{name}</code><br>Aktuálna hodnota: <code>{current}</code><br>Očakávaná hodnota: <code>{value}</code>",
|
||||
"diagnosis_dns_good_conf": "DNS záznamy sú správne nastavené pre doménu {domain} (kategória {category})",
|
||||
"diagnosis_dns_missing_record": "Podľa odporúčaného nastavenia DNS by ste mali pridať DNS záznam s nasledujúcimi informáciami.<br>Typ: <code>{type}</code><br>Názov: <code>{name}</code><br>Hodnota: <code>{value}</code>",
|
||||
"diagnosis_dns_point_to_doc": "Prosím, pozrite si dokumentáciu na <a href='https://yunohost.org/dns_config'>https://yunohost.org/dns_config</a>, ak potrebujete pomôcť s nastavením DNS záznamov.",
|
||||
"diagnosis_dns_specialusedomain": "Doména {domain} je založená na top-level doméne (TLD) pre zvláštne použitie ako napríklad .local alebo .test a preto sa neočakáva, že bude obsahovať vlastné DNS záznamy.",
|
||||
"diagnosis_domain_expiration_error": "Platnosť niektorých domén expiruje VEĽMI SKORO!",
|
||||
"diagnosis_domain_expiration_not_found": "Pri niektorých doménach nebolo možné skontrolovať dátum ich vypršania",
|
||||
"diagnosis_domain_expiration_not_found_details": "WHOIS informácie pre doménu {domain} neobsahujú informáciu o dátume jej vypršania?",
|
||||
"diagnosis_domain_expiration_success": "Vaše domény sú zaregistrované a tak skoro nevyprší ich platnosť.",
|
||||
"diagnosis_domain_expiration_warning": "Niektoré z domén čoskoro vypršia!",
|
||||
"diagnosis_domain_expires_in": "{domain} vyprší o {days} dní.",
|
||||
"diagnosis_dns_try_dyndns_update_force": "Nastavenie DNS tejto domény by mala byť automaticky spravované YunoHost-om. Ak tomu tak nie je, môžete skúsiť vynútiť jej aktualizáciu pomocou príkazu <cmd>yunohost dyndns update --force</cmd>.",
|
||||
"diagnosis_domain_not_found_details": "Doména {domain} neexistuje v databáze WHOIS alebo vypršala jej platnosť!",
|
||||
"diagnosis_everything_ok": "V kategórii {category} vyzerá byť všetko v poriadku!",
|
||||
"diagnosis_failed": "Nepodarilo sa získať výsledok diagnostiky pre kategóriu '{category}': {error}",
|
||||
"diagnosis_failed_for_category": "Diagnostika pre kategóriu '{category}' skončila s chybou: {error}",
|
||||
"diagnosis_found_errors": "Bolo nájdených {error} závažných chýb týkajúcich sa {category}!",
|
||||
"diagnosis_found_errors_and_warnings": "Bolo nájdených {error} závažných chýb (a {warnings} varovaní) týkajúcich sa {category}!",
|
||||
"diagnosis_found_warnings": "V kategórii {category} bolo nájdených {warnings} položiek, ktoré je možné opraviť.",
|
||||
"diagnosis_http_connection_error": "Chyba pripojenia: nepodarilo sa pripojiť k požadovanej doméne, podľa všetkého je nedostupná.",
|
||||
"diagnosis_http_could_not_diagnose": "Nepodarilo sa zistiť, či sú domény dostupné zvonka pomocou IPv{ipversion}.",
|
||||
"diagnosis_http_could_not_diagnose_details": "Chyba: {error}",
|
||||
"diagnosis_http_hairpinning_issue": "Zdá sa, že Vaša miestna sieť nemá zapnutý NAT hairpinning.",
|
||||
"diagnosis_high_number_auth_failures": "V poslednom čase bol zistený neobvykle vysoký počet neúspešných prihlásení. Uistite sa, či je služba fail2ban spustená a správne nastavená alebo použite vlastný port pre SSH ako je popísané na https://yunohost.org/security."
|
||||
}
|
18
locales/te.json
Normal file
18
locales/te.json
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"aborting": "రద్దు చేస్తోంది.",
|
||||
"action_invalid": "చెల్లని చర్య '{action}'",
|
||||
"additional_urls_already_removed": "'{permission}' అనుమతి కొరకు అదనపు URLలో అదనంగా URL '{url}' ఇప్పటికే జోడించబడింది",
|
||||
"admin_password": "అడ్మినిస్ట్రేషన్ పాస్వర్డ్",
|
||||
"admin_password_changed": "అడ్మినిస్ట్రేషన్ పాస్వర్డ్ మార్చబడింది",
|
||||
"already_up_to_date": "చేయడానికి ఏమీ లేదు. ప్రతిదీ ఎప్పటికప్పుడు తాజాగా ఉంది.",
|
||||
"app_already_installed": "{app} ఇప్పటికే ఇన్స్టాల్ చేయబడింది",
|
||||
"app_already_up_to_date": "{app} ఇప్పటికే అప్-టూ-డేట్గా ఉంది",
|
||||
"app_argument_invalid": "ఆర్గ్యుమెంట్ '{name}' కొరకు చెల్లుబాటు అయ్యే వైల్యూ ఎంచుకోండి: {error}",
|
||||
"additional_urls_already_added": "'{permission}' అనుమతి కొరకు అదనపు URLలో అదనంగా URL '{url}' ఇప్పటికే జోడించబడింది",
|
||||
"admin_password_change_failed": "అనుమతిపదాన్ని మార్చడం సాధ్యం కాదు",
|
||||
"admin_password_too_long": "దయచేసి 127 క్యారెక్టర్ల కంటే చిన్న పాస్వర్డ్ ఎంచుకోండి",
|
||||
"app_action_broke_system": "ఈ చర్య ఈ ముఖ్యమైన సేవలను విచ్ఛిన్నం చేసినట్లుగా కనిపిస్తోంది: {services}",
|
||||
"app_action_cannot_be_ran_because_required_services_down": "ఈ చర్యను అమలు చేయడానికి ఈ అవసరమైన సేవలు అమలు చేయబడాలి: {services}. కొనసాగడం కొరకు వాటిని పునఃప్రారంభించడానికి ప్రయత్నించండి (మరియు అవి ఎందుకు పనిచేయడం లేదో పరిశోధించవచ్చు).",
|
||||
"app_argument_choice_invalid": "ఆర్గ్యుమెంట్ '{name}' కొరకు చెల్లుబాటు అయ్యే వైల్యూ ఎంచుకోండి: '{value}' అనేది లభ్యం అవుతున్న ఎంపికల్లో ({Choices}) లేదు",
|
||||
"app_argument_password_no_default": "పాస్వర్డ్ ఆర్గ్యుమెంట్ '{name}'ని పార్సింగ్ చేసేటప్పుడు దోషం: భద్రతా కారణం కొరకు పాస్వర్డ్ ఆర్గ్యుమెంట్ డిఫాల్ట్ విలువను కలిగి ఉండరాదు"
|
||||
}
|
|
@ -17,7 +17,11 @@ from yunohost.utils.dns import (
|
|||
)
|
||||
from yunohost.diagnosis import Diagnoser
|
||||
from yunohost.domain import domain_list, _get_maindomain
|
||||
from yunohost.dns import _build_dns_conf, _get_dns_zone_for_domain
|
||||
from yunohost.dns import (
|
||||
_build_dns_conf,
|
||||
_get_dns_zone_for_domain,
|
||||
_get_relative_name_for_dns_zone,
|
||||
)
|
||||
|
||||
logger = log.getActionLogger("yunohost.diagnosis")
|
||||
|
||||
|
@ -68,7 +72,7 @@ class MyDiagnoser(Diagnoser):
|
|||
return
|
||||
|
||||
base_dns_zone = _get_dns_zone_for_domain(domain)
|
||||
basename = domain.replace(base_dns_zone, "").rstrip(".") or "@"
|
||||
basename = _get_relative_name_for_dns_zone(domain, base_dns_zone)
|
||||
|
||||
expected_configuration = _build_dns_conf(
|
||||
domain, include_empty_AAAA_if_no_ipv6=True
|
||||
|
|
46
src/dns.py
46
src/dns.py
|
@ -183,8 +183,7 @@ def _build_dns_conf(base_domain, include_empty_AAAA_if_no_ipv6=False):
|
|||
# foo.sub.domain.tld # domain.tld # foo.sub # .foo.sub #
|
||||
# sub.domain.tld # sub.domain.tld # @ # #
|
||||
# foo.sub.domain.tld # sub.domain.tld # foo # .foo #
|
||||
|
||||
basename = domain.replace(base_dns_zone, "").rstrip(".") or "@"
|
||||
basename = _get_relative_name_for_dns_zone(domain, base_dns_zone)
|
||||
suffix = f".{basename}" if basename != "@" else ""
|
||||
|
||||
# ttl = settings["ttl"]
|
||||
|
@ -467,10 +466,19 @@ def _get_dns_zone_for_domain(domain):
|
|||
# Until we find the first one that has a NS record
|
||||
parent_list = [domain.split(".", i)[-1] for i, _ in enumerate(domain.split("."))]
|
||||
|
||||
for parent in parent_list:
|
||||
# We don't wan't to do A NS request on the tld
|
||||
for parent in parent_list[0:-1]:
|
||||
|
||||
# Check if there's a NS record for that domain
|
||||
answer = dig(parent, rdtype="NS", full_answers=True, resolvers="force_external")
|
||||
|
||||
if answer[0] != "ok":
|
||||
# Some domains have a SOA configured but NO NS record !!!
|
||||
# See https://github.com/YunoHost/issues/issues/1980
|
||||
answer = dig(
|
||||
parent, rdtype="SOA", full_answers=True, resolvers="force_external"
|
||||
)
|
||||
|
||||
if answer[0] == "ok":
|
||||
mkdir(cache_folder, parents=True, force=True)
|
||||
write_to_file(cache_file, parent)
|
||||
|
@ -482,11 +490,24 @@ def _get_dns_zone_for_domain(domain):
|
|||
zone = parent_list[-1]
|
||||
|
||||
logger.warning(
|
||||
f"Could not identify the dns zone for domain {domain}, returning {zone}"
|
||||
f"Could not identify correctly the dns zone for domain {domain}, returning {zone}"
|
||||
)
|
||||
return zone
|
||||
|
||||
|
||||
def _get_relative_name_for_dns_zone(domain, base_dns_zone):
|
||||
# Strip the base dns zone name from a domain such that it's suitable for DNS manipulation relative to a defined zone
|
||||
# For example, assuming base_dns_zone is "example.tld":
|
||||
# example.tld -> @
|
||||
# foo.example.tld -> foo
|
||||
# .foo.example.tld -> foo
|
||||
# bar.foo.example.tld -> bar.foo
|
||||
return (
|
||||
re.sub(r"\.?" + base_dns_zone.replace(".", r"\.") + "$", "", domain.strip("."))
|
||||
or "@"
|
||||
)
|
||||
|
||||
|
||||
def _get_registrar_config_section(domain):
|
||||
|
||||
from lexicon.providers.auto import _relevant_provider_for_domain
|
||||
|
@ -837,14 +858,9 @@ def domain_dns_push(operation_logger, domain, dry_run=False, force=False, purge=
|
|||
for record in current:
|
||||
changes["delete"].append(record)
|
||||
|
||||
def relative_name(name):
|
||||
name = name.strip(".")
|
||||
name = name.replace("." + base_dns_zone, "")
|
||||
name = name.replace(base_dns_zone, "@")
|
||||
return name
|
||||
|
||||
def human_readable_record(action, record):
|
||||
name = relative_name(record["name"])
|
||||
name = record["name"]
|
||||
name = _get_relative_name_for_dns_zone(record["name"], base_dns_zone)
|
||||
name = name[:20]
|
||||
t = record["type"]
|
||||
|
||||
|
@ -877,7 +893,9 @@ def domain_dns_push(operation_logger, domain, dry_run=False, force=False, purge=
|
|||
if Moulinette.interface.type == "api":
|
||||
for records in changes.values():
|
||||
for record in records:
|
||||
record["name"] = relative_name(record["name"])
|
||||
record["name"] = _get_relative_name_for_dns_zone(
|
||||
record["name"], base_dns_zone
|
||||
)
|
||||
return changes
|
||||
else:
|
||||
out = {"delete": [], "create": [], "update": [], "unchanged": []}
|
||||
|
@ -926,7 +944,9 @@ def domain_dns_push(operation_logger, domain, dry_run=False, force=False, purge=
|
|||
|
||||
for record in changes[action]:
|
||||
|
||||
relative_name = record["name"].replace(base_dns_zone, "").rstrip(".") or "@"
|
||||
relative_name = _get_relative_name_for_dns_zone(
|
||||
record["name"], base_dns_zone
|
||||
)
|
||||
progress(
|
||||
f"{action} {record['type']:^5} / {relative_name}"
|
||||
) # FIXME: i18n but meh
|
||||
|
|
|
@ -302,7 +302,23 @@ class MyMigration(Migration):
|
|||
if " bullseye " not in read_file("/etc/apt/sources.list"):
|
||||
tools_update(target="system")
|
||||
upgradable_system_packages = list(_list_upgradable_apt_packages())
|
||||
if upgradable_system_packages:
|
||||
upgradable_system_packages = [
|
||||
package["name"] for package in upgradable_system_packages
|
||||
]
|
||||
upgradable_system_packages = set(upgradable_system_packages)
|
||||
# Lime2 have hold packages to avoid ethernet instability
|
||||
# See https://github.com/YunoHost/arm-images/commit/b4ef8c99554fd1a122a306db7abacc4e2f2942df
|
||||
lime2_hold_packages = set(
|
||||
[
|
||||
"armbian-firmware",
|
||||
"armbian-bsp-cli-lime2",
|
||||
"linux-dtb-current-sunxi",
|
||||
"linux-image-current-sunxi",
|
||||
"linux-u-boot-lime2-current",
|
||||
"linux-image-next-sunxi",
|
||||
]
|
||||
)
|
||||
if upgradable_system_packages - lime2_hold_packages:
|
||||
raise YunohostError("migration_0021_system_not_fully_up_to_date")
|
||||
|
||||
@property
|
||||
|
|
12
src/tools.py
12
src/tools.py
|
@ -73,16 +73,16 @@ def tools_adminpw(new_password, check_strength=True):
|
|||
|
||||
"""
|
||||
from yunohost.user import _hash_user_password
|
||||
from yunohost.utils.password import assert_password_is_strong_enough
|
||||
from yunohost.utils.password import (
|
||||
assert_password_is_strong_enough,
|
||||
assert_password_is_compatible
|
||||
)
|
||||
import spwd
|
||||
|
||||
if check_strength:
|
||||
assert_password_is_strong_enough("admin", new_password)
|
||||
|
||||
# UNIX seems to not like password longer than 127 chars ...
|
||||
# e.g. SSH login gets broken (or even 'su admin' when entering the password)
|
||||
if len(new_password) >= 127:
|
||||
raise YunohostValidationError("admin_password_too_long")
|
||||
assert_password_is_compatible(new_password)
|
||||
|
||||
new_hash = _hash_user_password(new_password)
|
||||
|
||||
|
@ -214,6 +214,8 @@ def tools_postinstall(
|
|||
raise YunohostValidationError("postinstall_low_rootfsspace")
|
||||
|
||||
# Check password
|
||||
assert_password_is_compatible(password)
|
||||
|
||||
if not force_password:
|
||||
assert_password_is_strong_enough("admin", password)
|
||||
|
||||
|
|
16
src/user.py
16
src/user.py
|
@ -144,10 +144,14 @@ def user_create(
|
|||
|
||||
from yunohost.domain import domain_list, _get_maindomain, _assert_domain_exists
|
||||
from yunohost.hook import hook_callback
|
||||
from yunohost.utils.password import assert_password_is_strong_enough
|
||||
from yunohost.utils.password import (
|
||||
assert_password_is_strong_enough,
|
||||
assert_password_is_compatible
|
||||
)
|
||||
from yunohost.utils.ldap import _get_ldap_interface
|
||||
|
||||
# Ensure sufficiently complex password
|
||||
# Ensure compatibility and sufficiently complex password
|
||||
assert_password_is_compatible(password)
|
||||
assert_password_is_strong_enough("user", password)
|
||||
|
||||
# Validate domain used for email address/xmpp account
|
||||
|
@ -366,7 +370,10 @@ def user_update(
|
|||
"""
|
||||
from yunohost.domain import domain_list, _get_maindomain
|
||||
from yunohost.app import app_ssowatconf
|
||||
from yunohost.utils.password import assert_password_is_strong_enough
|
||||
from yunohost.utils.password import (
|
||||
assert_password_is_strong_enough,
|
||||
assert_password_is_compatible
|
||||
)
|
||||
from yunohost.utils.ldap import _get_ldap_interface
|
||||
from yunohost.hook import hook_callback
|
||||
|
||||
|
@ -415,7 +422,8 @@ def user_update(
|
|||
change_password = Moulinette.prompt(
|
||||
m18n.n("ask_password"), is_password=True, confirm=True
|
||||
)
|
||||
# Ensure sufficiently complex password
|
||||
# Ensure compatibility and sufficiently complex password
|
||||
assert_password_is_compatible(password)
|
||||
assert_password_is_strong_enough("user", change_password)
|
||||
|
||||
new_attr_dict["userPassword"] = [_hash_user_password(change_password)]
|
||||
|
|
|
@ -533,7 +533,6 @@ class ConfigPanel:
|
|||
|
||||
def _hydrate(self):
|
||||
# Hydrating config panel with current value
|
||||
logger.debug("Hydrating config with current values")
|
||||
for _, _, option in self._iterate():
|
||||
if option["id"] not in self.values:
|
||||
allowed_empty_types = ["alert", "display_text", "markdown", "file"]
|
||||
|
|
|
@ -302,5 +302,5 @@ def _patch_legacy_helpers(app_folder):
|
|||
if show_warning:
|
||||
# And complain about those damn deprecated helpers
|
||||
logger.error(
|
||||
r"/!\ Packagers ! This app uses a very old deprecated helpers ... Yunohost automatically patched the helpers to use the new recommended practice, but please do consider fixing the upstream code right now ..."
|
||||
r"/!\ Packagers! This app uses very old deprecated helpers... YunoHost automatically patched the helpers to use the new recommended practice, but please do consider fixing the upstream code right now..."
|
||||
)
|
||||
|
|
|
@ -47,7 +47,25 @@ STRENGTH_LEVELS = [
|
|||
]
|
||||
|
||||
|
||||
def assert_password_is_compatible(password):
|
||||
"""
|
||||
UNIX seems to not like password longer than 127 chars ...
|
||||
e.g. SSH login gets broken (or even 'su admin' when entering the password)
|
||||
"""
|
||||
|
||||
if len(password) >= 127:
|
||||
|
||||
# Note that those imports are made here and can't be put
|
||||
# on top (at least not the moulinette ones)
|
||||
# because the moulinette needs to be correctly initialized
|
||||
# as well as modules available in python's path.
|
||||
from yunohost.utils.error import YunohostValidationError
|
||||
|
||||
raise YunohostValidationError("admin_password_too_long")
|
||||
|
||||
|
||||
def assert_password_is_strong_enough(profile, password):
|
||||
|
||||
PasswordValidator(profile).validate(password)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue