diff --git a/helpers/apps b/helpers/apps index 7a93298c0..81a5717eb 100644 --- a/helpers/apps +++ b/helpers/apps @@ -196,6 +196,15 @@ ynh_spawn_app_shell() { set +a fi + # Activate the Python environment, if it exists + if [ -f $install_dir/venv/bin/activate ] + then + # set -/+a enables and disables new variables being automatically exported. Needed when using `source`. + set -a + source $install_dir/venv/bin/activate + set +a + fi + # cd into the WorkingDirectory set in the service, or default to the install_dir local env_dir=$(systemctl show $service.service -p "WorkingDirectory" --value) [ -z $env_dir ] && env_dir=$install_dir; diff --git a/helpers/utils b/helpers/utils index dbcfbeb8b..aa463c871 100644 --- a/helpers/utils +++ b/helpers/utils @@ -248,7 +248,7 @@ ynh_setup_source() { if test -e "$local_src"; then cp $local_src $src_filename fi - + [ -n "$src_url" ] || ynh_die "Couldn't parse SOURCE_URL from $src_file_path ?" # If the file was prefetched but somehow doesn't match the sum, rm and redownload it @@ -611,6 +611,7 @@ ynh_replace_vars() { # usage: ynh_read_var_in_file --file=PATH --key=KEY # | arg: -f, --file= - the path to the file # | arg: -k, --key= - the key to get +# | arg: -a, --after= - the line just before the key (in case of multiple lines with the name of the key in the file) # # This helpers match several var affectation use case in several languages # We don't use jq or equivalent to keep comments and blank space in files @@ -714,6 +715,7 @@ ynh_read_var_in_file() { # | arg: -f, --file= - the path to the file # | arg: -k, --key= - the key to set # | arg: -v, --value= - the value to set +# | arg: -a, --after= - the line just before the key (in case of multiple lines with the name of the key in the file) # # Requires YunoHost version 4.3 or higher. ynh_write_var_in_file() { @@ -988,15 +990,11 @@ ynh_app_package_version() { # This helper should be used to avoid an upgrade of an app, or the upstream part # of it, when it's not needed # -# You can force an upgrade, even if the package is up to date, with the `--force` (or `-F`) argument : -# ``` -# sudo yunohost app upgrade --force -# ``` # Requires YunoHost version 3.5.0 or higher. ynh_check_app_version_changed() { local return_value=${YNH_APP_UPGRADE_TYPE} - if [ "$return_value" == "UPGRADE_FULL" ] || [ "$return_value" == "UPGRADE_FORCED" ] || [ "$return_value" == "DOWNGRADE_FORCED" ]; then + if [ "$return_value" == "UPGRADE_SAME" ] || [ "$return_value" == "DOWNGRADE" ]; then return_value="UPGRADE_APP" fi diff --git a/locales/ar.json b/locales/ar.json index 2d3e1381e..38912ca85 100644 --- a/locales/ar.json +++ b/locales/ar.json @@ -39,7 +39,6 @@ "done": "تم", "downloading": "عملية التنزيل جارية …", "dyndns_ip_updated": "لقد تم تحديث عنوان الإيبي الخاص بك على نظام أسماء النطاقات الديناميكي", - "dyndns_key_generating": "جارٍ إنشاء مفتاح DNS ... قد يستغرق الأمر بعض الوقت.", "dyndns_key_not_found": "لم يتم العثور على مفتاح DNS الخاص باسم النطاق هذا", "extracting": "عملية فك الضغط جارية…", "installation_complete": "إكتملت عملية التنصيب", @@ -257,5 +256,8 @@ "diagnosis_ip_dnsresolution_working": "تحليل اسم النطاق يعمل!", "diagnosis_mail_blacklist_listed_by": "إن عنوان الـ IP الخاص بك أو نطاقك {item} مُدرَج ضمن قائمة سوداء على {blacklist_name}", "diagnosis_mail_outgoing_port_25_ok": "خادم بريد SMTP قادر على إرسال رسائل البريد الإلكتروني (منفذ البريد الصادر 25 غير محظور).", - "user_already_exists": "المستخدم '{user}' موجود مِن قَبل" -} \ No newline at end of file + "user_already_exists": "المستخدم '{user}' موجود مِن قَبل", + "backup_archive_name_unknown": "أرشيف نسخ احتياطي محلي غير معروف باسم '{name}'", + "custom_app_url_required": "يجب عليك تقديم عنوان URL لتحديث تطبيقك المخصص {app}", + "backup_copying_to_organize_the_archive": "نسخ {size} ميغا بايت لتنظيم الأرشيف" +} diff --git a/locales/ca.json b/locales/ca.json index ea9b74015..b21382614 100644 --- a/locales/ca.json +++ b/locales/ca.json @@ -119,7 +119,6 @@ "app_action_cannot_be_ran_because_required_services_down": "Aquests serveis necessaris haurien d'estar funcionant per poder executar aquesta acció: {services} Intenteu reiniciar-los per continuar (i possiblement investigar perquè estan aturats).", "domain_dns_conf_is_just_a_recommendation": "Aquesta ordre mostra la configuració *recomanada*. En cap cas fa la configuració del DNS. És la vostra responsabilitat configurar la zona DNS en el vostre registrar en acord amb aquesta recomanació.", "domain_dyndns_already_subscribed": "Ja us heu subscrit a un domini DynDNS", - "domain_dyndns_root_unknown": "Domini DynDNS principal desconegut", "domain_hostname_failed": "No s'ha pogut establir un nou nom d'amfitrió. Això podria causar problemes més tard (podria no passar res).", "domain_uninstall_app_first": "Aquestes aplicacions encara estan instal·lades en el vostre domini:\n{apps}\n\nDesinstal·leu-les utilitzant l'ordre «yunohost app remove id_de_lapplicació» o moveu-les a un altre domini amb «yunohost app change-url id_de_lapplicació» abans d'eliminar el domini", "domains_available": "Dominis disponibles:", @@ -128,11 +127,8 @@ "dyndns_could_not_check_available": "No s'ha pogut verificar la disponibilitat de {domain} a {provider}.", "dyndns_ip_update_failed": "No s'ha pogut actualitzar l'adreça IP al DynDNS", "dyndns_ip_updated": "S'ha actualitzat l'adreça IP al DynDNS", - "dyndns_key_generating": "S'està generant la clau DNS... això pot trigar una estona.", "dyndns_key_not_found": "No s'ha trobat la clau DNS pel domini", "dyndns_no_domain_registered": "No hi ha cap domini registrat amb DynDNS", - "dyndns_registered": "S'ha registrat el domini DynDNS", - "dyndns_registration_failed": "No s'ha pogut registrar el domini DynDNS: {error}", "dyndns_domain_not_provided": "El proveïdor de DynDNS {provider} no pot oferir el domini {domain}.", "dyndns_unavailable": "El domini {domain} no està disponible.", "extracting": "Extracció en curs...", @@ -549,4 +545,4 @@ "global_settings_setting_ssh_compatibility_help": "Solució de compromís entre compatibilitat i seguretat pel servidor SSH. Afecta els criptògrafs (i altres aspectes relacionats amb la seguretat). Visita https://infosec.mozilla.org/guidelines/openssh (anglés) per mes informació.", "global_settings_setting_smtp_allow_ipv6_help": "Permet l'ús de IPv6 per rebre i enviar correus electrònics", "global_settings_setting_smtp_relay_enabled_help": "L'amfitrió de tramesa SMTP que s'ha d'utilitzar per enviar correus electrònics en lloc d'aquesta instància de YunoHost. És útil si esteu en una de les següents situacions: el port 25 està bloquejat per el vostre proveïdor d'accés a internet o proveïdor de servidor privat virtual, si teniu una IP residencial llistada a DUHL, si no podeu configurar el DNS invers o si el servidor no està directament exposat a internet i voleu utilitzar-ne un altre per enviar correus electrònics." -} +} \ No newline at end of file diff --git a/locales/de.json b/locales/de.json index 34d9c4819..15a292542 100644 --- a/locales/de.json +++ b/locales/de.json @@ -39,16 +39,12 @@ "domain_deleted": "Domain wurde gelöscht", "domain_deletion_failed": "Domain {domain}: {error} konnte nicht gelöscht werden", "domain_dyndns_already_subscribed": "Du hast dich schon für eine DynDNS-Domäne registriert", - "domain_dyndns_root_unknown": "Unbekannte DynDNS Hauptdomain", "domain_exists": "Die Domäne existiert bereits", "domain_uninstall_app_first": "Diese Applikationen sind noch auf deiner Domäne installiert; \n{apps}\n\nBitte deinstalliere sie mit dem Befehl 'yunohost app remove the_app_id' oder verschiebe sie mit 'yunohost app change-url the_app_id'", "done": "Erledigt", "downloading": "Wird heruntergeladen...", "dyndns_ip_update_failed": "Konnte die IP-Adresse für DynDNS nicht aktualisieren", "dyndns_ip_updated": "Deine IP-Adresse wurde bei DynDNS aktualisiert", - "dyndns_key_generating": "Generierung des DNS-Schlüssels..., das könnte eine Weile dauern.", - "dyndns_registered": "DynDNS Domain registriert", - "dyndns_registration_failed": "DynDNS Domain konnte nicht registriert werden: {error}", "dyndns_unavailable": "Die Domäne {domain} ist nicht verfügbar.", "extracting": "Wird entpackt...", "field_invalid": "Feld '{}' ist unbekannt", @@ -785,4 +781,4 @@ "dyndns_set_recovery_password_unknown_domain": "Konnte Wiederherstellungspasswort nicht einstellen: Domäne nicht registriert", "dyndns_set_recovery_password_failed": "Konnte Wiederherstellungspasswort nicht einstellen: {error}", "dyndns_set_recovery_password_success": "Wiederherstellungspasswort eingestellt!" -} +} \ No newline at end of file diff --git a/locales/en.json b/locales/en.json index fd80a5045..d48f912ba 100644 --- a/locales/en.json +++ b/locales/en.json @@ -84,16 +84,16 @@ "apps_failed_to_upgrade_line": "\n * {app_id} (to see corresponding log do a 'yunohost log show {operation_logger_name}')", "ask_admin_fullname": "Admin full name", "ask_admin_username": "Admin username", + "ask_dyndns_recovery_password": "DynDNS recovery password", + "ask_dyndns_recovery_password_explain": "Please pick a recovery password for your DynDNS domain, in case you need to reset it later.", + "ask_dyndns_recovery_password_explain_during_unsubscribe": "Please enter the recovery password for this DynDNS domain.", + "ask_dyndns_recovery_password_explain_unavailable": "This DynDNS domain is already registered. If you are the person who originally registered this domain, you may enter the recovery password to reclaim this domain.", "ask_fullname": "Full name", "ask_main_domain": "Main domain", "ask_new_admin_password": "New administration password", "ask_new_domain": "New domain", "ask_new_path": "New path", "ask_password": "Password", - "ask_dyndns_recovery_password_explain": "Please pick a recovery password for your DynDNS domain, in case you need to reset it later.", - "ask_dyndns_recovery_password_explain_unavailable": "This DynDNS domain is already registered. If you are the person who originally registered this domain, you may enter the recovery password to reclaim this domain.", - "ask_dyndns_recovery_password": "DynDNS recovery password", - "ask_dyndns_recovery_password_explain_during_unsubscribe": "Please enter the recovery password for this DynDNS domain.", "ask_user_domain": "Domain to use for the user's email address and XMPP account", "backup_abstract_method": "This backup method has yet to be implemented", "backup_actually_backuping": "Creating a backup archive from the collected files...", @@ -415,19 +415,19 @@ "dyndns_no_domain_registered": "No domain registered with DynDNS", "dyndns_no_recovery_password": "No recovery password specified! In case you loose control of this domain, you will need to contact an administrator in the YunoHost team!", "dyndns_provider_unreachable": "Unable to reach DynDNS provider {provider}: either your YunoHost is not correctly connected to the internet or the dynette server is down.", - "dyndns_subscribed": "DynDNS domain subscribed", + "dyndns_set_recovery_password_denied": "Failed to set recovery password: invalid key", + "dyndns_set_recovery_password_failed": "Failed to set recovery password: {error}", + "dyndns_set_recovery_password_invalid_password": "Failed to set recovery password: password is not strong enough", + "dyndns_set_recovery_password_success": "Recovery password set!", + "dyndns_set_recovery_password_unknown_domain": "Failed to set recovery password: domain not registered", "dyndns_subscribe_failed": "Could not subscribe DynDNS domain: {error}", + "dyndns_subscribed": "DynDNS domain subscribed", "dyndns_too_many_requests": "YunoHost's dyndns service received too many requests from you, wait 1 hour or so before trying again.", + "dyndns_unavailable": "The domain '{domain}' is unavailable.", + "dyndns_unsubscribe_already_unsubscribed": "Domain is already unsubscribed", + "dyndns_unsubscribe_denied": "Failed to unsubscribe domain: invalid credentials", "dyndns_unsubscribe_failed": "Could not unsubscribe DynDNS domain: {error}", "dyndns_unsubscribed": "DynDNS domain unsubscribed", - "dyndns_unsubscribe_denied": "Failed to unsubscribe domain: invalid credentials", - "dyndns_unsubscribe_already_unsubscribed": "Domain is already unsubscribed", - "dyndns_set_recovery_password_denied": "Failed to set recovery password: invalid key", - "dyndns_set_recovery_password_unknown_domain": "Failed to set recovery password: domain not registered", - "dyndns_set_recovery_password_invalid_password": "Failed to set recovery password: password is not strong enough", - "dyndns_set_recovery_password_failed": "Failed to set recovery password: {error}", - "dyndns_set_recovery_password_success": "Recovery password set!", - "dyndns_unavailable": "The domain '{domain}' is unavailable.", "extracting": "Extracting...", "field_invalid": "Invalid field '{}'", "file_does_not_exist": "The file {path} does not exist.", @@ -470,6 +470,7 @@ "global_settings_setting_ssh_password_authentication": "Password authentication", "global_settings_setting_ssh_password_authentication_help": "Allow password authentication for SSH", "global_settings_setting_ssh_port": "SSH port", + "global_settings_setting_ssh_port_help": "A port lower than 1024 is preferred to prevent usurpation attempts by non-administrator services on the remote machine. You should also avoid using a port already in use, such as 80 or 443.", "global_settings_setting_ssowat_panel_overlay_enabled": "Enable the small 'YunoHost' portal shortcut square on apps", "global_settings_setting_user_strength": "User password strength requirements", "global_settings_setting_user_strength_help": "These requirements are only enforced when initializing or changing the password", @@ -823,4 +824,4 @@ "yunohost_installing": "Installing YunoHost...", "yunohost_not_installed": "YunoHost is not correctly installed. Please run 'yunohost tools postinstall'", "yunohost_postinstall_end_tip": "The post-install completed! To finalize your setup, please consider:\n - diagnose potential issues through the 'Diagnosis' section of the webadmin (or 'yunohost diagnosis run' in command-line);\n - reading the 'Finalizing your setup' and 'Getting to know YunoHost' parts in the admin documentation: https://yunohost.org/admindoc." -} +} \ No newline at end of file diff --git a/locales/eo.json b/locales/eo.json index b0bdf280b..53077e381 100644 --- a/locales/eo.json +++ b/locales/eo.json @@ -95,7 +95,6 @@ "backup_deleted": "Rezerva forigita", "backup_csv_addition_failed": "Ne povis aldoni dosierojn al sekurkopio en la CSV-dosiero", "dpkg_lock_not_available": "Ĉi tiu komando ne povas funkcii nun ĉar alia programo uzas la seruron de dpkg (la administrilo de paka sistemo)", - "domain_dyndns_root_unknown": "Nekonata radika domajno DynDNS", "field_invalid": "Nevalida kampo '{}'", "log_app_makedefault": "Faru '{}' la defaŭlta apliko", "backup_system_part_failed": "Ne eblis sekurkopi la sistemon de '{part}'", @@ -230,7 +229,6 @@ "user_deleted": "Uzanto forigita", "service_enable_failed": "Ne povis fari la servon '{service}' aŭtomate komenci ĉe la ekkuro.\n\nLastatempaj servaj protokoloj: {logs}", "domains_available": "Haveblaj domajnoj:", - "dyndns_registered": "Registrita domajno DynDNS", "service_description_fail2ban": "Protektas kontraŭ bruta forto kaj aliaj specoj de atakoj de la interreto", "file_does_not_exist": "La dosiero {path} ne ekzistas.", "yunohost_not_installed": "YunoHost ne estas ĝuste instalita. Bonvolu prilabori 'yunohost tools postinstall'", @@ -257,12 +255,10 @@ "user_home_creation_failed": "Ne povis krei dosierujon \"home\" por uzanto", "pattern_backup_archive_name": "Devas esti valida dosiernomo kun maksimume 30 signoj, alfanombraj kaj -_. signoj nur", "restore_cleaning_failed": "Ne eblis purigi la adresaron de provizora restarigo", - "dyndns_registration_failed": "Ne povis registri DynDNS-domajnon: {error}", "user_unknown": "Nekonata uzanto: {user}", "migrations_to_be_ran_manually": "Migrado {id} devas funkcii permane. Bonvolu iri al Iloj → Migradoj en la retpaĝa paĝo, aŭ kuri `yunohost tools migrations run`.", "certmanager_cert_renew_success": "Ni Ĉifru atestilon renovigitan por la domajno '{domain}'", "pattern_domain": "Devas esti valida domajna nomo (t.e. mia-domino.org)", - "dyndns_key_generating": "Generi DNS-ŝlosilon ... Eble daŭros iom da tempo.", "restore_running_app_script": "Restarigi la programon '{app}'…", "migrations_skip_migration": "Salti migradon {id}…", "regenconf_file_removed": "Agordodosiero '{conf}' forigita", diff --git a/locales/es.json b/locales/es.json index 892658fc9..77c837bcf 100644 --- a/locales/es.json +++ b/locales/es.json @@ -44,18 +44,14 @@ "domain_deleted": "Dominio eliminado", "domain_deletion_failed": "No se puede eliminar el dominio {domain}: {error}", "domain_dyndns_already_subscribed": "Ya se ha suscrito a un dominio de DynDNS", - "domain_dyndns_root_unknown": "Dominio raíz de DynDNS desconocido", "domain_exists": "El dominio ya existe", "domain_uninstall_app_first": "Estas aplicaciones siguen instaladas en tu dominio:\n{apps}\n\nPor favor desinstálalas con el comando 'yunohost app remove the_app_id' o cámbialas a otro dominio usando yunohost tools regen-conf {category} --dry-run --with-diff komandoa exekutatuz, eta gomendatutako konfiguraziora bueltatu yunohost tools regen-conf {category} --force erabiliz", @@ -309,7 +306,6 @@ "global_settings_setting_smtp_relay_password": "SMTP relay pasahitza", "global_settings_setting_smtp_relay_port": "SMTP relay ataka", "domain_deleted": "Domeinua ezabatu da", - "domain_dyndns_root_unknown": "Ez da ezagutzen DynDNSaren root domeinua", "domain_exists": "Dagoeneko existitzen da domeinu hau", "domain_registrar_is_not_configured": "Oraindik ez da {domain} domeinurako erregistro-enpresa ezarri.", "domain_dns_push_not_applicable": "Ezin da {domain} domeinurako DNS konfigurazio automatiko funtzioa erabili. DNS erregistroak eskuz ezarri beharko zenituzke gidaorriei erreparatuz: https://yunohost.org/dns_config.", @@ -785,4 +781,4 @@ "dyndns_set_recovery_password_invalid_password": "Berreskuratze-pasahitza ezartzeak huts egin du: pasahitza ez da nahikoa sendoa", "dyndns_set_recovery_password_failed": "Berreskuratze-pasahitza ezartzeak huts egin du: {error}", "dyndns_set_recovery_password_success": "Berreskuratze-pasahitza ezarri da!" -} +} \ No newline at end of file diff --git a/locales/fa.json b/locales/fa.json index fe6310c5d..987564b54 100644 --- a/locales/fa.json +++ b/locales/fa.json @@ -307,12 +307,9 @@ "extracting": "استخراج...", "dyndns_unavailable": "دامنه '{domain}' در دسترس نیست.", "dyndns_domain_not_provided": "ارائه دهنده DynDNS {provider} نمی تواند دامنه {domain} را ارائه دهد.", - "dyndns_registration_failed": "دامنه DynDNS ثبت نشد: {error}", - "dyndns_registered": "دامنه DynDNS ثبت شد", "dyndns_provider_unreachable": "دسترسی به ارائه دهنده DynDNS {provider} امکان پذیر نیست: یا YunoHost شما به درستی به اینترنت متصل نیست یا سرور dynette خراب است.", "dyndns_no_domain_registered": "هیچ دامنه ای با DynDNS ثبت نشده است", "dyndns_key_not_found": "کلید DNS برای دامنه یافت نشد", - "dyndns_key_generating": "ایجاد کلید DNS... ممکن است مدتی طول بکشد.", "dyndns_ip_updated": "IP خود را در DynDNS به روز کرد", "dyndns_ip_update_failed": "آدرس IP را به DynDNS به روز نکرد", "dyndns_could_not_check_available": "بررسی نشد که آیا {domain} در {provider} در دسترس است یا خیر.", @@ -325,7 +322,6 @@ "domain_remove_confirm_apps_removal": "حذف این دامنه برنامه های زیر را حذف می کند:\n{apps}\n\nآیا طمئن هستید که میخواهید انجام دهید؟ [{answers}]", "domain_hostname_failed": "نام میزبان جدید قابل تنظیم نیست. این ممکن است بعداً مشکلی ایجاد کند (ممکن هم هست خوب باشد).", "domain_exists": "دامنه از قبل وجود دارد", - "domain_dyndns_root_unknown": "دامنه ریشه DynDNS ناشناخته", "domain_dyndns_already_subscribed": "شما قبلاً در یک دامنه DynDNS مشترک شده اید", "domain_dns_conf_is_just_a_recommendation": "این دستور پیکربندی * توصیه شده * را به شما نشان می دهد. این وظیفه شماست که مطابق این توصیه ، منطقه DNS خود را در ثبت کننده خود پیکربندی کنید. در واقع پیکربندی DNS را برای شما تنظیم نمی کند.", "domain_deletion_failed": "حذف دامنه {domain} امکان پذیر نیست: {error}", diff --git a/locales/fr.json b/locales/fr.json index 7953e851b..8f66f2967 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -46,18 +46,14 @@ "domain_deleted": "Le domaine a été supprimé", "domain_deletion_failed": "Impossible de supprimer le domaine {domain} : {error}", "domain_dyndns_already_subscribed": "Vous avez déjà souscris à un domaine DynDNS", - "domain_dyndns_root_unknown": "Domaine DynDNS principal inconnu", "domain_exists": "Le domaine existe déjà", "domain_uninstall_app_first": "Ces applications sont toujours installées sur votre domaine :\n{apps}\n\nVeuillez les désinstaller avec la commande 'yunohost app remove nom-de-l-application' ou les déplacer vers un autre domaine avec la commande 'yunohost app change-url nom-de-l-application' avant de procéder à la suppression du domaine", "done": "Terminé", "downloading": "Téléchargement en cours...", "dyndns_ip_update_failed": "Impossible de mettre à jour l'adresse IP sur le domaine DynDNS", "dyndns_ip_updated": "Mise à jour de votre IP pour le domaine DynDNS", - "dyndns_key_generating": "Génération de la clé DNS..., cela peut prendre un certain temps.", "dyndns_key_not_found": "Clé DNS introuvable pour le domaine", "dyndns_no_domain_registered": "Aucun domaine n'a été enregistré avec DynDNS", - "dyndns_registered": "Domaine DynDNS enregistré", - "dyndns_registration_failed": "Impossible d'enregistrer le domaine DynDNS : {error}", "dyndns_unavailable": "Le domaine {domain} est indisponible.", "extracting": "Extraction en cours...", "field_invalid": "Champ incorrect : '{}'", @@ -772,17 +768,17 @@ "ask_dyndns_recovery_password_explain_during_unsubscribe": "Veuillez saisir le mot de passe de récupération pour ce domaine DynDNS.", "dyndns_no_recovery_password": "Aucun mot de passe de récupération n'a été spécifié ! Si vous perdez le contrôle de ce domaine, vous devrez contacter un administrateur de l'équipe YunoHost !", "dyndns_subscribed": "Domaine DynDNS souscrit/enregistré", - "dyndns_subscribe_failed": "Impossible de souscrire/de s'enregistrer au domaine DynDNS : {erreur}", - "dyndns_unsubscribe_failed": "Impossible de se désinscrire du domaine DynDNS : {erreur}", + "dyndns_subscribe_failed": "Impossible de souscrire/de s'enregistrer au domaine DynDNS : {error}", + "dyndns_unsubscribe_failed": "Impossible de se désinscrire du domaine DynDNS : {error}", "dyndns_unsubscribed": "Désinscription du domaine DynDNS", "dyndns_unsubscribe_denied": "Échec de la désinscription du domaine : informations d'identification non valides", "dyndns_unsubscribe_already_unsubscribed": "Le domaine est déjà retiré", "dyndns_set_recovery_password_denied": "Échec de la mise en place du mot de passe de récupération : mot de passe non valide", "dyndns_set_recovery_password_unknown_domain": "Échec de la définition du mot de passe de récupération : le domaine n'est pas enregistré", "dyndns_set_recovery_password_invalid_password": "Échec de la mise en place du mot de passe de récupération : le mot de passe n'est pas assez fort/solide", - "dyndns_set_recovery_password_failed": "Échec de la mise en place du mot de passe de récupération : {erreur}", + "dyndns_set_recovery_password_failed": "Échec de la mise en place du mot de passe de récupération : {error}", "dyndns_set_recovery_password_success": "Mot de passe de récupération changé !", "log_dyndns_unsubscribe": "Se désabonner d'un sous-domaine YunoHost '{}'", "dyndns_too_many_requests": "Le service dyndns de YunoHost a reçu trop de requêtes/demandes de votre part, attendez environ 1 heure avant de réessayer.", "ask_dyndns_recovery_password_explain_unavailable": "Ce domaine DynDNS est déjà enregistré. Si vous êtes la personne qui a enregistré ce domaine lors de sa création, vous pouvez entrer le mot de passe de récupération pour récupérer ce domaine." -} +} \ No newline at end of file diff --git a/locales/gl.json b/locales/gl.json index bf7d9212b..1a43b6897 100644 --- a/locales/gl.json +++ b/locales/gl.json @@ -271,12 +271,9 @@ "extracting": "Extraendo...", "dyndns_unavailable": "O dominio '{domain}' non está dispoñible.", "dyndns_domain_not_provided": "O provedor DynDNS {provider} non pode proporcionar o dominio {domain}.", - "dyndns_registration_failed": "Non se rexistrou o dominio DynDNS: {error}", - "dyndns_registered": "Dominio DynDNS rexistrado", "dyndns_provider_unreachable": "Non se puido acadar o provedor DynDNS {provider}: pode que o teu YunoHost non teña conexión a internet ou que o servidor dynette non funcione.", "dyndns_no_domain_registered": "Non hai dominio rexistrado con DynDNS", "dyndns_key_not_found": "Non se atopou a chave DNS para o dominio", - "dyndns_key_generating": "Creando chave DNS... podería demorarse.", "dyndns_ip_updated": "Actualizouse o IP en DynDNS", "dyndns_ip_update_failed": "Non se actualizou o enderezo IP en DynDNS", "dyndns_could_not_check_available": "Non se comprobou se {domain} está dispoñible en {provider}.", @@ -289,7 +286,6 @@ "domain_remove_confirm_apps_removal": "Ao eliminar o dominio tamén vas eliminar estas aplicacións:\n{apps}\n\nTes a certeza de querer facelo? [{answers}]", "domain_hostname_failed": "Non se puido establecer o novo nome de servidor. Esto pode causar problemas máis tarde (tamén podería ser correcto).", "domain_exists": "Xa existe o dominio", - "domain_dyndns_root_unknown": "Dominio raiz DynDNS descoñecido", "domain_dyndns_already_subscribed": "Xa tes unha subscrición a un dominio DynDNS", "domain_dns_conf_is_just_a_recommendation": "Este comando móstrache a configuración *recomendada*. Non realiza a configuración DNS no teu nome. É responsabilidade túa configurar as zonas DNS no servizo da empresa que xestiona o rexistro do dominio seguindo esta recomendación.", "domain_deletion_failed": "Non se puido eliminar o dominio {domain}: {error}", @@ -765,8 +761,8 @@ "app_corrupt_source": "YunoHost foi quen de descargar o recurso '{source_id}' ({url}) para {app}, pero a suma de comprobación para o recurso non concorda. Pode significar que houbo un fallo temporal na conexión do servidor á rede, OU que o recurso sufreu, dalgún xeito, cambios desde que os desenvolvedores orixinais (ou unha terceira parte maliciosa?), o equipo de YunoHost ten que investigar e actualizar o manifesto da app para mostrar este cambio.\n Suma sha256 agardada: {expected_sha256} \n Suma sha256 do descargado: {computed_sha256}\n Tamaño do ficheiro: {size}", "group_mailalias_add": "Vaise engadir o alias de correo '{mail}' ao grupo '{group}'", "group_mailalias_remove": "Vaise quitar o alias de email '{mail}' do grupo '{group}'", - "group_user_add": "Vaise engadir a '{user}' ao grupo '{grupo}'", - "group_user_remove": "Vaise quitar a '{user}' do grupo '{grupo}'", + "group_user_add": "Vaise engadir a '{user}' ao grupo '{group}'", + "group_user_remove": "Vaise quitar a '{user}' do grupo '{group}'", "ask_dyndns_recovery_password_explain": "Elixe un contrasinal de recuperación para o teu dominio DynDNS, por se precisas restablecelo no futuro.", "ask_dyndns_recovery_password": "Contrasinal de recuperación DynDNS", "ask_dyndns_recovery_password_explain_during_unsubscribe": "Escribe o contrasinal de recuperación para este dominio DynDNS.", @@ -785,4 +781,4 @@ "log_dyndns_unsubscribe": "Retirar subscrición para o subdominio YunoHost '{}'", "ask_dyndns_recovery_password_explain_unavailable": "Este dominio DynDNS xa está rexistrado. Se es a persoa que o rexistrou orixinalmente, podes escribir o código de recuperación para reclamar o dominio.", "dyndns_too_many_requests": "O servicio dyndns de YunoHost recibeu demasiadas peticións do teu sistema, agarda 1 hora e volve intentalo." -} +} \ No newline at end of file diff --git a/locales/id.json b/locales/id.json index 2cc7c56dc..042e681c2 100644 --- a/locales/id.json +++ b/locales/id.json @@ -441,4 +441,4 @@ "service_enable_failed": "Tidak dapat membuat layanan '{service}' dimulai mandiri saat pemulaian.\n\nLog layanan baru-baru ini:{logs}", "service_not_reloading_because_conf_broken": "Tidak memuat atau memulai ulang layanan '{name}' karena konfigurasinya rusak: {errors}", "service_reloaded": "Layanan {service} dimuat ulang" -} +} \ No newline at end of file diff --git a/locales/it.json b/locales/it.json index 43a442621..033de5b79 100644 --- a/locales/it.json +++ b/locales/it.json @@ -58,7 +58,6 @@ "domain_deleted": "Dominio cancellato", "domain_deletion_failed": "Impossibile cancellare il dominio {domain}: {error}", "domain_dyndns_already_subscribed": "Hai già sottoscritto un dominio DynDNS", - "domain_dyndns_root_unknown": "Dominio radice DynDNS sconosciuto", "domain_hostname_failed": "Impossibile impostare il nuovo hostname. Potrebbe causare problemi in futuro (o anche no).", "domain_uninstall_app_first": "Queste applicazioni sono già installate su questo dominio:\n{apps}\n\nDisinstallale eseguendo 'yunohost app remove app_id' o spostale in un altro dominio eseguendo 'yunohost app change-url app_id' prima di procedere alla cancellazione del dominio", "done": "Terminato", @@ -66,11 +65,8 @@ "downloading": "Scaricamento…", "dyndns_ip_update_failed": "Impossibile aggiornare l'indirizzo IP in DynDNS", "dyndns_ip_updated": "Il tuo indirizzo IP è stato aggiornato su DynDNS", - "dyndns_key_generating": "Generando la chiave DNS... Potrebbe richiedere del tempo.", "dyndns_key_not_found": "La chiave DNS non è stata trovata per il dominio", "dyndns_no_domain_registered": "Nessuno dominio registrato con DynDNS", - "dyndns_registered": "Dominio DynDNS registrato", - "dyndns_registration_failed": "Non è possibile registrare il dominio DynDNS: {error}", "dyndns_unavailable": "Il dominio {domain} non disponibile.", "extracting": "Estrazione...", "field_invalid": "Campo '{}' non valido", @@ -639,4 +635,4 @@ "global_settings_setting_smtp_relay_enabled_help": "Utilizza SMTP relay per inviare mail al posto di questa instanza yunohost. Utile se sei in una di queste situazioni: la tua porta 25 è bloccata dal tuo provider ISP o VPS; hai un IP residenziale listato su DUHL; non sei puoi configurare il DNS inverso; oppure questo server non è direttamente esposto a Internet e vuoi usarne un'altro per spedire email.", "domain_config_default_app": "Applicazione di default", "app_change_url_failed": "Non è possibile cambiare l'URL per {app}:{error}" -} +} \ No newline at end of file diff --git a/locales/ja.json b/locales/ja.json index 479c8c07e..afc5510ff 100644 --- a/locales/ja.json +++ b/locales/ja.json @@ -86,7 +86,6 @@ "diagnosis_services_conf_broken": "サービス{service}の構成が壊れています!", "diagnosis_services_running": "サービス{service}が実行されています!", "diagnosis_sshd_config_inconsistent": "SSHポートが/etc/ssh/sshd_config で手動変更されたようです。YunoHost 4.2以降、手動で構成を編集する必要がないように、新しいグローバル設定'security.ssh.ssh_port'を使用できます。", - "diagnosis_swap_none": "システムにはスワップが {total} しかありません。システムのメモリ不足の状況を回避するために、少なくとも {recommended} のスワップを用意することを検討してください。", "diagnosis_swap_notsomuch": "システムにはスワップが {total} しかありません。システムのメモリ不足の状況を回避するために、少なくとも {recommended} のスワップを用意することを検討してください。", "diagnosis_swap_ok": "システムには {total} のスワップがあります!", "domain_cert_gen_failed": "証明書を生成できませんでした", @@ -101,7 +100,6 @@ "domain_dns_push_already_up_to_date": "レコードはすでに最新であり、何もする必要はありません。", "domain_dns_push_failed": "DNS レコードの更新が失敗しました。", "domain_dyndns_already_subscribed": "すでに DynDNS ドメインにサブスクライブしています", - "dyndns_key_generating": "DNS キーを生成しています...しばらく時間がかかる場合があります。", "dyndns_key_not_found": "ドメインの DNS キーが見つかりません", "firewall_reload_failed": "ファイアウォールをリロードできませんでした", "global_settings_setting_postfix_compatibility_help": "Postfix サーバーの互換性とセキュリティにはトレードオフがあります。暗号(およびその他のセキュリティ関連の側面)に影響します", @@ -122,7 +120,6 @@ "hook_exec_not_terminated": "スクリプトが正しく終了しませんでした: {path}", "log_app_install": "‘{}’ アプリをインストールする", "log_user_permission_update": "アクセス許可 '{}' のアクセスを更新する", - "log_user_update": "ユーザー ‘{name}’ を更新する", "mail_alias_remove_failed": "電子メール エイリアス '{mail}' を削除できませんでした", "mail_domain_unknown": "ドメイン '{domain}' の電子メール アドレスが無効です。このサーバーによって管理されているドメインを使用してください。", "mail_forward_remove_failed": "電子メール転送 '{mail}' を削除できませんでした", @@ -449,7 +446,6 @@ "domain_dns_registrar_not_supported": "YunoHost は、このドメインを処理するレジストラを自動的に検出できませんでした。DNS レコードは、https://yunohost.org/dns のドキュメントに従って手動で構成する必要があります。", "domain_dns_registrar_supported": "YunoHost は、このドメインがレジストラ **{registrar}** によって処理されていることを自動的に検出しました。必要に応じて適切なAPI資格情報を提供すると、YunoHostはこのDNSゾーンを自動的に構成します。API 資格情報の取得方法に関するドキュメントは、https://yunohost.org/registar_api_{registrar} ページにあります。(https://yunohost.org/dns のドキュメントに従ってDNSレコードを手動で構成することもできます)", "domain_dns_registrar_yunohost": "このドメインは nohost.me / nohost.st / ynh.fr であるため、DNS構成は特別な構成なしでYunoHostによって自動的に処理されます。(‘yunohost dyndns update’ コマンドを参照)", - "domain_dyndns_root_unknown": "不明な DynDNS ルートドメイン", "domain_exists": "この名前のバックアップアーカイブはすでに存在します", "domain_hostname_failed": "新しいホスト名を設定できません。これにより、後で問題が発生する可能性があります(問題ない可能性もあります)。", "domain_registrar_is_not_configured": "レジストラーは、ドメイン {domain} 用にまだ構成されていません。", @@ -466,8 +462,6 @@ "dyndns_ip_updated": "DynDNSでIPを更新しました", "dyndns_no_domain_registered": "DynDNS に登録されているドメインがありません", "dyndns_provider_unreachable": "DynDNSプロバイダー {provider} に到達できません: YunoHostがインターネットに正しく接続されていないか、dynetteサーバーがダウンしています。", - "dyndns_registered": "登録されている DynDNS ドメイン", - "dyndns_registration_failed": "DynDNS ドメインを登録できませんでした: {error}", "dyndns_unavailable": "ドメイン '{domain}' は使用できません。", "dyndns_domain_not_provided": "DynDNS プロバイダー{provider} はドメイン{domain}を提供できません。", "extracting": "抽出中…", @@ -548,7 +542,6 @@ "log_app_config_set": "‘{}’ アプリに設定を適用する", "log_app_makedefault": "‘{}’ をデフォルトのアプリにする", "log_app_remove": "'{}'アプリを削除する", - "log_app_upgrade": "アプリ '{app}' をアップグレードする", "log_available_on_yunopaste": "このログは、{url}", "log_backup_create": "バックアップ作成できませんでした", "log_backup_restore_app": "バックアップアーカイブから'{}'を復元する", @@ -767,4 +760,4 @@ "yunohost_not_installed": "YunoHostが正しくインストールされていません。’yunohost tools postinstall’ を実行してください", "yunohost_postinstall_end_tip": "インストール後処理が完了しました!セットアップを完了するには、次の点を考慮してください。\n - ウェブ管理画面の'診断'セクション(またはコマンドラインで’yunohost diagnosis run’)を通じて潜在的な問題を診断します。\n - 管理ドキュメントの'セットアップの最終処理'と'YunoHostを知る'の部分を読む: https://yunohost.org/admindoc。", "additional_urls_already_removed": "アクセス許可 ‘{permission}’ に対する追加URLで ‘{url}’ は既に削除されています" -} +} \ No newline at end of file diff --git a/locales/nb_NO.json b/locales/nb_NO.json index 8cacaff6d..353b50833 100644 --- a/locales/nb_NO.json +++ b/locales/nb_NO.json @@ -76,13 +76,9 @@ "domain_cert_gen_failed": "Kunne ikke opprette sertifikat", "domain_created": "Domene opprettet", "domain_creation_failed": "Kunne ikke opprette domene", - "domain_dyndns_root_unknown": "Ukjent DynDNS-rotdomene", "dyndns_ip_update_failed": "Kunne ikke oppdatere IP-adresse til DynDNS", "dyndns_ip_updated": "Oppdaterte din IP på DynDNS", - "dyndns_key_generating": "Oppretter DNS-nøkkel… Dette kan ta en stund.", "dyndns_no_domain_registered": "Inget domene registrert med DynDNS", - "dyndns_registered": "DynDNS-domene registrert", - "dyndns_registration_failed": "Kunne ikke registrere DynDNS-domene: {error}", "log_backup_restore_app": "Gjenopprett '{}' fra sikkerhetskopiarkiv", "log_remove_on_failed_install": "Fjern '{}' etter mislykket installasjon", "log_selfsigned_cert_install": "Installer selvsignert sertifikat på '{}'-domenet", diff --git a/locales/nl.json b/locales/nl.json index bcfb76acd..8698494d5 100644 --- a/locales/nl.json +++ b/locales/nl.json @@ -25,14 +25,12 @@ "domain_deleted": "Domein succesvol verwijderd", "domain_deletion_failed": "Kan domein niet verwijderen", "domain_dyndns_already_subscribed": "U heeft reeds een domein bij DynDNS geregistreerd", - "domain_dyndns_root_unknown": "Onbekend DynDNS root domein", "domain_exists": "Domein bestaat al", "domain_uninstall_app_first": "Deze applicaties zijn nog steeds op je domein geïnstalleerd:\n{apps}\n\nVerwijder ze met 'yunohost app remove the_app_id' of verplaats ze naar een ander domein met 'yunohost app change-url the_app_id' voordat je doorgaat met het verwijderen van het domein", "done": "Voltooid", "downloading": "Downloaden...", "dyndns_ip_update_failed": "Kan het IP adres niet updaten bij DynDNS", "dyndns_ip_updated": "IP adres is aangepast bij DynDNS", - "dyndns_key_generating": "DNS sleutel word aangemaakt, wacht een moment...", "dyndns_unavailable": "Domein '{domain}' is niet beschikbaar.", "extracting": "Uitpakken...", "installation_complete": "Installatie voltooid", diff --git a/locales/oc.json b/locales/oc.json index 1c13fc6b5..d6b2cacab 100644 --- a/locales/oc.json +++ b/locales/oc.json @@ -98,7 +98,6 @@ "domain_creation_failed": "Creacion del domeni {domain}: impossibla", "domain_deleted": "Domeni suprimit", "domain_deletion_failed": "Supression impossibla del domeni {domain}: {error}", - "domain_dyndns_root_unknown": "Domeni DynDNS màger desconegut", "domain_exists": "Lo domeni existís ja", "domain_hostname_failed": "Fracàs de la creacion d’un nòu nom d’òst. Aquò poirà provocar de problèmas mai tard (mas es pas segur… benlèu que coparà pas res).", "domains_available": "Domenis disponibles :", @@ -106,11 +105,8 @@ "downloading": "Telecargament…", "dyndns_ip_update_failed": "Impossible d’actualizar l’adreça IP sul domeni DynDNS", "dyndns_ip_updated": "Vòstra adreça IP actualizada pel domeni DynDNS", - "dyndns_key_generating": "La clau DNS es a se generar… pòt trigar una estona.", "dyndns_key_not_found": "Clau DNS introbabla pel domeni", "dyndns_no_domain_registered": "Cap de domeni pas enregistrat amb DynDNS", - "dyndns_registered": "Domeni DynDNS enregistrat", - "dyndns_registration_failed": "Enregistrament del domeni DynDNS impossible : {error}", "dyndns_domain_not_provided": "Lo provesidor DynDNS {provider} pòt pas fornir lo domeni {domain}.", "dyndns_unavailable": "Lo domeni {domain} es pas disponible.", "extracting": "Extraccion…", diff --git a/locales/pl.json b/locales/pl.json index 983b58f15..781712686 100644 --- a/locales/pl.json +++ b/locales/pl.json @@ -294,7 +294,7 @@ "diagnosis_dns_specialusedomain": "Domena {domain} opiera się na domenie najwyższego poziomu specjalnego przeznaczenia (TLD), takiej jak .local lub .test i dlatego nie oczekuje się, że będzie zawierać rzeczywiste rekordy DNS.", "danger": "Zagrożeniæ:", "config_validate_url": "Powinien być poprawnym adresem internetowym (URL)", - "diagnosis_domain_expires_in": "Domena {domain} wygasa za {day} dni.", + "diagnosis_domain_expires_in": "Domena {domain} wygasa za {days} dni.", "diagnosis_cant_run_because_of_dep": "Nie można przeprowadzić diagnostyki dla kategorii {category}, ponieważ występują poważne problemy związane z kategorią {dep}.", "diagnosis_everything_ok": "Wszystko wygląda dobrze dla kategorii {category}!", "diagnosis_found_errors": "Znaleziono istotne problemy związane z kategorią: {errors}!", @@ -307,7 +307,7 @@ "diagnosis_domain_not_found_details": "Domena {domain} nie istnieje w bazie WHOIS lub wygasła!", "custom_app_url_required": "Aby zaktualizować aplikację niestandardową {app}, musisz podać adres URL", "diagnosis_description_ports": "Ujawnione porty", - "diagnosis_basesystem_ynh_single_version": "Wersja {pakietu}: {wersja} ({repo})", + "diagnosis_basesystem_ynh_single_version": "Wersja {package}: {version} ({repo})", "diagnosis_failed_for_category": "Diagnostyka nie powiodła się dla kategorii „{category}”: {error}", "diagnosis_basesystem_hardware_model": "Model serwera to {model}", "service_enabled": "Usługa '{service}' będzie teraz automatycznie uruchamiana podczas uruchamiania systemu.", @@ -326,4 +326,4 @@ "diagnosis_high_number_auth_failures": "Ostatnio wystąpiła podejrzanie duża liczba błędów uwierzytelniania. Możesz upewnić się, że Fail2ban działa i jest poprawnie skonfigurowany, lub użyj niestandardowego portu dla SSH, jak wyjaśniono w https://yunohost.org/security.", "service_remove_failed": "Nie można usunąć usługi '{service}", "diagnosis_apps_issue": "Znaleziono problem z aplikacją {app}" -} +} \ No newline at end of file diff --git a/locales/pt.json b/locales/pt.json index 0aa6b8223..f534caf67 100644 --- a/locales/pt.json +++ b/locales/pt.json @@ -23,16 +23,12 @@ "domain_deleted": "Domínio removido com êxito", "domain_deletion_failed": "Não foi possível eliminar o domínio {domain}: {error}", "domain_dyndns_already_subscribed": "Já subscreveu um domínio DynDNS", - "domain_dyndns_root_unknown": "Domínio root (administrador) DynDNS desconhecido", "domain_exists": "O domínio já existe", "domain_uninstall_app_first": "Existem uma ou mais aplicações instaladas neste domínio. Por favor desinstale-as antes de proceder com a remoção do domínio.", "done": "Concluído.", "downloading": "Transferência em curso...", "dyndns_ip_update_failed": "Não foi possível atualizar o endereço IP para DynDNS", "dyndns_ip_updated": "Endereço IP atualizado com êxito para DynDNS", - "dyndns_key_generating": "A chave DNS está a ser gerada, isto pode demorar um pouco...", - "dyndns_registered": "Dom+inio DynDNS registado com êxito", - "dyndns_registration_failed": "Não foi possível registar o domínio DynDNS: {error}", "dyndns_unavailable": "O domínio '{domain}' não está disponível.", "extracting": "Extração em curso...", "field_invalid": "Campo inválido '{}'", diff --git a/locales/ru.json b/locales/ru.json index a9c9da3f1..85cfa2452 100644 --- a/locales/ru.json +++ b/locales/ru.json @@ -329,4 +329,4 @@ "admins": "Администраторы", "all_users": "Все пользователи YunoHost", "app_action_failed": "Не удалось выполнить действие {action} для приложения {app}" -} +} \ No newline at end of file diff --git a/locales/sk.json b/locales/sk.json index 34332c981..7079fad9f 100644 --- a/locales/sk.json +++ b/locales/sk.json @@ -265,4 +265,4 @@ "service_description_rspamd": "Filtruje spam a iné funkcie týkajúce sa e-mailu", "log_letsencrypt_cert_renew": "Obnoviť '{}' certifikát Let's Encrypt", "domain_config_cert_summary_selfsigned": "UPOZORNENIE: Aktuálny certifikát je vlastnoručne podpísaný. Prehliadače budú návštevníkom zobrazovať strašidelné varovanie!" -} +} \ No newline at end of file diff --git a/locales/tr.json b/locales/tr.json index 3c15591f3..34bd73af3 100644 --- a/locales/tr.json +++ b/locales/tr.json @@ -21,4 +21,4 @@ "app_argument_required": "'{name}' değeri gerekli", "app_argument_invalid": "'{name}': {error} için geçerli bir değer giriniz", "app_argument_password_no_default": "'{name}': çözümlenirken bir hata meydana geldi. Parola argümanı güvenlik nedeniyle varsayılan değer alamaz" -} +} \ No newline at end of file diff --git a/locales/uk.json b/locales/uk.json index 07cbfe6da..96d8f76a3 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -23,8 +23,8 @@ "app_action_cannot_be_ran_because_required_services_down": "Для виконання цієї дії повинні бути запущені наступні необхідні служби: {services}. Спробуйте перезапустити їх, щоб продовжити (і, можливо, з'ясувати, чому вони не працюють).", "already_up_to_date": "Нічого не потрібно робити. Все вже актуально.", "admin_password": "Пароль адмініструванні", - "additional_urls_already_removed": "Додаткова URL-адреса '{url}' вже видалена в додатковій URL-адресі для дозволу '{permission}'", - "additional_urls_already_added": "Додаткова URL-адреса '{url}' вже додана в додаткову URL-адресу для дозволу '{permission}'", + "additional_urls_already_removed": "Додаткову URL-адресу '{url}' вже видалено для дозволу '{permission}'", + "additional_urls_already_added": "Додаткову URL-адресу '{url}' вже додано для дозволу '{permission}'", "action_invalid": "Неприпустима дія '{action}'", "aborting": "Переривання.", "diagnosis_description_web": "Мережа", @@ -234,7 +234,7 @@ "group_already_exist_on_system": "Група {group} вже існує в групах системи", "group_already_exist": "Група {group} вже існує", "good_practices_about_user_password": "Зараз ви збираєтеся поставити новий пароль користувача. Пароль повинен складатися не менше ніж з 8 символів, але хорошою практикою є використання більш довгого пароля (тобто гасла) і/або використання різних символів (великих, малих, цифр і спеціальних символів).", - "good_practices_about_admin_password": "Зараз ви збираєтеся поставити новий пароль адміністрування. Пароль повинен складатися не менше ніж з 8 символів, але хорошою практикою є використання більш довгого пароля (тобто парольної фрази) і/або використання різних символів (великих, малих, цифр і спеціальних символів).", + "good_practices_about_admin_password": "Зараз ви маєте встановити новий пароль для адміністрування. Пароль повинен містити щонайменше 8 символів, хоча рекомендується використовувати довший пароль (наприклад, парольну фразу) та/або використовувати різні символи (великі та малі літери, цифри та спеціальні символи).", "global_settings_setting_smtp_relay_password": "Пароль SMTP-ретрансляції", "global_settings_setting_smtp_relay_user": "Користувач SMTP-ретрансляції", "global_settings_setting_smtp_relay_port": "Порт SMTP-ретрансляції", @@ -247,12 +247,9 @@ "extracting": "Витягнення...", "dyndns_unavailable": "Домен '{domain}' недоступний.", "dyndns_domain_not_provided": "DynDNS провайдер {provider} не може надати домен {domain}.", - "dyndns_registration_failed": "Не вдалося зареєструвати домен DynDNS: {error}", - "dyndns_registered": "Домен DynDNS зареєстровано", "dyndns_provider_unreachable": "Неможливо зв'язатися з провайдером DynDNS {provider}: або ваш YunoHost неправильно під'єднано до Інтернету, або сервер dynette не працює.", "dyndns_no_domain_registered": "Домен не зареєстровано в DynDNS", "dyndns_key_not_found": "DNS-ключ для домену не знайдено", - "dyndns_key_generating": "Утворення DNS-ключа... Це може зайняти деякий час.", "dyndns_ip_updated": "Вашу IP-адресу в DynDNS оновлено", "dyndns_ip_update_failed": "Не вдалося оновити IP-адресу в DynDNS", "dyndns_could_not_check_available": "Не вдалося перевірити, чи {domain} доступний у {provider}.", @@ -265,7 +262,6 @@ "domain_remove_confirm_apps_removal": "Вилучення цього домену призведе до вилучення таких застосунків:\n{apps}\n\nВи впевнені, що хочете це зробити? [{answers}]", "domain_hostname_failed": "Неможливо встановити нову назву хоста. Це може викликати проблеми в подальшому (можливо, все буде в порядку).", "domain_exists": "Цей домен уже існує", - "domain_dyndns_root_unknown": "Невідомий кореневий домен DynDNS", "domain_dyndns_already_subscribed": "Ви вже підписалися на домен DynDNS", "domain_dns_conf_is_just_a_recommendation": "Ця команда показує *рекомендовану* конфігурацію. Насправді вона не встановлює конфігурацію DNS для вас. Ви самі повинні налаштувати свою зону DNS у реєстратора відповідно до цих рекомендацій.", "domain_deletion_failed": "Неможливо видалити домен {domain}: {error}", @@ -508,7 +504,7 @@ "backup_archive_cant_retrieve_info_json": "Не вдалося завантажити відомості для архіву '{archive}'... Файл info.json не може бути отриманий (або не є правильним json).", "backup_archive_open_failed": "Не вдалося відкрити архів резервної копії", "backup_archive_name_unknown": "Невідомий локальний архів резервного копіювання з назвою '{name}'", - "backup_archive_name_exists": "Архів резервного копіювання з такою назвою вже існує.", + "backup_archive_name_exists": "Архів резервної копії з назвою '{name}' вже існує.", "backup_archive_broken_link": "Не вдалося отримати доступ до архіву резервного копіювання (неробоче посилання на {path})", "backup_archive_app_not_found": "Не вдалося знайти {app} в архіві резервного копіювання", "backup_applying_method_tar": "Створення резервного TAR-архіву...", @@ -766,5 +762,23 @@ "group_user_add": "Користувача '{user}' буде додано до групи '{group}'", "group_user_remove": "Користувача '{user}' буде вилучено з групи '{group}'", "app_corrupt_source": "YunoHost зміг завантажити ресурс '{source_id}' ({url}) для {app}, але він не відповідає очікуваній контрольній сумі. Це може означати, що на вашому сервері стався тимчасовий збій мережі, АБО ресурс був якимось чином змінений висхідним супровідником (або зловмисником?), і пакувальникам YunoHost потрібно дослідити і оновити маніфест застосунку, щоб відобразити цю зміну.\n Очікувана контрольна сума sha256: {expected_sha256}\n Обчислена контрольна сума sha256: {computed_sha256}\n Розмір завантаженого файлу: {size}", - "app_failed_to_download_asset": "Не вдалося завантажити ресурс '{source_id}' ({url}) для {app}: {out}" -} + "app_failed_to_download_asset": "Не вдалося завантажити ресурс '{source_id}' ({url}) для {app}: {out}", + "ask_dyndns_recovery_password_explain_unavailable": "Цей домен DynDNS вже зареєстрований. Якщо ви особисто зареєстрували цей домен, можете ввести пароль для відновлення домену.", + "dyndns_too_many_requests": "Сервіс DynDNS YunoHost отримала від вас занадто багато запитів, зачекайте приблизно 1 годину, перш ніж спробувати ще раз.", + "ask_dyndns_recovery_password_explain": "Будь ласка, виберіть пароль для відновлення вашого домену DynDNS, на випадок, якщо вам знадобиться скинути його пізніше.", + "ask_dyndns_recovery_password": "Пароль відновлення DynDNS", + "ask_dyndns_recovery_password_explain_during_unsubscribe": "Будь ласка, введіть пароль відновлення для цього домену DynDNS.", + "dyndns_no_recovery_password": "Не вказано пароль для відновлення! У разі втрати контролю над цим доменом вам необхідно звернутися до адміністратора команди YunoHost!", + "dyndns_subscribed": "Домен DynDNS зареєстровано", + "dyndns_subscribe_failed": "Не вдалося підписатися на домен DynDNS: {error}", + "dyndns_unsubscribe_failed": "Не вдалося скасувати підписку на домен DynDNS: {error}", + "dyndns_unsubscribed": "Домен DynDNS відписано", + "dyndns_unsubscribe_denied": "Не вдалося відписати домен: невірні облікові дані", + "dyndns_unsubscribe_already_unsubscribed": "Домен вже відписаний", + "dyndns_set_recovery_password_denied": "Не вдалося встановити пароль відновлення: невірний ключ", + "dyndns_set_recovery_password_unknown_domain": "Не вдалося встановити пароль відновлення: домен не зареєстровано", + "dyndns_set_recovery_password_invalid_password": "Не вдалося встановити пароль для відновлення: пароль недостатньо надійний", + "dyndns_set_recovery_password_failed": "Не вдалося встановити пароль для відновлення: {error}", + "dyndns_set_recovery_password_success": "Пароль для відновлення встановлено!", + "log_dyndns_unsubscribe": "Скасувати підписку на субдомен YunoHost '{}'" +} \ No newline at end of file diff --git a/locales/zh_Hans.json b/locales/zh_Hans.json index 18c6430c0..633ceeaf4 100644 --- a/locales/zh_Hans.json +++ b/locales/zh_Hans.json @@ -304,12 +304,9 @@ "extracting": "提取中...", "dyndns_unavailable": "域'{domain}' 不可用。", "dyndns_domain_not_provided": "DynDNS提供者 {provider} 无法提供域 {domain}。", - "dyndns_registration_failed": "无法注册DynDNS域: {error}", - "dyndns_registered": "DynDNS域已注册", "dyndns_provider_unreachable": "无法联系DynDNS提供者 {provider}: 您的YunoHost未正确连接到Internet或dynette服务器已关闭。", "dyndns_no_domain_registered": "没有在DynDNS中注册的域", "dyndns_key_not_found": "找不到该域的DNS密钥", - "dyndns_key_generating": "正在生成DNS密钥...可能需要一段时间。", "dyndns_ip_updated": "在DynDNS上更新了您的IP", "dyndns_ip_update_failed": "无法将IP地址更新到DynDNS", "dyndns_could_not_check_available": "无法检查{provider}上是否可用 {domain}。", @@ -322,7 +319,6 @@ "domain_remove_confirm_apps_removal": "删除该域将删除这些应用:\n{apps}\n\n您确定要这样做吗? [{answers}]", "domain_hostname_failed": "无法设置新的主机名。稍后可能会引起问题(可能没问题)。", "domain_exists": "该域已存在", - "domain_dyndns_root_unknown": "未知的DynDNS根域", "domain_dyndns_already_subscribed": "您已经订阅了DynDNS域", "domain_dns_conf_is_just_a_recommendation": "本页向您展示了*推荐的*配置。它并*不*为您配置DNS。您有责任根据该建议在您的DNS注册商处配置您的DNS区域。", "domain_deletion_failed": "无法删除域 {domain}: {error}", diff --git a/share/actionsmap.yml b/share/actionsmap.yml index e1bb7c520..d31af7ff0 100644 --- a/share/actionsmap.yml +++ b/share/actionsmap.yml @@ -1654,6 +1654,10 @@ tools: help: python command to execute full: --command + ### tools_basic_space_cleanup() + basic-space-cleanup: + action_help: Basic space cleanup (apt, journalctl, logs, ...) + ### tools_shutdown() shutdown: action_help: Shutdown the server diff --git a/src/__init__.py b/src/__init__.py index 32ee0cbb9..7eb4f16cf 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1,6 +1,6 @@ #! /usr/bin/python # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/app.py b/src/app.py index e50c09f81..d08d9ab76 100644 --- a/src/app.py +++ b/src/app.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # @@ -640,23 +640,18 @@ def app_upgrade( manifest.get("remote", {}).get("revision", "?"), ) continue - elif app_current_version > app_new_version: - upgrade_type = "DOWNGRADE_FORCED" + + if app_current_version > app_new_version: + upgrade_type = "DOWNGRADE" elif app_current_version == app_new_version: - upgrade_type = "UPGRADE_FORCED" + upgrade_type = "UPGRADE_SAME" else: - app_current_version_upstream, app_current_version_pkg = str( - app_current_version_raw - ).split("~ynh") - app_new_version_upstream, app_new_version_pkg = str( - app_new_version_raw - ).split("~ynh") + app_current_version_upstream, _ = str(app_current_version_raw).split("~ynh") + app_new_version_upstream, _ = str(app_new_version_raw).split("~ynh") if app_current_version_upstream == app_new_version_upstream: upgrade_type = "UPGRADE_PACKAGE" - elif app_current_version_pkg == app_new_version_pkg: - upgrade_type = "UPGRADE_APP" else: - upgrade_type = "UPGRADE_FULL" + upgrade_type = "UPGRADE_APP" # Check requirements for name, passed, values, err in _check_manifest_requirements( diff --git a/src/app_catalog.py b/src/app_catalog.py index 2a50a0f82..5c15d696e 100644 --- a/src/app_catalog.py +++ b/src/app_catalog.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/authenticators/ldap_admin.py b/src/authenticators/ldap_admin.py index 08d28d1c0..bc55380b5 100644 --- a/src/authenticators/ldap_admin.py +++ b/src/authenticators/ldap_admin.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/backup.py b/src/backup.py index 53f727fc2..96c6ede4b 100644 --- a/src/backup.py +++ b/src/backup.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/certificate.py b/src/certificate.py index c3aaacc87..0859afed8 100644 --- a/src/certificate.py +++ b/src/certificate.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # @@ -576,9 +576,16 @@ def _prepare_certificate_signing_request(domain, key_file, output_folder): or {} ) sanlist = [] + + # Handle the boring case where the domain is not the root of the dns zone etc... + from yunohost.dns import _get_relative_name_for_dns_zone, _get_dns_zone_for_domain + base_dns_zone = _get_dns_zone_for_domain(domain) + basename = _get_relative_name_for_dns_zone(domain, base_dns_zone) + suffix = f".{basename}" if basename != "@" else "" + for sub in ("xmpp-upload", "muc"): subdomain = sub + "." + domain - if xmpp_records.get("CNAME:" + sub) == "OK": + if xmpp_records.get("CNAME:" + sub + suffix) == "OK": sanlist.append(("DNS:" + subdomain)) else: logger.warning( diff --git a/src/diagnosers/00-basesystem.py b/src/diagnosers/00-basesystem.py index dec8c3c2c..56bfac1b0 100644 --- a/src/diagnosers/00-basesystem.py +++ b/src/diagnosers/00-basesystem.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/10-ip.py b/src/diagnosers/10-ip.py index 3d457991e..69d1c8478 100644 --- a/src/diagnosers/10-ip.py +++ b/src/diagnosers/10-ip.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/12-dnsrecords.py b/src/diagnosers/12-dnsrecords.py index 59a5e9857..e0512c236 100644 --- a/src/diagnosers/12-dnsrecords.py +++ b/src/diagnosers/12-dnsrecords.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/14-ports.py b/src/diagnosers/14-ports.py index 34c512f14..b849273f2 100644 --- a/src/diagnosers/14-ports.py +++ b/src/diagnosers/14-ports.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/21-web.py b/src/diagnosers/21-web.py index cc6edd7dc..02b705294 100644 --- a/src/diagnosers/21-web.py +++ b/src/diagnosers/21-web.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/24-mail.py b/src/diagnosers/24-mail.py index 88748661c..7ca582147 100644 --- a/src/diagnosers/24-mail.py +++ b/src/diagnosers/24-mail.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/30-services.py b/src/diagnosers/30-services.py index 42ea9d18f..ee63f4559 100644 --- a/src/diagnosers/30-services.py +++ b/src/diagnosers/30-services.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/50-systemresources.py b/src/diagnosers/50-systemresources.py index 096c3483f..536d8fd71 100644 --- a/src/diagnosers/50-systemresources.py +++ b/src/diagnosers/50-systemresources.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/70-regenconf.py b/src/diagnosers/70-regenconf.py index 65195aac5..c6317d4fc 100644 --- a/src/diagnosers/70-regenconf.py +++ b/src/diagnosers/70-regenconf.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/80-apps.py b/src/diagnosers/80-apps.py index 93cefeaaf..3c336eae6 100644 --- a/src/diagnosers/80-apps.py +++ b/src/diagnosers/80-apps.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosers/__init__.py b/src/diagnosers/__init__.py index 7c1e7b0cd..86d229abb 100644 --- a/src/diagnosers/__init__.py +++ b/src/diagnosers/__init__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/diagnosis.py b/src/diagnosis.py index 90709ad23..a4a8fc14c 100644 --- a/src/diagnosis.py +++ b/src/diagnosis.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/dns.py b/src/dns.py index 569788a6d..cbfc107fa 100644 --- a/src/dns.py +++ b/src/dns.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/domain.py b/src/domain.py index 25be456e4..981cdebe8 100644 --- a/src/domain.py +++ b/src/domain.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/dyndns.py b/src/dyndns.py index 34ae21c4d..00afe9d4e 100644 --- a/src/dyndns.py +++ b/src/dyndns.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/firewall.py b/src/firewall.py index ca03abb14..4e7337a5d 100644 --- a/src/firewall.py +++ b/src/firewall.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/hook.py b/src/hook.py index 53913e9a0..15f6912e8 100644 --- a/src/hook.py +++ b/src/hook.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/log.py b/src/log.py index 67e07f84e..73d8090d5 100644 --- a/src/log.py +++ b/src/log.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/permission.py b/src/permission.py index 7ec6f17bc..4475ea1d6 100644 --- a/src/permission.py +++ b/src/permission.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/regenconf.py b/src/regenconf.py index 432a824ac..5b9f117c6 100644 --- a/src/regenconf.py +++ b/src/regenconf.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/service.py b/src/service.py index 6bb61d841..ca1723b8f 100644 --- a/src/service.py +++ b/src/service.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/settings.py b/src/settings.py index f71bca8cc..87234bf02 100644 --- a/src/settings.py +++ b/src/settings.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/ssh.py b/src/ssh.py index 8526e278f..bd1132663 100644 --- a/src/ssh.py +++ b/src/ssh.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/tools.py b/src/tools.py index 7c64f6927..b7b849bc5 100644 --- a/src/tools.py +++ b/src/tools.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # @@ -623,6 +623,18 @@ def tools_shell(command=None): shell = code.InteractiveConsole(vars) shell.interact() +def tools_basic_space_cleanup(): + """ + Basic space cleanup. + + apt autoremove + apt autoclean + journalctl vacuum (leaves 50M of logs) + archived logs removal + """ + subprocess.run("apt autoremove && apt autoclean", shell=True) + subprocess.run("journalctl --vacuum-size=50M", shell=True) + subprocess.run("rm /var/log/*.gz && rm /var/log/*/*.gz && rm /var/log/*.? && rm /var/log/*/*.?", shell=True) # ############################################ # # # diff --git a/src/user.py b/src/user.py index 9d3e9010b..f8ead156f 100644 --- a/src/user.py +++ b/src/user.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/__init__.py b/src/utils/__init__.py index 7c1e7b0cd..86d229abb 100644 --- a/src/utils/__init__.py +++ b/src/utils/__init__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/configpanel.py b/src/utils/configpanel.py index ab7f6ee15..07757594f 100644 --- a/src/utils/configpanel.py +++ b/src/utils/configpanel.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/dns.py b/src/utils/dns.py index 569dad466..b48aa9136 100644 --- a/src/utils/dns.py +++ b/src/utils/dns.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/error.py b/src/utils/error.py index 9be48c5df..3ed62d24a 100644 --- a/src/utils/error.py +++ b/src/utils/error.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/form.py b/src/utils/form.py index 350c36182..ce5663de0 100644 --- a/src/utils/form.py +++ b/src/utils/form.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/i18n.py b/src/utils/i18n.py index 2aafafbdd..48c282737 100644 --- a/src/utils/i18n.py +++ b/src/utils/i18n.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/ldap.py b/src/utils/ldap.py index 952f0250f..b4039da85 100644 --- a/src/utils/ldap.py +++ b/src/utils/ldap.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/legacy.py b/src/utils/legacy.py index 06b551279..780589f2d 100644 --- a/src/utils/legacy.py +++ b/src/utils/legacy.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/network.py b/src/utils/network.py index 2a13f966e..00b465205 100644 --- a/src/utils/network.py +++ b/src/utils/network.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/password.py b/src/utils/password.py index de9ef2c48..8b1d44f86 100644 --- a/src/utils/password.py +++ b/src/utils/password.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/resources.py b/src/utils/resources.py index 81efffc85..aaee2822c 100644 --- a/src/utils/resources.py +++ b/src/utils/resources.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # @@ -334,7 +334,7 @@ class SourcesResource(AppResource): `autoupdate.strategy` is expected to be one of : - `latest_github_tag` : look for the latest tag (by sorting tags and finding the "largest" version). Then using the corresponding tar.gz url. Tags containing `rc`, `beta`, `alpha`, `start` are ignored, and actually any tag which doesn't look like `x.y.z` or `vx.y.z` - - `latest_github_release` : similar to `latest_github_tags`, but starting from the list of releases. Pre- or draft releases are ignored. Releases may have assets attached to them, in which case you can define: + - `latest_github_release` : similar to `latest_github_tags`, but starting from the list of releases and provides the changelog link in PR message. Pre- or draft releases are ignored. Releases may have assets attached to them, in which case you can define: - `autoupdate.asset = "some regex"` (when there's only one asset to use). The regex is used to find the appropriate asset among the list of all assets - or several `autoupdate.asset.$arch = "some_regex"` (when the asset is arch-specific). The regex is used to find the appropriate asset for the specific arch among the list of assets - `latest_github_commit` : will use the latest commit on github, and the corresponding tarball. If this is used for the 'main' source, it will also assume that the version is YYYY.MM.DD corresponding to the date of the commit. diff --git a/src/utils/system.py b/src/utils/system.py index c608021bd..6a77e293b 100644 --- a/src/utils/system.py +++ b/src/utils/system.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) # diff --git a/src/utils/yunopaste.py b/src/utils/yunopaste.py index 46131846d..8032ff629 100644 --- a/src/utils/yunopaste.py +++ b/src/utils/yunopaste.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 YunoHost Contributors +# Copyright (c) 2024 YunoHost Contributors # # This file is part of YunoHost (see https://yunohost.org) #