webdrop-bridge/resources/translations/fr.json
claudi 7daec731ca Add internationalization support with English and French translations
- Introduced a new i18n module for managing translations using JSON files.
- Added English (en.json) and French (fr.json) translation files for UI elements.
- Implemented lazy initialization of the translator to load translations on demand.
- Added unit tests for translation lookup, fallback behavior, and available languages detection.
2026-03-10 14:32:38 +01:00

167 lines
12 KiB
JSON

{
"toolbar.tooltip.open_drop": "D\u00e9posez un fichier ici pour l'ouvrir avec son application par d\u00e9faut",
"toolbar.tooltip.open_with_drop": "D\u00e9posez un fichier ici pour choisir l'application qui doit l'ouvrir",
"toolbar.tooltip.home": "Accueil",
"toolbar.tooltip.about": "\u00c0 propos de WebDrop Bridge",
"toolbar.tooltip.settings": "Param\u00e8tres",
"toolbar.tooltip.check_updates": "Rechercher des mises \u00e0 jour",
"toolbar.tooltip.clear_cache": "Vider le cache et les cookies",
"toolbar.tooltip.open_log": "Ouvrir le fichier journal",
"toolbar.tooltip.dev_tools": "Outils de d\u00e9veloppement (F12)",
"status.ready": "Pr\u00eat",
"status.opened": "Ouvert\u00a0: {name}",
"status.choose_app": "Choisir une app pour\u00a0: {name}",
"status.download_started": "\ud83d\udce5 T\u00e9l\u00e9chargement\u00a0: {filename}",
"status.download_completed": "T\u00e9l\u00e9chargement termin\u00e9\u00a0: {name}",
"status.download_cancelled": "\u26a0\ufe0f T\u00e9l\u00e9chargement annul\u00e9\u00a0: {name}",
"status.download_failed": "\u274c T\u00e9l\u00e9chargement \u00e9chou\u00e9\u00a0: {name}",
"status.download_error": "Erreur de t\u00e9l\u00e9chargement\u00a0: {error}",
"update.status.checking": "Recherche de mises \u00e0 jour",
"update.status.ready": "Pr\u00eat",
"update.status.available": "Mise \u00e0 jour disponible\u00a0: v{version}",
"update.status.deferred": "Mise \u00e0 jour diff\u00e9r\u00e9e",
"update.status.downloading": "T\u00e9l\u00e9chargement de v{version}",
"update.status.verifying": "V\u00e9rification du t\u00e9l\u00e9chargement",
"update.status.download_failed": "\u00c9chec du t\u00e9l\u00e9chargement",
"update.status.verification_failed": "\u00c9chec de la v\u00e9rification",
"update.status.timed_out": "D\u00e9lai d'attente d\u00e9pass\u00e9",
"update.status.ready_to_install": "Pr\u00eat \u00e0 installer",
"update.status.installation_started": "Installation d\u00e9marr\u00e9e",
"update.status.installation_failed": "\u00c9chec de l'installation",
"update.status.check_timed_out": "D\u00e9lai d\u00e9pass\u00e9 \u2013 aucune r\u00e9ponse du serveur",
"update.status.check_failed": "\u00c9chec\u00a0: {error}",
"update.status.download_timed_out": "D\u00e9lai d\u00e9pass\u00e9 lors du t\u00e9l\u00e9chargement",
"dialog.error.title": "Erreur",
"dialog.log_not_found.title": "Fichier journal introuvable",
"dialog.log_not_found.msg": "Aucun fichier journal trouv\u00e9 \u00e0\u00a0:\n{log_file}",
"dialog.cache_cleared.title": "Cache vid\u00e9",
"dialog.cache_cleared.msg": "Le cache et les cookies du navigateur ont \u00e9t\u00e9 vid\u00e9s avec succ\u00e8s.\n\nVous devrez peut-\u00eatre recharger la page ou red\u00e9marrer l'application pour que les modifications prennent effet.",
"dialog.cache_clear_failed.title": "Erreur",
"dialog.cache_clear_failed.msg": "Impossible de vider le cache et les cookies\u00a0: {error}",
"dialog.drag_error.title": "Erreur de glisser-d\u00e9poser",
"dialog.drag_error.msg": "Impossible de terminer l'op\u00e9ration de glisser-d\u00e9poser.\n\nErreur\u00a0: {error}",
"dialog.open_file_error.title": "Erreur d'ouverture",
"dialog.open_file_error.msg": "Impossible d'ouvrir le fichier avec son application par d\u00e9faut.\n\nFichier\u00a0: {file_path}\nErreur\u00a0: {error}",
"dialog.open_with_error.title": "Erreur Ouvrir avec",
"dialog.open_with_error.msg": "Impossible d'ouvrir un s\u00e9lecteur d'application sur cette plate-forme.",
"dialog.dev_tools.window_title": "\ud83d\udd27 Outils de d\u00e9veloppement",
"dialog.dev_tools.error_title": "Outils de d\u00e9veloppement",
"dialog.dev_tools.error_msg": "Impossible d'ouvrir les outils de d\u00e9veloppement\u00a0:\n{error}",
"dialog.domain_changed.title": "Domaine modifi\u00e9 \u2013 Red\u00e9marrage recommand\u00e9",
"dialog.domain_changed.msg": "Le domaine de l'application web a chang\u00e9\n\nVous avez chang\u00e9 de domaine. Pour une stabilit\u00e9 maximale et une authentification correcte, il est recommand\u00e9 de red\u00e9marrer l'application.\n\nLe profil et le cache ont \u00e9t\u00e9 vid\u00e9s, mais un red\u00e9marrage est recommand\u00e9.",
"dialog.domain_changed.restart_now": "Red\u00e9marrer maintenant",
"dialog.domain_changed.restart_later": "Red\u00e9marrer plus tard",
"dialog.restart_failed.title": "\u00c9chec du red\u00e9marrage",
"dialog.restart_failed.msg": "Impossible de red\u00e9marrer automatiquement l'application\u00a0:\n\n{error}\n\nVeuillez red\u00e9marrer manuellement.",
"dialog.update_timeout.title": "D\u00e9lai de v\u00e9rification des mises \u00e0 jour d\u00e9pass\u00e9",
"dialog.update_timeout.msg": "Le serveur n'a pas r\u00e9pondu dans les 30 secondes.\n\nCela peut \u00eatre d\u00fb \u00e0 un probl\u00e8me r\u00e9seau ou \u00e0 une indisponibilit\u00e9 du serveur.\n\nV\u00e9rifiez votre connexion et r\u00e9essayez.",
"dialog.update_failed.title": "\u00c9chec de la v\u00e9rification des mises \u00e0 jour",
"dialog.update_failed.msg": "Impossible de v\u00e9rifier les mises \u00e0 jour\u00a0:\n\n{error}\n\nVeuillez r\u00e9essayer plus tard.",
"dialog.download_failed.title": "\u00c9chec du t\u00e9l\u00e9chargement",
"dialog.download_failed.msg": "Impossible de t\u00e9l\u00e9charger la mise \u00e0 jour\u00a0:\n\n{error}\n\nVeuillez r\u00e9essayer plus tard.",
"dialog.checkout.title": "Extraire l'actif",
"dialog.checkout.msg": "Voulez-vous extraire cet actif\u00a0?\n\n{filename}",
"about.title": "\u00c0 propos de {app_name}",
"about.version": "Version\u00a0: {version}",
"about.description": "Connecte les flux de travail de glisser-d\u00e9poser web aux op\u00e9rations de fichiers natives pour les applications de bureau professionnelles.",
"about.drop_zones_title": "Zones de d\u00e9p\u00f4t de la barre d'outils\u00a0:",
"about.open_icon_desc": "Ic\u00f4ne Ouvrir\u00a0: ouvre les fichiers d\u00e9pos\u00e9s avec l'application par d\u00e9faut.",
"about.open_with_icon_desc": "Ic\u00f4ne Ouvrir avec\u00a0: affiche un s\u00e9lecteur d'application pour les fichiers d\u00e9pos\u00e9s.",
"about.product_of": "Un produit de\u00a0:",
"about.rights": "\u00a9 2026 h\u00f6rl Information Management GmbH. Tous droits r\u00e9serv\u00e9s.",
"settings.title": "Param\u00e8tres",
"settings.tab.web_source": "Source web",
"settings.tab.paths": "Chemins",
"settings.tab.urls": "URLs",
"settings.tab.logging": "Journalisation",
"settings.tab.window": "Fen\u00eatre",
"settings.tab.profiles": "Profils",
"settings.tab.general": "G\u00e9n\u00e9ral",
"settings.web_url.label": "URL de l'application web\u00a0:",
"settings.web_url.placeholder": "p.ex. http://localhost:8080 ou file:///./webapp/index.html",
"settings.web_url.open_btn": "Ouvrir",
"settings.url_mappings.label": "Mappages d'URL (Azure Blob Storage \u2192 Chemins locaux)\u00a0:",
"settings.url_mappings.col_prefix": "Pr\u00e9fixe URL",
"settings.url_mappings.col_path": "Chemin local",
"settings.url_mappings.add_btn": "Ajouter un mappage",
"settings.url_mappings.edit_btn": "Modifier la s\u00e9lection",
"settings.url_mappings.remove_btn": "Supprimer la s\u00e9lection",
"settings.paths.label": "R\u00e9pertoires racines autoris\u00e9s pour l'acc\u00e8s aux fichiers\u00a0:",
"settings.paths.add_btn": "Ajouter un chemin",
"settings.paths.remove_btn": "Supprimer la s\u00e9lection",
"settings.urls.label": "URLs web autoris\u00e9es (prise en charge des caract\u00e8res g\u00e9n\u00e9riques comme http://*.example.com)\u00a0:",
"settings.urls.add_btn": "Ajouter une URL",
"settings.urls.remove_btn": "Supprimer la s\u00e9lection",
"settings.log_level.label": "Niveau de journalisation\u00a0:",
"settings.log_file.label": "Fichier journal (facultatif)\u00a0:",
"settings.log_file.browse_btn": "Parcourir...",
"settings.window.width_label": "Largeur de la fen\u00eatre\u00a0:",
"settings.window.height_label": "Hauteur de la fen\u00eatre\u00a0:",
"settings.profiles.label": "Profils de configuration enregistr\u00e9s\u00a0:",
"settings.profiles.save_btn": "Enregistrer comme profil",
"settings.profiles.load_btn": "Charger le profil",
"settings.profiles.delete_btn": "Supprimer le profil",
"settings.profiles.export_btn": "Exporter la configuration",
"settings.profiles.import_btn": "Importer la configuration",
"settings.general.language_label": "Langue\u00a0:",
"settings.general.language_restart_note": "Le changement de langue prend effet apr\u00e8s red\u00e9marrage.",
"settings.add_mapping.url_title": "Ajouter un mappage d'URL",
"settings.add_mapping.url_prompt": "Entrez le pr\u00e9fixe URL Azure Blob Storage\u00a0:\n(p.ex. https://myblob.blob.core.windows.net/container/)",
"settings.add_mapping.path_prompt": "Entrez le chemin du syst\u00e8me de fichiers local\u00a0:\n(p.ex. C:\\Partage ou /mnt/partage)",
"settings.edit_mapping.title": "Modifier le mappage d'URL",
"settings.edit_mapping.url_prompt": "Entrez le pr\u00e9fixe URL Azure Blob Storage\u00a0:",
"settings.edit_mapping.path_prompt": "Entrez le chemin du syst\u00e8me de fichiers local\u00a0:",
"settings.add_url.title": "Ajouter une URL",
"settings.add_url.prompt": "Entrez le mod\u00e8le d'URL (p.ex. http://example.com ou http://*.example.com)\u00a0:",
"settings.profile.save.title": "Enregistrer le profil",
"settings.profile.save.prompt": "Entrez le nom du profil (p.ex. travail, personnel)\u00a0:",
"settings.select_directory.title": "S\u00e9lectionner un r\u00e9pertoire autoris\u00e9",
"settings.select_log_file.title": "S\u00e9lectionner le fichier journal",
"settings.export_config.title": "Exporter la configuration",
"settings.import_config.title": "Importer la configuration",
"settings.error.select_mapping": "Veuillez s\u00e9lectionner un mappage \u00e0 modifier",
"settings.error.select_profile_load": "Veuillez s\u00e9lectionner un profil \u00e0 charger",
"settings.error.select_profile_delete": "Veuillez s\u00e9lectionner un profil \u00e0 supprimer",
"update.checking.title": "V\u00e9rification des mises \u00e0 jour",
"update.checking.label": "Recherche de mises \u00e0 jour...",
"update.checking.timeout_info": "Cela peut prendre jusqu'\u00e0 10 secondes",
"update.available.title": "Mise \u00e0 jour disponible",
"update.available.header": "WebDrop Bridge v{version} est disponible",
"update.available.changelog_label": "Notes de version\u00a0:",
"update.available.update_now_btn": "Mettre \u00e0 jour maintenant",
"update.available.later_btn": "Plus tard",
"update.downloading.title": "T\u00e9l\u00e9chargement de la mise \u00e0 jour",
"update.downloading.header": "T\u00e9l\u00e9chargement en cours...",
"update.downloading.preparing": "Pr\u00e9paration du t\u00e9l\u00e9chargement",
"update.downloading.filename": "T\u00e9l\u00e9chargement\u00a0: {filename}",
"update.downloading.cancel_btn": "Annuler",
"update.install.title": "Installer la mise \u00e0 jour",
"update.install.header": "Pr\u00eat \u00e0 installer",
"update.install.message": "La mise \u00e0 jour est pr\u00eate \u00e0 \u00eatre install\u00e9e. L'application va red\u00e9marrer.",
"update.install.warning": "\u26a0\ufe0f Veuillez enregistrer tout travail non sauvegard\u00e9 avant de continuer.\nL'application va se fermer et red\u00e9marrer.",
"update.install.now_btn": "Installer maintenant",
"update.install.cancel_btn": "Annuler",
"update.no_update.title": "Aucune mise \u00e0 jour disponible",
"update.no_update.message": "\u2713 Vous utilisez la derni\u00e8re version",
"update.no_update.info": "WebDrop Bridge est \u00e0 jour.",
"update.no_update.ok_btn": "OK",
"update.error.title": "\u00c9chec de la mise \u00e0 jour",
"update.error.header": "\u26a0\ufe0f \u00c9chec de la mise \u00e0 jour",
"update.error.info": "Veuillez r\u00e9essayer ou visiter le site web pour t\u00e9l\u00e9charger la mise \u00e0 jour manuellement.",
"update.error.retry_btn": "R\u00e9essayer",
"update.error.manual_btn": "T\u00e9l\u00e9charger manuellement",
"update.error.cancel_btn": "Annuler",
"worker.server_not_responding": "Le serveur ne r\u00e9pond pas \u2013 v\u00e9rifiez plus tard",
"worker.no_installer": "Aucun programme d'installation trouv\u00e9 dans la version",
"worker.checksum_failed": "\u00c9chec de la v\u00e9rification de la somme de contr\u00f4le",
"worker.download_timed_out": "D\u00e9lai d\u00e9pass\u00e9 lors du t\u00e9l\u00e9chargement ou de la v\u00e9rification",
"worker.download_error": "Erreur de t\u00e9l\u00e9chargement\u00a0: {error}",
"worker.check_failed": "\u00c9chec de la v\u00e9rification\u00a0: {error}"
}