mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
Merge branch 'dev' of github.com:YunoHost/yunohost into dev
This commit is contained in:
commit
e2da7e406b
35 changed files with 114 additions and 211 deletions
|
@ -8,7 +8,7 @@ Group=mdns
|
|||
Type=simple
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
ExecStart=/usr/bin/yunomdns
|
||||
StandardOutput=syslog
|
||||
StandardOutput=journal
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
|
|
|
@ -215,7 +215,6 @@
|
|||
"mail_unavailable": "Aquesta adreça de correu està reservada i ha de ser atribuïda automàticament el primer usuari",
|
||||
"main_domain_change_failed": "No s'ha pogut canviar el domini principal",
|
||||
"main_domain_changed": "S'ha canviat el domini principal",
|
||||
"migrations_cant_reach_migration_file": "No s'ha pogut accedir als fitxers de migració al camí «%s»",
|
||||
"migrations_list_conflict_pending_done": "No es pot utilitzar «--previous» i «--done» al mateix temps.",
|
||||
"migrations_loading_migration": "Carregant la migració {id}...",
|
||||
"migrations_migration_has_failed": "La migració {id} ha fallat, cancel·lant. Error: {exception}",
|
||||
|
@ -224,7 +223,6 @@
|
|||
"migrations_to_be_ran_manually": "La migració {id} s'ha de fer manualment. Aneu a Eines → Migracions a la interfície admin, o executeu «yunohost tools migrations run».",
|
||||
"migrations_need_to_accept_disclaimer": "Per fer la migració {id}, heu d'acceptar aquesta clàusula de no responsabilitat:\n---\n{disclaimer}\n---\nSi accepteu fer la migració, torneu a executar l'ordre amb l'opció «--accept-disclaimer».",
|
||||
"not_enough_disk_space": "No hi ha prou espai en «{path}»",
|
||||
"packages_upgrade_failed": "No s'han pogut actualitzar tots els paquets",
|
||||
"pattern_backup_archive_name": "Ha de ser un nom d'arxiu vàlid amb un màxim de 30 caràcters, compost per caràcters alfanumèrics i -_. exclusivament",
|
||||
"pattern_domain": "Ha de ser un nom de domini vàlid (ex.: el-meu-domini.cat)",
|
||||
"pattern_email": "Ha de ser una adreça de correu vàlida, sense el símbol «+» (ex.: algu@domini.cat)",
|
||||
|
@ -313,13 +311,6 @@
|
|||
"system_upgraded": "S'ha actualitzat el sistema",
|
||||
"system_username_exists": "El nom d'usuari ja existeix en la llista d'usuaris de sistema",
|
||||
"this_action_broke_dpkg": "Aquesta acció a trencat dpkg/APT (els gestors de paquets del sistema)... Podeu intentar resoldre el problema connectant-vos amb SSH i executant «sudo apt install --fix-broken» i/o «sudo dpkg --configure -a».",
|
||||
"tools_upgrade_cant_hold_critical_packages": "No es poden mantenir els paquets crítics...",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "No es poden deixar de mantenir els paquets crítics...",
|
||||
"tools_upgrade_regular_packages": "Actualitzant els paquets «normals» (no relacionats amb YunoHost)...",
|
||||
"tools_upgrade_regular_packages_failed": "No s'han pogut actualitzar els paquets següents: {packages_list}",
|
||||
"tools_upgrade_special_packages": "Actualitzant els paquets «especials» (relacionats amb YunoHost)...",
|
||||
"tools_upgrade_special_packages_explanation": "Aquesta actualització especial continuarà en segon pla. No comenceu cap altra acció al servidor en els pròxims ~10 minuts (depèn de la velocitat del maquinari). Després d'això, pot ser que us hagueu de tornar a connectar a la interfície d'administració. Els registres de l'actualització estaran disponibles a Eines → Registres (a la interfície d'administració) o utilitzant «yunohost log list» (des de la línia d'ordres).",
|
||||
"tools_upgrade_special_packages_completed": "Actualització dels paquets YunoHost acabada.\nPremeu [Enter] per tornar a la línia d'ordres",
|
||||
"unbackup_app": "{app} no es guardarà",
|
||||
"unexpected_error": "Hi ha hagut un error inesperat: {error}",
|
||||
"unlimit": "Sense quota",
|
||||
|
|
|
@ -71,7 +71,6 @@
|
|||
"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",
|
||||
"packages_upgrade_failed": "Konnte nicht alle Pakete aktualisieren",
|
||||
"pattern_backup_archive_name": "Muss ein gültiger Dateiname mit maximal 30 alphanumerischen sowie -_. Zeichen sein",
|
||||
"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)",
|
||||
|
@ -478,7 +477,6 @@
|
|||
"migrations_pending_cant_rerun": "Diese Migrationen sind immer noch anstehend und können deshalb nicht erneut durchgeführt werden: {ids}",
|
||||
"migrations_not_pending_cant_skip": "Diese Migrationen sind nicht anstehend und können deshalb nicht übersprungen werden: {ids}",
|
||||
"migrations_success_forward": "Migration {id} abgeschlossen",
|
||||
"migrations_cant_reach_migration_file": "Die Migrationsdateien konnten nicht aufgerufen werden im Verzeichnis '%s'",
|
||||
"migrations_dependencies_not_satisfied": "Führen Sie diese Migrationen aus: '{dependencies_id}', vor der Migration {id}.",
|
||||
"migrations_failed_to_load_migration": "Konnte Migration nicht laden {id}: {error}",
|
||||
"migrations_list_conflict_pending_done": "Sie können nicht '--previous' und '--done' gleichzeitig benützen.",
|
||||
|
@ -577,15 +575,8 @@
|
|||
"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 können Sie 'show_tile' nicht aktivieren, weil Sie zuerst eine URL für die Berechtigung '{permission}' definieren müssen",
|
||||
"tools_upgrade_regular_packages_failed": "Konnte für die folgenden Pakete das Upgrade nicht durchführen: {packages_list}",
|
||||
"tools_upgrade_regular_packages": "Momentan werden Upgrades für das System (YunoHost-unabhängige) Pakete durchgeführt...",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Konnte für die kritischen Pakete das Flag 'hold' nicht aufheben...",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Konnte für die kritischen Pakete das Flag 'hold' nicht setzen...",
|
||||
"this_action_broke_dpkg": "Diese Aktion hat unkonfigurierte Pakete verursacht, welche durch dpkg/apt (die Paketverwaltungen dieses Systems) zurückgelassen wurden... Sie können versuchen dieses Problem zu lösen, indem Sie 'sudo apt install --fix-broken' und/oder 'sudo dpkg --configure -a' ausführen.",
|
||||
"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}",
|
||||
"tools_upgrade_special_packages_completed": "YunoHost-Paketupdate beendet.\nDrücke [Enter], um zurück zur Kommandoziele zu kommen",
|
||||
"tools_upgrade_special_packages_explanation": "Das Upgrade \"special\" wird im Hintergrund ausgeführt. Bitte starten Sie keine anderen Aktionen auf Ihrem Server für die nächsten ~10 Minuten. Die Dauer ist abhängig von der Geschwindigkeit Ihres Servers. Nach dem Upgrade müssen Sie sich eventuell erneut in das Adminportal einloggen. Upgrade-Logs sind im Adminbereich unter Tools → Log verfügbar. Alternativ können Sie in der Befehlszeile 'yunohost log list' eingeben.",
|
||||
"tools_upgrade_special_packages": "\"special\" (YunoHost-bezogene) Pakete werden jetzt aktualisiert...",
|
||||
"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.",
|
||||
"yunohost_postinstall_end_tip": "Post-install ist fertig! Um das Setup abzuschliessen, wird empfohlen:\n - einen ersten Benutzer über den Bereich 'Benutzer:in' im Adminbereich hinzuzufügen (oder mit 'yunohost user create <username>' in der Kommandezeile);\n - mögliche Fehler zu diagnostizieren über den Bereich 'Diagnose' im Adminbereich (oder mit 'yunohost diagnosis run' in der Kommandozeile;\n - Die Abschnitte 'Install YunoHost' und 'Geführte Tour' im Administratorenhandbuch zu lesen: https://yunohost.org/admindoc.",
|
||||
"user_already_exists": "Benutzer:in '{user}' ist bereits vorhanden",
|
||||
|
@ -686,4 +677,4 @@
|
|||
"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 beachten Sie, 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ühren Sie ein Backup aller kritischen Daten oder Anwendungen durch. Mehr Informationen unter https://yunohost.org/backup;\n - Haben Sie Geduld, nachdem Sie die Migration gestartet haben: Je nach Internetverbindung und Hardware kann es bis zu ein paar Stunden dauern, bis alles aktualisiert ist."
|
||||
}
|
||||
}
|
|
@ -528,7 +528,6 @@
|
|||
"not_enough_disk_space": "Not enough free space on '{path}'",
|
||||
"operation_interrupted": "The operation was manually interrupted?",
|
||||
"other_available_options": "... and {n} other available options not shown",
|
||||
"packages_upgrade_failed": "Could not upgrade all the packages",
|
||||
"password_listed": "This password is among the most used passwords in the world. Please choose something more unique.",
|
||||
"password_too_simple_1": "The password needs to be at least 8 characters long",
|
||||
"password_too_simple_2": "The password needs to be at least 8 characters long and contain a digit, upper and lower characters",
|
||||
|
@ -686,4 +685,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 - adding a first user through the 'Users' section of the webadmin (or 'yunohost user create <username>' in command-line);\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."
|
||||
}
|
||||
}
|
|
@ -114,7 +114,6 @@
|
|||
"migrations_must_provide_explicit_targets": "Vi devas provizi eksplicitajn celojn kiam vi uzas '--skip' aŭ '--force-rerun'",
|
||||
"permission_update_failed": "Ne povis ĝisdatigi permeson '{permission}': {error}",
|
||||
"permission_updated": "Ĝisdatigita \"{permission}\" rajtigita",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Ne povis teni kritikajn pakojn…",
|
||||
"upnp_dev_not_found": "Neniu UPnP-aparato trovita",
|
||||
"pattern_password": "Devas esti almenaŭ 3 signoj longaj",
|
||||
"root_password_desynchronized": "La pasvorta administranto estis ŝanĝita, sed YunoHost ne povis propagandi ĉi tion al la radika pasvorto!",
|
||||
|
@ -154,8 +153,6 @@
|
|||
"permission_deletion_failed": "Ne povis forigi permeson '{permission}': {error}",
|
||||
"permission_not_found": "Permesita \"{permission}\" ne trovita",
|
||||
"restore_not_enough_disk_space": "Ne sufiĉa spaco (spaco: {free_space} B, necesa spaco: {needed_space} B, sekureca marĝeno: {margin} B)",
|
||||
"tools_upgrade_regular_packages": "Nun ĝisdatigi 'regulajn' (ne-yunohost-rilatajn) pakojn …",
|
||||
"tools_upgrade_special_packages_explanation": "La speciala ĝisdatigo daŭros en la fono. Bonvolu ne komenci aliajn agojn en via servilo dum la sekvaj ~ 10 minutoj (depende de la aparata rapideco). Post tio, vi eble devos re-ensaluti al la retadreso. La ĝisdatiga registro estos havebla en Iloj → Ensaluto (en la retadreso) aŭ uzante 'yunohost logliston' (el la komandlinio).",
|
||||
"unrestore_app": "App '{app}' ne restarigos",
|
||||
"group_created": "Grupo '{group}' kreita",
|
||||
"group_creation_failed": "Ne povis krei la grupon '{group}': {error}",
|
||||
|
@ -168,7 +165,6 @@
|
|||
"ip6tables_unavailable": "Vi ne povas ludi kun ip6tabloj ĉi tie. Vi estas en ujo aŭ via kerno ne subtenas ĝin",
|
||||
"mail_unavailable": "Ĉi tiu retpoŝta adreso estas rezervita kaj aŭtomate estos atribuita al la unua uzanto",
|
||||
"certmanager_domain_dns_ip_differs_from_public_ip": "La DNS 'A' rekordo por la domajno '{domain}' diferencas de la IP de ĉi tiu servilo. Se vi lastatempe modifis vian A-registron, bonvolu atendi ĝin propagandi (iuj DNS-disvastigaj kontroliloj estas disponeblaj interrete). (Se vi scias, kion vi faras, uzu '--no-checks' por malŝalti tiujn ĉekojn.)",
|
||||
"tools_upgrade_special_packages_completed": "Plenumis la ĝisdatigon de pakaĵoj de YunoHost.\nPremu [Enter] por retrovi la komandlinion",
|
||||
"log_remove_on_failed_install": "Forigu '{}' post malsukcesa instalado",
|
||||
"regenconf_file_manually_modified": "La agorddosiero '{conf}' estis modifita permane kaj ne estos ĝisdatigita",
|
||||
"regenconf_would_be_updated": "La agordo estus aktualigita por la kategorio '{category}'",
|
||||
|
@ -184,10 +180,8 @@
|
|||
"upgrading_packages": "Ĝisdatigi pakojn…",
|
||||
"custom_app_url_required": "Vi devas provizi URL por altgradigi vian kutimon app {app}",
|
||||
"service_reload_failed": "Ne povis reŝargi la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"packages_upgrade_failed": "Ne povis ĝisdatigi ĉiujn pakojn",
|
||||
"hook_json_return_error": "Ne povis legi revenon de hoko {path}. Eraro: {msg}. Kruda enhavo: {raw_content}",
|
||||
"dyndns_key_not_found": "DNS-ŝlosilo ne trovita por la domajno",
|
||||
"tools_upgrade_regular_packages_failed": "Ne povis ĝisdatigi pakojn: {packages_list}",
|
||||
"service_start_failed": "Ne povis komenci la servon '{service}'\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"service_reloaded": "Servo '{service}' reŝargita",
|
||||
"system_upgraded": "Sistemo ĝisdatigita",
|
||||
|
@ -201,7 +195,6 @@
|
|||
"domain_dyndns_already_subscribed": "Vi jam abonis DynDNS-domajnon",
|
||||
"log_letsencrypt_cert_renew": "Renovigu '{}' Let's Encrypt atestilon",
|
||||
"backup_output_directory_required": "Vi devas provizi elirejan dosierujon por la sekurkopio",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Ne povis malŝalti kritikajn pakojn…",
|
||||
"log_link_to_log": "Plena ŝtipo de ĉi tiu operacio: '<a href=\"#/tools/logs/{name}\" style=\"text-decoration:underline\">{desc} </a>'",
|
||||
"global_settings_cant_serialize_settings": "Ne eblis serialigi datumojn pri agordoj, motivo: {reason}",
|
||||
"backup_running_hooks": "Kurado de apogaj hokoj …",
|
||||
|
@ -251,7 +244,6 @@
|
|||
"downloading": "Elŝutante …",
|
||||
"user_deleted": "Uzanto forigita",
|
||||
"service_enable_failed": "Ne povis fari la servon '{service}' aŭtomate komenci ĉe la ekkuro.\n\nLastatempaj servaj protokoloj: {logs}",
|
||||
"tools_upgrade_special_packages": "Nun ĝisdatigi 'specialajn' (rilatajn al yunohost)…",
|
||||
"domains_available": "Haveblaj domajnoj:",
|
||||
"dyndns_registered": "Registrita domajno DynDNS",
|
||||
"service_description_fail2ban": "Protektas kontraŭ bruta forto kaj aliaj specoj de atakoj de la interreto",
|
||||
|
@ -331,7 +323,6 @@
|
|||
"regenconf_file_copy_failed": "Ne povis kopii la novan agordodosieron '{new}' al '{conf}'",
|
||||
"restore_already_installed_app": "App kun la ID '{app}' estas jam instalita",
|
||||
"mail_domain_unknown": "Nevalida retadreso por domajno '{domain}'. Bonvolu uzi domajnon administritan de ĉi tiu servilo.",
|
||||
"migrations_cant_reach_migration_file": "Ne povis aliri migrajn dosierojn ĉe la vojo '% s'",
|
||||
"pattern_email": "Devas esti valida retpoŝta adreso (t.e. iu@ekzemple.com)",
|
||||
"mail_alias_remove_failed": "Ne povis forigi retpoŝton alias '{mail}'",
|
||||
"regenconf_file_manually_removed": "La dosiero de agordo '{conf}' estis forigita permane, kaj ne estos kreita",
|
||||
|
|
|
@ -80,7 +80,6 @@
|
|||
"main_domain_change_failed": "No se pudo cambiar el dominio principal",
|
||||
"main_domain_changed": "El dominio principal ha cambiado",
|
||||
"not_enough_disk_space": "No hay espacio libre suficiente en «{path}»",
|
||||
"packages_upgrade_failed": "No se pudieron actualizar todos los paquetes",
|
||||
"pattern_backup_archive_name": "Debe ser un nombre de archivo válido con un máximo de 30 caracteres, solo se admiten caracteres alfanuméricos y los caracteres -_. (guiones y punto)",
|
||||
"pattern_domain": "El nombre de dominio debe ser válido (por ejemplo mi-dominio.org)",
|
||||
"pattern_email": "Debe ser una dirección de correo electrónico válida, sin el símbolo '+' (ej. alguien@ejemplo.com)",
|
||||
|
@ -203,13 +202,6 @@
|
|||
"password_too_simple_4": "La contraseña debe ser de al menos 12 caracteres de longitud e incluir un número, mayúsculas, minúsculas y caracteres especiales",
|
||||
"update_apt_cache_warning": "Algo fue mal durante la actualización de la caché de APT (gestor de paquetes de Debian). Aquí tiene un volcado de las líneas de sources.list que podría ayudarle a identificar las líneas problemáticas:\n{sourceslist}",
|
||||
"update_apt_cache_failed": "Imposible actualizar la caché de APT (gestor de paquetes de Debian). Aquí tienes un volcado de las líneas de sources.list que podrían ayudarte a identificar las líneas problemáticas:\n{sourceslist}",
|
||||
"tools_upgrade_special_packages_completed": "Actualización de paquetes de YunoHost completada.\nPulse [Intro] para regresar a la línea de órdenes",
|
||||
"tools_upgrade_special_packages_explanation": "La actualización especial continuará en segundo plano. No inicie ninguna otra acción en su servidor durante los próximos 10 minutos (dependiendo de la velocidad del hardware). Después de esto, es posible que deba volver a iniciar sesión en el administrador web. El registro de actualización estará disponible en Herramientas → Registro (en el webadmin) o usando 'yunohost log list' (desde la línea de comandos).",
|
||||
"tools_upgrade_special_packages": "Actualizando ahora paquetes «especiales» (relacionados con YunoHost)…",
|
||||
"tools_upgrade_regular_packages_failed": "No se pudieron actualizar los paquetes: {packages_list}",
|
||||
"tools_upgrade_regular_packages": "Actualizando ahora paquetes «normales» (no relacionados con YunoHost)…",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "No se pudo liberar los paquetes críticos…",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Imposible etiquetar con 'hold' los paquetes críticos…",
|
||||
"this_action_broke_dpkg": "Esta acción rompió dpkg/APT(los gestores de paquetes del sistema)… Puedes tratar de solucionar este problema conectándote mediante SSH y ejecutando `sudo apt install --fix-broken` and/or `sudo dpkg --configure -a`.",
|
||||
"service_reloaded_or_restarted": "El servicio '{service}' fue recargado o reiniciado",
|
||||
"service_reload_or_restart_failed": "No se pudo recargar o reiniciar el servicio «{service}»\n\nRegistro de servicios recientes:{logs}",
|
||||
|
@ -281,7 +273,6 @@
|
|||
"migrations_exclusive_options": "«--auto», «--skip», and «--force-rerun» son opciones mutuamente excluyentes.",
|
||||
"migrations_failed_to_load_migration": "No se pudo cargar la migración {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "Ejecutar estas migraciones: «{dependencies_id}» antes de migrar {id}.",
|
||||
"migrations_cant_reach_migration_file": "No se pudo acceder a los archivos de migración en la ruta «%s»",
|
||||
"migrations_already_ran": "Esas migraciones ya se han realizado: {ids}",
|
||||
"mail_unavailable": "Esta dirección de correo está reservada y será asignada automáticamente al primer usuario",
|
||||
"mailbox_disabled": "Correo desactivado para usuario {user}",
|
||||
|
@ -604,4 +595,4 @@
|
|||
"diagnosis_sshd_config_insecure": "Parece que la configuración SSH ha sido modificada manualmente, y es insegura porque no tiene ninguna instrucción 'AllowGroups' o 'AllowUsers' para limitar el acceso a los usuarios autorizados.",
|
||||
"domain_dns_push_not_applicable": "La configuración automática de los registros DNS no puede realizarse en el dominio {domain}. Deberìas configurar manualmente los registros DNS siguiendo la <a href='https://yunohost.org/dns'>documentación</a>.",
|
||||
"domain_dns_push_managed_in_parent_domain": "La configuración automática de los registros DNS es administrada desde el dominio superior {parent_domain}."
|
||||
}
|
||||
}
|
|
@ -482,8 +482,6 @@
|
|||
"pattern_lastname": "Abizen horrek ez du balio",
|
||||
"permission_deleted": "'{permission}' baimena ezabatu da",
|
||||
"service_disabled": "'{service}' zerbitzua ez da etorkizunean zerbitzaria abiaraztearekin batera exekutatuko.",
|
||||
"tools_upgrade_regular_packages_failed": "Ezin izan dira paketeak eguneratu: {packages_list}",
|
||||
"tools_upgrade_special_packages_completed": "YunoHosten paketeak eguneratu dira.\nSakatu [Enter] komando-lerrora bueltatzeko",
|
||||
"unexpected_error": "Ezusteko zerbaitek huts egin du: {error}",
|
||||
"updating_apt_cache": "Sistemaren paketeen eguneraketak eskuratzen…",
|
||||
"mail_forward_remove_failed": "Ezinezkoa izan da '{mail}' posta elektronikoko birbidalketa ezabatzea",
|
||||
|
@ -507,13 +505,9 @@
|
|||
"permission_require_account": "'{permission}' baimena zerbitzarian kontua duten erabiltzaileentzat da eta, beraz, ezin da gaitu bisitarientzat.",
|
||||
"postinstall_low_rootfsspace": "'root' fitxategi-sistemak 10 GB edo espazio gutxiago dauka, kezkatzekoa dena! Litekeena da espaziorik gabe geratzea aurki! Gomendagarria da 'root' fitxategi-sistemak gutxienez 16 GB libre izatea. Jakinarazpen honen ondoren YunoHost instalatzen jarraitu nahi baduzu, berrabiarazi agindua '--force-diskspace' gehituz",
|
||||
"this_action_broke_dpkg": "Eragiketa honek dpkg/APT (sistemaren pakete kudeatzaileak) kaltetu ditu… Arazoa konpontzeko SSH bidez konektatu eta 'sudo apt install --fix-broken' edota 'sudo dpkg --configure -a' exekutatu dezakezu.",
|
||||
"tools_upgrade_special_packages_explanation": "Eguneraketa bereziak atzeko planoan jarraituko du. Mesedez, ez abiarazi bestelako eragiketarik datozen ~10 minutuetan (zure hardwarearen abiaduraren arabera). Honen ondoren litekeena da saioa berriro hasi behar izatea. Eguneraketaren erregistroa Erramintak → Erregistroak atalean (administrazio-atarian) edo 'yunohost log list' komandoa erabiliz egongo da ikusgai.",
|
||||
"user_import_bad_line": "{line} lerro okerra: {details}",
|
||||
"restore_complete": "Lehengoratzea amaitu da",
|
||||
"restore_extracting": "Behar diren fitxategiak ateratzen…",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Ezin izan dira pakete kritikoak deuseztatu…",
|
||||
"tools_upgrade_regular_packages": "Orain pakete \"arruntak\" (YunoHostekin zerikusia ez dutenak) eguneratzen…",
|
||||
"tools_upgrade_special_packages": "Orain pakete \"bereziak\" (YunoHostekin zerikusia dutenak) eguneratzen…",
|
||||
"regenconf_would_be_updated": "'{category}' atalerako konfigurazioa eguneratu izango litzatekeen",
|
||||
"migrations_dependencies_not_satisfied": "Exekutatu honako migrazioak: '{dependencies_id}', {id} migratu baino lehen.",
|
||||
"permission_created": "'{permission}' baimena sortu da",
|
||||
|
@ -542,8 +536,6 @@
|
|||
"migrations_pending_cant_rerun": "Migrazio hauek exekutatzeke daude eta, beraz, ezin dira berriro abiarazi: {ids}",
|
||||
"regenconf_file_kept_back": "'{conf}' konfigurazio fitxategia regen-conf-ek ({category} atala) ezabatzekoa zen baina mantendu egin da.",
|
||||
"regenconf_file_removed": "'{conf}' konfigurazio fitxategia ezabatu da",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Ezin izan dira pakete kritikoak mantendu…",
|
||||
"migrations_cant_reach_migration_file": "Ezinezkoa izan da '%s' migrazioen fitxategia eskuratzea",
|
||||
"permission_already_allowed": "'{group} taldeak badauka dagoeneko '{permission}' baimena",
|
||||
"permission_cant_add_to_all_users": "{permission} baimena ezin da erabiltzaile guztiei ezarri.",
|
||||
"mailbox_disabled": "Posta elektronikoa desgaituta dago {user} erabiltzailearentzat",
|
||||
|
@ -562,7 +554,6 @@
|
|||
"user_import_missing_columns": "Ondorengo zutabeak falta dira: {columns}",
|
||||
"service_disable_failed": "Ezin izan da '{service}' zerbitzua geldiarazi zerbitzaria abiaraztean.\n\nZerbitzuen erregistro berrienak: {logs}",
|
||||
"migrations_skip_migration": "{id} migrazioa saihesten…",
|
||||
"packages_upgrade_failed": "Ezinezkoa izan da pakete guztiak eguneratzea",
|
||||
"upnp_disabled": "UPnP itzalita dago",
|
||||
"main_domain_change_failed": "Ezinezkoa izan da domeinu nagusia aldatzea",
|
||||
"regenconf_failed": "Ezinezkoa izan da ondorengo atal(ar)en konfigurazioa berregitea: {categories}",
|
||||
|
|
|
@ -386,7 +386,6 @@
|
|||
"password_too_simple_2": "گذرواژه باید حداقل 8 کاراکتر طول داشته باشد و شامل عدد ، حروف الفبائی کوچک و بزرگ باشد",
|
||||
"password_too_simple_1": "رمز عبور باید حداقل 8 کاراکتر باشد",
|
||||
"password_listed": "این رمز در بین پر استفاده ترین رمزهای عبور در جهان قرار دارد. لطفاً چیزی منحصر به فرد تر انتخاب کنید.",
|
||||
"packages_upgrade_failed": "همه بسته ها را نمی توان ارتقا داد",
|
||||
"operation_interrupted": "عملیات به صورت دستی قطع شد؟",
|
||||
"invalid_password": "رمز عبور نامعتبر",
|
||||
"invalid_number": "باید یک عدد باشد",
|
||||
|
@ -407,7 +406,6 @@
|
|||
"migrations_exclusive_options": "'--auto', '--skip'، و '--force-rerun' گزینه های متقابل هستند.",
|
||||
"migrations_failed_to_load_migration": "مهاجرت بار نشد {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "این مهاجرت ها را اجرا کنید: '{dependencies_id}' ، قبل از مهاجرت {id}.",
|
||||
"migrations_cant_reach_migration_file": "دسترسی به پرونده های مهاجرت در مسیر '٪ s' امکان پذیر نیست",
|
||||
"migrations_already_ran": "این مهاجرت ها قبلاً انجام شده است: {ids}",
|
||||
"migration_ldap_rollback_success": "سیستم برگردانده شد.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "نمی توان مهاجرت کرد... تلاش برای بازگرداندن سیستم.",
|
||||
|
@ -498,13 +496,6 @@
|
|||
"unknown_main_domain_path": "دامنه یا مسیر ناشناخته برای '{app}'. شما باید یک دامنه و یک مسیر را مشخص کنید تا بتوانید یک آدرس اینترنتی برای مجوز تعیین کنید.",
|
||||
"unexpected_error": "مشکل غیر منتظره ای پیش آمده: {error}",
|
||||
"unbackup_app": "{app} ذخیره نمی شود",
|
||||
"tools_upgrade_special_packages_completed": "ارتقاء بسته YunoHost به پایان رسید\nبرای بازگرداندن خط فرمان [Enter] را فشار دهید",
|
||||
"tools_upgrade_special_packages_explanation": "ارتقاء ویژه در پس زمینه ادامه خواهد یافت. لطفاً تا 10 دقیقه دیگر (بسته به سرعت سخت افزار) هیچ اقدام دیگری را روی سرور خود شروع نکنید. پس از این کار ، ممکن است مجبور شوید دوباره وارد webadmin شوید. گزارش ارتقاء در Tools → Log (در webadmin) یا با استفاده از 'yunohost log list' (در خط فرمان) در دسترس خواهد بود.",
|
||||
"tools_upgrade_special_packages": "در حال ارتقاء بسته های 'special' (مربوط به yunohost)...",
|
||||
"tools_upgrade_regular_packages_failed": "بسته ها را نمی توان ارتقا داد: {packages_list}",
|
||||
"tools_upgrade_regular_packages": "در حال ارتقاء بسته های 'regular' (غیر مرتبط با yunohost)...",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "بسته های مهم و حیاتی را نمی توان نگه نداشت...",
|
||||
"tools_upgrade_cant_hold_critical_packages": "بسته های مهم و حیاتی را نمی توان نگه داشت...",
|
||||
"this_action_broke_dpkg": "این اقدام dpkg/APT (مدیران بسته های سیستم) را خراب کرد... می توانید با اتصال از طریق SSH و اجرای فرمان `sudo apt install --fix -break` و/یا` sudo dpkg --configure -a` این مشکل را حل کنید.",
|
||||
"system_username_exists": "نام کاربری قبلاً در لیست کاربران سیستم وجود دارد",
|
||||
"system_upgraded": "سیستم ارتقا یافت",
|
||||
|
|
|
@ -82,7 +82,6 @@
|
|||
"main_domain_change_failed": "Impossible de modifier le domaine principal",
|
||||
"main_domain_changed": "Le domaine principal a été modifié",
|
||||
"not_enough_disk_space": "L'espace disque est insuffisant sur '{path}'",
|
||||
"packages_upgrade_failed": "Impossible de mettre à jour tous les paquets",
|
||||
"pattern_backup_archive_name": "Doit être un nom de fichier valide avec un maximum de 30 caractères, et composé de caractères alphanumériques et -_. uniquement",
|
||||
"pattern_domain": "Doit être un nom de domaine valide (ex : mon-domaine.fr)",
|
||||
"pattern_email": "Il faut une adresse électronique valide, sans le symbole '+' (par exemple johndoe@exemple.com)",
|
||||
|
@ -212,7 +211,6 @@
|
|||
"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_cant_reach_migration_file": "Impossible d'accéder aux fichiers de migration via le chemin '%s'",
|
||||
"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",
|
||||
|
@ -338,14 +336,7 @@
|
|||
"regenconf_dry_pending_applying": "Vérification de la configuration en attente qui aurait été appliquée pour la catégorie '{category}'...",
|
||||
"regenconf_failed": "Impossible de régénérer la configuration pour la ou les catégorie(s) : '{categories}'",
|
||||
"regenconf_pending_applying": "Applique la configuration en attente pour la catégorie '{category}'...",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Impossibilité d'ajouter le drapeau 'hold' pour les paquets critiques...",
|
||||
"tools_upgrade_regular_packages": "Mise à jour des paquets du système (non liés a YunoHost)...",
|
||||
"tools_upgrade_regular_packages_failed": "Impossible de mettre à jour les paquets suivants : {packages_list}",
|
||||
"tools_upgrade_special_packages": "Mise à jour des paquets 'spécifiques' (liés a YunoHost)...",
|
||||
"tools_upgrade_special_packages_completed": "La mise à jour des paquets de YunoHost est finie !\nPressez [Entrée] pour revenir à la ligne de commande",
|
||||
"dpkg_lock_not_available": "Cette commande ne peut pas être exécutée pour le moment car un autre programme semble utiliser le verrou de dpkg (le gestionnaire de package système)",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Impossible d'enlever le drapeau 'hold' pour les paquets critiques...",
|
||||
"tools_upgrade_special_packages_explanation": "La mise à niveau spécifique à YunoHost se poursuivra en arrière-plan. Veuillez ne pas lancer d'autres actions sur votre serveur pendant les 10 prochaines minutes (selon la vitesse du matériel). Après cela, vous devrez peut-être vous reconnecter à la webadmin. Le journal de mise à niveau sera disponible dans Outils → Journal (dans le webadmin) ou en utilisant 'yunohost log list' (à partir de la ligne de commande).",
|
||||
"update_apt_cache_failed": "Impossible de mettre à jour le cache APT (gestionnaire de paquets Debian). Voici un extrait du fichier sources.list qui pourrait vous aider à identifier les lignes problématiques :\n{sourceslist}",
|
||||
"update_apt_cache_warning": "Des erreurs se sont produites lors de la mise à jour du cache APT (gestionnaire de paquets Debian). Voici un extrait des lignes du fichier sources.list qui pourrait vous aider à identifier les lignes problématiques :\n{sourceslist}",
|
||||
"backup_permission": "Permission de sauvegarde pour {app}",
|
||||
|
@ -686,4 +677,4 @@
|
|||
"migration_0021_not_buster": "La distribution Debian actuelle n'est pas Buster !",
|
||||
"migration_description_0021_migrate_to_bullseye": "Mise à niveau du système vers Debian Bullseye et YunoHost 11.x",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Autoriser l'authentification par mot de passe pour SSH"
|
||||
}
|
||||
}
|
|
@ -447,7 +447,6 @@
|
|||
"password_too_simple_3": "O contrasinal ten que ter 8 caracteres como mínimo e conter un díxito, maiúsculas, minúsculas e caracteres especiais",
|
||||
"password_too_simple_2": "O contrasinal ten que ter 8 caracteres como mínimo e conter un díxito, maiúsculas e minúsculas",
|
||||
"password_listed": "Este contrasinal está entre os máis utilizados no mundo. Por favor elixe outro que sexa máis orixinal.",
|
||||
"packages_upgrade_failed": "Non se puideron actualizar tódolos paquetes",
|
||||
"operation_interrupted": "Foi interrumpida manualmente a operación?",
|
||||
"invalid_number": "Ten que ser un número",
|
||||
"not_enough_disk_space": "Non hai espazo libre abondo en '{path}'",
|
||||
|
@ -467,7 +466,6 @@
|
|||
"migrations_exclusive_options": "'--auto', '--skip', e '--force-rerun' son opcións que se exclúen unhas a outras.",
|
||||
"migrations_failed_to_load_migration": "Non se cargou a migración {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "Executar estas migracións: '{dependencies_id}', antes da migración {id}.",
|
||||
"migrations_cant_reach_migration_file": "Non se pode acceder aos ficheiros de migración na ruta '%s'",
|
||||
"regenconf_file_manually_removed": "O ficheiro de configuración '{conf}' foi eliminado manualmente e non será creado",
|
||||
"regenconf_file_manually_modified": "O ficheiro de configuración '{conf}' foi modificado manualmente e non vai ser actualizado",
|
||||
"regenconf_file_kept_back": "Era de agardar que o ficheiro de configuración '{conf}' fose eliminado por regen-conf (categoría {category}) mais foi mantido.",
|
||||
|
@ -572,13 +570,6 @@
|
|||
"unknown_main_domain_path": "Dominio ou ruta descoñecida '{app}'. Tes que indicar un dominio e ruta para poder especificar un URL para o permiso.",
|
||||
"unexpected_error": "Aconteceu un fallo non agardado: {error}",
|
||||
"unbackup_app": "{app} non vai ser gardada",
|
||||
"tools_upgrade_special_packages_completed": "Completada a actualización dos paquetes YunoHost.\nPreme [Enter] para recuperar a liña de comandos",
|
||||
"tools_upgrade_special_packages_explanation": "A actualización especial continuará en segundo plano. Non inicies outras tarefas no servidor nos seguintes ~10 minutos (depende do hardware). Após isto, podes volver a conectar na webadmin. O rexistro da actualización estará dispoñible en Ferramentas → Rexistro (na webadmin) ou con 'yunohost log list' (na liña de comandos).",
|
||||
"tools_upgrade_special_packages": "Actualizando paquetes 'special' (yunohost-related)...",
|
||||
"tools_upgrade_regular_packages_failed": "Non se actualizaron os paquetes: {packages_list}",
|
||||
"tools_upgrade_regular_packages": "Actualizando os paquetes 'regular' (non-yunohost-related)...",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Non se desbloquearon os paquetes críticos...",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Non se puideron bloquear os paquetes críticos...",
|
||||
"this_action_broke_dpkg": "Esta acción rachou dpkg/APT (xestores de paquetes do sistema)... Podes intentar resolver o problema conectando a través de SSH e executando `sudo apt install --fix-broken`e/ou `sudo dpkg --configure -a`.",
|
||||
"system_username_exists": "Xa existe este nome de usuaria na lista de usuarias do sistema",
|
||||
"system_upgraded": "Sistema actualizado",
|
||||
|
@ -686,4 +677,4 @@
|
|||
"migration_0021_system_not_fully_up_to_date": "O teu sistema non está completamente actualizado. Fai unha actualización normal antes de executar a migración a Bullseye.",
|
||||
"migration_0021_general_warning": "Ten en conta que a migración é unha operación delicada. O equipo de YunoHost fixo todo o que puido para revisalo e probalo, pero aínda así poderían acontecer fallos no sistema ou apps.\n\nAsí as cousas, é recomendable:\n - Facer unha copia de apoio dos datos e apps importantes. Máis info en https://yunohost.org/backup;\n - Ter paciencia unha vez inicias a migración: dependendo da túa conexión a internet e hardware, podería levarlle varias horas completar o proceso.",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Permitir autenticación con contrasinal para SSH"
|
||||
}
|
||||
}
|
|
@ -95,7 +95,6 @@
|
|||
"main_domain_change_failed": "Impossibile cambiare il dominio principale",
|
||||
"main_domain_changed": "Il dominio principale è stato cambiato",
|
||||
"not_enough_disk_space": "Non c'è abbastanza spazio libero in '{path}'",
|
||||
"packages_upgrade_failed": "Impossibile aggiornare tutti i pacchetti",
|
||||
"pattern_backup_archive_name": "Deve essere un nome di file valido di massimo 30 caratteri di lunghezza, con caratteri alfanumerici e \"-_.\" come unica punteggiatura",
|
||||
"pattern_domain": "Deve essere un nome di dominio valido (es. il-mio-dominio.org)",
|
||||
"pattern_firstname": "Deve essere un nome valido",
|
||||
|
@ -391,13 +390,6 @@
|
|||
"update_apt_cache_warning": "Qualcosa è andato storto mentre eseguivo l'aggiornamento della cache APT (package manager di Debian). Ecco il dump di sources.list, che potrebbe aiutare ad identificare le linee problematiche:\n{sourceslist}",
|
||||
"update_apt_cache_failed": "Impossibile aggiornare la cache di APT (package manager di Debian). Ecco il dump di sources.list, che potrebbe aiutare ad identificare le linee problematiche:\n{sourceslist}",
|
||||
"unknown_main_domain_path": "Percorso o dominio sconosciuto per '{app}'. Devi specificare un dominio e un percorso per poter specificare un URL per il permesso.",
|
||||
"tools_upgrade_special_packages_completed": "Aggiornamento pacchetti YunoHost completato.\nPremi [Invio] per tornare al terminale",
|
||||
"tools_upgrade_special_packages_explanation": "L'aggiornamento speciale continuerà in background. Per favore non iniziare nessun'altra azione sul tuo server per i prossimi ~10 minuti (dipende dalla velocità hardware). Dopo questo, dovrai ri-loggarti nel webadmin. Il registro di aggiornamento sarà disponibile in Strumenti → Log/Registri (nel webadmin) o dalla linea di comando eseguendo 'yunohost log list'.",
|
||||
"tools_upgrade_special_packages": "Adesso aggiorno i pacchetti 'speciali' (correlati a yunohost)...",
|
||||
"tools_upgrade_regular_packages_failed": "Impossibile aggiornare i pacchetti: {packages_list}",
|
||||
"tools_upgrade_regular_packages": "Adesso aggiorno i pacchetti 'normali' (non correlati a yunohost)...",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Impossibile annullare il blocco dei pacchetti critici/importanti...",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Impossibile bloccare i pacchetti critici/importanti...",
|
||||
"show_tile_cant_be_enabled_for_regex": "Non puoi abilitare 'show_tile' in questo momento, perché l'URL del permesso '{permission}' è una regex",
|
||||
"show_tile_cant_be_enabled_for_url_not_defined": "Non puoi abilitare 'show_tile' in questo momento, devi prima definire un URL per il permesso '{permission}'",
|
||||
"service_reloaded_or_restarted": "Il servizio '{service}' è stato ricaricato o riavviato",
|
||||
|
@ -484,7 +476,6 @@
|
|||
"migrations_exclusive_options": "'--auto', '--skip', e '--force-rerun' sono opzioni che si escludono a vicenda.",
|
||||
"migrations_failed_to_load_migration": "Impossibile caricare la migrazione {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "Esegui queste migrazioni: '{dependencies_id}', prima di {id}.",
|
||||
"migrations_cant_reach_migration_file": "Impossibile accedere ai file di migrazione nel path '%s'",
|
||||
"migrations_already_ran": "Migrazioni già effettuate: {ids}",
|
||||
"mailbox_disabled": "E-mail disabilitate per l'utente {user}",
|
||||
"log_user_permission_reset": "Resetta il permesso '{}'",
|
||||
|
|
|
@ -136,10 +136,9 @@
|
|||
"pattern_email_forward": "Het moet een geldig e-mailadres zijn, '+' symbool is toegestaan (ikzelf@mijndomein.nl bijvoorbeeld, of ikzelf+yunohost@mijndomein.nl)",
|
||||
"password_too_simple_2": "Het wachtwoord moet minimaal 8 tekens lang zijn en moet cijfers, hoofdletters en kleine letters bevatten",
|
||||
"operation_interrupted": "Werd de bewerking handmatig onderbroken?",
|
||||
"packages_upgrade_failed": "Niet alle pakketten konden bijgewerkt worden",
|
||||
"pattern_backup_archive_name": "Moet een geldige bestandsnaam zijn van maximaal 30 tekens; alleen alfanumerieke tekens en -_. zijn toegestaan",
|
||||
"pattern_domain": "Moet een geldige domeinnaam zijn (mijneigendomein.nl, bijvoorbeeld)",
|
||||
"pattern_firstname": "Het moet een geldige voornaam zijn",
|
||||
"pattern_lastname": "Het moet een geldige achternaam zijn",
|
||||
"password_too_simple_3": "Het wachtwoord moet minimaal 8 tekens lang zijn en moet cijfers, hoofdletters, kleine letters en speciale tekens bevatten"
|
||||
}
|
||||
}
|
|
@ -126,11 +126,9 @@
|
|||
"global_settings_unknown_setting_from_settings_file": "Clau desconeguda dins los paramètres : {setting_key}, apartada e salvagardada dins /etc/yunohost/settings-unknown.json",
|
||||
"main_domain_change_failed": "Modificacion impossibla del domeni màger",
|
||||
"main_domain_changed": "Lo domeni màger es estat modificat",
|
||||
"migrations_cant_reach_migration_file": "Impossible d’accedir als fichièrs de migracion amb lo camin %s",
|
||||
"migrations_list_conflict_pending_done": "Podètz pas utilizar --previous e --done a l’encòp.",
|
||||
"migrations_loading_migration": "Cargament de la migracion {id}…",
|
||||
"migrations_no_migrations_to_run": "Cap de migracion de lançar",
|
||||
"packages_upgrade_failed": "Actualizacion de totes los paquets impossibla",
|
||||
"pattern_domain": "Deu èsser un nom de domeni valid (ex : mon-domeni.org)",
|
||||
"pattern_email": "Deu èsser una adreça electronica valida (ex : escais@domeni.org)",
|
||||
"pattern_firstname": "Deu èsser un pichon nom valid",
|
||||
|
@ -310,8 +308,6 @@
|
|||
"dpkg_lock_not_available": "Aquesta comanda pòt pas s’executar pel moment perque un autre programa sembla utilizar lo varrolh de dpkg (lo gestionari de paquets del sistèma)",
|
||||
"log_regen_conf": "Regenerar las configuracions del sistèma « {} »",
|
||||
"service_reloaded_or_restarted": "Lo servici « {service} » es estat recargat o reaviat",
|
||||
"tools_upgrade_regular_packages_failed": "Actualizacion impossibla dels paquets seguents : {packages_list}",
|
||||
"tools_upgrade_special_packages_completed": "L’actualizacion dels paquets de YunoHost es acabada !\nQuichatz [Entrada] per tornar a la linha de comanda",
|
||||
"dpkg_is_broken": "Podètz pas far aquò pel moment perque dpkg/APT (los gestionaris de paquets del sistèma) sembla èsser mal configurat… Podètz ensajar de solucionar aquò en vos connectar via SSH e en executar « sudo dpkg --configure -a ».",
|
||||
"global_settings_setting_service_ssh_allow_deprecated_dsa_hostkey": "Autorizar l’utilizacion de la clau òst DSA (obsolèta) per la configuracion del servici SSH",
|
||||
"hook_json_return_error": "Fracàs de la lectura del retorn de l’script {path}. Error : {msg}. Contengut brut : {raw_content}",
|
||||
|
@ -330,7 +326,6 @@
|
|||
"regenconf_dry_pending_applying": "Verificacion de la configuracion que seriá estada aplicada a la categoria « {category} »…",
|
||||
"regenconf_failed": "Regeneracion impossibla de la configuracion per la(s) categoria(s) : {categories}",
|
||||
"regenconf_pending_applying": "Aplicacion de la configuracion en espèra per la categoria « {category} »…",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Manteniment impossible dels paquets critiques…",
|
||||
"global_settings_setting_security_nginx_compatibility": "Solucion de compromés entre compatibilitat e seguretat pel servidor web NGINX Afècta los criptografs (e d’autres aspèctes ligats amb la seguretat)",
|
||||
"global_settings_setting_security_ssh_compatibility": "Solucion de compromés entre compatibilitat e seguretat pel servidor SSH. Afècta los criptografs (e d’autres aspèctes ligats amb la seguretat)",
|
||||
"global_settings_setting_security_postfix_compatibility": "Solucion de compromés entre compatibilitat e seguretat pel servidor Postfix. Afècta los criptografs (e d’autres aspèctes ligats amb la seguretat)",
|
||||
|
@ -339,10 +334,6 @@
|
|||
"service_reload_or_restart_failed": "Impossible de recargar o reaviar lo servici « {service} »\n\nJornal d’audit recent : {logs}",
|
||||
"regenconf_file_kept_back": "S’espèra que lo fichièr de configuracion « {conf} » siá suprimit per regen-conf (categoria {category} mas es estat mantengut.",
|
||||
"this_action_broke_dpkg": "Aquesta accion a copat dpkg/apt (los gestionaris de paquets del sistèma)… Podètz ensajar de resòlver aqueste problèma en vos connectant amb SSH e executant « sudo dpkg --configure -a ».",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Se pòt pas quitar de manténer los paquets critics…",
|
||||
"tools_upgrade_regular_packages": "Actualizacion dels paquets « normals » (pas ligats a YunoHost)…",
|
||||
"tools_upgrade_special_packages": "Actualizacion dels paquets « especials » (ligats a YunoHost)…",
|
||||
"tools_upgrade_special_packages_explanation": "Aquesta accion s’acabarà mas l’actualizacion especiala actuala contunharà en rèire-plan. Comencetz pas cap d’autra accion sul servidor dins las ~ 10 minutas que venon (depend de la velocitat de la maquina). Un còp acabat, benlèu que vos calrà vos tornar connectar a l’interfàcia d’administracion. Los jornals d’audit de l’actualizacion seràn disponibles a Aisinas > Jornals d’audit (dins l’interfàcia d’administracion) o amb « yunohost log list » (en linha de comanda).",
|
||||
"update_apt_cache_failed": "I a agut d’errors en actualizar la memòria cache d’APT (lo gestionari de paquets de Debian). Aquí avètz las linhas de sources.list que pòdon vos ajudar a identificar las linhas problematicas : \n{sourceslist}",
|
||||
"update_apt_cache_warning": "I a agut d’errors en actualizar la memòria cache d’APT (lo gestionari de paquets de Debian). Aquí avètz las linhas de sources.list que pòdon vos ajudar a identificar las linhas problematicas : \n{sourceslist}",
|
||||
"backup_permission": "Autorizacion de salvagarda per l’aplicacion {app}",
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
"mail_forward_remove_failed": "Não foi possível remover o reencaminhamento de correio '{mail}'",
|
||||
"main_domain_change_failed": "Incapaz alterar o domínio raiz",
|
||||
"main_domain_changed": "Domínio raiz alterado com êxito",
|
||||
"packages_upgrade_failed": "Não foi possível atualizar todos os pacotes",
|
||||
"pattern_domain": "Deve ser um nome de domínio válido (p.e. meu-dominio.org)",
|
||||
"pattern_email": "Deve ser um endereço de correio válido (p.e. alguem@dominio.org)",
|
||||
"pattern_firstname": "Deve ser um primeiro nome válido",
|
||||
|
|
|
@ -137,7 +137,6 @@
|
|||
"password_too_simple_2": "Пароль має складатися не менше ніж з 8 символів і містити цифри, великі та малі символи",
|
||||
"password_too_simple_1": "Пароль має складатися не менше ніж з 8 символів",
|
||||
"password_listed": "Цей пароль входить в число найбільш часто використовуваних паролів у світі. Будь ласка, виберіть щось неповторюваніше.",
|
||||
"packages_upgrade_failed": "Не вдалося оновити всі пакети",
|
||||
"operation_interrupted": "Операція була вручну перервана?",
|
||||
"invalid_number": "Має бути числом",
|
||||
"not_enough_disk_space": "Недостатньо вільного місця на '{path}'",
|
||||
|
@ -157,7 +156,6 @@
|
|||
"migrations_exclusive_options": "'--auto', '--skip', і '--force-rerun' є взаємовиключними опціями.",
|
||||
"migrations_failed_to_load_migration": "Не вдалося завантажити міграцію {id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "Запустіть ці міграції: '{dependencies_id}', перед міграцією {id}.",
|
||||
"migrations_cant_reach_migration_file": "Не вдалося отримати доступ до файлів міграцій за шляхом '%s'",
|
||||
"migrations_already_ran": "Наступні міграції вже виконано: {ids}",
|
||||
"migration_ldap_rollback_success": "Система відкотилася.",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "Не вдалося виконати міграцію... Пробуємо відкотити систему.",
|
||||
|
@ -404,13 +402,6 @@
|
|||
"unknown_main_domain_path": "Невідомий домен або шлях для '{app}'. Вам необхідно вказати домен і шлях, щоб мати можливість вказати URL для дозволу.",
|
||||
"unexpected_error": "Щось пішло не так: {error}",
|
||||
"unbackup_app": "{app} НЕ буде збережено",
|
||||
"tools_upgrade_special_packages_completed": "Оновлення пакета YunoHost завершено.\nНатисніть [Enter] для повернення до командного рядка",
|
||||
"tools_upgrade_special_packages_explanation": "Спеціальне оновлення триватиме у тлі. Будь ласка, не запускайте ніяких інших дій на вашому сервері протягом наступних ~ 10 хвилин (в залежності від швидкості обладнання). Після цього вам, можливо, доведеться заново увійти в вебадміністрації. Журнал оновлення буде доступний в Засоби → Журнал (в вебадміністрації) або за допомогою 'yunohost log list' (з командного рядка).",
|
||||
"tools_upgrade_special_packages": "Тепер оновлюємо 'спеціальні' (пов'язані з yunohost) пакети…",
|
||||
"tools_upgrade_regular_packages_failed": "Не вдалося оновити пакети: {packages_list}",
|
||||
"tools_upgrade_regular_packages": "Тепер оновлюємо 'звичайні' (не пов'язані з yunohost) пакети…",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "Не вдалося розтримати критичні пакети…",
|
||||
"tools_upgrade_cant_hold_critical_packages": "Не вдалося утримати критичні пакети…",
|
||||
"this_action_broke_dpkg": "Ця дія порушила dpkg/APT (системні менеджери пакетів)... Ви можете спробувати вирішити цю проблему, під'єднавшись по SSH і запустивши `sudo apt install --fix-broken` та/або `sudo dpkg --configure -a`.",
|
||||
"system_username_exists": "Ім'я користувача вже існує в списку користувачів системи",
|
||||
"system_upgraded": "Систему оновлено",
|
||||
|
@ -686,4 +677,4 @@
|
|||
"migration_0021_general_warning": "Будь ласка, зверніть увагу, що ця міграція є делікатною операцією. Команда YunoHost зробила все можливе, щоб перевірити і протестувати її, але міграція все ще може порушити частину системи або її застосунків.\n\nТому рекомендовано:\n - Виконати резервне копіювання всіх важливих даних або застосунків. Подробиці на сайті https://yunohost.org/backup; \n - Наберіться терпіння після запуску міграції: В залежності від вашого з'єднання з Інтернетом і апаратного забезпечення, оновлення може зайняти до декількох годин.",
|
||||
"migration_description_0021_migrate_to_bullseye": "Оновлення системи до Debian Bullseye і YunoHost 11.x",
|
||||
"global_settings_setting_security_ssh_password_authentication": "Дозволити автентифікацію паролем для SSH"
|
||||
}
|
||||
}
|
|
@ -237,9 +237,6 @@
|
|||
"service_enable_failed": "无法使服务 '{service}'在启动时自动启动。\n\n最近的服务日志:{logs}",
|
||||
"service_disabled": "系统启动时,服务 '{service}' 将不再启动。",
|
||||
"service_disable_failed": "服务'{service}'在启动时无法启动。\n\n最近的服务日志:{logs}",
|
||||
"tools_upgrade_regular_packages": "现在正在升级 'regular' (与yunohost无关)的软件包…",
|
||||
"tools_upgrade_cant_unhold_critical_packages": "无法解压关键软件包…",
|
||||
"tools_upgrade_cant_hold_critical_packages": "无法保存重要软件包…",
|
||||
"this_action_broke_dpkg": "此操作破坏了dpkg / APT(系统软件包管理器)...您可以尝试通过SSH连接并运行`sudo apt install --fix-broken`和/或`sudo dpkg --configure -a`来解决此问题。",
|
||||
"system_username_exists": "用户名已存在于系统用户列表中",
|
||||
"system_upgraded": "系统升级",
|
||||
|
@ -261,10 +258,6 @@
|
|||
"unknown_main_domain_path": "'{app}'的域或路径未知。您需要指定一个域和一个路径,以便能够指定用于许可的URL。",
|
||||
"unexpected_error": "出乎意料的错误: {error}",
|
||||
"unbackup_app": "{app} 将不会保存",
|
||||
"tools_upgrade_special_packages_completed": "YunoHost软件包升级完成。\n按[Enter]返回命令行",
|
||||
"tools_upgrade_special_packages_explanation": "特殊升级将在后台继续。请在接下来的10分钟内(取决于硬件速度)在服务器上不要执行任何其他操作。此后,您可能必须重新登录Webadmin。升级日志将在“工具”→“日志”(在Webadmin中)或使用'yunohost log list'(从命令行)中可用。",
|
||||
"tools_upgrade_special_packages": "现在正在升级'special'(与yunohost相关的)程序包…",
|
||||
"tools_upgrade_regular_packages_failed": "无法升级软件包: {packages_list}",
|
||||
"yunohost_installing": "正在安装YunoHost ...",
|
||||
"yunohost_configured": "现在已配置YunoHost",
|
||||
"yunohost_already_installed": "YunoHost已经安装",
|
||||
|
@ -543,7 +536,6 @@
|
|||
"password_too_simple_3": "密码长度至少为8个字符,并且包含数字,大写,小写和特殊字符",
|
||||
"password_too_simple_2": "密码长度至少为8个字符,并且包含数字,大写和小写字符",
|
||||
"password_listed": "该密码是世界上最常用的密码之一。 请选择一些更独特的东西。",
|
||||
"packages_upgrade_failed": "无法升级所有软件包",
|
||||
"invalid_number": "必须是数字",
|
||||
"not_enough_disk_space": "'{path}'上的可用空间不足",
|
||||
"migrations_to_be_ran_manually": "迁移{id}必须手动运行。请转到webadmin页面上的工具→迁移,或运行`yunohost tools migrations run`。",
|
||||
|
@ -562,7 +554,6 @@
|
|||
"migrations_exclusive_options": "'--auto', '--skip',和'--force-rerun'是互斥的选项。",
|
||||
"migrations_failed_to_load_migration": "无法加载迁移{id}: {error}",
|
||||
"migrations_dependencies_not_satisfied": "在迁移{id}之前运行以下迁移: '{dependencies_id}'。",
|
||||
"migrations_cant_reach_migration_file": "无法访问路径'%s'处的迁移文件",
|
||||
"migrations_already_ran": "这些迁移已经完成: {ids}",
|
||||
"migration_ldap_rollback_success": "系统回滚。",
|
||||
"migration_ldap_migration_failed_trying_to_rollback": "无法迁移...试图回滚系统。",
|
||||
|
|
|
@ -60,18 +60,20 @@ def autofix_i18n_placeholders():
|
|||
k[0] for k in re.findall(r"{(\w+)(:\w)?}", this_locale[key])
|
||||
]
|
||||
if any(k not in subkeys_in_ref for k in subkeys_in_this_locale):
|
||||
raise Exception("""\n
|
||||
raise Exception(
|
||||
"""\n
|
||||
==========================
|
||||
Format inconsistency for string {key} in {locale_file}:"
|
||||
en.json -> {string}
|
||||
{locale_file} -> {translated_string}
|
||||
Please fix it manually !
|
||||
""".format(
|
||||
key=key,
|
||||
string=string.encode("utf-8"),
|
||||
locale_file=locale_file,
|
||||
translated_string=this_locale[key].encode("utf-8"),
|
||||
))
|
||||
key=key,
|
||||
string=string.encode("utf-8"),
|
||||
locale_file=locale_file,
|
||||
translated_string=this_locale[key].encode("utf-8"),
|
||||
)
|
||||
)
|
||||
|
||||
if fixed_stuff:
|
||||
json.dump(
|
||||
|
@ -86,7 +88,6 @@ Please fix it manually !
|
|||
|
||||
|
||||
def autofix_orthotypography_and_standardized_words():
|
||||
|
||||
def reformat(lang, transformations):
|
||||
|
||||
locale = open(f"{LOCALE_FOLDER}{lang}.json").read()
|
||||
|
|
|
@ -28,7 +28,7 @@ def cli(debug, quiet, output_as, timeout, args, parser):
|
|||
locales_dir="/usr/share/yunohost/locales/",
|
||||
output_as=output_as,
|
||||
timeout=timeout,
|
||||
top_parser=parser
|
||||
top_parser=parser,
|
||||
)
|
||||
sys.exit(ret)
|
||||
|
||||
|
|
15
src/app.py
15
src/app.py
|
@ -1425,7 +1425,7 @@ def app_action_run(operation_logger, app, action, args=None):
|
|||
actions = {x["id"]: x for x in actions}
|
||||
|
||||
if action not in actions:
|
||||
available_actions = ", ".join(actions.keys()),
|
||||
available_actions = (", ".join(actions.keys()),)
|
||||
raise YunohostValidationError(
|
||||
f"action '{action}' not available for app '{app}', available actions are: {available_actions}",
|
||||
raw_msg=True,
|
||||
|
@ -2416,10 +2416,15 @@ def unstable_apps():
|
|||
|
||||
for infos in app_list(full=True)["apps"]:
|
||||
|
||||
if not infos.get("from_catalog") or infos.get("from_catalog").get("state") in [
|
||||
"inprogress",
|
||||
"notworking",
|
||||
] or infos["id"] in deprecated_apps:
|
||||
if (
|
||||
not infos.get("from_catalog")
|
||||
or infos.get("from_catalog").get("state")
|
||||
in [
|
||||
"inprogress",
|
||||
"notworking",
|
||||
]
|
||||
or infos["id"] in deprecated_apps
|
||||
):
|
||||
output.append(infos["id"])
|
||||
|
||||
return output
|
||||
|
|
|
@ -103,7 +103,9 @@ def _initialize_apps_catalog_system():
|
|||
)
|
||||
write_to_yaml(APPS_CATALOG_CONF, default_apps_catalog_list)
|
||||
except Exception as e:
|
||||
raise YunohostError(f"Could not initialize the apps catalog system... : {e}", raw_msg=True)
|
||||
raise YunohostError(
|
||||
f"Could not initialize the apps catalog system... : {e}", raw_msg=True
|
||||
)
|
||||
|
||||
logger.success(m18n.n("apps_catalog_init_success"))
|
||||
|
||||
|
@ -119,7 +121,9 @@ def _read_apps_catalog_list():
|
|||
# by returning [] if list_ is None
|
||||
return list_ if list_ else []
|
||||
except Exception as e:
|
||||
raise YunohostError(f"Could not read the apps_catalog list ... : {e}", raw_msg=True)
|
||||
raise YunohostError(
|
||||
f"Could not read the apps_catalog list ... : {e}", raw_msg=True
|
||||
)
|
||||
|
||||
|
||||
def _actual_apps_catalog_api_url(base_url):
|
||||
|
@ -172,7 +176,10 @@ def _update_apps_catalog():
|
|||
try:
|
||||
write_to_json(cache_file, apps_catalog_content)
|
||||
except Exception as e:
|
||||
raise YunohostError(f"Unable to write cache data for {apps_catalog_id} apps_catalog : {e}", raw_msg=True)
|
||||
raise YunohostError(
|
||||
f"Unable to write cache data for {apps_catalog_id} apps_catalog : {e}",
|
||||
raw_msg=True,
|
||||
)
|
||||
|
||||
logger.success(m18n.n("apps_catalog_update_success"))
|
||||
|
||||
|
@ -220,7 +227,9 @@ def _load_apps_catalog():
|
|||
# in which case we keep only the first one found)
|
||||
if app in merged_catalog["apps"]:
|
||||
other_catalog = merged_catalog["apps"][app]["repository"]
|
||||
logger.warning(f"Duplicate app {app} found between apps catalog {apps_catalog_id} and {other_catalog}")
|
||||
logger.warning(
|
||||
f"Duplicate app {app} found between apps catalog {apps_catalog_id} and {other_catalog}"
|
||||
)
|
||||
continue
|
||||
|
||||
info["repository"] = apps_catalog_id
|
||||
|
|
|
@ -866,7 +866,7 @@ class RestoreManager:
|
|||
from_version = self.info.get("from_yunohost_version", "")
|
||||
# Remove any '~foobar' in the version ... c.f ~alpha, ~beta version during
|
||||
# early dev for next debian version
|
||||
from_version = re.sub(r'~\w+', '', from_version)
|
||||
from_version = re.sub(r"~\w+", "", from_version)
|
||||
|
||||
if not from_version or version.parse(from_version) < version.parse("4.2.0"):
|
||||
raise YunohostValidationError("restore_backup_too_old")
|
||||
|
@ -2403,10 +2403,9 @@ def backup_list(with_info=False, human_readable=False):
|
|||
logger.warning(str(e))
|
||||
except Exception:
|
||||
import traceback
|
||||
|
||||
trace_ = "\n" + traceback.format_exc()
|
||||
logger.warning(
|
||||
f"Could not check infos for archive {archive}: {trace_}"
|
||||
)
|
||||
logger.warning(f"Could not check infos for archive {archive}: {trace_}")
|
||||
|
||||
archives = d
|
||||
|
||||
|
|
|
@ -415,9 +415,7 @@ def certificate_renew(
|
|||
traceback.print_exc(file=stack)
|
||||
msg = f"Certificate renewing for {domain} failed!"
|
||||
if no_checks:
|
||||
msg += (
|
||||
f"\nPlease consider checking the 'DNS records' (basic) and 'Web' categories of the diagnosis to check for possible issues that may prevent installing a Let's Encrypt certificate on domain {domain}."
|
||||
)
|
||||
msg += f"\nPlease consider checking the 'DNS records' (basic) and 'Web' categories of the diagnosis to check for possible issues that may prevent installing a Let's Encrypt certificate on domain {domain}."
|
||||
logger.error(msg)
|
||||
operation_logger.error(msg)
|
||||
logger.error(stack.getvalue())
|
||||
|
@ -788,7 +786,10 @@ def _enable_certificate(domain, new_cert_folder):
|
|||
|
||||
for service in ("postfix", "dovecot", "metronome"):
|
||||
# Ugly trick to not restart metronome if it's not installed
|
||||
if service == "metronome" and os.system("dpkg --list | grep -q 'ii *metronome'") != 0:
|
||||
if (
|
||||
service == "metronome"
|
||||
and os.system("dpkg --list | grep -q 'ii *metronome'") != 0
|
||||
):
|
||||
continue
|
||||
_run_service_command("restart", service)
|
||||
|
||||
|
|
|
@ -155,9 +155,7 @@ class MyDiagnoser(Diagnoser):
|
|||
return None
|
||||
|
||||
# We use the resolver file as a list of well-known, trustable (ie not google ;)) IPs that we can ping
|
||||
resolver_file = (
|
||||
"/usr/share/yunohost/conf/dnsmasq/plain/resolv.dnsmasq.conf"
|
||||
)
|
||||
resolver_file = "/usr/share/yunohost/conf/dnsmasq/plain/resolv.dnsmasq.conf"
|
||||
resolvers = [
|
||||
r.split(" ")[1]
|
||||
for r in read_file(resolver_file).split("\n")
|
||||
|
|
|
@ -419,10 +419,7 @@ class Diagnoser:
|
|||
|
||||
def diagnose(self, force=False):
|
||||
|
||||
if (
|
||||
not force
|
||||
and self.cached_time_ago() < self.cache_duration
|
||||
):
|
||||
if not force and self.cached_time_ago() < self.cache_duration:
|
||||
logger.debug(f"Cache still valid : {self.cache_file}")
|
||||
logger.info(
|
||||
m18n.n("diagnosis_cache_still_valid", category=self.description)
|
||||
|
@ -659,7 +656,9 @@ class Diagnoser:
|
|||
def _list_diagnosis_categories():
|
||||
|
||||
paths = glob.glob(os.path.dirname(__file__) + "/diagnosers/??-*.py")
|
||||
names = sorted([os.path.basename(path)[: -len(".py")].split("-")[-1] for path in paths])
|
||||
names = sorted(
|
||||
[os.path.basename(path)[: -len(".py")].split("-")[-1] for path in paths]
|
||||
)
|
||||
|
||||
return names
|
||||
|
||||
|
@ -671,7 +670,10 @@ def _load_diagnoser(diagnoser_name):
|
|||
paths = glob.glob(os.path.dirname(__file__) + f"/diagnosers/??-{diagnoser_name}.py")
|
||||
|
||||
if len(paths) != 1:
|
||||
raise YunohostError(f"Uhoh, found several matches (or none?) for diagnoser {diagnoser_name} : {paths}", raw_msg=True)
|
||||
raise YunohostError(
|
||||
f"Uhoh, found several matches (or none?) for diagnoser {diagnoser_name} : {paths}",
|
||||
raw_msg=True,
|
||||
)
|
||||
|
||||
module_id = os.path.basename(paths[0][: -len(".py")])
|
||||
|
||||
|
@ -686,7 +688,9 @@ def _load_diagnoser(diagnoser_name):
|
|||
|
||||
traceback.print_exc()
|
||||
|
||||
raise YunohostError(f"Failed to load diagnoser {diagnoser_name} : {e}", raw_msg=True)
|
||||
raise YunohostError(
|
||||
f"Failed to load diagnoser {diagnoser_name} : {e}", raw_msg=True
|
||||
)
|
||||
|
||||
|
||||
def _email_diagnosis_issues():
|
||||
|
|
|
@ -68,9 +68,7 @@ def domain_list(exclude_subdomains=False):
|
|||
ldap = _get_ldap_interface()
|
||||
result = [
|
||||
entry["virtualdomain"][0]
|
||||
for entry in ldap.search(
|
||||
"ou=domains", "virtualdomain=*", ["virtualdomain"]
|
||||
)
|
||||
for entry in ldap.search("ou=domains", "virtualdomain=*", ["virtualdomain"])
|
||||
]
|
||||
|
||||
result_list = []
|
||||
|
|
|
@ -190,7 +190,6 @@ def dyndns_update(
|
|||
import dns.tsigkeyring
|
||||
import dns.update
|
||||
|
||||
|
||||
# If domain is not given, try to guess it from keys available...
|
||||
key = None
|
||||
if domain is None:
|
||||
|
@ -227,7 +226,7 @@ def dyndns_update(
|
|||
with open(key) as f:
|
||||
key = f.readline().strip().split(" ", 6)[-1]
|
||||
|
||||
keyring = dns.tsigkeyring.from_text({f'{domain}.': key})
|
||||
keyring = dns.tsigkeyring.from_text({f"{domain}.": key})
|
||||
# Python's dns.update is similar to the old nsupdate cli tool
|
||||
update = dns.update.Update(zone, keyring=keyring, keyalgorithm=dns.tsig.HMAC_SHA512)
|
||||
|
||||
|
@ -300,7 +299,9 @@ def dyndns_update(
|
|||
# [{"name": "...", "ttl": "...", "type": "...", "value": "..."}]
|
||||
for records in dns_conf.values():
|
||||
for record in records:
|
||||
name = f"{record['name']}.{domain}." if record['name'] != "@" else f"{domain}."
|
||||
name = (
|
||||
f"{record['name']}.{domain}." if record["name"] != "@" else f"{domain}."
|
||||
)
|
||||
update.delete(name)
|
||||
|
||||
# Add the new records for all domain/subdomains
|
||||
|
@ -313,9 +314,11 @@ def dyndns_update(
|
|||
if record["value"] == "@":
|
||||
record["value"] = domain
|
||||
record["value"] = record["value"].replace(";", r"\;")
|
||||
name = f"{record['name']}.{domain}." if record['name'] != "@" else f"{domain}."
|
||||
name = (
|
||||
f"{record['name']}.{domain}." if record["name"] != "@" else f"{domain}."
|
||||
)
|
||||
|
||||
update.add(name, record['ttl'], record['type'], record['value'])
|
||||
update.add(name, record["ttl"], record["type"], record["value"])
|
||||
|
||||
logger.debug("Now pushing new conf to DynDNS host...")
|
||||
logger.debug(update)
|
||||
|
@ -347,9 +350,7 @@ def _guess_current_dyndns_domain():
|
|||
dynette...)
|
||||
"""
|
||||
|
||||
DYNDNS_KEY_REGEX = re.compile(
|
||||
r".*/K(?P<domain>[^\s\+]+)\.\+165.+\.key$"
|
||||
)
|
||||
DYNDNS_KEY_REGEX = re.compile(r".*/K(?P<domain>[^\s\+]+)\.\+165.+\.key$")
|
||||
|
||||
# Retrieve the first registered domain
|
||||
paths = list(glob.iglob("/etc/yunohost/dyndns/K*.key"))
|
||||
|
|
|
@ -331,8 +331,8 @@ class MyMigration(Migration):
|
|||
|
||||
# FIXME: update this message with updated topic link once we release the migration as stable
|
||||
message = (
|
||||
"N.B.: **THIS MIGRATION IS STILL IN BETA-STAGE** ! If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read and share feedbacks on this forum thread: https://forum.yunohost.org/t/18531\n\n"
|
||||
+ message
|
||||
"N.B.: **THIS MIGRATION IS STILL IN BETA-STAGE** ! If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read and share feedbacks on this forum thread: https://forum.yunohost.org/t/18531\n\n"
|
||||
+ message
|
||||
)
|
||||
# message = (
|
||||
# "N.B.: This migration has been tested by the community over the last few months but has only been declared stable recently. If your server hosts critical services and if you are not too confident with debugging possible issues, we recommend you to wait a little bit more while we gather more feedback and polish things up. If on the other hand you are relatively confident with debugging small issues that may arise, you are encouraged to run this migration ;)! You can read about remaining known issues and feedback from the community here: https://forum.yunohost.org/t/12195\n\n"
|
||||
|
|
|
@ -406,9 +406,7 @@ def permission_create(
|
|||
permission = permission + ".main"
|
||||
|
||||
# Validate uniqueness of permission in LDAP
|
||||
if ldap.get_conflict(
|
||||
{"cn": permission}, base_dn="ou=permission"
|
||||
):
|
||||
if ldap.get_conflict({"cn": permission}, base_dn="ou=permission"):
|
||||
raise YunohostValidationError("permission_already_exist", permission=permission)
|
||||
|
||||
# Get random GID
|
||||
|
@ -678,8 +676,7 @@ def permission_sync_to_user():
|
|||
|
||||
new_inherited_perms = {
|
||||
"inheritPermission": [
|
||||
f"uid={u},ou=users,dc=yunohost,dc=org"
|
||||
for u in should_be_allowed_users
|
||||
f"uid={u},ou=users,dc=yunohost,dc=org" for u in should_be_allowed_users
|
||||
],
|
||||
"memberUid": should_be_allowed_users,
|
||||
}
|
||||
|
|
|
@ -505,9 +505,7 @@ def _calculate_hash(path):
|
|||
return hasher.hexdigest()
|
||||
|
||||
except IOError as e:
|
||||
logger.warning(
|
||||
f"Error while calculating file '{path}' hash: {e}", exc_info=1
|
||||
)
|
||||
logger.warning(f"Error while calculating file '{path}' hash: {e}", exc_info=1)
|
||||
return None
|
||||
|
||||
|
||||
|
|
|
@ -695,19 +695,25 @@ def _get_services():
|
|||
if "log" not in services["ynh-vpnclient"]:
|
||||
services["ynh-vpnclient"]["log"] = ["/var/log/ynh-vpnclient.log"]
|
||||
|
||||
services_with_package_condition = [name for name, infos in services.items() if infos.get("ignore_if_package_is_not_installed")]
|
||||
services_with_package_condition = [
|
||||
name
|
||||
for name, infos in services.items()
|
||||
if infos.get("ignore_if_package_is_not_installed")
|
||||
]
|
||||
for name in services_with_package_condition:
|
||||
package = services[name]["ignore_if_package_is_not_installed"]
|
||||
if os.system(f"dpkg --list | grep -q 'ii *{package}'") != 0:
|
||||
del services[name]
|
||||
|
||||
php_fpm_versions = check_output(r"dpkg --list | grep -P 'ii php\d.\d-fpm' | awk '{print $2}' | grep -o -P '\d.\d' || true")
|
||||
php_fpm_versions = [v for v in php_fpm_versions.split('\n') if v.strip()]
|
||||
php_fpm_versions = check_output(
|
||||
r"dpkg --list | grep -P 'ii php\d.\d-fpm' | awk '{print $2}' | grep -o -P '\d.\d' || true"
|
||||
)
|
||||
php_fpm_versions = [v for v in php_fpm_versions.split("\n") if v.strip()]
|
||||
for version in php_fpm_versions:
|
||||
services[f"php{version}-fpm"] = {
|
||||
"log": f"/var/log/php{version}-fpm.log",
|
||||
"test_conf": f"php-fpm{version} --test", # ofc the service is phpx.y-fpm but the program is php-fpmx.y because why not ...
|
||||
"category": "web"
|
||||
"category": "web",
|
||||
}
|
||||
|
||||
# Remove legacy /var/log/daemon.log and /var/log/syslog from log entries
|
||||
|
@ -833,7 +839,6 @@ def _get_journalctl_logs(service, number="all"):
|
|||
)
|
||||
except Exception:
|
||||
import traceback
|
||||
|
||||
trace_ = traceback.format_exc()
|
||||
return (
|
||||
f"error while get services logs from journalctl:\n{trace_}"
|
||||
)
|
||||
return f"error while get services logs from journalctl:\n{trace_}"
|
||||
|
|
|
@ -341,9 +341,7 @@ def _get_settings():
|
|||
_save_settings(unknown_settings, location=unknown_settings_path)
|
||||
_save_settings(settings)
|
||||
except Exception as e:
|
||||
logger.warning(
|
||||
f"Failed to save unknown settings (because {e}), aborting."
|
||||
)
|
||||
logger.warning(f"Failed to save unknown settings (because {e}), aborting.")
|
||||
|
||||
return settings
|
||||
|
||||
|
@ -373,12 +371,12 @@ post_change_hooks = {}
|
|||
|
||||
def post_change_hook(setting_name):
|
||||
def decorator(func):
|
||||
assert setting_name in DEFAULTS.keys(), (
|
||||
f"The setting {setting_name} does not exists"
|
||||
)
|
||||
assert setting_name not in post_change_hooks, (
|
||||
f"You can only register one post change hook per setting (in particular for {setting_name})"
|
||||
)
|
||||
assert (
|
||||
setting_name in DEFAULTS.keys()
|
||||
), f"The setting {setting_name} does not exists"
|
||||
assert (
|
||||
setting_name not in post_change_hooks
|
||||
), f"You can only register one post change hook per setting (in particular for {setting_name})"
|
||||
post_change_hooks[setting_name] = func
|
||||
return func
|
||||
|
||||
|
|
10
src/tools.py
10
src/tools.py
|
@ -536,9 +536,7 @@ def tools_upgrade(operation_logger, target=None):
|
|||
# Restart the API after 10 sec (at now doesn't support sub-minute times...)
|
||||
# We do this so that the API / webadmin still gets the proper HTTP response
|
||||
# It's then up to the webadmin to implement a proper UX process to wait 10 sec and then auto-fresh the webadmin
|
||||
cmd = (
|
||||
"at -M now >/dev/null 2>&1 <<< \"sleep 10; systemctl restart yunohost-api\""
|
||||
)
|
||||
cmd = 'at -M now >/dev/null 2>&1 <<< "sleep 10; systemctl restart yunohost-api"'
|
||||
# For some reason subprocess doesn't like the redirections so we have to use bash -c explicity...
|
||||
subprocess.check_call(["bash", "-c", cmd])
|
||||
|
||||
|
@ -894,9 +892,9 @@ def _get_migration_by_name(migration_name):
|
|||
if re.match(r"^\d+_%s\.py$" % migration_name, x)
|
||||
]
|
||||
|
||||
assert len(migrations_found) == 1, (
|
||||
f"Unable to find migration with name {migration_name}"
|
||||
)
|
||||
assert (
|
||||
len(migrations_found) == 1
|
||||
), f"Unable to find migration with name {migration_name}"
|
||||
|
||||
return _load_migration(migrations_found[0])
|
||||
|
||||
|
|
|
@ -254,9 +254,7 @@ def user_create(
|
|||
logger.warning(m18n.n("user_home_creation_failed", home=home), exc_info=1)
|
||||
|
||||
try:
|
||||
subprocess.check_call(
|
||||
["setfacl", "-m", "g:all_users:---", f"/home/{username}"]
|
||||
)
|
||||
subprocess.check_call(["setfacl", "-m", "g:all_users:---", f"/home/{username}"])
|
||||
except subprocess.CalledProcessError:
|
||||
logger.warning(f"Failed to protect /home/{username}", exc_info=1)
|
||||
|
||||
|
@ -986,9 +984,7 @@ def user_group_create(
|
|||
ldap = _get_ldap_interface()
|
||||
|
||||
# Validate uniqueness of groupname in LDAP
|
||||
conflict = ldap.get_conflict(
|
||||
{"cn": groupname}, base_dn="ou=groups"
|
||||
)
|
||||
conflict = ldap.get_conflict({"cn": groupname}, base_dn="ou=groups")
|
||||
if conflict:
|
||||
raise YunohostValidationError("group_already_exist", group=groupname)
|
||||
|
||||
|
|
|
@ -65,4 +65,3 @@ class YunohostValidationError(YunohostError):
|
|||
class YunohostAuthenticationError(MoulinetteAuthenticationError):
|
||||
|
||||
pass
|
||||
|
||||
|
|
|
@ -116,10 +116,7 @@ def _patch_legacy_php_versions(app_folder):
|
|||
|
||||
c = (
|
||||
"sed -i "
|
||||
+ "".join(
|
||||
f"-e 's@{p}@{r}@g' "
|
||||
for p, r in LEGACY_PHP_VERSION_REPLACEMENTS
|
||||
)
|
||||
+ "".join(f"-e 's@{p}@{r}@g' " for p, r in LEGACY_PHP_VERSION_REPLACEMENTS)
|
||||
+ "%s" % filename
|
||||
)
|
||||
os.system(c)
|
||||
|
@ -137,7 +134,11 @@ def _patch_legacy_php_versions_in_settings(app_folder):
|
|||
settings["phpversion"] = "7.4"
|
||||
|
||||
# We delete these checksums otherwise the file will appear as manually modified
|
||||
list_to_remove = ["checksum__etc_php_7.3_fpm_pool", "checksum__etc_php_7.0_fpm_pool", "checksum__etc_nginx_conf.d"]
|
||||
list_to_remove = [
|
||||
"checksum__etc_php_7.3_fpm_pool",
|
||||
"checksum__etc_php_7.0_fpm_pool",
|
||||
"checksum__etc_nginx_conf.d",
|
||||
]
|
||||
settings = {
|
||||
k: v
|
||||
for k, v in settings.items()
|
||||
|
@ -168,9 +169,15 @@ def _patch_legacy_helpers(app_folder):
|
|||
"important": False,
|
||||
},
|
||||
# Old $1, $2 in backup/restore scripts...
|
||||
"app=$2": {"only_for": ["scripts/backup", "scripts/restore"], "important": True},
|
||||
"app=$2": {
|
||||
"only_for": ["scripts/backup", "scripts/restore"],
|
||||
"important": True,
|
||||
},
|
||||
# Old $1, $2 in backup/restore scripts...
|
||||
"backup_dir=$1": {"only_for": ["scripts/backup", "scripts/restore"], "important": True},
|
||||
"backup_dir=$1": {
|
||||
"only_for": ["scripts/backup", "scripts/restore"],
|
||||
"important": True,
|
||||
},
|
||||
# Old $1, $2 in backup/restore scripts...
|
||||
"restore_dir=$1": {"only_for": ["scripts/restore"], "important": True},
|
||||
# Old $1, $2 in install scripts...
|
||||
|
|
Loading…
Add table
Reference in a new issue