mirror of
https://github.com/langgenius/webapp-conversation.git
synced 2025-12-08 09:12:29 +08:00
i18n(fr): Add french translations
This commit is contained in:
@ -6,15 +6,18 @@ import commonEs from './lang/common.es'
|
||||
import commonZh from './lang/common.zh'
|
||||
import commonVi from './lang/common.vi'
|
||||
import commonJa from './lang/common.ja'
|
||||
import commonFr from './lang/common.fr'
|
||||
import appEn from './lang/app.en'
|
||||
import appEs from './lang/app.es'
|
||||
import appZh from './lang/app.zh'
|
||||
import appVi from './lang/app.vi'
|
||||
import appJa from './lang/app.ja'
|
||||
import appFr from './lang/app.fr'
|
||||
import toolsEn from './lang/tools.en'
|
||||
import toolsZh from './lang/tools.zh'
|
||||
import toolsVi from './lang/tools.vi'
|
||||
import toolsJa from './lang/tools.ja'
|
||||
import toolsFr from './lang/tools.fr'
|
||||
|
||||
import type { Locale } from '.'
|
||||
|
||||
@ -57,6 +60,14 @@ const resources = {
|
||||
tools: toolsJa,
|
||||
},
|
||||
},
|
||||
'fr': {
|
||||
translation: {
|
||||
common: commonFr,
|
||||
app: appFr,
|
||||
// tools
|
||||
tools: toolsFr,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
i18n.use(initReactI18next)
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
export const i18n = {
|
||||
defaultLocale: 'en',
|
||||
locales: ['en', 'es', 'zh-Hans', 'ja'],
|
||||
locales: ['en', 'es', 'zh-Hans', 'ja', 'fr'],
|
||||
} as const
|
||||
|
||||
export type Locale = typeof i18n['locales'][number]
|
||||
|
||||
37
i18n/lang/app.fr.ts
Normal file
37
i18n/lang/app.fr.ts
Normal file
@ -0,0 +1,37 @@
|
||||
const translation = {
|
||||
common: {
|
||||
welcome: 'Bienvenue sur l\'application',
|
||||
appUnavailable: 'L\'application n\'est pas disponible',
|
||||
appUnkonwError: 'L\'application n\'est pas disponible',
|
||||
},
|
||||
chat: {
|
||||
newChat: 'Nouvelle conversation',
|
||||
newChatDefaultName: 'Nouvelle conversation',
|
||||
openingStatementTitle: 'Phrase d\'ouverture',
|
||||
powerBy: 'Propulsé par',
|
||||
prompt: 'Prompt',
|
||||
privatePromptConfigTitle: 'Param tres de la conversation',
|
||||
publicPromptConfigTitle: 'Prompt initial',
|
||||
configStatusDes: 'Avant de commencer, vous pouvez modifier les paramètres de la conversation',
|
||||
configDisabled:
|
||||
'Les paramètres de la session précédente ont été utilisés pour cette session.',
|
||||
startChat: 'Démarrer la conversation',
|
||||
privacyPolicyLeft:
|
||||
'Veuillez lire la ',
|
||||
privacyPolicyMiddle:
|
||||
'politique de confidentialité ',
|
||||
privacyPolicyRight:
|
||||
' fournie par le développeur de l\'application.',
|
||||
},
|
||||
errorMessage: {
|
||||
valueOfVarRequired: 'La valeur des variables ne peut pas être vide',
|
||||
waitForResponse:
|
||||
'Veuillez attendre que la réponse au message précédent soit terminée.',
|
||||
},
|
||||
variableTable: {
|
||||
optional: 'Facultatif',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
34
i18n/lang/common.fr.ts
Normal file
34
i18n/lang/common.fr.ts
Normal file
@ -0,0 +1,34 @@
|
||||
const translation = {
|
||||
api: {
|
||||
success: 'Succès',
|
||||
saved: 'Enregistré',
|
||||
create: 'Créé',
|
||||
},
|
||||
operation: {
|
||||
confirm: 'Confirmer',
|
||||
cancel: 'Annuler',
|
||||
clear: 'Effacer',
|
||||
save: 'Enregistrer',
|
||||
edit: 'Éditer',
|
||||
refresh: 'Redémarrer',
|
||||
search: 'Rechercher',
|
||||
send: 'Envoyer',
|
||||
lineBreak: 'Saut de ligne',
|
||||
like: 'like',
|
||||
dislike: 'dislike',
|
||||
ok: 'D\'accord',
|
||||
},
|
||||
imageUploader: {
|
||||
uploadFromComputer: 'Télécharger depuis l\'ordinateur',
|
||||
uploadFromComputerReadError: 'Édition de l\'image échouée, veuillez essayer à nouveau.',
|
||||
uploadFromComputerUploadError: 'Édition de l\'image échouée, veuillez télécharger à nouveau.',
|
||||
uploadFromComputerLimit: 'Les images téléchargées ne peuvent pas dépasser {{size}} Mo',
|
||||
pasteImageLink: 'Coller le lien de l\'image',
|
||||
pasteImageLinkInputPlaceholder: 'Coller le lien de l\'image ici',
|
||||
pasteImageLinkInvalid: 'Lien d\'image invalide',
|
||||
imageUpload: 'Téléchargement d\'image',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
104
i18n/lang/tools.fr.ts
Normal file
104
i18n/lang/tools.fr.ts
Normal file
@ -0,0 +1,104 @@
|
||||
const translation = {
|
||||
title: 'Outils',
|
||||
createCustomTool: 'Créer un outil personnalisé',
|
||||
type: {
|
||||
all: 'Tous',
|
||||
builtIn: 'Intégré',
|
||||
custom: 'Personnalisé',
|
||||
},
|
||||
contribute: {
|
||||
line1: 'Je suis intéressé pour ',
|
||||
line2: ' contribuer à des outils de Dify.',
|
||||
viewGuide: 'Voir le guide',
|
||||
},
|
||||
author: 'Par',
|
||||
auth: {
|
||||
unauthorized: 'Autoriser',
|
||||
authorized: 'Autorisé',
|
||||
setup: 'Configurer l\'autorisation pour utiliser',
|
||||
setupModalTitle: 'Configurer l\'autorisation',
|
||||
setupModalTitleDescription: 'Aprèss avoir configuré les informations d\'identification, tous les membres de l\'espace de travail pourront utiliser cet outil pour orchestrer les applications.',
|
||||
},
|
||||
includeToolNum: '{{num}} outils inclus',
|
||||
addTool: 'Ajouter un outil',
|
||||
createTool: {
|
||||
title: 'Créer un outil personnalisé',
|
||||
editAction: 'Configurer',
|
||||
editTitle: 'Éditer l\'outil personnalisé',
|
||||
name: 'Nom',
|
||||
toolNamePlaceHolder: 'Saisissez le nom de l\'outil',
|
||||
schema: 'Schéma',
|
||||
schemaPlaceHolder: 'Saisissez votre schéma OpenAPI ici',
|
||||
viewSchemaSpec: 'Voir la spécification OpenAPI-Swagger',
|
||||
importFromUrl: 'Importer depuis une URL',
|
||||
importFromUrlPlaceHolder: 'https://...',
|
||||
urlError: 'Veuillez saisir une URL valide',
|
||||
examples: 'Exemples',
|
||||
exampleOptions: {
|
||||
json: 'Météo (JSON)',
|
||||
yaml: 'Pet Store (YAML)',
|
||||
blankTemplate: 'Modèle vide',
|
||||
},
|
||||
availableTools: {
|
||||
title: 'Outils disponibles',
|
||||
name: 'Nom',
|
||||
description: 'Description',
|
||||
method: 'Méthode',
|
||||
path: 'Chemin',
|
||||
action: 'Actions',
|
||||
test: 'Test',
|
||||
},
|
||||
authMethod: {
|
||||
title: 'Méthode d\'autorisation',
|
||||
type: 'Type d\'autorisation',
|
||||
types: {
|
||||
none: 'Aucun',
|
||||
api_key: 'Clé API',
|
||||
},
|
||||
key: 'Clé',
|
||||
value: 'Valeur',
|
||||
},
|
||||
privacyPolicy: 'Politique de confidentialité',
|
||||
privacyPolicyPlaceholder: 'Veuillez saisir la politique de confidentialité',
|
||||
},
|
||||
test: {
|
||||
title: 'Test',
|
||||
parametersValue: 'Paramètres & Valeurs',
|
||||
parameters: 'Paramètres',
|
||||
value: 'Valeurs',
|
||||
testResult: 'Résultats du test',
|
||||
testResultPlaceholder: 'Le résultat du test sera affiché ici',
|
||||
},
|
||||
thought: {
|
||||
using: 'En cours d\'utilisation',
|
||||
used: 'Utilisé',
|
||||
requestTitle: 'Demande ',
|
||||
responseTitle: 'Réponse de ',
|
||||
},
|
||||
setBuiltInTools: {
|
||||
info: 'Informations',
|
||||
setting: 'Paramétrage',
|
||||
toolDescription: 'Description de l\'outil',
|
||||
parameters: 'paramètres',
|
||||
string: 'chaine de caractères',
|
||||
number: 'nombre',
|
||||
required: 'Requis',
|
||||
infoAndSetting: 'Informations & Paramétrage',
|
||||
},
|
||||
noCustomTool: {
|
||||
title: 'Aucun outil personnalisé !',
|
||||
content: 'Ajoutez et gérez vos outils personnalisé pour créer des applications d\'apprentissage automatique.',
|
||||
createTool: 'Créer un outil',
|
||||
},
|
||||
noSearchRes: {
|
||||
title: 'Désolé, pas de résultats!',
|
||||
content: 'Nous n\'avons pas trouvé d\'outils qui correspondent à votre recherche.',
|
||||
reset: 'Réinitialiser la recherche',
|
||||
},
|
||||
builtInPromptTitle: 'Suggestion',
|
||||
toolRemoved: 'Outil supprimé',
|
||||
notAuthorized: 'Outil non autorisé',
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
Reference in New Issue
Block a user