i18n(fr): Add french translations

This commit is contained in:
Vincent VATELOT
2024-12-10 16:09:06 +01:00
parent 009674b231
commit 41406a8596
5 changed files with 187 additions and 1 deletions

View File

@ -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)

View File

@ -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
View 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
View 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
View 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