Django

Django Internationalization

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

20 pytań z rozmów·
Senior
1

Which function should be used to mark a string as translatable in Django?

Odpowiedź

The gettext function, commonly imported with the _ (underscore) alias, is the standard method for marking translatable strings in Django. It looks up the translation of the string in the message catalog corresponding to the active language and returns the translated version if available.

2

What is the difference between gettext() and gettext_lazy() in Django?

Odpowiedź

gettext_lazy() returns a proxy object that is only evaluated when converted to a string, which is essential for translations defined at module level (like in models or forms). gettext() immediately evaluates the translation at call time, which is problematic if the language isn't determined yet.

3

Which Django middleware is responsible for activating the language for each request?

Odpowiedź

LocaleMiddleware examines the request to determine the user's preferred language by checking multiple sources: URL prefix, cookies, browser's Accept-Language header, and the LANGUAGE_CODE setting. It then activates the corresponding language for the entire request duration.

4

Which Django command extracts translatable strings from the source code?

5

Which command compiles .po translation files into binary .mo files?

+17 pytań z rozmów

Opanuj Django na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo