Aller à l'article
Aniq-UI

KinoraLangues

Langues

Comment Kinora fonctionne en anglais et en arabe, comment modifier n'importe quel texte, et quoi changer pour ajouter une langue.

Pour le pack Full Stack

Les langues livrées

L'anglais et l'arabe, dans les deux applications. L'arabe dispose tout le tableau de bord de droite à gauche, avec sa propre police.

ApplicationAnglaisArabe
Tableau de bord/en/…/ar/…
APIAccept-Language: enAccept-Language: ar

L'anglais est la langue par défaut. Le contenu des catalogues (exercices, séances d'entraînement, programmes, plats, groupes, événements, défis, badges) est enregistré avec son nom et sa description dans les deux langues, saisis côte à côte dans les écrans Content.

Comment la langue est choisie

  • La langue est la première partie de l'adresse. Un chemin sans langue redirige vers /en ; la langue du navigateur n'est pas détectée.
  • Le sélecteur de langue remplace cette partie de l'adresse et reste sur la même page.
  • Le sens d'écriture est défini avant le premier affichage : une page arabe ne s'affiche donc jamais brièvement de gauche à droite.
  • Le tableau de bord envoie la langue de la page à l'API dans Accept-Language : ses messages reviennent donc dans la même langue.

Modifier un texte

Chaque mot visible se trouve dans messages/<namespace>/en.json et ar.json, dans le dossier du tableau de bord. Changez la valeur, gardez la clé, et faites la modification dans les deux fichiers.

NamespaceCe qu'il contient
ai-assistantLa page de l'assistant
authLes pages de connexion, d'inscription et de mot de passe
commonLes mots des composants partagés : tableaux, filtres, envois de fichiers, recherche
dashboardChaque page du tableau de bord et les notifications, avec un dossier par section (activity, workouts, nutrition, clients, content, settings et les autres)
demo-credentialsLe panneau de la démo publique où un visiteur ajoute sa propre clé d'IA
layoutsLa barre de navigation, l'habillage de la barre latérale et la mention des données d'exemple
  • Une clé absente de ar.json s'affiche comme une erreur de message manquant côté arabe : gardez donc les deux fichiers alignés.
  • Les libellés de la barre latérale sont l'exception : ils sont écrits en anglais et en arabe dans src/layouts/dashboard/sidebar/config/navigationData.ts, qui alimente aussi la recherche.
  • Le texte entre accolades {curly} est rempli par l'application, par exemple {count} ou {name}. Gardez ces mots tels quels dans les deux langues.
  • Les notifications sont enregistrées comme ce qui s'est passé, jamais comme une phrase, et le tableau de bord écrit les mots à partir de ses propres fichiers de messages. Une nouvelle langue pour elles est une traduction, pas une modification de l'API.

Les libellés arabes propres au tableau de bord

Quand vous écrivez sur Kinora en arabe, utilisez les libellés qu'affichent ses écrans :

AnglaisArabeQui le voit
Dashboardلوحة التحكمTout le monde
AI Assistantالمساعد الذكيTout le monde
ActivityالنشاطLes membres
WorkoutsالتمارينLes membres
Exercise Libraryمكتبة التمارينLes membres
NutritionالتغذيةLes membres
Meal Plannerمخطط الوجباتLes membres
SleepالنومLes membres
HealthالصحةLes membres
ProgressالتقدمLes membres
Progress Photosصور التقدمLes membres
CommunityالمجتمعLes membres
My ClientsعملائيHead Coach et Personal Trainers
GymالناديPersonnel
ContentالمحتوىPersonnel
CoachesالمدربونPersonnel
Coach Rolesأدوار المدربينPersonnel
SettingsالإعداداتTout le monde
Sign Inتسجيل الدخولLa page de connexion

Ce que l'API traduit

  • Les messages d'erreur et le message d'une écriture réussie reviennent dans la langue de l'en-tête Accept-Language. ar-SA compte comme de l'arabe ; toute langue que l'API ne possède pas se replie sur l'anglais.
  • Ses textes sont des fichiers JSON dans back-end/src/i18n/translations/en/ et ar/, un par domaine : auth, coach, common, roles, settings, users.
  • Le contenu enregistré dans les deux langues revient sous la forme { "en": "…", "ar": "…" }, et le tableau de bord en choisit une.

Ajouter une langue au tableau de bord

Les deux langues sont écrites dans plusieurs fichiers : en ajouter une troisième touche donc chacun d'eux. Les chemins sont relatifs à dashboard/.

  1. Ajoutez le code de langue

    Ajoutez-le aux listes de langues dans src/config/i18n.ts, src/proxy.ts, src/app/[locale]/layout.tsx et src/components/LanguageSwitcher.tsx.

  2. Traduisez les messages

    Ajoutez un <code>.json à côté de chaque en.json sous messages/, y compris dans les dossiers de messages/dashboard/.

  3. Traduire la barre latérale et la marque

    Ajoutez votre langue à chaque libellé de src/layouts/dashboard/sidebar/config/navigationData.ts, et aux textes de src/config/brand.config.ts.

  4. Définissez le sens d'écriture

    Pour une langue de droite à gauche, ajoutez-la à RTL_LOCALES dans src/app/layout.tsx et à src/hooks/locale/useDirection.ts.

Le contenu des catalogues n'est enregistré qu'en anglais et en arabe. Une troisième langue demande aussi que les champs de contenu de l'API et les formulaires Content la prennent en charge.

Ajouter une langue à l'API

  1. Ajoutez le code de langue

    Ajoutez-le à supportedLocales dans back-end/src/i18n/i18n.service.ts.

  2. Traduisez les messages

    Copiez back-end/src/i18n/translations/en/ vers un dossier portant le nom du code et traduisez les valeurs. Une clé que vous omettez se replie sur l'anglais.

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.