From c0e9b3ba8e49441ed1ba5f09a7744bff8e29d606 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Wed, 20 Apr 2022 19:38:22 +0000 Subject: [PATCH 01/47] Upgrade n to v8.2.0 --- helpers/nodejs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/nodejs b/helpers/nodejs index 0b4457b1b..68220c0af 100644 --- a/helpers/nodejs +++ b/helpers/nodejs @@ -1,6 +1,6 @@ #!/bin/bash -n_version=8.0.2 +n_version=8.2.0 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. From 19769d83480c593c34cb750c2e2b4552350a79d5 Mon Sep 17 00:00:00 2001 From: ljf Date: Wed, 27 Apr 2022 14:59:55 +0200 Subject: [PATCH 02/47] [fix] Bad DNS conf suggestion --- src/diagnosers/12-dnsrecords.py | 8 ++++++-- src/dns.py | 30 ++++++++++++++++++------------ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/diagnosers/12-dnsrecords.py b/src/diagnosers/12-dnsrecords.py index 91fcf10fa..caa1c8fdf 100644 --- a/src/diagnosers/12-dnsrecords.py +++ b/src/diagnosers/12-dnsrecords.py @@ -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 diff --git a/src/dns.py b/src/dns.py index 27b60561e..d9108ce05 100644 --- a/src/dns.py +++ b/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,17 @@ 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 +488,15 @@ 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): + return re.sub("\.?" + base_dns_zone.replace(".", "\.") + "$", "", domain.strip(".")) or "@" + + def _get_registrar_config_section(domain): from lexicon.providers.auto import _relevant_provider_for_domain @@ -837,14 +847,10 @@ 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 +883,7 @@ 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 +932,7 @@ 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 From 9c804d1ca2b7b09f10897cde8dacaede1d00664f Mon Sep 17 00:00:00 2001 From: tituspijean Date: Thu, 28 Apr 2022 21:39:23 +0200 Subject: [PATCH 03/47] Update n checksum with autoupdater --- .github/workflows/n_updater.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/n_updater.sh b/.github/workflows/n_updater.sh index 0ea226888..1dc3531a1 100644 --- a/.github/workflows/n_updater.sh +++ b/.github/workflows/n_updater.sh @@ -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 From d05f192a4f4d5b511577213302e541d7c62fb0dc Mon Sep 17 00:00:00 2001 From: tituspijean Date: Thu, 28 Apr 2022 21:42:19 +0200 Subject: [PATCH 04/47] Update n checksum with autoupdater --- .github/workflows/n_updater.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/n_updater.sh b/.github/workflows/n_updater.sh index 1dc3531a1..a8b0b0eec 100644 --- a/.github/workflows/n_updater.sh +++ b/.github/workflows/n_updater.sh @@ -71,7 +71,7 @@ echo "Calculated checksum for n v${version} is $checksum" 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 +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 From 437c9670983cd3ff4c5b9d656fb5b733fd8b0e1f Mon Sep 17 00:00:00 2001 From: tituspijean Date: Thu, 28 Apr 2022 21:42:46 +0200 Subject: [PATCH 05/47] Update nodejs helper for autoupdater --- helpers/nodejs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helpers/nodejs b/helpers/nodejs index 68220c0af..42c25e51f 100644 --- a/helpers/nodejs +++ b/helpers/nodejs @@ -1,6 +1,7 @@ #!/bin/bash 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 From 76661a3e6c9344f8cedd0b751742228576fb278c Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Fri, 6 May 2022 15:31:12 +0200 Subject: [PATCH 06/47] Add comment Co-authored-by: Alexandre Aubin --- src/dns.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/dns.py b/src/dns.py index d9108ce05..89d76f5f1 100644 --- a/src/dns.py +++ b/src/dns.py @@ -494,6 +494,12 @@ def _get_dns_zone_for_domain(domain): 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("\.?" + base_dns_zone.replace(".", "\.") + "$", "", domain.strip(".")) or "@" From 6f5bb03b2d095e701937ec2239d77cdd41c30744 Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Fri, 6 May 2022 15:36:28 +0200 Subject: [PATCH 07/47] [fix] depreciation warning about unicode Co-authored-by: Alexandre Aubin --- src/dns.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dns.py b/src/dns.py index 89d76f5f1..0bee3d639 100644 --- a/src/dns.py +++ b/src/dns.py @@ -500,7 +500,7 @@ def _get_relative_name_for_dns_zone(domain, base_dns_zone): # foo.example.tld -> foo # .foo.example.tld -> foo # bar.foo.example.tld -> bar.foo - return re.sub("\.?" + base_dns_zone.replace(".", "\.") + "$", "", domain.strip(".")) or "@" + return re.sub(r"\.?" + base_dns_zone.replace(".", r"\.") + "$", "", domain.strip(".")) or "@" def _get_registrar_config_section(domain): From ea5bfd1693b004ac29c6ab3175ce920f195cb1d2 Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Fri, 6 May 2022 16:25:54 +0200 Subject: [PATCH 08/47] [fix] Allow lime2 to upgrade even if kernel is hold (#1452) * [fix] Allow lime2 to upgrade even if kernel is hold * [fix] Bad set operation --- src/migrations/0021_migrate_to_bullseye.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index 551a6f64b..38454542b 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -302,7 +302,19 @@ 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 From 158dc7ae14dcb937695f43b96cccfdf5b67c6965 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Fri, 6 May 2022 14:40:24 +0000 Subject: [PATCH 09/47] [CI] Format code with Black --- src/migrations/0021_migrate_to_bullseye.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/migrations/0021_migrate_to_bullseye.py b/src/migrations/0021_migrate_to_bullseye.py index 38454542b..72dab1c4d 100644 --- a/src/migrations/0021_migrate_to_bullseye.py +++ b/src/migrations/0021_migrate_to_bullseye.py @@ -302,18 +302,22 @@ 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()) - upgradable_system_packages = [package["name"] for package in 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" - ]) + 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") From 106e1fa80145d777a63ca1ed2d29d134edd8c2f7 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Mon, 9 May 2022 19:50:58 +0200 Subject: [PATCH 10/47] ynh_add_config template --- helpers/utils | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helpers/utils b/helpers/utils index 8ae68fad5..60cbedb5c 100644 --- a/helpers/utils +++ b/helpers/utils @@ -311,8 +311,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 From b32bc3a03431ea81fdeec51c0b8dd43f88ece049 Mon Sep 17 00:00:00 2001 From: Keoma Brun Date: Sun, 15 May 2022 18:33:44 +0200 Subject: [PATCH 11/47] Content Security Policies Report and Websockets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the `wss:` field so that Nginx does not create warning when using Websocket over TLS. This modification only affects the `Report-Only` part of the CSP, that takes care of creating warnings in the logs. Warning ex (fr only sorry): ``` Content Security Policy: Les paramètres de la page ont empêché le chargement d’une ressource à wss://your.website.tld (« default-src »). Un rapport CSP est en cours d’envoi. ``` --- conf/nginx/security.conf.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx/security.conf.inc b/conf/nginx/security.conf.inc index 8eb8c8ae2..a35bb566e 100644 --- a/conf/nginx/security.conf.inc +++ b/conf/nginx/security.conf.inc @@ -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"; From 866d3dbd07fdababf8712d99fbb5b29a008c3e61 Mon Sep 17 00:00:00 2001 From: ppr Date: Fri, 29 Apr 2022 13:16:32 +0000 Subject: [PATCH 12/47] Translated using Weblate (French) Currently translated at 99.8% (685 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/fr/ --- locales/fr.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/fr.json b/locales/fr.json index 833d9554b..2773d0bee 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -210,7 +210,7 @@ "restore_system_part_failed": "Impossible de restaurer la partie '{part}' du système", "backup_couldnt_bind": "Impossible de lier {src} avec {dest}.", "domain_dns_conf_is_just_a_recommendation": "Cette commande vous montre la configuration *recommandée*. Elle ne configure pas le DNS pour vous. Il est de votre ressort de configurer votre zone DNS chez votre registrar/fournisseur conformément à cette recommandation.", - "migrations_loading_migration": "Chargement de la migration {id}...", + "migrations_loading_migration": "Chargement de la migration {id} ...", "migrations_migration_has_failed": "La migration {id} a échoué avec l'exception {exception} : annulation", "migrations_no_migrations_to_run": "Aucune migration à lancer", "migrations_skip_migration": "Ignorer et passer la migration {id}...", @@ -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.", @@ -685,4 +685,4 @@ "tools_upgrade_failed": "Impossible de mettre à jour les paquets : {packages_list}", "migration_0023_not_enough_space": "Prévoyez suffisamment d'espace disponible dans {path} pour exécuter la migration.", "migration_0023_postgresql_11_not_installed": "PostgreSQL n'a pas été installé sur votre système. Il n'y a rien à faire." -} \ No newline at end of file +} From 660c77d0d51179b11d8b4f25579ffd0ee1b8723f Mon Sep 17 00:00:00 2001 From: Ilya Date: Tue, 10 May 2022 21:27:17 +0000 Subject: [PATCH 13/47] Translated using Weblate (Russian) Currently translated at 32.0% (220 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/ru/ --- locales/ru.json | 64 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/locales/ru.json b/locales/ru.json index 9c857f7a6..cc78caebd 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -32,7 +32,7 @@ "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 символов и содержать цифры, заглавные и строчные буквы и специальные символы", "upnp_enabled": "UPnP включен", @@ -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,50 @@ "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": "В хранилище {mountpoint} (на устройстве {device}) осталось {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}" -} \ No newline at end of file + "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": "Хранилище {mountpoint} (на устройстве {device}) имеет еще {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-записей, обратитесь к документации на сайте https://yunohost.org/dns_config.", + "diagnosis_domain_expiration_error": "Срок действия некоторых доменов истекает ОЧЕНЬ СКОРО!", + "diagnosis_failed": "Не удалось получить результат диагностики для категории '{category}': {error}", + "domain_created": "Домен создан", + "diagnosis_backports_in_sources_list": "Похоже, что apt (менеджер пакетов) настроен на использование репозитория backports. Если вы не знаете, что делаете, мы настоятельно не рекомендуем устанавливать пакеты из backports, потому что это может привести к нестабильности или конфликтам в вашей системе." +} From af343ed6cee0abb8567d21d5a71ced7871a04297 Mon Sep 17 00:00:00 2001 From: Ilya Date: Thu, 12 May 2022 22:06:42 +0000 Subject: [PATCH 14/47] Translated using Weblate (Russian) Currently translated at 48.9% (336 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/ru/ --- locales/ru.json | 122 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 119 insertions(+), 3 deletions(-) diff --git a/locales/ru.json b/locales/ru.json index cc78caebd..1546c4d6e 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -34,7 +34,7 @@ "backup_applying_method_copy": "Копирование всех файлов в резервную копию...", "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 уже установлен", @@ -218,5 +218,121 @@ "diagnosis_domain_expiration_error": "Срок действия некоторых доменов истекает ОЧЕНЬ СКОРО!", "diagnosis_failed": "Не удалось получить результат диагностики для категории '{category}': {error}", "domain_created": "Домен создан", - "diagnosis_backports_in_sources_list": "Похоже, что apt (менеджер пакетов) настроен на использование репозитория backports. Если вы не знаете, что делаете, мы настоятельно не рекомендуем устанавливать пакеты из backports, потому что это может привести к нестабильности или конфликтам в вашей системе." + "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": "Пожалуйста, выполните yunohost settings set security.ssh.port -v YOUR_SSH_PORT, чтобы определить порт SSH, и проверьте yunohost tools regen-conf ssh --dry-run --with-diff и yunohost tools regen-conf ssh --force, чтобы сбросить ваш 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}" } From 4155aa748637d5ee83aaab1442f667b5da9ce115 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 16 May 2022 14:13:45 +0000 Subject: [PATCH 15/47] [CI] Format code with Black --- src/diagnosers/12-dnsrecords.py | 2 +- src/dns.py | 22 +++++++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/diagnosers/12-dnsrecords.py b/src/diagnosers/12-dnsrecords.py index caa1c8fdf..4d30bb1a7 100644 --- a/src/diagnosers/12-dnsrecords.py +++ b/src/diagnosers/12-dnsrecords.py @@ -20,7 +20,7 @@ from yunohost.domain import domain_list, _get_maindomain from yunohost.dns import ( _build_dns_conf, _get_dns_zone_for_domain, - _get_relative_name_for_dns_zone + _get_relative_name_for_dns_zone, ) logger = log.getActionLogger("yunohost.diagnosis") diff --git a/src/dns.py b/src/dns.py index 0bee3d639..c8bebed41 100644 --- a/src/dns.py +++ b/src/dns.py @@ -475,7 +475,9 @@ def _get_dns_zone_for_domain(domain): 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") + answer = dig( + parent, rdtype="SOA", full_answers=True, resolvers="force_external" + ) if answer[0] == "ok": mkdir(cache_folder, parents=True, force=True) @@ -500,7 +502,10 @@ def _get_relative_name_for_dns_zone(domain, base_dns_zone): # 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 "@" + return ( + re.sub(r"\.?" + base_dns_zone.replace(".", r"\.") + "$", "", domain.strip(".")) + or "@" + ) def _get_registrar_config_section(domain): @@ -853,10 +858,9 @@ def domain_dns_push(operation_logger, domain, dry_run=False, force=False, purge= for record in current: changes["delete"].append(record) - def human_readable_record(action, record): - name = (record["name"]) - name = _get_relative_name_for_dns_zone(record['name'], base_dns_zone) + name = record["name"] + name = _get_relative_name_for_dns_zone(record["name"], base_dns_zone) name = name[:20] t = record["type"] @@ -889,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"] = _get_relative_name_for_dns_zone(record["name"], base_dns_zone) + record["name"] = _get_relative_name_for_dns_zone( + record["name"], base_dns_zone + ) return changes else: out = {"delete": [], "create": [], "update": [], "unchanged": []} @@ -938,7 +944,9 @@ def domain_dns_push(operation_logger, domain, dry_run=False, force=False, purge= for record in changes[action]: - relative_name = _get_relative_name_for_dns_zone(record['name'], base_dns_zone) + 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 From 8a0a33a0de8846d478675acbd3d7a0ba1bbb065b Mon Sep 17 00:00:00 2001 From: tituspijean Date: Tue, 17 May 2022 23:26:18 +0200 Subject: [PATCH 16/47] Update changelog for 11.0.7 --- debian/changelog | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/debian/changelog b/debian/changelog index fc43389f4..6a945f739 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 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)) From 19ed83100d1900cccb25dba72bda20156f0ba3c9 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 29 May 2022 14:50:00 +0200 Subject: [PATCH 17/47] better example --- helpers/user | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/user b/helpers/user index aecbd740e..1d7cc95d9 100644 --- a/helpers/user +++ b/helpers/user @@ -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() { From 638a3e8b1caea998c2f0628f758f7f76571b062e Mon Sep 17 00:00:00 2001 From: tituspijean Date: Thu, 2 Jun 2022 13:33:28 +0200 Subject: [PATCH 18/47] Escape username for ynh_user_exists --- helpers/user | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/user b/helpers/user index 1d7cc95d9..f5f3ec7bd 100644 --- a/helpers/user +++ b/helpers/user @@ -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 From 745aae208bc291f994138cb0d89a8eb25864ded3 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Sun, 12 Jun 2022 22:53:24 +0200 Subject: [PATCH 19/47] Fix typo (indefinite article in plural) --- src/utils/legacy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/legacy.py b/src/utils/legacy.py index 85898f28d..e6e1e8815 100644 --- a/src/utils/legacy.py +++ b/src/utils/legacy.py @@ -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 ..." ) From ea0c8e916298ee291d155e716552ff3f628487f2 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Tue, 21 Jun 2022 23:30:31 +0200 Subject: [PATCH 20/47] Typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Éric Gaspar <46165813+ericgaspar@users.noreply.github.com> --- src/utils/legacy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/legacy.py b/src/utils/legacy.py index e6e1e8815..5e5d15fe8 100644 --- a/src/utils/legacy.py +++ b/src/utils/legacy.py @@ -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 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..." ) From 60883773f6f8d238e4a856b67fa48bd990808d86 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 23 May 2022 20:11:31 +0000 Subject: [PATCH 21/47] Added translation using Weblate (Slovak) --- locales/sk.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 locales/sk.json diff --git a/locales/sk.json b/locales/sk.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/locales/sk.json @@ -0,0 +1 @@ +{} From fe0b3203973676a6c7fa0a12c1b812efcd4fa316 Mon Sep 17 00:00:00 2001 From: Weblate Date: Mon, 6 Jun 2022 21:18:54 +0000 Subject: [PATCH 22/47] Added translation using Weblate (Telugu) --- locales/te.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 locales/te.json diff --git a/locales/te.json b/locales/te.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/locales/te.json @@ -0,0 +1 @@ +{} From 921b4d9b7798f16c4f3b51608fd4eb68153be65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= Date: Fri, 10 Jun 2022 14:24:13 +0000 Subject: [PATCH 23/47] Translated using Weblate (Telugu) Currently translated at 0.1% (1 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/te/ --- locales/te.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/locales/te.json b/locales/te.json index 0967ef424..0c7366740 100644 --- a/locales/te.json +++ b/locales/te.json @@ -1 +1,3 @@ -{} +{ + "aborting": "రద్దు చేస్తోంది." +} From 206401855a2fbb83956344b1684045d960ac7aac Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Sun, 12 Jun 2022 01:08:59 +0000 Subject: [PATCH 24/47] Translated using Weblate (Telugu) Currently translated at 2.3% (16 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/te/ --- locales/te.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/locales/te.json b/locales/te.json index 0c7366740..fa6ac91c8 100644 --- a/locales/te.json +++ b/locales/te.json @@ -1,3 +1,18 @@ { - "aborting": "రద్దు చేస్తోంది." + "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}'ని పార్సింగ్ చేసేటప్పుడు దోషం: భద్రతా కారణం కొరకు పాస్వర్డ్ ఆర్గ్యుమెంట్ డిఫాల్ట్ విలువను కలిగి ఉండరాదు" } From ae996b80f8246b10864750990041e0b0768ee115 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Tue, 21 Jun 2022 10:28:05 +0000 Subject: [PATCH 25/47] Translated using Weblate (Slovak) Currently translated at 2.9% (20 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 0967ef424..481c77e42 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -1 +1,22 @@ -{} +{ + "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" +} From ab4cb2c29dced1a9e18b146cd51c469d1aaa7950 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Thu, 23 Jun 2022 09:09:33 +0000 Subject: [PATCH 26/47] Translated using Weblate (Slovak) Currently translated at 9.7% (67 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 481c77e42..070d21e14 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -18,5 +18,52 @@ "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_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}" } From 5e69c670bb1cce0a19ef699caf947365e5c30d27 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Thu, 23 Jun 2022 13:07:34 +0000 Subject: [PATCH 27/47] Translated using Weblate (Slovak) Currently translated at 11.9% (82 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 070d21e14..d127287ef 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -65,5 +65,20 @@ "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}" + "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…" } From bf181aaa90bcfaa37ba3c685cdae2180a0cfe2cf Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Thu, 23 Jun 2022 13:11:58 +0000 Subject: [PATCH 28/47] Translated using Weblate (Slovak) Currently translated at 12.0% (83 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index d127287ef..72eba75c5 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -80,5 +80,6 @@ "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_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" } From 83d0fd421cc7765d7fa1797bf1b5e63d4e7bfd40 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Thu, 23 Jun 2022 13:13:09 +0000 Subject: [PATCH 29/47] Translated using Weblate (Slovak) Currently translated at 12.2% (84 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 72eba75c5..66e08134f 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -81,5 +81,6 @@ "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_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})" } From 5067be6bb746198d6caaa7c636e88718806d2d33 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Fri, 24 Jun 2022 20:14:37 +0000 Subject: [PATCH 30/47] Translated using Weblate (Slovak) Currently translated at 19.6% (135 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 66e08134f..ca7783473 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -82,5 +82,56 @@ "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_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.)" } From 686c372baf2210f4e9d38bcb8e0aae6856a05c55 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Mon, 27 Jun 2022 13:35:17 +0000 Subject: [PATCH 31/47] Translated using Weblate (Slovak) Currently translated at 20.8% (143 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index ca7783473..9185f9331 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -133,5 +133,13 @@ "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_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." } From 576e8e16b590e3d23f9f2948194d403645dc3195 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Thu, 30 Jun 2022 21:49:02 +0000 Subject: [PATCH 32/47] Translated using Weblate (Slovak) Currently translated at 22.4% (154 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 9185f9331..04daf20a9 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -141,5 +141,16 @@ "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." + "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 aplikácia nebude fungovať alebo rozbije Váš systém… Ak sa rozhodnete i napriek tomu podstúpiť toto riziko, zadajte '{answers}'" } From fdca9e1041822ad0840fc98727f90543dca4f986 Mon Sep 17 00:00:00 2001 From: ljf Date: Sat, 16 Jul 2022 01:12:54 +0200 Subject: [PATCH 33/47] [fix] Be able to redo postinstall after 128+ chars password --- src/tools.py | 9 ++++----- src/user.py | 6 ++++-- src/utils/password.py | 18 ++++++++++++++++++ 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/tools.py b/src/tools.py index bb7ded03a..32be88c94 100644 --- a/src/tools.py +++ b/src/tools.py @@ -50,7 +50,7 @@ from yunohost.utils.packages import ( _list_upgradable_apt_packages, ynh_packages_version, ) -from yunohost.utils.error import YunohostError, YunohostValidationError +from yunohost.utils.error import yunohosterror, yunohostvalidationerror from yunohost.log import is_unit_operation, OperationLogger MIGRATIONS_STATE_PATH = "/etc/yunohost/migrations.yaml" @@ -77,10 +77,7 @@ def tools_adminpw(new_password, check_strength=True): 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) @@ -226,6 +223,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) diff --git a/src/user.py b/src/user.py index 7d023fd83..4549a1c0f 100644 --- a/src/user.py +++ b/src/user.py @@ -146,7 +146,8 @@ def user_create( from yunohost.utils.password import assert_password_is_strong_enough 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 @@ -414,7 +415,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)] diff --git a/src/utils/password.py b/src/utils/password.py index 5b8372962..a38bc4e23 100644 --- a/src/utils/password.py +++ b/src/utils/password.py @@ -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) From d63caa7776e1e87d558bc8c26f97470d00f289eb Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 22 Jul 2022 19:30:44 +0200 Subject: [PATCH 34/47] Fixing app without arguments --- helpers/apps | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/helpers/apps b/helpers/apps index 0faad863c..85b74de15 100644 --- a/helpers/apps +++ b/helpers/apps @@ -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 From 30e926f92c9fcfa113f96bcfb08e31850df10459 Mon Sep 17 00:00:00 2001 From: Kay0u Date: Mon, 25 Jul 2022 12:03:05 +0200 Subject: [PATCH 35/47] do not change the nginx template conf, replace #sub_path_only and #root_path_only after ynh_add_config, otherwise it breaks the change_url script --- helpers/nginx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/helpers/nginx b/helpers/nginx index e69e06bf1..6daf6cc1e 100644 --- a/helpers/nginx +++ b/helpers/nginx @@ -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 } From ddcc114d0c7fd092a4eaa4ec1a7ea120213f6ebd Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Sat, 2 Jul 2022 09:54:47 +0000 Subject: [PATCH 36/47] Translated using Weblate (Slovak) Currently translated at 27.1% (186 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 04daf20a9..766edffcd 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -152,5 +152,37 @@ "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 aplikácia nebude fungovať alebo rozbije Váš systém… Ak sa rozhodnete i napriek tomu podstúpiť toto riziko, zadajte '{answers}'" + "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 {mountpoint} (na zariadení {device}) 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 {mountpoint} (na zariadení {device}) ostáva iba {free} ({free_percent} %) voľného miesta (z celkovej veľkosti {total}). Dávajte pozor.", + "diagnosis_diskusage_verylow": "Na úložisku {mountpoint} (na zariadení {device}) 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." } From 1cf7c72721942ca69b4c6accb9189f60fe63b29d Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Sun, 3 Jul 2022 08:52:14 +0000 Subject: [PATCH 37/47] Translated using Weblate (Slovak) Currently translated at 29.3% (201 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/locales/sk.json b/locales/sk.json index 766edffcd..d7119b297 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -184,5 +184,20 @@ "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 {mountpoint} (na zariadení {device}) ostáva iba {free} ({free_percent} %) voľného miesta (z celkovej veľkosti {total}). Dávajte pozor.", "diagnosis_diskusage_verylow": "Na úložisku {mountpoint} (na zariadení {device}) 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_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 backports repozitára. 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 od ich používania odradiť.", + "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:
Typ:{type}
Názov:{name}
Aktuálna hodnota: {current}
Očakávaná hodnota: {value}", + "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.
Typ: {type}
Názov: {name}
Hodnota: {value}", + "diagnosis_dns_point_to_doc": "Prosím, pozrite si dokumentáciu na https://yunohost.org/dns_config, 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 yunohost dyndns update --force." } From 898091d2100dab435afafa53929f351a327177f7 Mon Sep 17 00:00:00 2001 From: Jose Riha Date: Tue, 5 Jul 2022 20:39:46 +0000 Subject: [PATCH 38/47] Translated using Weblate (Slovak) Currently translated at 31.0% (213 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/sk/ --- locales/sk.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/locales/sk.json b/locales/sk.json index d7119b297..ac9d565bc 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -185,7 +185,7 @@ "diagnosis_diskusage_low": "Na úložisku {mountpoint} (na zariadení {device}) ostáva iba {free} ({free_percent} %) voľného miesta (z celkovej veľkosti {total}). Dávajte pozor.", "diagnosis_diskusage_verylow": "Na úložisku {mountpoint} (na zariadení {device}) 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 backports repozitára. 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 od ich používania odradiť.", + "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:
Typ:{type}
Názov:{name}
Aktuálna hodnota: {current}
Očakávaná hodnota: {value}", @@ -199,5 +199,17 @@ "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 yunohost dyndns update --force." + "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 yunohost dyndns update --force.", + "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." } From f6cb2075f08169e309f8d6f8fe378de4f4ee0099 Mon Sep 17 00:00:00 2001 From: Gregor Date: Thu, 21 Jul 2022 23:13:58 +0000 Subject: [PATCH 39/47] Translated using Weblate (German) Currently translated at 100.0% (686 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/de/ --- locales/de.json | 74 ++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/locales/de.json b/locales/de.json index 686eb9251..23d1f1c28 100644 --- a/locales/de.json +++ b/locales/de.json @@ -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: {local}", "diagnosis_ip_global": "Globale IP: {global}", - "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: https://yunohost.org/#/ipv6. 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: https://yunohost.org/#/ipv6. 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, den Dienst neu zu starten, und wenn das nicht funktioniert, schaue dir die (Dienst-)Logs in der Verwaltung an (In der Kommandozeile kannst du dies mit yunohost service restart {service} und yunohost service log {service} tun).", "diagnosis_services_bad_status": "Der Dienst {service} ist {status} :(", "diagnosis_diskusage_verylow": "Der Speicher {mountpoint} (auf Gerät {device}) hat nur noch {free} ({free_percent}%) freien Speicherplatz (von ingesamt {total}). Du solltest ernsthaft in Betracht ziehen, etwas Seicherplatz frei zu machen!", @@ -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_to_fix}", + "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_to_fix}", "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 https://yunohost.org/dns_local_network 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.
1. Der häufigste Grund hierfür ist, dass Port 80 (und 443) nicht korrekt zu deinem Server weiterleiten.
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 yunohost tools regen-conf nginx --dry-run --with-diff ein. Dieses Tool zeigt dir den Unterschied an. Wenn du damit einverstanden bist, kannst du mit yunohost tools regen-conf nginx --force 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 ' 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 ' hinzufügen, dann als Hauptdomäne mit 'yunohost domain main-domain -n ' 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 yunohost settings set security.ssh.port -v YOUR_SSH_PORT aus, um den SSH-Port festzulegen, und prüfe yunohost tools regen-conf ssh --dry-run --with-diff und yunohost tools regen-conf ssh --force 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 ' 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.", @@ -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." } From b195cf50adafe9c324b2b063ad3acb48c18e8118 Mon Sep 17 00:00:00 2001 From: Valentin von Guttenberg Date: Thu, 21 Jul 2022 22:49:51 +0000 Subject: [PATCH 40/47] Translated using Weblate (German) Currently translated at 100.0% (686 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/de/ --- locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/de.json b/locales/de.json index 23d1f1c28..84ac50281 100644 --- a/locales/de.json +++ b/locales/de.json @@ -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.", From d868d290c1633b7d4243ebb0cf7e1f56995dfd36 Mon Sep 17 00:00:00 2001 From: Meta Meta Date: Thu, 21 Jul 2022 22:43:18 +0000 Subject: [PATCH 41/47] Translated using Weblate (German) Currently translated at 100.0% (686 of 686 strings) Translation: YunoHost/core Translate-URL: https://translate.yunohost.org/projects/yunohost/core/de/ --- locales/de.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/locales/de.json b/locales/de.json index 84ac50281..4aa75270b 100644 --- a/locales/de.json +++ b/locales/de.json @@ -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 {mountpoint} (auf Gerät {device}) 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.
1. Das häufigste Problem ist, dass der Port 25 nicht richtig zu deinem Server weitergeleitet ist.
2. Du solltest auch sicherstellen, dass der Postfix-Dienst läuft.
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.", From fdaf9fc0987914769d1557ed8d4d4f74e5255aca Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Wed, 3 Aug 2022 14:51:00 +0200 Subject: [PATCH 42/47] [fix] Import assert_password_is_compatible --- src/tools.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/tools.py b/src/tools.py index 32be88c94..1900b3fc9 100644 --- a/src/tools.py +++ b/src/tools.py @@ -71,7 +71,10 @@ 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: From f705d81e1786fdea47c2fdd85cc99373b560c57d Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Wed, 3 Aug 2022 14:51:19 +0200 Subject: [PATCH 43/47] [fix] Bad importation --- src/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools.py b/src/tools.py index 1900b3fc9..aa344c77c 100644 --- a/src/tools.py +++ b/src/tools.py @@ -50,7 +50,7 @@ from yunohost.utils.packages import ( _list_upgradable_apt_packages, ynh_packages_version, ) -from yunohost.utils.error import yunohosterror, yunohostvalidationerror +from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.log import is_unit_operation, OperationLogger MIGRATIONS_STATE_PATH = "/etc/yunohost/migrations.yaml" From 6d8a18e71b43c8560df3cd98e1dbec948fd1f6b9 Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Wed, 3 Aug 2022 14:52:17 +0200 Subject: [PATCH 44/47] [fix] Missing import --- src/user.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/user.py b/src/user.py index 4549a1c0f..ca7e525a7 100644 --- a/src/user.py +++ b/src/user.py @@ -143,7 +143,10 @@ 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 compatibility and sufficiently complex password From 7c28edd255efdd2647f6f4014716044903ac7d4a Mon Sep 17 00:00:00 2001 From: "ljf (zamentur)" Date: Wed, 3 Aug 2022 14:53:56 +0200 Subject: [PATCH 45/47] [fix] Missing import --- src/user.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/user.py b/src/user.py index ca7e525a7..a9fb442fc 100644 --- a/src/user.py +++ b/src/user.py @@ -369,7 +369,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 From f6cd35d94b9b4c5b322e89da0d455eaf9e5525b2 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 3 Aug 2022 15:03:09 +0200 Subject: [PATCH 46/47] configpanels: remove debug message because it floods the regenconf logs --- src/utils/config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/config.py b/src/utils/config.py index 56f632b09..50470a56c 100644 --- a/src/utils/config.py +++ b/src/utils/config.py @@ -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"] From 9d39a2c0b46e62fd998c7ff2df9f9a560e467c4e Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Wed, 3 Aug 2022 16:09:47 +0200 Subject: [PATCH 47/47] regenconf dhclient/resolvconf: fix weird typo, probably meant 'search' (like in our rpi-image tweaking) --- hooks/conf_regen/43-dnsmasq | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hooks/conf_regen/43-dnsmasq b/hooks/conf_regen/43-dnsmasq index ec53d75bc..9aca18031 100755 --- a/hooks/conf_regen/43-dnsmasq +++ b/hooks/conf_regen/43-dnsmasq @@ -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