Django

Django-Internationalisierung

i18n, gettext, Übersetzungsstrings, Locale-Middleware, Spracherkennung, Übersetzungsdateien

20 Interview-Fragen·
Senior
1

Welche Funktion sollte verwendet werden, um einen String in Django als übersetzbar zu markieren?

Antwort

Die Funktion gettext, die üblicherweise mit dem Alias _ (Unterstrich) importiert wird, ist die Standardmethode zum Markieren übersetzbarer Strings in Django. Sie sucht die Übersetzung des Strings im Nachrichtenkatalog der aktiven Sprache und gibt die übersetzte Version zurück, falls verfügbar.

2

Was ist der Unterschied zwischen gettext() und gettext_lazy() in Django?

Antwort

gettext_lazy() gibt ein Proxy-Objekt zurück, das erst bei der Umwandlung in einen String ausgewertet wird, was für auf Modulebene definierte Übersetzungen (wie in Models oder Forms) unerlässlich ist. gettext() wertet die Übersetzung sofort beim Aufruf aus, was problematisch ist, wenn die Sprache noch nicht festgelegt wurde.

3

Welche Django-Middleware ist für die Aktivierung der Sprache bei jeder Anfrage zuständig?

Antwort

LocaleMiddleware untersucht die Anfrage, um die bevorzugte Sprache des Benutzers zu ermitteln, indem es mehrere Quellen prüft: das URL-Präfix, Cookies, den Accept-Language-Header des Browsers und die Einstellung LANGUAGE_CODE. Anschließend aktiviert es die entsprechende Sprache für die gesamte Dauer der Anfrage.

4

Welcher Django-Befehl extrahiert übersetzbare Zeichenketten aus dem Quellcode?

5

Welcher Befehl kompiliert .po-Übersetzungsdateien in binäre .mo-Dateien?

+17 Interview-Fragen

Meistere Django für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten