diff --git a/debian/changelog b/debian/changelog index 4e67bee3..7d8c0202 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +yunohost-admin (3.5.1) testing; urgency=low + + - [enh] Display version inside app info (#235) + - [enh] Support display_text (#234) + - [fix] Don't use version for cache control (#233) + - Minor technical fixes / improvements (d264afe, 007ab86, 7322454) + - [i18n] Update translation for French, Occitan, Catalan, Portuguese, Chinese, Hungarian + + Thanks to all contributors (Aleks, Arthur Lutz, Bram, Jibec, Kayou, Mélanie C., Quentí, ppr, Xaloc) <3 ! + + -- Alexandre Aubin Wed, 03 Apr 2019 02:30:00 +0000 + yunohost-admin (3.5.0) testing; urgency=low - [enh] Remove dependency to GET /version to fetch version (#226) diff --git a/debian/postinst b/debian/postinst index 67360059..4c40d718 100644 --- a/debian/postinst +++ b/debian/postinst @@ -10,6 +10,12 @@ do_configure() { # Set document root permissions chown -R root:root /usr/share/yunohost/admin + + # Replace RANDOMID with a random hash to invalidate + # old cache ... we generate this locally on each machine + # to avoid leaking stuff like the version + RANDOMID=$(openssl rand -hex 4) + sed -i "s/RANDOMID/$RANDOMID/g" /usr/share/yunohost/admin/index.html } # summary of how this script can be called: diff --git a/debian/rules b/debian/rules index b0315118..3cd60cb6 100755 --- a/debian/rules +++ b/debian/rules @@ -15,10 +15,6 @@ TMPDIR = $$(pwd)/debian/yunohost-admin dh $@ override_dh_auto_build: - # Replace VERSION with current package version to prevent web browser - # to serve old css/js files - sed -i 's/VERSION/$(DEBVERS)/g' src/index.html - # Run npm/bower/gulp cd src ; npm --progress false --loglevel warn --color false install cd src ; node_modules/gulp/bin/gulp.js build diff --git a/src/img/icon.png b/src/img/icon.png index b710537f..3aaaf028 100644 Binary files a/src/img/icon.png and b/src/img/icon.png differ diff --git a/src/index.html b/src/index.html index 6577bcfe..4d032f17 100644 --- a/src/index.html +++ b/src/index.html @@ -7,9 +7,9 @@ - + - + diff --git a/src/js/yunohost/controllers/apps.js b/src/js/yunohost/controllers/apps.js index b68a06aa..9a7aafc9 100644 --- a/src/js/yunohost/controllers/apps.js +++ b/src/js/yunohost/controllers/apps.js @@ -339,12 +339,12 @@ args[k].type = (typeof v.type !== 'undefined') ? v.type : 'string'; args[k].inputType = 'text'; args[k].isPassword = false; + args[k].isDisplayText = false; args[k].required = (typeof v.optional !== 'undefined' && v.optional == "true") ? '' : 'required'; args[k].attributes = ""; args[k].helpText = ""; args[k].helpLink = ""; - // Multilingual label args[k].label = (typeof args[k].ask[y18n.locale] !== 'undefined') ? args[k].ask[y18n.locale] : @@ -460,6 +460,11 @@ args[k].isPassword = true; } + if (args[k].type == "display_text") { + args[k].isDisplayText = true; + args[k].label = args[k].label.split("\n"); + } + }); } diff --git a/src/js/yunohost/controllers/services.js b/src/js/yunohost/controllers/services.js index 11ccbca0..e3de3554 100644 --- a/src/js/yunohost/controllers/services.js +++ b/src/js/yunohost/controllers/services.js @@ -60,6 +60,10 @@ { data2.service.active_at = data.active_at; } + else + { + data2.service.active_at = 0; + } store.clear('slide'); c.view('service/service_info', data2); }, 'GET'); diff --git a/src/js/yunohost/helpers.js b/src/js/yunohost/helpers.js index 34fd1d1a..39575231 100644 --- a/src/js/yunohost/helpers.js +++ b/src/js/yunohost/helpers.js @@ -33,6 +33,8 @@ level = 'log'; } + message = message.split("\n").join("
"); + // Add message $('#flashMessage .messages') .prepend('
'+ diff --git a/src/locales/ca.json b/src/locales/ca.json index 0f6ca1c2..c1374315 100644 --- a/src/locales/ca.json +++ b/src/locales/ca.json @@ -19,12 +19,12 @@ "app_debug_no_logs": "Els registres de l'aplicació no estan disponibles", "app_debug_tab": "Mostra la informació de depuració", "app_info_access_desc": "Administrar l'accés d'usuaris. Usuaris permesos: %s", - "app_info_changelabel_desc": "Canvia l'etiqueta de l'aplicació al portal", + "app_info_changelabel_desc": "Canvia l'etiqueta de l'aplicació al portal.", "app_info_debug_desc": "Mostrar la informació de depuració per aquesta aplicació.", "app_info_default_desc": "Redirigeix l'arrel del domini a aquesta aplicació (%s).", "app_info_changeurl_desc": "Canvia l'adreça d'accés (URL) d'aquesta aplicació (domini i/o camí).", "app_info_change_url_disabled_tooltip": "Encara no s'ha implementat aquesta funcionalitat per a aquesta aplicació", - "app_info_uninstall_desc": "Eliminar aquesta aplicació", + "app_info_uninstall_desc": "Eliminar aquesta aplicació.", "app_install_cancel": "Instal·lació cancel·lada.", "app_install_custom_no_manifest": "No s'ha trobat el fitxer manifest.json", "app_list": "Llista d'aplicacions", @@ -71,7 +71,7 @@ "confirm_delete": "Està segur de voler eliminar %s?", "confirm_firewall_open": "Està segur de voler obrir el port %s? (protocol: %s, connexió: %s)", "confirm_firewall_close": "Està segur de voler tancar el port %s? (protocol: %s, connexió: %s)", - "confirm_install_custom_app": "La instal·lació d'aplicacions de terceres parts pot comprometre la seguretat del seu sistema. Faci-ho sota la seva responsabilitat.", + "confirm_install_custom_app": "ATENCIÓ! La instal·lació d'aplicacions de terceres parts pot comprometre la integritat i seguretat del seu sistema. No hauríeu d'instal·lar-ne a no ser que sapigueu el que feu. Esteu segurs de voler córrer aquest risc?", "confirm_install_domain_root": "No podrà instal·lar cap altra aplicació %s. Vol continuar?", "confirm_migrations_skip": "Saltar-se les migracions no està recomanat. Està segur de voler continuar?", "confirm_postinstall": "Està a punt de començar el procés de post-instal·lació en el domini %s. Pot tardar uns minuts, *no interrompi la operació*.", @@ -131,14 +131,14 @@ "enabled": "Activat", "error_modify_something": "Heu de modificar quelcom", "error_occured": "Hi ha hagut un error, torneu a intentar", - "error_retrieve_feed": "No s'ha pogut recuperar el fil: %s", + "error_retrieve_feed": "No s'ha pogut recuperar el fil: %s. Pot ser que tingueu un complement que no permet al vostre navegador fer aquesta sol·licitud (o la pàgina està caiguda).", "error_select_domain": "Heu d'indicar un domini", "error_server": "Error del servidor", "error_server_unexpected": "Error inesperat en el servidor (%s)", - "everyone_has_access": "Tots els usuaris tenen accés", + "everyone_has_access": "Tots els usuaris tenen accés.", "filesystem": "Sistema de fitxers", "firewall": "Tallafoc", - "footer_version": "Propulsat per YunoHost %s (%s)", + "footer_version": "Propulsat per YunoHost %s (%s).", "form_input_example": "Exemple: %s", "free": "Lliure", "fs_type": "Tipus de sistema de fitxers", @@ -199,7 +199,7 @@ "mode": "Mode", "monitoring": "Monitoratge", "monitoring_check_glances": "Verifiqueu l'estat del servei glances.", - "monitoring_disabled": "El monitoratge no està activat", + "monitoring_disabled": "El monitoratge no està activat.", "mount_point": "Punt de muntatge", "multi_instance": "Instàncies múltiples", "myserver": "elmeuservidor", @@ -210,7 +210,7 @@ "no_allowed_users": "Cap usuari autoritzat.", "no_installed_apps": "No hi ha aplicacions instal·lades.", "no_log": "No hi ha registre.", - "no_user_to_add": "Cap usuari a afegir", + "no_user_to_add": "Cap usuari a afegir.", "non_compatible_api": "L'API no és compatible", "ok": "OK", "open": "Obrir", @@ -378,5 +378,43 @@ "install_community_appslists_warning": "Tingueu en compte que aquestes aplicacions no són oficials i no són mantingudes per l'equip YunoHost.
Instal·leu aquestes aplicacions sota la vostra responsabilitat, pot posar en risc el teu sistema.", "install_custom_app_appslists_info": "Podeu utilitzar llistes d'aplicacions alternatives per instal·lar altres aplicacions mantingudes per la comunitat YunoHost.", "user_emailforward": "Reenviament de E-mail", - "user_new_forward": "noureenviar@dominiextern.org" + "user_new_forward": "noureenviar@dominiextern.org", + "all_apps": "Totes les aplicacions", + "app_license": "Llicència de l'aplicació", + "app_level": "Nivell de l'aplicació", + "app_no_actions": "Aquesta aplicació no té cap acció", + "app_state_official": "Oficial", + "confirm_install_app_warning": "Atenció: aquesta aplicació funciona però encara no està ben integrada a YunoHost. Algunes característiques com la identificació única i la còpia de seguretat i restauració de l'aplicació poden no estar presents.", + "confirm_install_app_danger": "ATENCIÓ! Aquesta aplicació encara és experimental (si no és que no funciona directament) i és probable que trenqui el sistema! No hauríeu d'instal·lar-la a no ser que sapigueu el que feu. Esteu segurs de voler córrer aquest risc?", + "current_maintainer_title": "Mantenidor d'aquest paquet actualment", + "error_connection_interrupted": "El servidor a tancat la connexió en lloc de respondre, s'ha reiniciat nginx per error? (Codi d'error/missatge: %s)", + "experimental_warning": "Atenció: aquesta característica és experimental i no es considera estable, no l'hauríeu d'utilitzar a excepció de saber el que feu.", + "good_practices_about_admin_password": "Esteu a punt de definir una nova contrasenya d'administrador. La contrasenya ha de tenir un mínim de 8 caràcters ; tot i que és de bona pràctica utilitzar una contrasenya més llarga (és a dir una frase de contrasenya) i/o utilitzar diferents tipus de caràcters (majúscules, minúscules, dígits i caràcters especials).", + "good_practices_about_user_password": "Esteu a punt de definir una nova contrasenya d'usuari. La contrasenya ha de tenir un mínim de 8 caràcters ; tot i que és de bona pràctica utilitzar una contrasenya més llarga (és a dir una frase de contrasenya) i/o utilitzar diferents tipus de caràcters (majúscules, minúscules, dígits i caràcters especials).", + "level": "nivell", + "only_official_apps": "Només aplicacions oficials", + "only_working_apps": "Només aplicacions que funcionen", + "logs": "Registres", + "logs_operation": "Operacions fetes al sistema amb YunoHost", + "logs_history": "Historial de l'ordre executada al sistema", + "logs_package": "Historial d'administració dels paquets debian", + "logs_system": "Registres del nucli i d'altres esdeveniments de baix nivell", + "logs_access": "Llista d'accessos i bloquejos", + "logs_service": "Registres dels serveis", + "logs_app": "Registres de les aplicacions", + "logs_no_logs_registered": "No hi ha cap registre per aquesta categoria", + "logs_end_with_error": "Aquest registre ha acabat amb l'error:", + "logs_error": "Error", + "logs_ended_at": "Fi", + "logs_started_at": "Principi", + "logs_path": "Camí", + "logs_context": "Context", + "logs_share_with_yunopaste": "Comparteix amb YunoPaste", + "logs_more": "Mostra més línies", + "search_for_apps": "Cerca aplicacions...", + "select_all": "Selecciona-ho tot", + "select_none": "No en seleccionis cap", + "unmaintained": "No mantingut", + "purge_user_data_checkbox": "Purga les dades de %s? (Això suprimirà el contingut de la carpeta home i mail.)", + "purge_user_data_warning": "Purgar les dades de l'usuari no és reversible. Assegureu-vos de saber el que esteu fent!" } diff --git a/src/locales/en.json b/src/locales/en.json index b1acbd34..cf19f225 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -371,6 +371,7 @@ "users_new": "New user", "users_no": "No users.", "versions": "Versions", + "version": "Version", "view_user_profile": "View %s's profile", "warning_first_user": "You probably need to create a user first.", "write": "Write", diff --git a/src/locales/fr.json b/src/locales/fr.json index 027479fa..3bd1709b 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -10,7 +10,7 @@ "app_access_clearall_btn": "Effacer toutes les règles accès", "app_access_clearall_desc": "Tous les utilisateurs auront accès à %s.", "app_access_removeall_btn": "Supprimer tous les accès", - "app_access_removeall_desc": "Aucun utilisateur n'a accès à %s.", + "app_access_removeall_desc": "Aucun utilisateur n'aura accès à %s.", "app_access_title": "Accès à %s", "app_debug_no_logs": "Les journaux de cette application ne sont pas disponibles", "app_debug_tab": "Afficher les informations de débogage", @@ -22,7 +22,7 @@ "app_install_custom_no_manifest": "Aucun fichier manifest.json", "app_list": "Liste des applications", "app_make_default": "Définir par défaut", - "app_repository": "Origine de l'application : ", + "app_repository": "Origine de l’application : ", "app_state": "État de l'application : ", "app_state_inprogress": "En cours", "app_state_notworking": "Non fonctionnelle", @@ -30,12 +30,12 @@ "app_state_working": "Fonctionnelle", "application": "Application", "applications": "Applications", - "archive_empty": "La sauvegarde est vide", + "archive_empty": "L’archive est vide", "available": "Disponible", "available_apps": "Applications disponibles", "backup": "Sauvegarde", "backup_action": "Sauvegarder", - "backup_archive_copy": "Copier cette sauvegarde sur un autre stockage", + "backup_archive_copy": "Copier cette archive sur un autre stockage", "backup_archive_delete": "Supprimer cette sauvegarde", "backup_archive_download": "Télécharger cette sauvegarde", "backup_content": "Contenu de la sauvegarde", @@ -58,14 +58,14 @@ "check_stmp": "Accessibilité du port 25", "close": "Fermer", "confirm_access_add": "Voulez-vous vraiment ajouter l'accès à %s pour tous les utilisateurs ?", - "confirm_access_clear": "Voulez-vous vraiment supprimer tous les accès à %s ?", + "confirm_access_clear": "Voulez-vous vraiment supprimer tous les accès à %s ?", "confirm_access_remove_all": "Voulez-vous vraiment supprimer tous les accès à %s ?", - "confirm_access_remove_user": "Voulez-vous vraiment supprimer les accès à %s pour %s ?", + "confirm_access_remove_user": "Voulez-vous vraiment supprimer l’accès à %s pour %s ?", "confirm_app_default": "Voulez-vous vraiment définir cette application par défaut ?", "confirm_change_maindomain": "Voulez-vous vraiment changer le domaine principal ?", "confirm_delete": "Voulez-vous vraiment supprimer %s ?", "confirm_firewall": "Voulez-vous vraiment %s le port %s (protocole: %s, connexion: %s)", - "confirm_install_custom_app": "L'installation d'applications tierces peut compromettre la sécurité du système. À utiliser à vos propres risques.", + "confirm_install_custom_app": "AVERTISSEMENT ! L’installation d’applications tierces peut compromettre l’intégrité et la sécurité de votre système. Vous ne devriez probablement PAS l’installer si vous ne savez pas ce que vous faites. Prenez-vous ce risque ?", "confirm_install_domain_root": "Vous ne pourrez pas installer d'autres applications sur %s. Continuer ?", "confirm_postinstall": "Vous êtes sur le point de lancer le processus de post-installation sur le domaine %s. Cela peut prendre du temps, *n'interrompez pas l'opération avant la fin*.", "confirm_restore": "Voulez-vous vraiment restaurer %s ?", @@ -78,9 +78,9 @@ "count_min": "%s min", "cpu_load": "Charge CPU", "created_at": "Crée le", - "cumulative_usage": "Cumul", + "cumulative_usage": "Utilisation cumulée", "custom_app_install": "Installer une application personnalisée", - "custom_app_url_only_github": "Uniquement depuis GitHub", + "custom_app_url_only_github": "Uniquement depuis GitHub pour l’instant", "default": "Défaut", "delete": "Supprimer", "description": "Description", @@ -95,7 +95,7 @@ "domain": "Domaine", "domain_add": "Ajouter un domaine", "domain_add_dns_doc": "… et j'ai configuré mes DNS correctement.", - "domain_add_dyndns_doc": "… et je souhaite un nom de domaine préconfiguré.", + "domain_add_dyndns_doc": "… et je souhaite ajouter un service DNS dynamique.", "domain_add_panel_with_domain": "J'ai déjà un nom de domaine …", "domain_add_panel_without_domain": "Je n'ai pas de nom de domaine …", "domain_default": "Domaine par défaut", @@ -106,7 +106,7 @@ "domain_dns_longdesc": "Voir la configuration DNS", "domain_list": "Liste des domaines", "domain_name": "Nom de domaine", - "domain_select": "Selectionnez un domaine", + "domain_select": "Sélectionnez un domaine", "domain_visit": "Visiter", "domain_visit_url": "Visiter %s", "domains": "Domaines", @@ -115,11 +115,11 @@ "enabled": "Activé", "error_modify_something": "Vous devez modifier quelque chose", "error_occured": "Une erreur est survenue, veuillez réessayer", - "error_retrieve_feed": "Impossible de récupérer le flux : %s", + "error_retrieve_feed": "Impossible de récupérer le flux : %s. Il se peut qu’une extension empêche votre navigateur d'exécuter cette requête (ou que le site web soit hors service).", "error_select_domain": "Vous devriez indiquer un domaine", "error_server": "Erreur serveur", "error_server_unexpected": "Erreur serveur inattendue (%s)", - "everyone_has_access": "Tous les utilisateurs ont accès.", + "everyone_has_access": "Tous les utilisateurs y ont accès.", "filesystem": "Système de fichier", "firewall": "Pare-feu", "free": "Libre", @@ -136,10 +136,10 @@ "hook_conf_ynh_certs": "Certificats de sécurité", "hook_conf_ynh_firewall": "Pare-feu", "hook_conf_ynh_mysql": "Mot de passe MySQL", - "hook_data_home": "Données utilisateurs", - "hook_data_home_desc": "Les données des utilisateurs situées dans /home/USER", + "hook_data_home": "Données de l’utilisateur", + "hook_data_home_desc": "Les données de l’utilisateur situées dans /home/USER", "hook_data_mail": "Courriel", - "hook_data_mail_desc": "Les courriels qui sont encore sur le serveur", + "hook_data_mail_desc": "Les courriels qui sont sur le serveur", "hostname": "Nom d'hôte", "id": "ID", "inactive": "Inactif", @@ -152,7 +152,7 @@ "installed_apps": "Applications installées", "installing": "Installation", "interface": "Interface", - "io": "E/S", + "io": "Entrée/Sortie", "ipv4": "IPv4", "ipv6": "IPv6", "label": "Libellé", @@ -178,7 +178,7 @@ "monitoring_disabled": "Le suivi de l'état du serveur n'est pas activé.", "mount_point": "Point de montage", "multi_instance": "Instance multiple", - "myserver": "monserver", + "myserver": "monserveur", "myserver_org": "monserveur.fr", "network": "Réseau", "next": "Suivant", @@ -190,15 +190,15 @@ "non_compatible_api": "API non compatible", "open": "Ouvrir", "operations": "Opérations", - "os": "OS", + "os": "Système d’exploitation", "password": "Mot de passe", "password_confirmation": "Confirmation du mot de passe", "password_description": "Le mot de passe doit faire au moins %s caractères.", - "password_empty": "Le champ mot de passe est vide", + "password_empty": "Le champ pour le mot de passe est vide", "password_new": "Nouveau mot de passe", "passwords_dont_match": "Les mots de passe ne correspondent pas", - "passwords_too_short": "Mot de passe trop court", - "path": "Répertoire", + "passwords_too_short": "Le mot de passe est trop court", + "path": "Chemin", "port": "Port", "ports": "Ports", "postinstall": "Post-installation", @@ -218,11 +218,11 @@ "refresh_app_list": "Rafraîchir la liste", "remove_access": "Retirer les accès", "restore": "Restaurer", - "running": "En cours d'execution", + "running": "En cours d’exécution", "save": "Sauvegarder", "select_user": "Choisissez un utilisateur", "select_all": "Tout sélectionner", - "select_none": "Tout déselectionner", + "select_none": "Tout désélectionner", "service_log": "Journal de %s", "service_start_on_boot": "Lancer au démarrage : ", "service_status": "Statut : ", @@ -268,8 +268,8 @@ "uninstall": "Désinstaller", "unknown_action": "Action %s inconnue", "unknown_argument": "Argument inconnu : %s", - "upload": "Partager avec yunopaste", - "upload_archive": "Uploader une sauvegarde", + "upload": "Téléversement", + "upload_archive": "Téléverser une archive", "upnp": "UPnP", "upnp_disabled": "L’UPnP est désactivé.", "upnp_enabled": "L’UPnP est activé.", @@ -278,7 +278,7 @@ "usage": "Utilisation", "used": "Utilisé", "user_email": "Courriel", - "user_emailaliases": "Adresses supplémentaires", + "user_emailaliases": "Alias de courriel", "user_emailforward": "Adresses de transfert", "user_fullname": "Nom complet", "user_interface_link": "Interface utilisateur", @@ -299,10 +299,10 @@ "yes": "Oui", "form_input_example": "Exemple : %s", "footer_version": "Propulsé par YunoHost %s (%s).", - "certificate_alert_not_valid": "Critique : le certificat actuel est invalide ! Le HTTPS ne fonctionnera pas du tout !", - "certificate_alert_selfsigned": "Attention : le certification actuel est auto-signé. Les navigateurs afficheront une alerte effrayante aux nouveaux visiteurs !", - "certificate_alert_letsencrypt_about_to_expire": "Le certificat actuel est sur le point d’expirer. Il doit être renouvelé automatiquement prochainement.", - "certificate_alert_about_to_expire": "Attention : le certificat actuel est sur le point d’expirer ! Il ne sera pas renouvelé automatiquement !", + "certificate_alert_not_valid": "CRITIQUE : le certificat actuel n’est pas valide ! Le HTTPS ne fonctionnera pas du tout !", + "certificate_alert_selfsigned": "AVERTISSEMENT : le certificat actuel est auto-signé. Les navigateurs afficheront un avertissement effrayant pour les nouveaux visiteurs !", + "certificate_alert_letsencrypt_about_to_expire": "Le certificat actuel est sur le point d’expirer. Il devrait bientôt être renouvelé automatiquement.", + "certificate_alert_about_to_expire": "AVERTISSEMENT : le certificat actuel est sur le point d’expirer ! Il ne sera PAS renouvelé automatiquement !", "certificate_alert_good": "Bien, le certificat actuel a l’air correct !", "certificate_alert_great": "Parfait ! Vous utilisez un certificat Let’s Encrypt valide !", "certificate_alert_unknown": "Statut inconnu", @@ -311,19 +311,19 @@ "ssl_certificate": "Certificat SSL", "confirm_cert_install_LE": "Voulez-vous vraiment installer un certificat Let’s Encrypt pour ce domaine ?", "confirm_cert_regen_selfsigned": "Voulez-vous vraiment régénérer un certificat auto-signé pour ce domaine ?", - "confirm_cert_manual_renew_LE": "Voulez-vous vraiment renouveler manuellement le certificat Let’s Encrypt pour ce domaine ?", - "confirm_cert_revert_to_selfsigned": "Voulez-vous vraiment remettre un certificat auto-signé à ce domaine ?", + "confirm_cert_manual_renew_LE": "Voulez-vous vraiment renouveler manuellement le certificat Let’s Encrypt pour ce domaine maintenant ?", + "confirm_cert_revert_to_selfsigned": "Voulez-vous vraiment revenir à un certificat auto-signé pour ce domaine ?", "certificate": "Certificat", "certificate_status": "Statut du certificat", "certificate_authority": "Autorité de certification", "validity": "Validité", "domain_is_eligible_for_ACME": "Ce domaine semble correctement configuré pour installer un certificat Let’s Encrypt !", - "domain_not_eligible_for_ACME": "Ce domaine ne semble pas prêt pour un certificat Let’s Encrypt. Veuillez vérifier votre configuration DNS et l’accessibilité de votre serveur HTTP.", + "domain_not_eligible_for_ACME": "Ce domaine ne semble pas prêt pour installer un certificat Let’s Encrypt. Veuillez vérifier votre configuration DNS et l’accessibilité HTTP de votre serveur.", "install_letsencrypt_cert": "Installer un certificat Let’s Encrypt", - "manually_renew_letsencrypt_message": "Le certificat sera renouvelé automatiquement lors des 15 derniers jours de validité. Vous pouvez manuellement le renouveler si vous le souhaitez (non recommandé).", + "manually_renew_letsencrypt_message": "Le certificat sera renouvelé automatiquement durant les 15 derniers jours de sa validité. Vous pouvez le renouveler manuellement si vous le souhaitez (non recommandé).", "manually_renew_letsencrypt": "Renouveler manuellement maintenant", - "regenerate_selfsigned_cert_message": "Si vous le souhaitez, vous pouvez régénérer les certificats auto-signés.", - "regenerate_selfsigned_cert": "Régénérer les certificats auto-signés", + "regenerate_selfsigned_cert_message": "Si vous le souhaitez, vous pouvez régénérer le certificat auto-signé.", + "regenerate_selfsigned_cert": "Régénérer le certificat auto-signé", "revert_to_selfsigned_cert_message": "Si vous le souhaitez vraiment, vous pouvez réinstaller un certificat auto-signé (non recommandé).", "revert_to_selfsigned_cert": "Retourner à un certificat auto-signé", "user_mailbox_use": "Espace utilisé de la boite aux lettres", @@ -346,13 +346,13 @@ "appslists_info_refresh_desc": "Actualiser le statut des applications de cette liste.", "appslists_info_remove_desc": "Les applications de cette liste ne seront plus disponibles.", "appslists_last_update": "Dernière mise à jour", - "appslists_unknown_list": "La liste « %s » est inconnue", + "appslists_unknown_list": "La liste d'applications %s est inconnue", "appslists_community_list": "Liste des applications communautaires", "name": "Nom", - "install_community_appslists_info": "La liste des applications communautaires vous permet d’installer les applications maintenues par la communauté.
Parcourez la liste complète sur yunohost.org/apps_in_progress_fr.", - "install_community_appslists_warning": "Ces applications ne sont ni officielles, ni maintenues par l’équipe YunoHost.
Installer ces applications est à vos risques et périls, et peut casser votre système.", + "install_community_appslists_info": "La liste des applications communautaires vous permet d’installer des applications maintenues par la communauté.
Parcourez la liste complète sur yunohost.org/apps.", + "install_community_appslists_warning": "Notez que ces applications ne sont pas officielles, et non maintenues par l’équipe YunoHost.
Installer ces applications est à vos risques et périls, et peut casser votre système.", "install_custom_app_appslists_info": "Vous pouvez utiliser des listes alternatives d’applications pour installer d’autres applications maintenues par la communauté YunoHost.", - "domain_dns_conf_is_just_a_recommendation": "Cette page montre la configuration *recommandée*. Elle ne configure *pas* le DNS pour vous. Il est de votre responsabilité que de configurer votre zone DNS chez votre registrar DNS avec cette recommandation.", + "domain_dns_conf_is_just_a_recommendation": "Cette page montre la configuration *recommandée*. Elle ne configure *pas* le DNS pour vous. Il est de votre responsabilité de configurer votre zone DNS chez votre bureau d’enregistrement DNS (registrar) en fonction de cette recommandation.", "internal_exception": "YunoHost a rencontré une erreur interne :/
Vraiment navré.
Vous devriez chercher de l’aide sur le forum ou le salon pour résoudre le problème, ou rapporter le bogue sur l’outil de suivi.

