diff --git a/src/i18n/en.json b/src/i18n/en.json index 439f9a4..f9f895c 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -56,7 +56,8 @@ "language": { "label": "Idioma", "en": "Inglés", - "es": "Español" + "es": "Español", + "fr": "Francés" } } } \ No newline at end of file diff --git a/src/i18n/es.json b/src/i18n/es.json index c1d470b..ad87dce 100644 --- a/src/i18n/es.json +++ b/src/i18n/es.json @@ -56,7 +56,8 @@ "language": { "label": "Idioma", "en": "Inglés", - "es": "Español" + "es": "Español", + "fr": "Francés" } } } diff --git a/src/i18n/fr.json b/src/i18n/fr.json new file mode 100644 index 0000000..b2ab485 --- /dev/null +++ b/src/i18n/fr.json @@ -0,0 +1,63 @@ +{ + "panels": { + "sandbox": { + "title": "Paramètres du Bac à Sable", + "timeUnit": "Unité de Temps", + "distanceUnit": "Unité de Distance", + "ignoreGravity": "Ignorer la Gravité" + }, + "charge": { + "title": "Charge", + "charge": "Charge", + "mass": "Masse", + "velocity": "Vitesse", + "showVelocity": "Afficher la Vitesse", + "showAcceleration": "Afficher l'Accélération" + }, + "magneticField": { + "title": "Champ Magnétique", + "strength": "Intensité", + "color": "Couleur", + "showField": "Afficher le Champ", + "rotate": "Tourner" + }, + "electricField": { + "title": "Champ Électrique", + "strength": "Intensité", + "color": "Couleur", + "showField": "Afficher le Champ", + "rotate": "Tourner" + } + }, + "loadingScreen": { + "loadingScripts": "Chargement des scripts...", + "loadingModels": "Chargement des modèles...", + "loading": "Chargement..." + }, + "toolbar": { + "new": "Nouveau bac à sable", + "move": "Déplacer", + "rotate": "Tourner", + "charge": "Ajouter une charge", + "electric-field": "Définir le champ électrique", + "magnetic-field": "Définir le champ magnétique", + "play-pause": "Lecture/Pause", + "reset": "Réinitialiser le bac à sable" + }, + "debugPanel": { + "objects": "Objets", + "fps": "IPS", + "status": "Statut", + "good": "Bon", + "elevated": "Élevé", + "critical": "Critique" + }, + "settings": { + "language": { + "label": "Langue", + "en": "Anglais", + "es": "Espagnol", + "fr": "Français" + } + } +} diff --git a/src/logic/managers/I18nManager.ts b/src/logic/managers/I18nManager.ts index 5194eda..131cc20 100644 --- a/src/logic/managers/I18nManager.ts +++ b/src/logic/managers/I18nManager.ts @@ -2,10 +2,12 @@ import get from 'lodash/get'; import { EventEmitter } from '@/logic/managers/EventManager'; import enTranslations from '@/i18n/en.json'; import esTranslations from '@/i18n/es.json'; +import frTranslations from '@/i18n/fr.json'; export enum Language { EN = 'en', ES = 'es', + FR = 'fr', } export class I18nManager extends EventEmitter { @@ -43,6 +45,8 @@ export class I18nManager extends EventEmitter { return enTranslations; case Language.ES: return esTranslations; + case Language.FR: + return frTranslations; default: return enTranslations; } diff --git a/src/ui/components/overlay/Settings.ts b/src/ui/components/overlay/Settings.ts index d34d10a..23f962b 100644 --- a/src/ui/components/overlay/Settings.ts +++ b/src/ui/components/overlay/Settings.ts @@ -14,6 +14,7 @@ export class Settings extends Component { `;