🌐 Added French
This commit is contained in:
@@ -2,6 +2,7 @@ import i18next from 'i18next';
|
|||||||
import translations from './translations';
|
import translations from './translations';
|
||||||
import en from './locales/en.json';
|
import en from './locales/en.json';
|
||||||
import de from './locales/de.json';
|
import de from './locales/de.json';
|
||||||
|
import fr from './locales/fr.json';
|
||||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||||
|
|
||||||
import type { i18n, Resource } from 'i18next';
|
import type { i18n, Resource } from 'i18next';
|
||||||
@@ -9,6 +10,7 @@ import type { i18n, Resource } from 'i18next';
|
|||||||
export class I18nService {
|
export class I18nService {
|
||||||
// expose i18next
|
// expose i18next
|
||||||
i18n: i18n;
|
i18n: i18n;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.i18n = i18next;
|
this.i18n = i18next;
|
||||||
this.initialize();
|
this.initialize();
|
||||||
@@ -38,22 +40,14 @@ export class I18nService {
|
|||||||
// lookupQuerystring: 'lng'
|
// lookupQuerystring: 'lng'
|
||||||
// }
|
// }
|
||||||
detection: {
|
detection: {
|
||||||
order: [
|
order: ['querystring', 'cookie', 'localStorage', 'navigator'],
|
||||||
'querystring',
|
|
||||||
'cookie',
|
|
||||||
'localStorage',
|
|
||||||
'sessionStorage',
|
|
||||||
'navigator',
|
|
||||||
'htmlTag',
|
|
||||||
'path',
|
|
||||||
'subdomain'
|
|
||||||
],
|
|
||||||
lookupQuerystring: 'lng',
|
lookupQuerystring: 'lng',
|
||||||
lookupLocalStorage: 'language'
|
lookupLocalStorage: 'language'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.i18n.addResourceBundle('en', 'translation', en);
|
this.i18n.addResourceBundle('en', 'translation', en);
|
||||||
this.i18n.addResourceBundle('de', 'translation', de);
|
this.i18n.addResourceBundle('de', 'translation', de);
|
||||||
|
this.i18n.addResourceBundle('fr', 'translation', fr);
|
||||||
}
|
}
|
||||||
|
|
||||||
changeLanguage(language: string) {
|
changeLanguage(language: string) {
|
||||||
|
|||||||
@@ -1,104 +1,104 @@
|
|||||||
{
|
{
|
||||||
"login_page": {
|
"login_page": {
|
||||||
"modal": {
|
"modal": {
|
||||||
"success": {
|
"success": {
|
||||||
"description": {
|
"description": {
|
||||||
"success": "Vous vous êtes connecté avec succès !",
|
"success": "Vous vous êtes connecté avec succès !",
|
||||||
"success_check_mail": "Veuillez vérifier votre boîte mail, vous avez normalement reçu un mail avec un lien pour vous connecter."
|
"success_check_mail": "Veuillez vérifier votre boîte mail, vous avez normalement reçu un mail avec un lien pour vous connecter."
|
||||||
},
|
},
|
||||||
"success": "Connexion réussie !",
|
"success": "Connexion réussie !",
|
||||||
"success_check_mail": "Connexion réussie ! Vérifiez votre boîte mail !"
|
"success_check_mail": "Connexion réussie ! Vérifiez votre boîte mail !"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"wrong_creds": "Mot de passe ou email non-correct !",
|
"wrong_creds": "Mot de passe ou email non-correct !",
|
||||||
"description": {
|
"description": {
|
||||||
"wrong_creds": "Assurez-vous que votre mot de passe et votre email sont corrects !",
|
"wrong_creds": "Assurez-vous que votre mot de passe et votre email sont corrects !",
|
||||||
"unexpected": "Une bonne vieille erreur inattendue s'est produite !"
|
"unexpected": "Une bonne vieille erreur inattendue s'est produite !"
|
||||||
},
|
},
|
||||||
"unexpected": "Erreur inattendue !"
|
"unexpected": "Erreur inattendue !"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"welcome_back": "Bon retour parmi nous !",
|
"welcome_back": "Bon retour parmi nous !",
|
||||||
"login_or_create_account": "Se connecter ou créer un compte",
|
"login_or_create_account": "Se connecter ou créer un compte",
|
||||||
"already_have_account": "Pas encore de compte ?"
|
"already_have_account": "Pas encore de compte ?"
|
||||||
},
|
},
|
||||||
"words": {
|
"words": {
|
||||||
"question": "Question",
|
"question": "Question",
|
||||||
"answer": "Réponse",
|
"answer": "Réponse",
|
||||||
"stats": "Statistiques",
|
"stats": "Statistiques",
|
||||||
"features": "Fonctionnalités",
|
"features": "Fonctionnalités",
|
||||||
"login": "Connexion",
|
"login": "Connexion",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
"username": "Pseudo",
|
"username": "Pseudo",
|
||||||
"password": "Mot de passe",
|
"password": "Mot de passe",
|
||||||
"play": "Jouer",
|
"play": "Jouer",
|
||||||
"edit": "Modifier",
|
"edit": "Modifier",
|
||||||
"delete": "Supprimer",
|
"delete": "Supprimer",
|
||||||
"public": "Public",
|
"public": "Public",
|
||||||
"start": "Commencer",
|
"start": "Commencer",
|
||||||
"create": "Créer",
|
"create": "Créer",
|
||||||
"import": "Importer",
|
"import": "Importer",
|
||||||
"logout": "Se déconnecter",
|
"logout": "Se déconnecter",
|
||||||
"url": "URL",
|
"url": "URL",
|
||||||
"submit": "Valider",
|
"submit": "Valider",
|
||||||
"connect": "Connexion",
|
"connect": "Connexion",
|
||||||
"pin": "PIN",
|
"pin": "PIN",
|
||||||
"kick": "Éjecter",
|
"kick": "Éjecter",
|
||||||
"register": "Enregistrer",
|
"register": "Enregistrer",
|
||||||
"docs": "Documentation",
|
"docs": "Documentation",
|
||||||
"close": "Fermer",
|
"close": "Fermer",
|
||||||
"save": "Enregistrer",
|
"save": "Enregistrer",
|
||||||
"description": "Description",
|
"description": "Description",
|
||||||
"image": "Image",
|
"image": "Image",
|
||||||
"title": "titre"
|
"title": "titre"
|
||||||
},
|
},
|
||||||
"index_page": {
|
"index_page": {
|
||||||
"slogan": "La plateforme de quiz open-source !",
|
"slogan": "La plateforme de quiz open-source !",
|
||||||
"meta": {
|
"meta": {
|
||||||
"description": "ClassQuiz est une application de quiz comme KAHOOT! pour les étudiants, libre et open-source",
|
"description": "ClassQuiz est une application de quiz comme KAHOOT! pour les étudiants, libre et open-source",
|
||||||
"title": "Accueil"
|
"title": "Accueil"
|
||||||
},
|
},
|
||||||
"features_description": {
|
"features_description": {
|
||||||
"1": "ClassQuiz est un outil de quiz vous permettant de créer et gérer des questionnaires.",
|
"1": "ClassQuiz est un outil de quiz vous permettant de créer et gérer des questionnaires.",
|
||||||
"2": "La fonctionnalité principale est la fonction d'import de quiz KAHOOT, vou permettant de créer des quiz directement depuis KAHOOT!."
|
"2": "La fonctionnalité principale est la fonction d'import de quiz KAHOOT, vou permettant de créer des quiz directement depuis KAHOOT!."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"overview_page": {
|
"overview_page": {
|
||||||
"created_at": "Crée le",
|
"created_at": "Crée le",
|
||||||
"question_count": "Nombre de question"
|
"question_count": "Nombre de question"
|
||||||
},
|
},
|
||||||
"edit_page": {
|
"edit_page": {
|
||||||
"success_update_title": "Quiz mis à jour avec succès !",
|
"success_update_title": "Quiz mis à jour avec succès !",
|
||||||
"success_update_body": "Quiz mis à jour avec succès !"
|
"success_update_body": "Quiz mis à jour avec succès !"
|
||||||
},
|
},
|
||||||
"create_page": {
|
"create_page": {
|
||||||
"success": {
|
"success": {
|
||||||
"body": "Quiz créé avec succès !",
|
"body": "Quiz créé avec succès !",
|
||||||
"title": "Quiz créé avec succès !"
|
"title": "Quiz créé avec succès !"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"register_page": {
|
"register_page": {
|
||||||
"greeting": "Ravi de vous connaître !",
|
"greeting": "Ravi de vous connaître !",
|
||||||
"create_account": "Créer un compte",
|
"create_account": "Créer un compte",
|
||||||
"forgot_password?": "Mot de passe oublié ?",
|
"forgot_password?": "Mot de passe oublié ?",
|
||||||
"already_have_account?": "Vous avez déjà un compte ?"
|
"already_have_account?": "Vous avez déjà un compte ?"
|
||||||
},
|
},
|
||||||
"editor": {
|
"editor": {
|
||||||
"time_in_seconds": "Temps en seconde",
|
"time_in_seconds": "Temps en seconde",
|
||||||
"add_new_question": "Ajouter une autre question",
|
"add_new_question": "Ajouter une autre question",
|
||||||
"add_new_answer": "Ajouter une autre réponse",
|
"add_new_answer": "Ajouter une autre réponse",
|
||||||
"delete_question": "Supprimer la question",
|
"delete_question": "Supprimer la question",
|
||||||
"delete_answer": "Supprimer la réponse",
|
"delete_answer": "Supprimer la réponse",
|
||||||
"right_or_true?": "Vrai?"
|
"right_or_true?": "Vrai?"
|
||||||
},
|
},
|
||||||
"import_page": {
|
"import_page": {
|
||||||
"need_help": "Besoin d'aide ?",
|
"need_help": "Besoin d'aide ?",
|
||||||
"visit_docs": "Voir la documentation"
|
"visit_docs": "Voir la documentation"
|
||||||
},
|
},
|
||||||
"admin_page": {
|
"admin_page": {
|
||||||
"already_registered_as_admin": "Il y a déjà un administrateur enregistré pour ce jeu.",
|
"already_registered_as_admin": "Il y a déjà un administrateur enregistré pour ce jeu.",
|
||||||
"start_game": "Commencer le jeu",
|
"start_game": "Commencer le jeu",
|
||||||
"time_left": "Temps restant",
|
"time_left": "Temps restant",
|
||||||
"get_results": "Obtenir les résultats"
|
"get_results": "Obtenir les résultats"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user