Les informations suivantes peuvent être utile à l’interlocuteur vous aidant :

Action

%s %s

Trace

%s
", "confirm_reboot_action_reboot": "Êtes vous sûr de vouloir redémarrer votre serveur ?", "confirm_reboot_action_shutdown": "Êtes vous sûr de vouloir éteindre votre serveur ?", @@ -364,28 +364,64 @@ "tools_reboot_btn": "Redémarrer", "tools_reboot_done": "Redémarrage…", "tools_rebooting": "Votre serveur redémarre. Pour retourner sur l’interface d'administration vous devez attendre que votre serveur soit démarré. Vous pouvez le vérifier en actualisant cette page (F5).", - "tools_shutdown": "Eteindre votre serveur", - "tools_shutdown_btn": "Eteindre", - "tools_shutdown_done": "Arrêt en cours...", - "tools_shuttingdown": "Votre serveur est éteint. Tant que votre serveur est éteint vous ne pouvez plus utiliser l'interface d'administration.", + "tools_shutdown": "Éteindre votre serveur", + "tools_shutdown_btn": "Éteindre", + "tools_shutdown_done": "Extinction…", + "tools_shuttingdown": "Votre serveur est en train de s’arrêter. Tant qu’il restera éteint vous ne pourrez plus utiliser l’interface d'administration.", "tools_shutdown_reboot": "Arrêter/Redémarrer", "app_change_label": "Changer le libellé", "app_change_url": "Changer l’URL", "app_info_changelabel_desc": "Change le libellé de l’application dans le portail.", - "app_info_changeurl_desc": "Change l’adresse d’accès de cette application (domaine et/ou chemin).", + "app_info_changeurl_desc": "Modifier l’URL d’accès de cette application (domaine et/ou chemin).", "app_info_change_url_disabled_tooltip": "Cette fonctionnalité n’a pas encore été implémentée pour cette application", - "confirm_app_change_url": "Voulez-vous vraiment changer l’adresse d’accès de cette application ?", + "confirm_app_change_url": "Voulez-vous vraiment modifier l’URL d’accès de cette application ?", "path_url": "Chemin", - "meltdown": "Vous êtes vulnérable à la faille de sécurité critique meltdown. Pour résoudre le problème, vous devez mettre à jour votre système puis le redémarrer pour charger le nouveau noyau linux.", - "confirm_migrations_skip": "Sauter les migrations n’est pas recommandé. Voulez-vous vraiment le faire ?", + "meltdown": "Vous êtes vulnérable à la faille de sécurité critique meltdown. Pour résoudre le problème, vous devez mettre à jour votre système puis le redémarrer pour charger le nouveau noyau Linux.", + "confirm_migrations_skip": "Ne pas appliquer les migrations n’est pas recommandé. Voulez-vous vraiment le faire ?", "migrations": "Migrations", "migrations_pending": "Migrations en attente", "migrations_done": "Migrations précédentes", "migrations_no_pending": "Aucune migration en attente", "migrations_no_done": "Aucune migration précédente", - "run": "Lancer", - "skip": "Sauter", + "run": "Exécuter", + "skip": "Passer", "service_description": "Description :", "started_at": "Démarré à :", - "active": "Actif" + "active": "Actif", + "all_apps": "Toutes les applications", + "app_license": "Licence de l'application", + "app_level": "Niveau de qualité de l’application", + "app_no_actions": "Cette application ne possède aucune action", + "app_state_official": "Officielle", + "confirm_install_app_warning": "Avertissement : cette application peut fonctionner mais n’est pas bien intégrée dans YunoHost. Certaines fonctionnalités telles que l’authentification unique et la sauvegarde/restauration pourraient ne pas être disponibles.", + "confirm_install_app_danger": "AVERTISSEMENT ! Cette application est encore expérimentale et risque de casser votre système ! Vous ne devriez probablement PAS l’installer si vous ne savez pas ce que vous faites. Voulez-vous vraiment prendre ce risque ?", + "current_maintainer_title": "Mainteneur actuel de ce paquet", + "error_connection_interrupted": "Le serveur a fermé la connexion au lieu d’y répondre, Nginx a-t-il été redémarré par erreur ? (Code/message d’erreur : %s)", + "experimental_warning": "Attention : cette fonctionnalité est expérimentale et ne doit pas être considérée comme stable, vous ne devriez pas l’utiliser à moins que vous ne sachiez ce que vous faites...", + "good_practices_about_admin_password": "Vous êtes maintenant sur le point de définir un nouveau mot de passe administrateur. Le mot de passe doit comporter au moins 8 caractères — bien qu’il soit recommandé d’utiliser un mot de passe plus long (c’est-à-dire une phrase secrète) et/ou d’utiliser différents types de caractères (majuscules, minuscules, chiffres et caractères spéciaux).", + "good_practices_about_user_password": "Vous êtes maintenant sur le point de définir un nouveau mot de passe utilisateur. Le mot de passe doit comporter au moins 8 caractères — bien qu’il soit recommandé d’utiliser un mot de passe plus long (c’est-à-dire une phrase secrète) et/ou d’utiliser différents types de caractères (majuscules, minuscules, chiffres et caractères spéciaux).", + "level": "niveau", + "only_official_apps": "Applications officielles uniquement", + "only_working_apps": "Applications fonctionnelles uniquement", + "logs": "Journaux", + "logs_operation": "Opérations effectuées sur le système avec YunoHost", + "logs_history": "Historique des commandes exécutées sur le système", + "logs_package": "Historique de la gestion des paquets Debian", + "logs_system": "Journaux du noyau et d’autres événements de bas niveau", + "logs_access": "Liste des accès autorisés et refusés", + "logs_service": "Journaux des services", + "logs_app": "Journaux des applications", + "logs_no_logs_registered": "Aucun journal n’a été enregistré pour cette catégorie", + "logs_end_with_error": "Ce journal a fini avec l’erreur :", + "logs_error": "Erreur", + "logs_ended_at": "Fin", + "logs_started_at": "Début", + "logs_path": "Chemin", + "logs_context": "Contexte", + "logs_share_with_yunopaste": "Partager avec YunoPaste", + "logs_more": "Afficher plus de lignes", + "search_for_apps": "Recherche des applications…", + "unmaintained": "Non maintenue", + "purge_user_data_checkbox": "Purger les données de l’utilisateur %s ? (Cela supprimera le contenu de ses répertoires home et mail.)", + "purge_user_data_warning": "La purge des données de l’utilisateur n’est pas réversible. Assurez-vous de savoir ce que vous faites !" } diff --git a/src/locales/hu.json b/src/locales/hu.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/src/locales/hu.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/oc.json b/src/locales/oc.json index 86028ad3..7b6bdaad 100644 --- a/src/locales/oc.json +++ b/src/locales/oc.json @@ -71,7 +71,7 @@ "confirm_delete": "Volètz vertadièrament escafar %s ?", "confirm_firewall_open": "Volètz vertadièrament dobrir lo pòrt %s ? (protocòl : %s, connexion : %s)", "confirm_firewall_close": "Volètz vertadièrament tampar lo pòrt %s ? (protocòl : %s, connexion : %s)", - "confirm_install_custom_app": "L’installacion d’aplicacions tèrças pòt perilhar la seguretat. D’utilizar amb vòstra resèrva.", + "confirm_install_custom_app": "Atencion ! L’installacion d’aplicacions tèrças pòt perilhar l’integritat e la seguretat del sistèma. Auriatz PAS de n’installar levat que saupèssetz çò que fasètz. Volètz vertadièrament córrer aqueste risc ?", "confirm_install_domain_root": "Poiretz pas installar mai aplicacions sus %s. Contunhar ?", "confirm_migrations_skip": "Passar las migracions es pas recomandat. Volètz vertadièrament o far ?", "confirm_postinstall": "Sètz a man de lançar lo processús de post-installacion sul domeni %s. Aquò pòt tardar una estona, *arrestetz pas l’operacion*.", @@ -130,7 +130,7 @@ "enabled": "Activat", "error_modify_something": "Vos cal modificar quicòm", "error_occured": "Una error s’es producha, tornatz ensajar", - "error_retrieve_feed": "Impossible de trapar lo flux : %s", + "error_retrieve_feed": "Impossible de trapar lo flux : %s. Benlèu qu’avètz una extension al navigador que li permet pas de realizar aquesta requèsta (o la pagina es copada).", "error_select_domain": "Deuriatz indicar un domeni", "error_server": "Error servidor", "error_server_unexpected": "Error pas esperada (%s)", @@ -398,5 +398,24 @@ "logs_path": "Camin", "logs_context": "Contèxt", "logs_share_with_yunopaste": "Partejar amb YunoPaste", - "logs_more": "Mostrar mai de linhas" + "logs_more": "Mostrar mai de linhas", + "all_apps": "Totas las aplicacions", + "app_license": "Licéncia de l’aplicacion", + "app_level": "Nivèl de l’aplicacion", + "app_state_official": "Oficiala", + "confirm_install_app_warning": "Atencion : aquesta aplicacion foncionarà mas es pas encara ben integrada a YunoHost. Unas foncionalitats coma l’identificacion unica e la salvagarda/restauracion pòdon èsser pas disponiblas.", + "confirm_install_app_danger": "ATENCION ! Aquesta aplicacion es encara experimentala (o fonciona pas dirèctament) e es probable que còpe lo sistèma ! Deuriatz pas l’installar levat que saupèssetz çò que fasètz. Volètz vertadièrament córrer aqueste risc ?", + "current_maintainer_title": "Mantenidor actual d’aqueste paquet", + "error_connection_interrupted": "Lo servidor a tampat la connexionallòc de respondre. Nginx es estat relançat per error ? (Còdi d’error/messatge : %s)", + "good_practices_about_admin_password": "Sètz a mand de definir un nòu senhal d’administrator. Lo nòu senhal deu conténer almens 8 caractèrs, es de bon far d’utilizar un senhal mai long (es a dire una frasa de senhal) e/o utilizar mantuns tipes de caractèrs (majusculas, minusculas, nombres e caractèrs especials).", + "good_practices_about_user_password": "Sètz a mand de definir un nòu senhal d’utilizaire. Lo nòu senhal deu conténer almens 8 caractèrs, es de bon far d’utilizar un senhal mai long (es a dire una frasa de senhal) e/o utilizar mantuns tipes de caractèrs (majusculas, minusculas, nombres e caractèrs especials).", + "level": "nivèl", + "only_official_apps": "Solament aplicacions oficialas", + "only_working_apps": "Solament aplicacions que foncionan", + "search_for_apps": "Cercar d’aplicacion…", + "select_all": "O seleccionar tot", + "select_none": "O deselecionnar tot", + "unmaintained": "Pas mantenguda", + "purge_user_data_checkbox": "Purgar las donadas de %s ?(Aquò suprimirà lo contengut dels repertòris home e mail)", + "purge_user_data_warning": "Purgar las donadas de l’utilizaire es pas reversible. Asseguratz-vos de saber çò que fasètz !" } diff --git a/src/locales/pt.json b/src/locales/pt.json index dea36b1f..97ab103f 100644 --- a/src/locales/pt.json +++ b/src/locales/pt.json @@ -229,5 +229,6 @@ "app_change_url": "Mudar URL", "app_debug_no_logs": "Logs da aplicação não estão disponíveis", "app_debug_tab": "Mostrar debug", - "ok": "Confirmar" + "ok": "Confirmar", + "all_apps": "Todas as aplicações" } diff --git a/src/locales/zh_Hans.json b/src/locales/zh_Hans.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/src/locales/zh_Hans.json @@ -0,0 +1 @@ +{} diff --git a/src/views/app/app_info.ms b/src/views/app/app_info.ms index 4df1e3dc..8712e627 100644 --- a/src/views/app/app_info.ms +++ b/src/views/app/app_info.ms @@ -19,6 +19,8 @@
{{settings.label}}
{{t 'description'}}
{{description}}
+
{{t 'version'}}
+
{{manifest.version}}
{{t 'multi_instance'}}
{{manifest.multi_instance}}
{{t 'install_time'}}
diff --git a/src/views/app/app_install.ms b/src/views/app/app_install.ms index 4d4bc075..dce1686a 100644 --- a/src/views/app/app_install.ms +++ b/src/views/app/app_install.ms @@ -19,6 +19,8 @@
{{id}}
{{t 'description'}}
{{description}}
+
{{t 'version'}}
+
{{manifest.version}}
{{t 'multi_instance'}}
{{manifest.multi_instance}}
@@ -39,6 +41,13 @@
{{#manifest.arguments.install}}
+ {{#if isDisplayText}} +
+ {{#label}} +

{{.}}

+ {{/label}} +
+ {{else}} @@ -68,6 +77,7 @@ {{/if}}
+ {{/if}} {{/manifest.arguments.install}}