Documentation Frappe Framework

Frappe Framework

Résolution de la langue

Comment Frappe choisit la langue d’une session (frappe.lang) et comment exploiter chaque niveau de priorité dans vos apps ou vos scripts.

2 min de lectureMis à jour le Source : docs.frappe.io

Ordre de résolution

Cette page explique comment Frappe détermine la langue d’une session et comment vous pouvez exploiter ce mécanisme dans vos apps ou vos scripts.

La langue de la session dépend de la valeur de frappe.lang, résolue dans l’ordre suivant :

PrioritéSourceCléPortée
1Form Dict_langTous les utilisateurs
2Cookiepreferred_languageUtilisateur invité (Guest) uniquement
3En-tête de requêteAccept-LanguageUtilisateur invité (Guest) uniquement
4Document UserlanguageUtilisateur connecté
5System SettingslanguageTout le site (valeur de repli)

Form Dict : _lang

Le paramètre _lang du Form Dict a la priorité la plus haute. Le définir met à jour tous les composants traduisibles de la requête concernée. Frappe s’en sert à certains endroits pour gérer les modèles d’e-mail (Email Template) et les vues d’impression.

Passer ?_lang=ru à chaque requête n’est pas toujours pratique. Pour un réglage de langue persistant mais temporaire, vous pouvez définir la clé preferred_language dans les cookies. Frappe utilise ce mécanisme pour le sélecteur de langue du site web. Il permet de conserver la langue côté client.

À retenir

Pris en compte uniquement pour les utilisateurs invités (Guest). Ignoré pour les utilisateurs connectés.

En-tête de requête : Accept-Language

Une autre méthode, plus propre et standard, consiste à utiliser l’en-tête Accept-Language. Si les deux mécanismes précédents ne sont pas définis, Frappe lit les valeurs de cet en-tête, qui contient la liste ordonnée des langues acceptées par le client. La documentation Mozilla détaille cet en-tête.

À retenir

Pris en compte uniquement pour les utilisateurs invités (Guest). Ignoré pour les utilisateurs connectés.

Document User et System Settings

Le document User possède un champ language qui fixe la langue de session de cet utilisateur. Ce réglage est conservé quel que soit l’appareil ou le client, ce qui permet à un utilisateur de voir le site web et le bureau (Desk) dans la langue de son choix. Par exemple, si un utilisateur choisit « Russian » sur un site en français, le site est automatiquement traduit en russe dès qu’il se connecte.

Le champ language des paramètres système (System Settings) fixe la langue de tout le site. Il a la priorité la plus basse et sert de langue de repli pour toutes les sessions.

Pages liées

Résolution de la langue dans Frappe : frappe.lang | ERPNext Lab