feat(l10n): Update English localization with voice call states and model capabilities
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"@@locale": "fr",
|
||||
"appTitle": "Conduit",
|
||||
"initializationFailed": "Échec de l'initialisation",
|
||||
"retry": "Réessayer",
|
||||
"back": "Retour",
|
||||
"you": "Vous",
|
||||
@@ -16,10 +15,6 @@
|
||||
"@connectionIssueSubtitle": {
|
||||
"description": "Sous-titre expliquant les actions possibles quand le serveur est injoignable"
|
||||
},
|
||||
"stillOfflineMessage": "Nous ne pouvons toujours pas joindre le serveur. Vérifiez votre connexion et réessayez.",
|
||||
"@stillOfflineMessage": {
|
||||
"description": "Message d'état après une tentative de reconnexion sans succès"
|
||||
},
|
||||
"account": "Compte",
|
||||
"supportConduit": "Soutenir Conduit",
|
||||
"supportConduitSubtitle": "Financez le développement continu et les nouvelles fonctionnalités.",
|
||||
@@ -37,32 +32,14 @@
|
||||
"noResults": "Aucun résultat",
|
||||
"searchModels": "Rechercher des modèles...",
|
||||
"errorMessage": "Une erreur s'est produite. Veuillez réessayer.",
|
||||
"loginButton": "Connexion",
|
||||
"menuItem": "Paramètres",
|
||||
"dynamicContentWithPlaceholder": "Bienvenue, {name} !",
|
||||
"itemsCount": "{count, plural, =0{Aucun élément} one{1 élément} other{{count} éléments}}",
|
||||
"closeButtonSemantic": "Fermer",
|
||||
"loadingContent": "Chargement du contenu",
|
||||
"noItems": "Aucun élément",
|
||||
"noItemsToDisplay": "Aucun élément à afficher",
|
||||
"loadMore": "Charger plus",
|
||||
"workspace": "Espace de travail",
|
||||
"recentFiles": "Fichiers récents",
|
||||
"knowledgeBase": "Base de connaissances",
|
||||
"noFilesYet": "Pas encore de fichiers",
|
||||
"uploadDocsPrompt": "Importez des documents à utiliser dans vos conversations avec Conduit",
|
||||
"uploadFirstFile": "Importer votre premier fichier",
|
||||
"attachments": "Pièces jointes",
|
||||
"knowledgeBaseEmpty": "La base de connaissances est vide",
|
||||
"createCollectionsPrompt": "Créez des collections de documents liés pour une référence facile",
|
||||
"chooseSourcePhoto": "Choisir la source",
|
||||
"takePhoto": "Prendre une photo",
|
||||
"chooseFromGallery": "Choisir depuis vos photos",
|
||||
"document": "Document",
|
||||
"documentHint": "Fichier PDF, Word ou texte",
|
||||
"uploadFileTitle": "Importer un fichier",
|
||||
"fileUploadComingSoon": "Le téléversement de fichiers pour {type} arrive bientôt !",
|
||||
"kbCreationComingSoon": "La création de la base de connaissances arrive bientôt !",
|
||||
"backToServerSetup": "Retour à la configuration du serveur",
|
||||
"connectedToServer": "Connecté au serveur",
|
||||
"signIn": "Se connecter",
|
||||
@@ -124,9 +101,7 @@
|
||||
"onboardQuickTitle": "Actions rapides",
|
||||
"onboardQuickSubtitle": "Ouvrez le menu pour passer entre Chats, Espace de travail et Profil.",
|
||||
"onboardQuickBullet1": "Touchez le menu pour accéder à Chats, Espace, Profil",
|
||||
"onboardQuickBullet2": "Lancez Nouveau chat ou gérez les modèles depuis la barre"
|
||||
,
|
||||
"addAttachment": "Ajouter une pièce jointe",
|
||||
"onboardQuickBullet2": "Lancez Nouveau chat ou gérez les modèles depuis la barre",
|
||||
"attachmentLabel": "Pièce jointe",
|
||||
"tools": "Outils",
|
||||
"voiceInput": "Entrée vocale",
|
||||
@@ -157,19 +132,13 @@
|
||||
"invalidDataUrl": "Format d'URL de données invalide",
|
||||
"failedToDecodeImage": "Échec du décodage de l'image",
|
||||
"invalidImageFormat": "Format d'image invalide",
|
||||
"emptyImageData": "Données d'image vides"
|
||||
,
|
||||
"featureRequiresInternet": "Cette fonctionnalité nécessite une connexion Internet",
|
||||
"messagesWillSendWhenOnline": "Les messages seront envoyés lorsque vous serez de nouveau en ligne",
|
||||
"emptyImageData": "Données d'image vides",
|
||||
"confirm": "Confirmer",
|
||||
"cancel": "Annuler"
|
||||
,
|
||||
"cancel": "Annuler",
|
||||
"ok": "OK",
|
||||
"inputField": "Champ de saisie",
|
||||
"captureDocumentOrImage": "Capturer un document ou une image",
|
||||
"checkConnection": "Vérifier la connexion",
|
||||
"openSettings": "Ouvrir les réglages",
|
||||
"chooseDifferentFile": "Choisir un autre fichier",
|
||||
"goBack": "Retour",
|
||||
"technicalDetails": "Détails techniques",
|
||||
"save": "Enregistrer",
|
||||
@@ -181,18 +150,9 @@
|
||||
"newChat": "Nouveau chat",
|
||||
"more": "Plus",
|
||||
"clear": "Effacer",
|
||||
"searchHint": "Rechercher...",
|
||||
"searchConversations": "Rechercher des conversations...",
|
||||
"create": "Créer",
|
||||
"folderCreated": "Dossier créé",
|
||||
"failedToCreateFolder": "Échec de la création du dossier",
|
||||
"movedChatToFolder": "\"{title}\" déplacé vers \"{folder}\"",
|
||||
"@movedChatToFolder": {
|
||||
"placeholders": {
|
||||
"title": {"type": "String"},
|
||||
"folder": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"failedToMoveChat": "Échec du déplacement du chat",
|
||||
"failedToLoadChats": "Échec du chargement des chats",
|
||||
"failedToUpdatePin": "Échec de la mise à jour de l'épingle",
|
||||
@@ -222,13 +182,17 @@
|
||||
"deleteMessagesMessage": "Supprimer {count} messages ?",
|
||||
"@deleteMessagesMessage": {
|
||||
"placeholders": {
|
||||
"count": {"type": "int"}
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"routeNotFound": "Route introuvable : {routeName}",
|
||||
"@routeNotFound": {
|
||||
"placeholders": {
|
||||
"routeName": {"type": "String"}
|
||||
"routeName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deleteChatTitle": "Supprimer le chat",
|
||||
@@ -254,8 +218,7 @@
|
||||
"ttsStop": "Arrêter",
|
||||
"edit": "Modifier",
|
||||
"regenerate": "Régénérer",
|
||||
"noConversationsYet": "Aucune conversation pour l'instant"
|
||||
,
|
||||
"noConversationsYet": "Aucune conversation pour l'instant",
|
||||
"usernameOrEmailHint": "Entrez votre nom d'utilisateur ou e‑mail",
|
||||
"passwordHint": "Entrez votre mot de passe",
|
||||
"enterApiKey": "Entrez votre clé API",
|
||||
@@ -275,31 +238,55 @@
|
||||
"headerNameTooLong": "Nom d'en-tête trop long (max 64 caractères)",
|
||||
"headerNameInvalidChars": "Nom d'en-tête invalide. Utilisez uniquement des lettres, des chiffres et ces symboles : !#$&-^_`|~",
|
||||
"headerNameReserved": "Impossible d'écraser l'en-tête réservé « {key} »",
|
||||
"@headerNameReserved": {"placeholders": {"key": {"type": "String"}}},
|
||||
"@headerNameReserved": {
|
||||
"placeholders": {
|
||||
"key": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"headerValueEmpty": "La valeur de l'en-tête ne peut pas être vide",
|
||||
"headerValueTooLong": "Valeur d'en-tête trop longue (max 1024 caractères)",
|
||||
"headerValueInvalidChars": "La valeur de l'en-tête contient des caractères invalides. Utilisez uniquement des caractères ASCII imprimables.",
|
||||
"headerValueUnsafe": "La valeur de l'en-tête semble contenir du contenu potentiellement dangereux",
|
||||
"headerAlreadyExists": "L'en-tête « {key} » existe déjà. Supprimez-le d'abord pour le modifier.",
|
||||
"@headerAlreadyExists": {"placeholders": {"key": {"type": "String"}}},
|
||||
"maxHeadersReachedDetail": "Maximum 10 en-têtes personnalisés. Supprimez-en pour en ajouter."
|
||||
,
|
||||
"editMessage": "Modifier le message"
|
||||
,
|
||||
"@headerAlreadyExists": {
|
||||
"placeholders": {
|
||||
"key": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"maxHeadersReachedDetail": "Maximum 10 en-têtes personnalisés. Supprimez-en pour en ajouter.",
|
||||
"noModelsAvailable": "Aucun modèle disponible",
|
||||
"followingSystem": "Selon le système : {theme}",
|
||||
"@followingSystem": {"placeholders": {"theme": {"type": "String"}}},
|
||||
"@followingSystem": {
|
||||
"placeholders": {
|
||||
"theme": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"themeDark": "Sombre",
|
||||
"themePalette": "Palette de couleurs",
|
||||
"@themePalette": {"description": "Titre pour choisir la palette de couleurs de l'application."},
|
||||
"themePaletteDescription": "Choisissez les couleurs d'accent utilisées pour les boutons, les cartes et les bulles de discussion.",
|
||||
"@themePaletteDescription": {"description": "Texte d'aide expliquant la sélection de la palette."},
|
||||
"@themePalette": {
|
||||
"description": "Titre pour choisir la palette de couleurs de l'application."
|
||||
},
|
||||
"themeLight": "Clair",
|
||||
"currentlyUsingDarkTheme": "Thème sombre actuellement utilisé",
|
||||
"currentlyUsingLightTheme": "Thème clair actuellement utilisé",
|
||||
"aboutConduit": "À propos de Conduit",
|
||||
"versionLabel": "Version : {version} ({build})",
|
||||
"@versionLabel": {"placeholders": {"version": {"type": "String"}, "build": {"type": "String"}}},
|
||||
"@versionLabel": {
|
||||
"placeholders": {
|
||||
"version": {
|
||||
"type": "String"
|
||||
},
|
||||
"build": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"githubRepository": "Dépôt GitHub",
|
||||
"unableToLoadAppInfo": "Impossible de charger les informations de l'application",
|
||||
"thinking": "Réflexion…",
|
||||
@@ -307,9 +294,13 @@
|
||||
"thoughtForDuration": "A réfléchi pendant {duration}",
|
||||
"@thoughtForDuration": {
|
||||
"description": "Indique la durée de réflexion de l'assistant.",
|
||||
"placeholders": {"duration": {"type": "String", "example": "3 s"}}
|
||||
}
|
||||
,
|
||||
"placeholders": {
|
||||
"duration": {
|
||||
"type": "String",
|
||||
"example": "3 s"
|
||||
}
|
||||
}
|
||||
},
|
||||
"appCustomization": "Personnalisation",
|
||||
"appCustomizationSubtitle": "Thème, langue, voix et quickpills",
|
||||
"quickActionsDescription": "Raccourcis dans le chat",
|
||||
@@ -332,12 +323,413 @@
|
||||
"display": "Affichage",
|
||||
"realtime": "Temps réel",
|
||||
"transportMode": "Mode de transport",
|
||||
"transportModeDescription": "Choisissez comment l'app se connecte pour les mises à jour en temps réel.",
|
||||
"mode": "Mode",
|
||||
"transportModePolling": "Polling de secours",
|
||||
"transportModeWs": "WebSocket uniquement",
|
||||
"transportModePollingInfo": "Bascule sur HTTP polling lorsque WebSocket est bloqué. Repasse à WebSocket dès que possible.",
|
||||
"transportModeWsInfo": "Moins de surcharge, mais peut échouer derrière des proxys/firewalls stricts.",
|
||||
"websocketConnectionError": "Impossible d'établir une connexion en temps réel. Veuillez vérifier votre réseau et la configuration du serveur.",
|
||||
"websocketReconnectFailed": "Échec de la connexion en temps réel. Le streaming pourrait ne pas fonctionner correctement."
|
||||
"quickActionsSelectedCount": "{count, plural, =0{Aucune action sélectionnée} one{{count} action sélectionnée} other{{count} actions sélectionnées}}",
|
||||
"@quickActionsSelectedCount": {
|
||||
"description": "Subtitle indicating how many quick actions are selected.",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int",
|
||||
"example": "2"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoSelectDescription": "Laissez l'application choisir le meilleur modèle",
|
||||
"@autoSelectDescription": {
|
||||
"description": "Explains what the auto-select model setting does."
|
||||
},
|
||||
"ttsEngineLabel": "Moteur",
|
||||
"@ttsEngineLabel": {
|
||||
"description": "Label for selecting the text-to-speech engine."
|
||||
},
|
||||
"ttsEngineDevice": "Sur l'appareil",
|
||||
"@ttsEngineDevice": {
|
||||
"description": "Chip label for using on-device text-to-speech."
|
||||
},
|
||||
"ttsEngineServer": "Serveur",
|
||||
"@ttsEngineServer": {
|
||||
"description": "Chip label for using server-side text-to-speech."
|
||||
},
|
||||
"modelCapabilityMultimodal": "Multimodal",
|
||||
"@modelCapabilityMultimodal": {
|
||||
"description": "Capability chip label for models that support multimodal input."
|
||||
},
|
||||
"modelCapabilityReasoning": "Raisonnement",
|
||||
"@modelCapabilityReasoning": {
|
||||
"description": "Capability chip label for models that support reasoning features."
|
||||
},
|
||||
"voiceCallTitle": "Appel vocal",
|
||||
"@voiceCallTitle": {
|
||||
"description": "Title displayed on the voice call screen."
|
||||
},
|
||||
"voiceCallPause": "Pause",
|
||||
"@voiceCallPause": {
|
||||
"description": "Button label to pause a voice call."
|
||||
},
|
||||
"voiceCallResume": "Reprendre",
|
||||
"@voiceCallResume": {
|
||||
"description": "Button label to resume a paused voice call."
|
||||
},
|
||||
"voiceCallStop": "Arrêter",
|
||||
"@voiceCallStop": {
|
||||
"description": "Button label to stop the active voice call."
|
||||
},
|
||||
"voiceCallEnd": "Terminer l'appel",
|
||||
"@voiceCallEnd": {
|
||||
"description": "Button label to end the voice call session."
|
||||
},
|
||||
"chooseDifferentFile": "Choisir un autre fichier",
|
||||
"@chooseDifferentFile": {
|
||||
"description": "Action label prompting the user to pick another file."
|
||||
},
|
||||
"errorWithMessage": "Erreur : {message}",
|
||||
"@errorWithMessage": {
|
||||
"description": "Error label with appended message text.",
|
||||
"placeholders": {
|
||||
"message": {
|
||||
"type": "String",
|
||||
"example": "Network timeout"
|
||||
}
|
||||
}
|
||||
},
|
||||
"networkTimeoutError": "La connexion a expiré. Vérifiez votre connexion Internet et réessayez.",
|
||||
"@networkTimeoutError": {
|
||||
"description": "User-facing message when a network request times out."
|
||||
},
|
||||
"networkUnreachableError": "Impossible d'atteindre le serveur. Vérifiez l'URL du serveur et votre connexion Internet.",
|
||||
"@networkUnreachableError": {
|
||||
"description": "User-facing message when the server cannot be reached."
|
||||
},
|
||||
"networkServerNotResponding": "Le serveur ne répond pas. Vérifiez qu'il est en cours d'exécution et accessible.",
|
||||
"@networkServerNotResponding": {
|
||||
"description": "User-facing message when the server does not respond to a request."
|
||||
},
|
||||
"networkGenericError": "Problème de connexion réseau. Vérifiez votre connexion Internet.",
|
||||
"@networkGenericError": {
|
||||
"description": "Fallback message for generic network errors."
|
||||
},
|
||||
"serverError500": "Le serveur rencontre des problèmes. Cela est généralement temporaire.",
|
||||
"@serverError500": {
|
||||
"description": "Message when a 500 error is encountered."
|
||||
},
|
||||
"serverErrorUnavailable": "Le serveur est temporairement indisponible. Réessayez dans un instant.",
|
||||
"@serverErrorUnavailable": {
|
||||
"description": "Message when a 502/503 error is encountered."
|
||||
},
|
||||
"serverErrorTimeout": "Le serveur a mis trop de temps à répondre. Réessayez.",
|
||||
"@serverErrorTimeout": {
|
||||
"description": "Message when the server times out."
|
||||
},
|
||||
"serverErrorGeneric": "Le serveur rencontre des difficultés. Réessayez plus tard.",
|
||||
"@serverErrorGeneric": {
|
||||
"description": "Fallback server error message."
|
||||
},
|
||||
"authSessionExpired": "Votre session a expiré. Veuillez vous reconnecter.",
|
||||
"@authSessionExpired": {
|
||||
"description": "Message when an authentication session expires."
|
||||
},
|
||||
"authForbidden": "Vous n'avez pas l'autorisation d'effectuer cette action.",
|
||||
"@authForbidden": {
|
||||
"description": "Message when the user lacks required permissions."
|
||||
},
|
||||
"authInvalidToken": "Le jeton d'authentification est invalide. Veuillez vous reconnecter.",
|
||||
"@authInvalidToken": {
|
||||
"description": "Message when the authentication token is invalid."
|
||||
},
|
||||
"authGenericError": "Problème d'authentification. Veuillez vous reconnecter.",
|
||||
"@authGenericError": {
|
||||
"description": "Fallback authentication error message."
|
||||
},
|
||||
"validationInvalidEmail": "Veuillez saisir une adresse e-mail valide.",
|
||||
"@validationInvalidEmail": {
|
||||
"description": "Validation message for invalid email input."
|
||||
},
|
||||
"validationWeakPassword": "Le mot de passe ne respecte pas les exigences. Vérifiez-le et réessayez.",
|
||||
"@validationWeakPassword": {
|
||||
"description": "Validation message for weak passwords."
|
||||
},
|
||||
"validationMissingRequired": "Veuillez remplir tous les champs obligatoires.",
|
||||
"@validationMissingRequired": {
|
||||
"description": "Validation message when required fields are missing."
|
||||
},
|
||||
"validationFormatError": "Certaines informations sont au mauvais format. Vérifiez-les et réessayez.",
|
||||
"@validationFormatError": {
|
||||
"description": "Validation message for generic formatting issues."
|
||||
},
|
||||
"validationGenericError": "Veuillez vérifier vos informations et réessayer.",
|
||||
"@validationGenericError": {
|
||||
"description": "Fallback validation message."
|
||||
},
|
||||
"fileNotFound": "Fichier introuvable. Il a peut-être été déplacé ou supprimé.",
|
||||
"@fileNotFound": {
|
||||
"description": "Message when a file cannot be located."
|
||||
},
|
||||
"fileAccessDenied": "Impossible d'accéder au fichier. Vérifiez les autorisations.",
|
||||
"@fileAccessDenied": {
|
||||
"description": "Message when file access is denied."
|
||||
},
|
||||
"fileTooLarge": "Le fichier est trop volumineux. Choisissez un fichier plus petit.",
|
||||
"@fileTooLarge": {
|
||||
"description": "Message when a file exceeds size limits."
|
||||
},
|
||||
"fileGenericError": "Problème avec le fichier. Essayez un autre fichier.",
|
||||
"@fileGenericError": {
|
||||
"description": "Fallback file error message."
|
||||
},
|
||||
"permissionCameraRequired": "L'autorisation de la caméra est nécessaire. Activez-la dans les paramètres.",
|
||||
"@permissionCameraRequired": {
|
||||
"description": "Message when camera permission is missing."
|
||||
},
|
||||
"permissionStorageRequired": "L'autorisation de stockage est nécessaire. Activez-la dans les paramètres.",
|
||||
"@permissionStorageRequired": {
|
||||
"description": "Message when storage permission is missing."
|
||||
},
|
||||
"permissionMicrophoneRequired": "L'autorisation du microphone est nécessaire. Activez-la dans les paramètres.",
|
||||
"@permissionMicrophoneRequired": {
|
||||
"description": "Message when microphone permission is missing."
|
||||
},
|
||||
"permissionGenericError": "Autorisation requise. Vérifiez les autorisations de l'application dans les paramètres.",
|
||||
"@permissionGenericError": {
|
||||
"description": "Fallback permission error message."
|
||||
},
|
||||
"actionRetryRequest": "Réessayez la requête.",
|
||||
"@actionRetryRequest": {
|
||||
"description": "Description for retrying a failed request."
|
||||
},
|
||||
"actionVerifyConnection": "Vérifiez votre connexion Internet.",
|
||||
"@actionVerifyConnection": {
|
||||
"description": "Description for checking internet connectivity."
|
||||
},
|
||||
"actionRetryOperation": "Réessayez l'opération.",
|
||||
"@actionRetryOperation": {
|
||||
"description": "Description for retrying the same operation."
|
||||
},
|
||||
"actionRetryAfterDelay": "Attendez un instant puis réessayez.",
|
||||
"@actionRetryAfterDelay": {
|
||||
"description": "Description suggesting a short delay before retrying."
|
||||
},
|
||||
"actionSignInToAccount": "Connectez-vous à votre compte.",
|
||||
"@actionSignInToAccount": {
|
||||
"description": "Description for signing back into the app."
|
||||
},
|
||||
"actionSelectAnotherFile": "Sélectionnez un autre fichier.",
|
||||
"@actionSelectAnotherFile": {
|
||||
"description": "Description for choosing a different file."
|
||||
},
|
||||
"actionOpenAppSettings": "Ouvrez les paramètres de l'application pour accorder les autorisations.",
|
||||
"@actionOpenAppSettings": {
|
||||
"description": "Description for opening system or app settings."
|
||||
},
|
||||
"actionRetryAfterPermission": "Réessayez après avoir accordé l'autorisation.",
|
||||
"@actionRetryAfterPermission": {
|
||||
"description": "Description for retrying once permissions are granted."
|
||||
},
|
||||
"actionReturnToPrevious": "Revenir à l'écran précédent.",
|
||||
"@actionReturnToPrevious": {
|
||||
"description": "Description for navigating back to the prior screen."
|
||||
},
|
||||
"continueAction": "Continuer",
|
||||
"@continueAction": {
|
||||
"description": "Button label to continue an action or flow."
|
||||
},
|
||||
"loadingShort": "Chargement",
|
||||
"@loadingShort": {
|
||||
"description": "Short loading label used for accessibility."
|
||||
},
|
||||
"loadingAnnouncement": "Chargement : {message}",
|
||||
"@loadingAnnouncement": {
|
||||
"description": "Screen reader announcement when loading a resource.",
|
||||
"placeholders": {
|
||||
"message": {
|
||||
"type": "String",
|
||||
"example": "Messages"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorAnnouncement": "Erreur : {error}",
|
||||
"@errorAnnouncement": {
|
||||
"description": "Screen reader announcement for an error.",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String",
|
||||
"example": "Network timeout"
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorAnnouncementWithSuggestion": "Erreur : {error}. {suggestion}",
|
||||
"@errorAnnouncementWithSuggestion": {
|
||||
"description": "Screen reader announcement for an error with a follow-up suggestion.",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String",
|
||||
"example": "Network timeout"
|
||||
},
|
||||
"suggestion": {
|
||||
"type": "String",
|
||||
"example": "Please try again later."
|
||||
}
|
||||
}
|
||||
},
|
||||
"successAnnouncement": "Succès : {message}",
|
||||
"@successAnnouncement": {
|
||||
"description": "Screen reader announcement for successful actions.",
|
||||
"placeholders": {
|
||||
"message": {
|
||||
"type": "String",
|
||||
"example": "Profile updated"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requiredFieldLabel": "{label} *",
|
||||
"@requiredFieldLabel": {
|
||||
"description": "Label text indicating a required field.",
|
||||
"placeholders": {
|
||||
"label": {
|
||||
"type": "String",
|
||||
"example": "Email"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requiredFieldHelper": "Champ obligatoire",
|
||||
"@requiredFieldHelper": {
|
||||
"description": "Helper text indicating that the field is required."
|
||||
},
|
||||
"switchOnLabel": "Activé",
|
||||
"@switchOnLabel": {
|
||||
"description": "Semantic label when a switch is enabled."
|
||||
},
|
||||
"switchOffLabel": "Désactivé",
|
||||
"@switchOffLabel": {
|
||||
"description": "Semantic label when a switch is disabled."
|
||||
},
|
||||
"dialogSemanticLabel": "Dialogue : {title}",
|
||||
"@dialogSemanticLabel": {
|
||||
"description": "Semantic label describing the dialog title.",
|
||||
"placeholders": {
|
||||
"title": {
|
||||
"type": "String",
|
||||
"example": "Settings"
|
||||
}
|
||||
}
|
||||
},
|
||||
"previousLabel": "Précédent",
|
||||
"@previousLabel": {
|
||||
"description": "Label for navigating to the previous item."
|
||||
},
|
||||
"nextLabel": "Suivant",
|
||||
"@nextLabel": {
|
||||
"description": "Label for navigating to the next item."
|
||||
},
|
||||
"themePaletteConduitLabel": "Conduit",
|
||||
"@themePaletteConduitLabel": {
|
||||
"description": "Palette name for the default Conduit theme."
|
||||
},
|
||||
"themePaletteConduitDescription": "Thème neutre et épuré conçu pour Conduit.",
|
||||
"@themePaletteConduitDescription": {
|
||||
"description": "Description of the Conduit palette."
|
||||
},
|
||||
"themePaletteClaudeLabel": "Claude",
|
||||
"@themePaletteClaudeLabel": {
|
||||
"description": "Palette name inspired by the Claude web client."
|
||||
},
|
||||
"themePaletteClaudeDescription": "Palette chaleureuse inspirée du client web de Claude.",
|
||||
"@themePaletteClaudeDescription": {
|
||||
"description": "Description of the Claude palette."
|
||||
},
|
||||
"themePaletteT3ChatLabel": "T3 Chat",
|
||||
"@themePaletteT3ChatLabel": {
|
||||
"description": "Palette name inspired by the T3 Stack brand."
|
||||
},
|
||||
"themePaletteT3ChatDescription": "Dégradés ludiques inspirés de la marque T3 Stack.",
|
||||
"@themePaletteT3ChatDescription": {
|
||||
"description": "Description of the T3 Chat palette."
|
||||
},
|
||||
"themePaletteCatppuccinLabel": "Catppuccin",
|
||||
"@themePaletteCatppuccinLabel": {
|
||||
"description": "Palette name for Catppuccin colors."
|
||||
},
|
||||
"themePaletteCatppuccinDescription": "Palette douce de tons pastel.",
|
||||
"@themePaletteCatppuccinDescription": {
|
||||
"description": "Description of the Catppuccin palette."
|
||||
},
|
||||
"themePaletteTangerineLabel": "Tangerine",
|
||||
"@themePaletteTangerineLabel": {
|
||||
"description": "Palette name for Tangerine colors."
|
||||
},
|
||||
"themePaletteTangerineDescription": "Palette chaleureuse d'oranges et d'ardoises.",
|
||||
"@themePaletteTangerineDescription": {
|
||||
"description": "Description of the Tangerine palette."
|
||||
},
|
||||
"@onboardStartTitle": {
|
||||
"description": "Onboarding card: start chatting title.",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String",
|
||||
"example": "Alex"
|
||||
}
|
||||
}
|
||||
},
|
||||
"@notAnImageFile": {
|
||||
"description": "Error when a referenced file is not an image.",
|
||||
"placeholders": {
|
||||
"fileName": {
|
||||
"type": "String",
|
||||
"example": "image.txt"
|
||||
}
|
||||
}
|
||||
},
|
||||
"@failedToLoadImage": {
|
||||
"description": "Error including the underlying reason when image loading fails.",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String",
|
||||
"example": "Network error"
|
||||
}
|
||||
}
|
||||
},
|
||||
"@ttsVoicesForLanguage": {
|
||||
"description": "Section header for voices matching the app language",
|
||||
"placeholders": {
|
||||
"language": {
|
||||
"type": "String",
|
||||
"example": "EN"
|
||||
}
|
||||
}
|
||||
},
|
||||
"voiceCallReady": "Prêt",
|
||||
"@voiceCallReady": {
|
||||
"description": "Status label shown when the voice call is ready to start."
|
||||
},
|
||||
"voiceCallConnecting": "Connexion…",
|
||||
"@voiceCallConnecting": {
|
||||
"description": "Status label shown while the voice call is connecting."
|
||||
},
|
||||
"voiceCallListening": "Écoute",
|
||||
"@voiceCallListening": {
|
||||
"description": "Status label shown while the call is listening for input."
|
||||
},
|
||||
"voiceCallPaused": "En pause",
|
||||
"@voiceCallPaused": {
|
||||
"description": "Status label shown when the call is paused."
|
||||
},
|
||||
"voiceCallProcessing": "Réflexion…",
|
||||
"@voiceCallProcessing": {
|
||||
"description": "Status label shown while the call processes a response."
|
||||
},
|
||||
"voiceCallSpeaking": "Parle",
|
||||
"@voiceCallSpeaking": {
|
||||
"description": "Status label shown while the assistant is speaking."
|
||||
},
|
||||
"voiceCallDisconnected": "Déconnecté",
|
||||
"@voiceCallDisconnected": {
|
||||
"description": "Status label shown when the voice call has ended or disconnected."
|
||||
},
|
||||
"voiceCallErrorHelp": "Veuillez vérifier :\n• Les autorisations du microphone sont accordées\n• La reconnaissance vocale est disponible sur votre appareil\n• Vous êtes connecté au serveur",
|
||||
"@voiceCallErrorHelp": {
|
||||
"description": "Guidance shown when the voice call encounters an error."
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user