mirror of
https://github.com/screentinker/screentinker.git
synced 2026-05-15 07:32:23 -06:00
- List view: tags, item/display pluralization, empty state, load errors - Detail view: draft banner, inline rename/description, items list - Drag-reorder + up/down buttons, duration editor - Add-item modal with content/widgets tabs and search - 671 keys total, parity 100% across en/es/fr/de/pt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
691 lines
37 KiB
JavaScript
691 lines
37 KiB
JavaScript
// French translations. Reviewed for UI register (informal vous-vouvoiement is
|
|
// standard for software UIs in France; tu would feel underdressed for a B2B tool).
|
|
// Native review recommended before publicizing as fully supported.
|
|
export default {
|
|
// Nav
|
|
'nav.displays': 'Écrans',
|
|
'nav.content': 'Contenu',
|
|
'nav.playlists': 'Listes de lecture',
|
|
'nav.layouts': 'Mises en page',
|
|
'nav.widgets': 'Widgets',
|
|
'nav.schedule': 'Calendrier',
|
|
'nav.walls': 'Murs vidéo',
|
|
'nav.reports': 'Rapports',
|
|
'nav.kiosk': 'Kiosque',
|
|
'nav.designer': 'Concepteur',
|
|
'nav.activity': 'Activité',
|
|
'nav.teams': 'Équipes',
|
|
'nav.help': 'Aide',
|
|
'nav.settings': 'Paramètres',
|
|
'nav.subscription': 'Abonnement',
|
|
'nav.admin': 'Admin',
|
|
|
|
// Common
|
|
'common.save': 'Enregistrer',
|
|
'common.cancel': 'Annuler',
|
|
'common.delete': 'Supprimer',
|
|
'common.edit': 'Modifier',
|
|
'common.done': 'Terminé',
|
|
'common.loading': 'Chargement...',
|
|
'common.connected': 'Connecté',
|
|
'common.disconnected': 'Déconnecté',
|
|
'common.never': 'Jamais',
|
|
'common.just_now': 'À l\'instant',
|
|
'common.minutes_ago': 'il y a {n}m',
|
|
'common.hours_ago': 'il y a {n}h',
|
|
'common.days_ago': 'il y a {n}j',
|
|
'common.unknown': 'Inconnu',
|
|
|
|
// Auth
|
|
'auth.sign_in': 'Se connecter',
|
|
'auth.sign_out': 'Se déconnecter',
|
|
'auth.create_account': 'Créer un compte',
|
|
'auth.create_admin_account': 'Créer un compte administrateur',
|
|
'auth.email': 'E-mail',
|
|
'auth.password': 'Mot de passe',
|
|
'auth.name': 'Nom',
|
|
'auth.placeholder_email': 'vous@exemple.com',
|
|
'auth.placeholder_password': '••••••••',
|
|
'auth.placeholder_name': 'Votre nom',
|
|
'auth.placeholder_register_password': 'Au moins 6 caractères',
|
|
'auth.subtitle_setup': 'Créez votre compte administrateur pour commencer',
|
|
'auth.subtitle_signin': 'Connectez-vous pour gérer vos écrans',
|
|
'auth.trial_notice': 'Les nouveaux comptes obtiennent un essai Pro gratuit de 14 jours',
|
|
'auth.divider_or': 'OU',
|
|
'auth.signin_google': 'Se connecter avec Google',
|
|
'auth.signin_microsoft': 'Se connecter avec Microsoft',
|
|
'auth.back_to_signin': 'Retour à la connexion',
|
|
'auth.support_access': 'Accès au support',
|
|
'auth.support_token_placeholder': 'Collez le jeton de support',
|
|
'auth.support_authenticate': 'Authentifier avec le jeton de support',
|
|
'auth.terms': 'Conditions d\'utilisation',
|
|
'auth.privacy': 'Politique de confidentialité',
|
|
'auth.error_email_password_required': 'E-mail et mot de passe requis',
|
|
'auth.error_password_min_6': 'Le mot de passe doit comporter au moins 6 caractères',
|
|
'auth.error_login_failed': 'Échec de la connexion',
|
|
'auth.error_registration_failed': 'Échec de l\'inscription',
|
|
'auth.error_paste_support_token': 'Collez un jeton de support',
|
|
'auth.error_support_failed': 'Échec de la connexion de support',
|
|
'auth.error_google_failed': 'Échec de la connexion Google',
|
|
'auth.error_microsoft_failed': 'Échec de la connexion Microsoft',
|
|
|
|
// Dashboard
|
|
'dashboard.title': 'Écrans',
|
|
'dashboard.subtitle': 'Gérez vos écrans distants',
|
|
'dashboard.help_tip': 'Vos écrans appariés. Vert = en ligne, rouge = hors ligne. Cliquez sur un écran pour gérer sa liste de lecture, voir la télémétrie ou utiliser le contrôle à distance.',
|
|
'dashboard.add': 'Ajouter un écran',
|
|
'dashboard.create_group': '+ Groupe',
|
|
'dashboard.search': 'Rechercher des écrans...',
|
|
'dashboard.all_status': 'Tous les statuts',
|
|
'dashboard.online': 'En ligne',
|
|
'dashboard.offline': 'Hors ligne',
|
|
'dashboard.awaiting_pairing': 'En attente d\'appairage',
|
|
'dashboard.no_preview': 'Aperçu indisponible',
|
|
'dashboard.total_displays': 'Écrans totaux',
|
|
'dashboard.ungrouped': 'Sans groupe',
|
|
'dashboard.no_displays': 'Aucun écran pour le moment',
|
|
'dashboard.no_displays_desc': 'Installez l\'application ScreenTinker sur votre TV et appariez-la avec le bouton ci-dessus.',
|
|
'dashboard.failed_to_load': 'Échec du chargement des écrans',
|
|
'dashboard.unknown_playlist': 'Liste de lecture inconnue',
|
|
'dashboard.mixed_playlists': 'Listes mixtes',
|
|
'dashboard.playlist_label': 'Liste : {name}',
|
|
'dashboard.devices_count_one': '{n} appareil',
|
|
'dashboard.devices_count_other': '{n} appareils',
|
|
'dashboard.online_count': '{n} en ligne',
|
|
'dashboard.set_playlist_placeholder': 'Définir la liste...',
|
|
'dashboard.send_command_placeholder': 'Envoyer une commande...',
|
|
'dashboard.manage': 'Gérer',
|
|
'dashboard.manage_tooltip': 'Ajouter/retirer des appareils',
|
|
'dashboard.delete_group_tooltip': 'Supprimer le groupe',
|
|
'dashboard.no_devices_in_group': 'Aucun appareil dans ce groupe. Cliquez sur Gérer pour en ajouter.',
|
|
'dashboard.manage_group_subtitle': 'Cochez les appareils à ajouter à ce groupe',
|
|
'dashboard.draft_suffix': '(brouillon)',
|
|
'dashboard.cmd.screen_on': 'Allumer l\'écran',
|
|
'dashboard.cmd.screen_off': 'Éteindre l\'écran',
|
|
'dashboard.cmd.restart_app': 'Redémarrer l\'app',
|
|
'dashboard.cmd.check_update': 'Vérifier la mise à jour',
|
|
'dashboard.cmd.reboot': 'Redémarrer',
|
|
'dashboard.cmd.shutdown': 'Arrêter',
|
|
'dashboard.prompt_group_name': 'Nom du groupe :',
|
|
'dashboard.error_pairing_code': 'Saisissez un code d\'appairage valide à 6 chiffres',
|
|
'dashboard.confirm_add_to_group': '{name} est déjà dans : {groups}\n\nL\'ajouter aussi à « {target} » ?',
|
|
'dashboard.confirm_assign_playlist': 'Attribuer la liste « {playlist} » à tous les appareils de « {group} » ?',
|
|
'dashboard.confirm_destructive_command': '{cmd} les {n} appareils de « {group} » ?\n\nCette action est irréversible.',
|
|
'dashboard.confirm_delete_group': 'Supprimer ce groupe ? Les appareils ne seront pas affectés.',
|
|
'dashboard.toast.display_paired': 'Écran appairé avec succès !',
|
|
'dashboard.toast.group_created': 'Groupe créé',
|
|
'dashboard.toast.group_deleted': 'Groupe supprimé',
|
|
'dashboard.toast.already_in_group': '{name} est déjà dans {group}',
|
|
'dashboard.toast.moved_device': '{name} déplacé vers {group}',
|
|
'dashboard.toast.removed_device_one': '{name} retiré de 1 groupe',
|
|
'dashboard.toast.removed_device_other': '{name} retiré de {n} groupes',
|
|
'dashboard.toast.playlist_assigned_one': 'Liste attribuée à 1 appareil',
|
|
'dashboard.toast.playlist_assigned_other': 'Liste attribuée à {n} appareils',
|
|
'dashboard.toast.command_sent': '{cmd} envoyé à {sent}/{total} appareils',
|
|
'dashboard.toast.command_sent_with_offline': '{cmd} envoyé à {sent}/{total} appareils ({offline} hors ligne)',
|
|
|
|
// Content library
|
|
'content.title': 'Bibliothèque de contenu',
|
|
'content.subtitle': 'Téléversez et gérez vos fichiers multimédias',
|
|
'content.help_tip': 'Téléversez des vidéos et des images ici. Sélectionnez plusieurs fichiers pour un envoi groupé. Utilisez l\'URL distante pour diffuser depuis des sources externes. Cliquez sur une miniature pour prévisualiser.',
|
|
'content.drop': 'Déposez les fichiers ici ou cliquez pour téléverser',
|
|
'content.upload_hint': 'Prend en charge MP4, WebM, AVI, MKV, JPEG, PNG, GIF, WebP',
|
|
'content.upload_progress': 'Téléversement...',
|
|
'content.upload_progress_named': 'Téléversement de {name}...',
|
|
'content.upload_progress_named_pct': 'Téléversement de {name}... {pct}%',
|
|
'content.remote_url': 'URL distante',
|
|
'content.remote_desc': 'Diffusez directement depuis une URL. Économise la bande passante locale.',
|
|
'content.remote_url_placeholder': 'https://exemple.com/video.mp4',
|
|
'content.remote_name_placeholder': 'Nom à afficher (facultatif)',
|
|
'content.remote_add_btn': 'Ajouter une URL distante',
|
|
'content.youtube': 'YouTube',
|
|
'content.youtube_desc': 'Intégrez une vidéo YouTube sur vos écrans.',
|
|
'content.youtube_url_placeholder': 'https://youtube.com/watch?v=...',
|
|
'content.youtube_name_placeholder': 'Nom à afficher (facultatif)',
|
|
'content.youtube_add_btn': 'Ajouter une vidéo YouTube',
|
|
'content.search_placeholder': 'Rechercher du contenu...',
|
|
'content.new_folder_btn': '+ Nouveau dossier',
|
|
'content.breadcrumb_root': 'Tout le contenu',
|
|
'content.rename_btn': 'Renommer',
|
|
'content.delete_folder_btn': 'Supprimer le dossier',
|
|
'content.prompt_folder_name': 'Nom du dossier :',
|
|
'content.prompt_rename_folder': 'Renommer le dossier :',
|
|
'content.confirm_delete_folder': 'Supprimer ce dossier ? Le contenu retournera à la racine. Les sous-dossiers seront aussi supprimés.',
|
|
'content.empty_folder_title': 'Ce dossier est vide',
|
|
'content.empty_folder_desc': 'Glissez du contenu ici ou utilisez l\'action Déplacer.',
|
|
'content.no_content': 'Pas encore de contenu',
|
|
'content.no_content_desc': 'Téléversez des vidéos et des images pour commencer.',
|
|
'content.failed_to_load': 'Échec du chargement du contenu',
|
|
'content.type_youtube': 'YouTube',
|
|
'content.type_remote': 'URL distante',
|
|
'content.type_remote_short': 'Distant',
|
|
'content.type_video': 'Vidéo',
|
|
'content.type_image': 'Image',
|
|
'content.btn_edit': 'Modifier',
|
|
'content.btn_delete': 'Supprimer',
|
|
'content.btn_confirm_delete': 'Confirmer la suppression ?',
|
|
'content.btn_deleting': 'Suppression...',
|
|
'content.edit_modal_title': 'Modifier le contenu',
|
|
'content.label_filename': 'Nom du fichier / Affichage',
|
|
'content.label_remote_url_field': 'URL distante',
|
|
'content.label_mime_type': 'Type MIME',
|
|
'content.label_folder': 'Dossier',
|
|
'content.label_replace_file': 'Remplacer le fichier',
|
|
'content.replace_file_hint': 'Laissez vide pour conserver le fichier actuel',
|
|
'content.folder_root_option': '— Racine —',
|
|
'content.save_changes': 'Enregistrer les modifications',
|
|
'content.mime.video_mp4': 'Vidéo (MP4)',
|
|
'content.mime.video_webm': 'Vidéo (WebM)',
|
|
'content.mime.image_jpeg': 'Image (JPEG)',
|
|
'content.mime.image_png': 'Image (PNG)',
|
|
'content.mime.image_gif': 'Image (GIF)',
|
|
'content.mime.image_webp': 'Image (WebP)',
|
|
'content.error_enter_url': 'Saisissez une URL',
|
|
'content.error_enter_youtube_url': 'Saisissez une URL YouTube',
|
|
'content.error_update_failed': 'Échec de la mise à jour',
|
|
'content.toast.remote_added': 'Contenu distant ajouté',
|
|
'content.toast.youtube_added': 'Vidéo YouTube ajoutée',
|
|
'content.toast.deleted': 'Contenu supprimé',
|
|
'content.toast.updated': 'Contenu mis à jour',
|
|
'content.toast.uploaded_named': '{name} téléversé avec succès',
|
|
'content.toast.upload_failed_named': 'Échec du téléversement de {name} : {error}',
|
|
'content.toast.folder_created_named': 'Dossier « {name} » créé',
|
|
'content.toast.folder_renamed': 'Dossier renommé',
|
|
'content.toast.folder_deleted': 'Dossier supprimé',
|
|
'content.toast.moved': 'Déplacé',
|
|
'content.toast.moved_to_root': 'Déplacé à la racine',
|
|
|
|
// Device detail
|
|
'device.back': 'Retour aux écrans',
|
|
'device.owner_label': 'Propriétaire : {owner}',
|
|
'device.rename': 'Renommer',
|
|
'device.screenshot_btn': 'Capture',
|
|
'device.remove': 'Retirer',
|
|
'device.click_to_confirm': 'Cliquez à nouveau pour confirmer',
|
|
'device.prompt_new_name': 'Saisissez le nouveau nom :',
|
|
'device.confirm_discard_draft': 'Annuler toutes les modifications non publiées et revenir à la dernière version publiée ?',
|
|
'device.failed_load': 'Échec du chargement de l\'appareil',
|
|
'device.no_screenshot': 'Aucune capture disponible. Cliquez sur « Capture » pour en prendre une.',
|
|
'device.no_content_assigned': 'Aucun contenu attribué',
|
|
'device.now_playing_id': 'En lecture : {id}',
|
|
'device.playlist_count_one': '1 élément dans la liste',
|
|
'device.playlist_count_other': '{n} éléments dans la liste',
|
|
'device.tab.now_playing': 'En cours de lecture',
|
|
'device.tab.now_playing_tip': 'Capture en direct de ce qui s\'affiche sur cet appareil.',
|
|
'device.tab.playlist': 'Liste de lecture',
|
|
'device.tab.playlist_tip': 'Contenu attribué à cet appareil. Glissez pour réorganiser. Ajoutez des médias, widgets ou pages kiosque.',
|
|
'device.tab.info': 'Infos appareil',
|
|
'device.tab.info_tip': 'Télémétrie matérielle, orientation, notes et contrôles de l\'appareil.',
|
|
'device.tab.remote': 'Contrôle à distance',
|
|
'device.tab.remote_tip': 'Visualisez l\'écran en temps réel et envoyez des touches. Fonctionne sur l\'APK Android et le lecteur web.',
|
|
'device.draft.banner_title': 'Modifications non publiées',
|
|
'device.draft.devices_showing_published': 'Les appareils affichent encore la dernière version publiée.',
|
|
'device.draft.never_published': 'Cette liste n\'a jamais été publiée. Les appareils n\'afficheront rien jusqu\'à publication.',
|
|
'device.draft.discard': 'Annuler',
|
|
'device.draft.publish': 'Publier',
|
|
'device.draft.publishing': 'Publication...',
|
|
'device.layout.label': 'Mise en page',
|
|
'device.layout.fullscreen_default': 'Plein écran (par défaut)',
|
|
'device.layout.zones_count': '{name} ({n} zones)',
|
|
'device.layout.template_zones_count': '[Modèle] {name} ({n} zones)',
|
|
'device.layout.apply': 'Appliquer',
|
|
'device.playlist.label': 'Liste de lecture',
|
|
'device.playlist.no_playlist': 'Aucune liste',
|
|
'device.playlist.copy_to_btn': 'Copier vers...',
|
|
'device.playlist.add_content_btn': 'Ajouter du contenu',
|
|
'device.playlist.empty_title': 'Aucun contenu attribué',
|
|
'device.playlist.empty_desc': 'Ajoutez du contenu de votre bibliothèque à la liste de cet écran.',
|
|
'device.playlist_picker.with_count': '{name} — {n} éléments',
|
|
'device.playlist_picker.with_auto': '{name} (auto) — {n} éléments',
|
|
'device.info.status': 'Statut',
|
|
'device.info.ip_address': 'Adresse IP',
|
|
'device.info.battery': 'Batterie',
|
|
'device.info.storage': 'Stockage',
|
|
'device.info.size_free': '{size} libres',
|
|
'device.info.player_type': 'Type de lecteur',
|
|
'device.info.web_player': 'Lecteur web',
|
|
'device.info.wifi': 'WiFi',
|
|
'device.info.uptime': 'Disponibilité',
|
|
'device.info.android_version': 'Version d\'Android',
|
|
'device.info.app_version': 'Version de l\'app',
|
|
'device.info.screen_resolution': 'Résolution',
|
|
'device.info.ram': 'RAM',
|
|
'device.info.cpu_usage': 'Utilisation CPU',
|
|
'device.timeline.title': 'Disponibilité (24 dernières heures)',
|
|
'device.timeline.h24_ago': 'il y a 24h',
|
|
'device.timeline.now': 'Maintenant',
|
|
'device.timeline.online': 'En ligne',
|
|
'device.timeline.offline': 'Hors ligne',
|
|
'device.timeline.no_data': 'Aucune donnée',
|
|
'device.timeline.uptime_pct_tracked': '{pct}% disponible ({n}min suivies)',
|
|
'device.timeline.uptime_pct_no_data': '{pct}% disponible (aucune donnée)',
|
|
'device.form.orientation_label': 'Orientation / Rotation',
|
|
'device.form.orientation.landscape': 'Paysage (0°)',
|
|
'device.form.orientation.portrait': 'Portrait (90° SH)',
|
|
'device.form.orientation.landscape_flipped': 'Paysage retourné (180°)',
|
|
'device.form.orientation.portrait_flipped': 'Portrait retourné (270° SH)',
|
|
'device.form.default_content_label': 'Contenu par défaut',
|
|
'device.form.default_content_none': 'Aucun (afficher « En attente... »)',
|
|
'device.form.notes_label': 'Notes',
|
|
'device.form.notes_placeholder': 'Emplacement, détails d\'installation, etc.',
|
|
'device.form.save_settings': 'Enregistrer les paramètres',
|
|
'device.ctl.reboot_device': 'Redémarrer l\'appareil',
|
|
'device.ctl.screen_off': 'Éteindre l\'écran',
|
|
'device.ctl.screen_on': 'Allumer l\'écran',
|
|
'device.ctl.launch_player': 'Lancer le lecteur',
|
|
'device.ctl.force_update': 'Forcer la mise à jour',
|
|
'device.ctl.shutdown': 'Arrêter',
|
|
'device.remote.start_prompt': 'Cliquez sur « Démarrer » pour commencer',
|
|
'device.remote.start': 'Démarrer',
|
|
'device.remote.stop': 'Arrêter',
|
|
'device.remote.vol_up': 'Vol +',
|
|
'device.remote.vol_down': 'Vol -',
|
|
'device.remote.home': 'Accueil',
|
|
'device.remote.back': 'Retour',
|
|
'device.remote.recents': 'Récents',
|
|
'device.remote.power': 'Marche',
|
|
'device.remote.ok': 'OK',
|
|
'device.remote.settings': 'Paramètres',
|
|
'device.remote.scrn_off': 'Écr. off',
|
|
'device.remote.scrn_on': 'Écr. on',
|
|
'device.remote.enable_system_view': 'Activer la vue système',
|
|
'device.remote.system_view_tooltip': 'Demande à l\'utilisateur d\'autoriser la capture plein écran - permet de voir l\'écran d\'accueil, les paramètres et d\'autres apps',
|
|
'device.remote.system_view_hint': 'Approbation unique requise sur l\'appareil',
|
|
'device.remote.waiting_for_approval': 'Attente de l\'approbation de l\'appareil...',
|
|
'device.remote.system_view_enabled': 'Vue système activée',
|
|
'device.remote.unlocked_hint': 'Navigation et contrôles système débloqués',
|
|
'device.pl_item.widget_with_type': 'Widget ({type})',
|
|
'device.pl_item.youtube': 'YouTube',
|
|
'device.pl_item.video': 'Vidéo',
|
|
'device.pl_item.image': 'Image',
|
|
'device.pl_item.zone_label': 'Zone : {id}',
|
|
'device.pl_item.no_zone': 'Aucune zone',
|
|
'device.pl_item.mute': 'Muet',
|
|
'device.pl_item.unmute': 'Réactiver le son',
|
|
'device.pl_item.remove': 'Retirer',
|
|
'device.copy.no_other_devices': 'Aucun autre appareil vers lequel copier',
|
|
'device.copy.prompt': 'Copier la liste vers quel appareil ?\n\n{list}\n\nSaisissez le numéro :',
|
|
'device.copy.invalid_selection': 'Sélection invalide',
|
|
'device.copy.toast': '{n} éléments copiés vers {device}',
|
|
'device.assign.empty_all': 'Pas encore de contenu, widgets ou pages kiosque. Créez-en un d\'abord !',
|
|
'device.assign.modal_title': 'Ajouter à la liste',
|
|
'device.assign.zone_label': 'Zone',
|
|
'device.assign.zone_default': 'Par défaut (plein écran)',
|
|
'device.assign.duration_label': 'Durée (secondes, pour images/widgets)',
|
|
'device.assign.tab.media': 'Médias ({n})',
|
|
'device.assign.tab.widgets': 'Widgets ({n})',
|
|
'device.assign.tab.kiosk': 'Kiosque ({n})',
|
|
'device.assign.no_media': 'Aucun média téléversé',
|
|
'device.assign.no_widgets': 'Aucun widget créé.',
|
|
'device.assign.no_kiosk': 'Aucune page kiosque.',
|
|
'device.assign.create_one': 'Créez-en un',
|
|
'device.assign.add_selected': 'Ajouter la sélection',
|
|
'device.assign.select_first': 'Sélectionnez d\'abord un élément',
|
|
'device.assign.kiosk_widget_name': 'Kiosque : {name}',
|
|
'device.toast.screenshot_requested': 'Capture demandée',
|
|
'device.toast.renamed': 'Écran renommé',
|
|
'device.toast.removing': 'Suppression...',
|
|
'device.toast.removed': 'Écran retiré',
|
|
'device.toast.settings_saved': 'Paramètres enregistrés',
|
|
'device.toast.published': 'Liste publiée — appareils mis à jour',
|
|
'device.toast.draft_discarded': 'Modifications du brouillon annulées',
|
|
'device.toast.playlist_changed': 'Liste modifiée',
|
|
'device.toast.layout_applied': 'Mise en page appliquée',
|
|
'device.toast.switched_to_fullscreen': 'Passé en plein écran',
|
|
'device.toast.added_to_playlist': 'Ajouté à la liste',
|
|
'device.toast.unmuted': 'Son réactivé',
|
|
'device.toast.muted': 'Son coupé',
|
|
'device.toast.zone_updated': 'Zone mise à jour',
|
|
'device.toast.removed_from_playlist': 'Contenu retiré de la liste',
|
|
'device.toast.playlist_reordered': 'Liste réorganisée',
|
|
'device.toast.reboot_sent': 'Commande de redémarrage envoyée',
|
|
'device.toast.shutdown_sent': 'Commande d\'arrêt envoyée',
|
|
'device.toast.screen_off_sent': 'Commande d\'extinction de l\'écran envoyée',
|
|
'device.toast.screen_on_sent': 'Commande d\'allumage de l\'écran envoyée',
|
|
'device.toast.launch_sent': 'Commande de lancement envoyée',
|
|
'device.toast.update_triggered': 'Vérification de mise à jour déclenchée',
|
|
'device.toast.remote_started': 'Session de contrôle à distance démarrée',
|
|
|
|
// Settings
|
|
'settings.title': 'Paramètres',
|
|
'settings.subtitle': 'Configuration du serveur et informations d\'installation',
|
|
'settings.account': 'Compte',
|
|
'settings.save_profile': 'Enregistrer le profil',
|
|
'settings.change_password': 'Changer le mot de passe',
|
|
'settings.password_min_8': 'Doit contenir au moins 8 caractères.',
|
|
'settings.current_password': 'Mot de passe actuel',
|
|
'settings.new_password': 'Nouveau mot de passe',
|
|
'settings.confirm_new_password': 'Confirmer le nouveau mot de passe',
|
|
'settings.sso_note': 'Vous vous connectez via {provider}. Gérez votre mot de passe là-bas.',
|
|
'settings.license': 'Licence',
|
|
'settings.license_mit': 'Licence MIT - toutes les fonctionnalités incluses.',
|
|
'settings.platform_admin_link': 'Les outils d\'administration sont sur la page',
|
|
'settings.platform_admin_page_suffix': '.',
|
|
'settings.user_management': 'Gestion des utilisateurs',
|
|
'settings.loading_users': 'Chargement des utilisateurs...',
|
|
'settings.white_label': 'Marque blanche / Branding',
|
|
'settings.white_label_desc': 'Personnalisez l\'apparence du tableau de bord et du lecteur pour vos clients.',
|
|
'settings.brand_name': 'Nom de la marque',
|
|
'settings.logo_url': 'URL du logo',
|
|
'settings.primary_color': 'Couleur principale',
|
|
'settings.bg_color': 'Couleur de fond',
|
|
'settings.custom_domain': 'Domaine personnalisé',
|
|
'settings.favicon_url': 'URL du favicon',
|
|
'settings.custom_css': 'CSS personnalisé (facultatif)',
|
|
'settings.hide_branding': 'Masquer la marque « ScreenTinker »',
|
|
'settings.save_branding': 'Enregistrer le branding',
|
|
'settings.preview': 'Aperçu',
|
|
'settings.white_label_enterprise_only': 'Le branding personnalisé est disponible sur le plan Enterprise',
|
|
'settings.view_plans': 'Voir les plans',
|
|
'settings.server_info': 'Informations du serveur',
|
|
'settings.server_url': 'URL du serveur',
|
|
'settings.api_endpoint': 'Point de terminaison API',
|
|
'settings.server_url_hint': 'Utilisez cette URL pour configurer l\'app Android',
|
|
'settings.setup_guide': 'Guide d\'installation',
|
|
'settings.setup_step_1': 'Installez l\'APK ScreenTinker sur votre TV via le sideloading',
|
|
'settings.setup_step_2_prefix': 'Ouvrez l\'app et saisissez cette URL du serveur :',
|
|
'settings.setup_step_3': 'L\'app affichera un code d\'appairage à 6 chiffres',
|
|
'settings.setup_step_4': 'Cliquez sur « Ajouter un écran » et saisissez le code',
|
|
'settings.setup_step_5': 'Téléversez du contenu dans la Bibliothèque',
|
|
'settings.setup_step_6': 'Attribuez du contenu à la liste de l\'écran',
|
|
'settings.your_data': 'Vos données',
|
|
'settings.your_data_desc': 'Exportez ou importez vos appareils, contenu, mises en page, calendriers et tous les paramètres. Utilisez cela pour migrer entre cloud et auto-hébergé.',
|
|
'settings.export_my_data': 'Exporter mes données',
|
|
'settings.include_media_zip': 'Inclure les fichiers médias (ZIP)',
|
|
'settings.import_data': 'Importer des données',
|
|
'settings.language': 'Langue',
|
|
'settings.about': 'À propos',
|
|
'settings.about_tagline': 'Système de gestion d\'affichage dynamique.',
|
|
'settings.third_party_licenses': 'Licences tierces',
|
|
'settings.import.reading_file': 'Lecture du fichier...',
|
|
'settings.import.zip_detected': 'Export ZIP détecté : <strong>{name}</strong> ({size} Mo)<br>Contient données + fichiers médias.',
|
|
'settings.import.confirm': 'Confirmer l\'import',
|
|
'settings.import.invalid_file': 'Fichier invalide. Doit être un JSON ou ZIP d\'export ScreenTinker.',
|
|
'settings.import.summary_devices': '{n} appareils',
|
|
'settings.import.summary_content': '{n} contenus',
|
|
'settings.import.summary_widgets': '{n} widgets',
|
|
'settings.import.summary_layouts': '{n} mises en page',
|
|
'settings.import.summary_schedules': '{n} calendriers',
|
|
'settings.import.summary_walls': '{n} murs vidéo',
|
|
'settings.import.summary_kiosk': '{n} pages kiosque',
|
|
'settings.import.found_summary': 'Trouvé : {summary}.<br>De : {email} (exporté {date})',
|
|
'settings.import.empty_export': 'export vide',
|
|
'settings.import.uploading_zip': 'Téléversement et import... Cela peut prendre du temps pour les gros fichiers.',
|
|
'settings.import.importing': 'Import...',
|
|
'settings.import.complete': 'Import terminé : {imported}.',
|
|
'settings.import.pairing_codes_title': 'Codes d\'appairage :',
|
|
'settings.import.pairing_codes_hint': 'Saisissez ces codes sur chaque appareil pour les relier. Les attributions et calendriers seront préservés.',
|
|
'settings.import.failed': 'Échec de l\'import',
|
|
'settings.import.failed_with_error': 'Échec de l\'import : {error}',
|
|
'settings.import.read_failed': 'Échec de lecture du fichier : {error}',
|
|
'settings.toast.support_token_generated': 'Jeton de support généré (valide {hours}h)',
|
|
'settings.toast.import_success': 'Données importées avec succès',
|
|
'settings.toast.name_required': 'Le nom ne peut pas être vide',
|
|
'settings.toast.profile_saved': 'Profil enregistré',
|
|
'settings.toast.current_password_required': 'Saisissez votre mot de passe actuel',
|
|
'settings.toast.new_password_min_8': 'Le nouveau mot de passe doit comporter au moins 8 caractères',
|
|
'settings.toast.passwords_dont_match': 'Les nouveaux mots de passe ne correspondent pas',
|
|
'settings.toast.password_changed': 'Mot de passe changé',
|
|
'settings.toast.branding_saved': 'Branding enregistré',
|
|
'settings.toast.preview_applied': 'Aperçu appliqué (rechargez pour réinitialiser)',
|
|
'settings.toast.plan_updated': 'Plan mis à jour',
|
|
'settings.toast.user_removed': 'Utilisateur retiré',
|
|
'settings.user.col_user': 'Utilisateur',
|
|
'settings.user.col_auth': 'Auth',
|
|
'settings.user.col_role': 'Rôle',
|
|
'settings.user.col_plan': 'Plan',
|
|
'settings.user.col_actions': 'Actions',
|
|
'settings.user.remove': 'Retirer',
|
|
'settings.user.you': 'Vous',
|
|
'settings.user.confirm': 'Confirmer ?',
|
|
'settings.user.count_one': '1 utilisateur inscrit',
|
|
'settings.user.count_other': '{n} utilisateurs inscrits',
|
|
|
|
// Widgets
|
|
'widget.title': 'Widgets',
|
|
'widget.subtitle': 'Ajoutez du contenu dynamique à vos mises en page',
|
|
'widget.help_tip': 'Éléments de contenu dynamique : horloges, météo, tickers RSS, texte, pages web et flux sociaux. Créez un widget puis attribuez-le à la liste d\'un appareil.',
|
|
'widget.new_widget': 'Nouveau widget',
|
|
'widget.configure': 'Configurer le widget',
|
|
'widget.preview': 'Aperçu',
|
|
'widget.preview_title': 'Aperçu',
|
|
'widget.close': 'Fermer',
|
|
'widget.edit_x': 'Modifier {type}',
|
|
'widget.new_x': 'Nouveau {type}',
|
|
'widget.empty_title': 'Aucun widget pour le moment',
|
|
'widget.empty_desc': 'Créez un widget pour ajouter du contenu dynamique à vos mises en page.',
|
|
'widget.this_widget': 'ce widget',
|
|
'widget.confirm_delete': 'Supprimer « {name} » ? Cette action est irréversible.',
|
|
'widget.toast.saved': 'Widget enregistré',
|
|
'widget.toast.deleted': 'Widget supprimé',
|
|
'widget.toast.preview_failed': 'Échec de l\'aperçu',
|
|
'widget.type.clock.name': 'Horloge',
|
|
'widget.type.clock.desc': 'Horloge numérique avec date',
|
|
'widget.type.weather.name': 'Météo',
|
|
'widget.type.weather.desc': 'Conditions météo actuelles',
|
|
'widget.type.rss.name': 'Bandeau d\'actualités',
|
|
'widget.type.rss.desc': 'Flux RSS défilant',
|
|
'widget.type.text.name': 'Texte/HTML',
|
|
'widget.type.text.desc': 'Texte ou contenu HTML personnalisé',
|
|
'widget.type.webpage.name': 'Page web',
|
|
'widget.type.webpage.desc': 'Intégrer une page web',
|
|
'widget.type.social.name': 'Flux social',
|
|
'widget.type.social.desc': 'Flux de réseaux sociaux',
|
|
'widget.type.directory_board.name': 'Annuaire',
|
|
'widget.type.directory_board.desc': 'Annuaire défilant des locataires/salles pour halls',
|
|
'widget.field.name': 'Nom du widget',
|
|
'widget.field.format': 'Format',
|
|
'widget.field.format_12h': '12 heures',
|
|
'widget.field.format_24h': '24 heures',
|
|
'widget.field.timezone': 'Fuseau horaire',
|
|
'widget.field.font_size': 'Taille de police',
|
|
'widget.field.font_size_px': 'Taille de police (px)',
|
|
'widget.field.color': 'Couleur',
|
|
'widget.field.background': 'Fond',
|
|
'widget.field.location': 'Emplacement',
|
|
'widget.field.location_placeholder': 'Ville, Région',
|
|
'widget.field.units': 'Unités',
|
|
'widget.field.units_imperial': 'Impérial (°F)',
|
|
'widget.field.units_metric': 'Métrique (°C)',
|
|
'widget.field.feed_url': 'URL du flux',
|
|
'widget.field.scroll_speed_seconds': 'Vitesse de défilement (secondes)',
|
|
'widget.field.max_items': 'Éléments max',
|
|
'widget.field.html_content': 'Contenu HTML',
|
|
'widget.field.css_optional': 'CSS (facultatif)',
|
|
'widget.field.url': 'URL',
|
|
'widget.field.zoom_pct': 'Zoom (%)',
|
|
'widget.field.refresh_interval': 'Intervalle d\'actualisation (secondes, 0 = jamais)',
|
|
'widget.field.platform': 'Plateforme',
|
|
'widget.field.platform_twitter': 'Twitter/X',
|
|
'widget.field.platform_instagram': 'Instagram',
|
|
'widget.field.query': 'Requête',
|
|
'widget.field.query_placeholder': '@compte ou #hashtag',
|
|
'widget.picker.default_title': 'Sélectionner une image',
|
|
'widget.picker.select_logo': 'Sélectionner un logo',
|
|
'widget.picker.select_bg_images': 'Sélectionner des images de fond',
|
|
'widget.picker.search': 'Rechercher des images...',
|
|
'widget.picker.no_matches': 'Aucun résultat.',
|
|
'widget.picker.no_images': 'Aucune image dans votre bibliothèque. Téléversez d\'abord des images depuis la Bibliothèque.',
|
|
'widget.picker.selected_count': '{n} sélectionnées',
|
|
'widget.dir.title_label': 'Titre',
|
|
'widget.dir.title_placeholder': 'Entrepôt Lincoln',
|
|
'widget.dir.logo_label': 'Logo (facultatif)',
|
|
'widget.dir.footer_text_label': 'Texte de pied',
|
|
'widget.dir.footer_placeholder': 'Demandes de location : Contact...',
|
|
'widget.dir.bg_images_label': 'Images de fond (facultatif)',
|
|
'widget.dir.bg_images_hint': 'Les images alternent toutes les 15 secondes à 30 % d\'opacité. Ajoutez-en plusieurs pour la rotation.',
|
|
'widget.dir.add_bg_image': '+ Ajouter une image de fond',
|
|
'widget.dir.theme': 'Thème',
|
|
'widget.dir.theme_dark': 'Sombre',
|
|
'widget.dir.theme_light': 'Clair',
|
|
'widget.dir.scroll_speed': 'Vitesse de défilement',
|
|
'widget.dir.speed_slow': 'Lente',
|
|
'widget.dir.speed_medium': 'Moyenne',
|
|
'widget.dir.speed_fast': 'Rapide',
|
|
'widget.dir.columns': 'Colonnes',
|
|
'widget.dir.columns_auto': 'Auto',
|
|
'widget.dir.categories': 'Catégories',
|
|
'widget.dir.add_category': '+ Ajouter une catégorie',
|
|
'widget.dir.add_entry': '+ Ajouter une entrée',
|
|
'widget.dir.empty_categories': 'Ajoutez votre premier étage ou département pour commencer',
|
|
'widget.dir.no_entries': 'Pas encore d\'entrées',
|
|
'widget.dir.entry': 'entrée',
|
|
'widget.dir.entries': 'entrées',
|
|
'widget.dir.collapse': 'Réduire',
|
|
'widget.dir.expand': 'Développer',
|
|
'widget.dir.move_up': 'Monter',
|
|
'widget.dir.move_down': 'Descendre',
|
|
'widget.dir.delete_category': 'Supprimer la catégorie',
|
|
'widget.dir.delete_entry': 'Supprimer l\'entrée',
|
|
'widget.dir.unnamed': '(sans nom)',
|
|
'widget.dir.confirm_delete_category': 'Supprimer la catégorie « {name} » et toutes ses entrées ?',
|
|
'widget.dir.category_name_placeholder': 'ex. Premier étage',
|
|
'widget.dir.entry_id_placeholder': '101',
|
|
'widget.dir.entry_name_placeholder': 'Nom du locataire',
|
|
'widget.dir.entry_subtitle_placeholder': 'Détails (facultatif)',
|
|
'widget.dir.available': 'Disponible',
|
|
'widget.dir.change': 'Changer',
|
|
'widget.dir.choose_logo': 'Choisir un logo',
|
|
'widget.dir.remove_logo': 'Retirer',
|
|
'widget.dir.no_bg_images': 'Aucune image de fond sélectionnée',
|
|
'widget.dir.remove_bg': 'Retirer',
|
|
|
|
// Designer
|
|
'designer.title': 'Concepteur de contenu',
|
|
'designer.subtitle': 'Créez du contenu d\'affichage dynamique',
|
|
'designer.help_tip': 'Créez de l\'affichage personnalisé avec des éléments en direct : horloges, météo, tickers RSS, comptes à rebours, codes QR. Publiez comme widget ou exportez en PNG.',
|
|
'designer.load_design': 'Charger un design',
|
|
'designer.export_png': 'Exporter PNG',
|
|
'designer.publish': 'Publier dans la bibliothèque',
|
|
'designer.preview_hint': 'Cliquez sur les éléments pour les sélectionner. Glissez pour les repositionner. L\'aperçu se met à jour en temps réel.',
|
|
'designer.add_element': 'Ajouter un élément',
|
|
'designer.background': 'Fond',
|
|
'designer.bg_image': 'Image',
|
|
'designer.properties': 'Propriétés',
|
|
'designer.layers': 'Calques',
|
|
'designer.no_elements': 'Pas encore d\'éléments',
|
|
'designer.save_design_file': 'Enregistrer le fichier de design',
|
|
'designer.qr_label': 'CODE QR',
|
|
'designer.loading_news': 'Chargement des actualités...',
|
|
'designer.no_items': 'Aucun élément',
|
|
'designer.feed_unavailable': 'Flux indisponible',
|
|
'designer.countdown_now': 'MAINTENANT !',
|
|
'designer.widget_name': 'Design {date}',
|
|
'designer.el.text': 'Texte',
|
|
'designer.el.heading': 'Titre',
|
|
'designer.el.image': 'Image',
|
|
'designer.el.video': 'Vidéo',
|
|
'designer.el.clock': 'Horloge',
|
|
'designer.el.date': 'Date',
|
|
'designer.el.weather': 'Météo',
|
|
'designer.el.ticker': 'Bandeau',
|
|
'designer.el.shape': 'Forme',
|
|
'designer.el.qr': 'Code QR',
|
|
'designer.el.countdown': 'Compte à rebours',
|
|
'designer.el.webpage': 'Page web',
|
|
'designer.bg.black': 'Noir',
|
|
'designer.bg.dark_blue': 'Bleu sombre',
|
|
'designer.bg.dark_gradient': 'Dégradé sombre',
|
|
'designer.bg.blue_gradient': 'Dégradé bleu',
|
|
'designer.bg.sunset': 'Coucher de soleil',
|
|
'designer.bg.ocean': 'Océan',
|
|
'designer.bg.forest': 'Forêt',
|
|
'designer.bg.dark_red': 'Rouge sombre',
|
|
'designer.bg.white': 'Blanc',
|
|
'designer.default.text': 'Votre texte ici',
|
|
'designer.default.heading': 'TITRE',
|
|
'designer.default.coming_soon': 'Bientôt',
|
|
'designer.prompt.video_url': 'URL de la vidéo (MP4) :',
|
|
'designer.prompt.weather_location': 'Ville, Région :',
|
|
'designer.prompt.rss_url': 'URL du flux RSS :',
|
|
'designer.prompt.qr_url': 'URL du code QR :',
|
|
'designer.prompt.countdown_date': 'Date cible (AAAA-MM-JJ) :',
|
|
'designer.prompt.webpage_url': 'URL de la page web :',
|
|
'designer.prop.text': 'Texte',
|
|
'designer.prop.size': 'Taille',
|
|
'designer.prop.font': 'Police',
|
|
'designer.prop.color': 'Couleur',
|
|
'designer.prop.bold': 'Gras',
|
|
'designer.prop.shadow': 'Ombre',
|
|
'designer.prop.format': 'Format',
|
|
'designer.prop.show_seconds': 'Afficher les secondes',
|
|
'designer.prop.muted': 'Muet',
|
|
'designer.prop.loop': 'Boucle',
|
|
'designer.prop.opacity': 'Opacité',
|
|
'designer.prop.shape': 'Forme',
|
|
'designer.prop.location': 'Emplacement',
|
|
'designer.prop.feed_url': 'URL du flux',
|
|
'designer.prop.speed': 'Vitesse (secondes)',
|
|
'designer.prop.text_color': 'Couleur du texte',
|
|
'designer.prop.bg_color': 'Couleur de fond',
|
|
'designer.prop.target_date': 'Date cible',
|
|
'designer.prop.label': 'Étiquette',
|
|
'designer.toast.published': 'Publié comme widget ! Attribuez-le à une zone de mise en page.',
|
|
'designer.toast.publish_failed': 'Échec de la publication',
|
|
'designer.toast.export_failed': 'Échec de l\'export : {error}',
|
|
'designer.toast.loaded': 'Design chargé',
|
|
'designer.toast.invalid_file': 'Fichier de design invalide',
|
|
|
|
// Playlists
|
|
'playlist.title': 'Listes de lecture',
|
|
'playlist.subtitle': 'Créez et gérez des listes de contenu',
|
|
'playlist.show_auto_generated': 'Afficher les listes auto',
|
|
'playlist.new_playlist_btn': '+ Nouvelle liste',
|
|
'playlist.new_playlist': 'Nouvelle liste',
|
|
'playlist.empty_title': 'Pas encore de listes',
|
|
'playlist.empty_desc': 'Créez votre première liste pour organiser le contenu de vos écrans.',
|
|
'playlist.all_auto_generated': 'Toutes les listes sont auto-générées. Cochez « Afficher les listes auto » pour les voir.',
|
|
'playlist.tag_auto': 'auto',
|
|
'playlist.tag_draft': 'brouillon',
|
|
'playlist.item_count_one': '1 élément',
|
|
'playlist.item_count_other': '{n} éléments',
|
|
'playlist.created_at': 'Créée {date}',
|
|
'playlist.display_count_one': '1 écran',
|
|
'playlist.display_count_other': '{n} écrans',
|
|
'playlist.assigned_to_one': 'Attribuée à 1 écran',
|
|
'playlist.assigned_to_other': 'Attribuée à {n} écrans',
|
|
'playlist.load_failed': 'Échec du chargement des listes : {error}',
|
|
'playlist.back_to_playlists': 'Retour aux listes',
|
|
'playlist.name_placeholder': 'Nom de la liste',
|
|
'playlist.desc_placeholder': 'Description (facultatif)',
|
|
'playlist.create_btn': 'Créer',
|
|
'playlist.add_desc_placeholder': 'Ajouter une description...',
|
|
'playlist.click_to_rename': 'Cliquer pour renommer',
|
|
'playlist.click_to_edit_desc': 'Cliquer pour modifier la description',
|
|
'playlist.add_content': '+ Ajouter du contenu',
|
|
'playlist.delete_playlist': 'Supprimer la liste',
|
|
'playlist.back': 'Retour',
|
|
'playlist.items_empty': 'Cette liste est vide',
|
|
'playlist.items_empty_hint': 'Cliquez sur « Ajouter du contenu » pour ajouter des éléments.',
|
|
'playlist.duration': 'Durée',
|
|
'playlist.sec': 'sec',
|
|
'playlist.move_up': 'Monter',
|
|
'playlist.move_down': 'Descendre',
|
|
'playlist.remove_item': 'Retirer l\'élément',
|
|
'playlist.item_widget': 'Widget',
|
|
'playlist.unknown_type': 'Type inconnu',
|
|
'playlist.confirm_delete': 'Supprimer « {name} » ? Cette action est irréversible.',
|
|
'playlist.confirm_discard_draft': 'Annuler toutes les modifications non publiées et revenir à la dernière version publiée ?',
|
|
'playlist.draft.banner_title': 'Modifications non publiées',
|
|
'playlist.draft.devices_showing_published': 'Les appareils affichent encore la dernière version publiée.',
|
|
'playlist.draft.never_published': 'Cette liste n\'a jamais été publiée. Les appareils n\'afficheront rien jusqu\'à publication.',
|
|
'playlist.draft.discard_changes': 'Annuler les modifications',
|
|
'playlist.draft.publish': 'Publier',
|
|
'playlist.draft.publishing': 'Publication...',
|
|
'playlist.toast.created': 'Liste créée',
|
|
'playlist.toast.deleted': 'Liste supprimée',
|
|
'playlist.toast.published': 'Liste publiée — appareils mis à jour',
|
|
'playlist.toast.draft_discarded': 'Modifications du brouillon annulées',
|
|
'playlist.toast.item_removed': 'Élément retiré',
|
|
'playlist.add_modal_title': 'Ajouter du contenu à la liste',
|
|
'playlist.tab_content': 'Contenu',
|
|
'playlist.tab_widgets': 'Widgets',
|
|
'playlist.search_placeholder': 'Rechercher...',
|
|
'playlist.close': 'Fermer',
|
|
'playlist.no_content_found': 'Aucun contenu trouvé',
|
|
'playlist.no_widgets_found': 'Aucun widget trouvé',
|
|
'playlist.add_btn': 'Ajouter',
|
|
'playlist.adding': 'Ajout...',
|
|
'playlist.added': 'Ajouté',
|
|
};
|