Aller à l'article
Aniq-UI

Financial DashboardLangues

Langues

Comment le tableau de bord fonctionne en anglais et en arabe, où se trouve chaque texte, et quoi changer pour ajouter une langue.

Les langues livrées

LangueAdresseSens d'écriturePolice
Anglais, par défaut/enDe gauche à droiteInter
Arabe/arDe droite à gaucheNoto Sans Arabic

Chaque libellé, bouton, légende de graphique, titre de tableau, message de formulaire et titre de page existe dans les deux langues.

Comment la langue est choisie

  • La langue est la première partie de chaque adresse : /en/dashboard/analytics, /ar/dashboard/analytics.
  • Un visiteur qui ouvre / est envoyé vers /ar quand son navigateur préfère l'arabe, et vers /en sinon. C'est src/proxy.ts qui s'en charge.
  • Le menu des langues de l'en-tête, un drapeau avec son code, change de langue et garde l'utilisateur sur la même page. Sur un téléphone, il se trouve dans le menu utilisateur. Language dans Settings, Preferences fait la même chose.

De droite à gauche

Sur /ar, src/app/[locale]/layout.tsx définit lang="ar" et dir="rtl" sur la page, si bien que toute la mise en page est inversée : la barre latérale passe à droite, et les cartes, tableaux et menus se lisent de droite à gauche.

Les composants utilisent des classes Tailwind logiques qui suivent le sens d'écriture, comme ms-2, pe-4, start-0 et text-start. Quand vous ajoutez du code, utilisez-les à la place de ml-*, pr-*, left-* ou text-left, sinon la page arabe s'affiche mal.

Où se trouvent les textes

Les textes sont répartis par page sous messages/, chaque dossier contenant un en.json et un ar.json :

DossierCe qu'il contient
messages/common/L'en-tête, la barre latérale, le sélecteur de dates, le pied de page, le sélecteur de couleur, et le titre et la description de chaque page
messages/auth/La page de connexion et la page d'accueil à /en
messages/dashboard/overview/La vue d'ensemble et ses widgets, le virement rapide et les notifications
messages/dashboard/analytics/La page d'analyses
messages/dashboard/transactions/La page des transactions
messages/dashboard/cards/La page des cartes
messages/dashboard/settings/La page des paramètres
messages/dashboard/ui-component/La page des composants d'interface

Modifier un texte

  • Changez la valeur dans le fichier anglais et celle qui lui correspond dans le fichier arabe. Gardez les mêmes clés dans les deux.
  • Une clé absente d'un fichier affiche son nom à la place du texte sur la page de cette langue.
  • Les mots entre accolades, comme {theme}, sont remplis par l'application. Gardez-les tels quels.

Les libellés arabes du tableau de bord

Quand vous écrivez sur le tableau de bord en arabe, utilisez les libellés qu'il affiche :

AnglaisArabe
Sign Inتسجيل الدخول
Overviewنظرة عامة
Your Cardsبطاقاتك
Analyticsالتحليلات
Transactionsالمعاملات
UI Componentsمكونات واجهة المستخدم
Settingsالإعدادات
Exportتصدير
Add Transactionإضافة معاملة
Logoutتسجيل الخروج

Ajouter une langue

  1. Ajoutez son code au routage

    Ajoutez le code de la langue à locales dans src/i18n/routing.ts. Par exemple le français :

    src/i18n/routing.ts
    locales: ['en', 'ar', 'fr'],
  2. Ajoutez ses fichiers de messages

    Dans chacun des huit dossiers sous messages/, copiez en.json sous le nouveau code et traduisez les valeurs. Gardez chaque clé et chaque mot entre accolades. src/i18n/request.ts les charge d'après le code de la langue : chaque dossier a donc besoin du fichier. Pour le dossier common :

    Terminaldans dashboard-template-1
    cp messages/common/en.json messages/common/fr.json
  3. Ajoutez-la au menu de langue

    Ajoutez-la à languageOptions dans src/components/LanguageSelector.tsx, avec son nom, un libellé court et un drapeau de country-flag-icons, par exemple { id: "fr", label: "Français", shortLabel: "FR", Flag: FR } avec FR ajouté à l'import des drapeaux.

  4. Définissez son sens d'écriture et sa police, si besoin

    Seul l'arabe est traité de droite à gauche. Pour une autre langue de droite à gauche, étendez les vérifications locale === "ar" dans src/app/[locale]/layout.tsx, src/components/calendar.tsx, src/components/themeToggle.tsx, src/features/dashboard/overview/components/CardSection/CardStack/index.tsx et dans QuickTransferSheet/index.tsx du virement rapide. Pour une écriture que Inter ne couvre pas, ajoutez une police avec next/font dans layout.tsx.

Relancez yarn dev, ou reconstruisez, et la nouvelle langue répond à sa propre adresse, ici /fr/login.

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.