Django

Internationalisation Django

i18n, gettext, translation strings, locale middleware, language detection, translation files

20 questions d'entretien·
Senior
1

Quelle fonction utiliser pour marquer une chaîne de caractères comme traduisible dans Django ?

Réponse

La fonction gettext, généralement importée sous l'alias _ (underscore), est la méthode standard pour marquer les chaînes traduisibles dans Django. Elle recherche la traduction de la chaîne dans le catalogue de messages correspondant à la langue active et retourne la version traduite si disponible.

2

Quelle est la différence entre gettext() et gettext_lazy() dans Django ?

Réponse

gettext_lazy() retourne un objet proxy qui n'est évalué que lorsqu'il est converti en chaîne, ce qui est essentiel pour les traductions définies au niveau du module (comme dans les models ou forms). gettext() évalue immédiatement la traduction au moment de l'appel, ce qui pose problème si la langue n'est pas encore déterminée.

3

Quel middleware Django est responsable de l'activation de la langue pour chaque requête ?

Réponse

LocaleMiddleware examine la requête pour déterminer la langue préférée de l'utilisateur en vérifiant plusieurs sources : le préfixe d'URL, les cookies, l'en-tête Accept-Language du navigateur, et le paramètre LANGUAGE_CODE. Il active ensuite la langue correspondante pour toute la durée de la requête.

4

Quelle commande Django permet d'extraire les chaînes traduisibles du code source ?

5

Quelle commande compile les fichiers de traduction .po en fichiers binaires .mo ?

+17 questions d'entretien

Maîtrise Django pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement