From e280db3a031e414823e040457fcb01f71ce1386b Mon Sep 17 00:00:00 2001 From: nickydotnet Date: Tue, 9 Jul 2024 18:02:44 +0200 Subject: [PATCH 1/2] french translation file (with select option in language component) --- components/language.js | 71 +++++++++--------- public/locales/fr/translation.json | 115 +++++++++++++++++++++++++++++ 2 files changed, 151 insertions(+), 35 deletions(-) create mode 100644 public/locales/fr/translation.json diff --git a/components/language.js b/components/language.js index 54549f1..87707ec 100644 --- a/components/language.js +++ b/components/language.js @@ -2,39 +2,40 @@ import React from "react"; import { useTranslation } from "react-i18next"; export default function LanguageSwitcher(props) { - const { i18n, t } = useTranslation(); - return ( -
- - -
- ); + const { i18n, t } = useTranslation(); + return ( +
+ + +
+ ); } diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json new file mode 100644 index 0000000..839d45e --- /dev/null +++ b/public/locales/fr/translation.json @@ -0,0 +1,115 @@ +{ + "indonesian": "Indon\u00e9sien", + "english": "Anglais", + "error": "Erreur", + "family": "Famille", + "feud": "En or", + "Final Round": "Tour final", + "language": "Langue", + "Load Game": "Charger une partie", + "loading": "Chargement ...", + "mistake": "Maladresse", + "multiplier": "Multiplicateur", + "My Family": "Ma famille", + "name": "Nom", + "Create New Game": "Cr\u00e9er une nouvelle partie", + "Next Round": "prochain tour", + "number": "{{count, number}}", + "part two": "PT2", + "Please load a game": "Veuillez charger une partie", + "points": "Points", + "question": "Question", + "randomName": "Famille Dupont", + "register": "Enregistrement", + "Reveal Answer": "Montrer la r\u00e9ponse", + "Reveal First Round Answers": "Montrer les r\u00e9ponse du premier tour", + "round number {{count, number}} has an empty question": "le tour numr\u00e9ro {{count, number}} a une question vide", + "round item {{count, number}} has empty answer at answer number {{answernum, number}}": "le tour numr\u00e9ro {{count, number}} a une r\u00e9ponse vide au num\u00e9ro{{answernum, number}}", + "round item {{count, number}} has {{zero, number}} points answer number {{answernum, number}}": "le tour numr\u00e9ro {{count, number}} a {{zero, number}} points dans la r\u00e9ponse {{answernum, number}}", + "round number {{count, number}} has no answers": "le tour numr\u00e9ro {{count, number}} est sans r\u00e9ponse", + "round number {{count, number}} has no point multipler": "le tour numr\u00e9ro {{count, number}} est sans multiplicateur", + "round": "Tour", + "rounds": "Tours", + "save": "Sauvegarder", + "second": "sec", + "seconds": "Secondes", + "spanish": "Espagnol", + "Start Round 1": "Commencer le tour 1", + "start": "D\u00e9marrer", + "Start Timer": "D\u00e9marrer minuteur", + "Stop Timer": "Stopper le minuteur", + "submit": "Envoyer", + "Team Name": "Nom de l\u0027\u00e9quipe", + "team": "\u00e9quipe", + "timer": "minuteur", + "time": "temps", + "Title Card": "Titre de la Carte", + "Title Music": "Titre de la musique", + "Title Text": "Titre du texte", + "title": "Titre", + "total": "Total", + "win": "VICTOIRE!", + "No Answer": "Pas de r\u00e9ponse", + "Award points": "Award points", + "Partner's Answer": "r\u00e9ponse du partenaire", + "Already Answered": "d\u00e9j\u00E0 r\u00e9pondu", + "Open Game Window": "ouvrir la partie", + "Quit": "Quitter", + "room code": "code de la salle", + "quit": "quitter", + "play": "jouer", + "input your name": "entrez votre nom", + "room code is not correct length, should be 4 characters": "le code salle est incorrect, il doit comporter 4 lettres", + "4 letter room code": "Code de votre salle en 4 lettres", + "enter your name": "mettez votre nom ou pseudo", + "host": "R\u00e9gie", + "No game session. retry from the admin window": "Pas de partie en cours, veuillez essayer depuis la page admin", + "Gets Points": "a les points", + "Team 1": "\u00e9quipe 1", + "Team 2": "\u00e9quipe 2", + "Current Screen": "\u00e9cran actuel", + "Points": "Points", + "Buzzer Order": "Ordre des Buzzers", + "players": "joueurs", + "Clear Buzzers": "r\u00e9initialiser les Buzzers", + "Changing rounds also clears buzzers": "Changer les tours, r\u00e9initialise les buzzers", + "Back To": "Revenir \u00E0", + "Hide First Round Answers": "Cachez les premi\u00E8res r\u00E9ponses", + "Answer": "R\u00e9ponse", + "Change Me": "Changez moi", + "Waiting for host to start": "Attendez le pr\u00e9sentateur pour d\u00e9marrer", + "pick your team": "choississez votre \u00e9quipe", + "and": "et", + "Fast Money": "Argent facile", + "Family Feud": "Famille en or", + "You need to create some rounds to save the game": "Vous devez cr\u00e9er des tours pour enregistrer la partie", + "new-cold-feud": "new-cold-feud", + "Logo image is too large. 2MB is the limit": "La taille du fichier de logo est trop importante. 2mb est la limite", + "Unknown file type": "type de fichier inconnu", + "logo upload": "charger un logo", + "(must be smaller than 2MB)": "(doit etre plus petit que 2mb)", + "error reading file": "erreur de lecture du fichier", + "This csv file is too large": "Le fichier csv est trop gros", + "Unknown file type in game load": "Le type de fichier n\u0027est pas reconnu", + ".json, .csv": ".json, .csv", + "Error: round and final round is greater than document has available.": "__STRING_NOT_TRANSLATED__", + "Error: csv file needs expected format: Question, Answer, Points (number), Answer, Points (number) ...": "__STRING_NOT_TRANSLATED__", + "CSV file upload": "charger le fichier CSV", + "No Header": "Pas d\u0027ent\u00EAte", + "Rounds": "Tours", + "Final Rounds": "Tour final", + "Final Round Timer": "tour de la finale minut\u00e9e", + "2nd Final Round Timer": "2\u00E8me tour de la finale minut\u00e9e", + "Cancel": "Annuler", + "Submit": "Envoyer", + "Final Round Title": "Titre du tour final", + "fast money": "argent rapide", + "Hide questions": "questions cah\u00e9es", + "hide questions on the game window and player buzzer screens": "questions cah\u00e9e dans la partie ainsi que les buzzers", + "buzzer is reset between rounds": "les buzzers sont r\u00e9initialis\u00e9s", + "estonian": "estonien", + "donate": "don", + "email": "email", + "source code": "code source", + "Question": "Question" +} \ No newline at end of file From 05eb778daf67d75245b99eb2f0ccc0fd2d27bcfb Mon Sep 17 00:00:00 2001 From: nickydotnet Date: Wed, 10 Jul 2024 11:28:23 +0200 Subject: [PATCH 2/2] #84 translation of missing sentences --- public/locales/fr/translation.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/translation.json b/public/locales/fr/translation.json index 839d45e..29caab4 100644 --- a/public/locales/fr/translation.json +++ b/public/locales/fr/translation.json @@ -92,8 +92,8 @@ "This csv file is too large": "Le fichier csv est trop gros", "Unknown file type in game load": "Le type de fichier n\u0027est pas reconnu", ".json, .csv": ".json, .csv", - "Error: round and final round is greater than document has available.": "__STRING_NOT_TRANSLATED__", - "Error: csv file needs expected format: Question, Answer, Points (number), Answer, Points (number) ...": "__STRING_NOT_TRANSLATED__", + "Error: round and final round is greater than document has available.": "Le tour et le tour finale sont sup\u00E9rieurs \u00E0 la capacit\u00E9 du document.", + "Error: csv file needs expected format: Question, Answer, Points (number), Answer, Points (number) ...": "le fichier csv doit avoir le format attendu : Question, r\u00E9ponse, Points (nombre), r\u00E9ponse, Points (nombre)", "CSV file upload": "charger le fichier CSV", "No Header": "Pas d\u0027ent\u00EAte", "Rounds": "Tours",