Django

Internacjonalizacja w Django

i18n, gettext, ciągi tłumaczeń, locale middleware, wykrywanie języka, pliki tłumaczeń

20 pytań z rozmów·
Senior
1

Której funkcji należy użyć, aby oznaczyć ciąg znaków jako możliwy do przetłumaczenia w Django?

Odpowiedź

Funkcja gettext, zwykle importowana pod aliasem _ (podkreślenie), to standardowa metoda oznaczania ciągów do tłumaczenia w Django. Wyszukuje tłumaczenie ciągu w katalogu komunikatów odpowiadającym aktywnemu językowi i zwraca przetłumaczoną wersję, jeśli jest dostępna.

2

Jaka jest różnica między gettext() a gettext_lazy() w Django?

Odpowiedź

gettext_lazy() zwraca obiekt proxy, który jest oceniany dopiero przy konwersji na ciąg znaków, co jest kluczowe dla tłumaczeń definiowanych na poziomie modułu (jak w models lub forms). gettext() ocenia tłumaczenie natychmiast w momencie wywołania, co jest problematyczne, jeśli język nie został jeszcze określony.

3

Które middleware Django odpowiada za aktywację języka dla każdego żądania?

Odpowiedź

LocaleMiddleware analizuje żądanie, aby określić preferowany język użytkownika, sprawdzając wiele źródeł: prefiks URL, ciasteczka, nagłówek Accept-Language przeglądarki oraz ustawienie LANGUAGE_CODE. Następnie aktywuje odpowiedni język na cały czas trwania żądania.

4

Które polecenie Django wyodrębnia tłumaczalne ciągi znaków z kodu źródłowego?

5

Które polecenie kompiluje pliki tłumaczeń .po do binarnych plików .mo?

+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