[PYTHON] Internationalisierungsunterstützung mit Django 1.9

Umgebung

Ubuntu 14.04.4 LTS Python 3.5.1 Django 1.9.7

Voraussetzungen

Wenn Sie eine Übersetzungsdatei vorbereiten, wird die Sprache automatisch entsprechend der Sprachumgebung des Browsers ausgewählt.

Verfahren

Änderungen an settings.py

--In MIDDLEWARE_CLASSES 'django.middleware.locale.LocaleMiddleware', Hinzugefügt

Vorlage ändern

Erstellen einer Übersetzungslistendatei

Auf diese Weise wird eine Datei vorbereitet, die den Dateinamen und die Zeilennummer des Teils enthält, der in der Vorlage als "{% trans'hoge"%} "usw. angegeben ist. Geben Sie daher die übersetzte Zeichenfolge in msgid an.

Übersetzungsdateien kompilieren

Nachtrag: Priorität der Erkennung von Spracheinstellungen (veröffentlichter Inhalt des offiziellen Dokuments)

  1. Suchen Sie zunächst in der angeforderten URL nach dem Sprachpräfix. Dies geschieht nur, wenn die Funktion i18n_patterns in der root URLconf verwendet wird. Referenz: Wechseln Sie die in Django 1.9 angezeigte Sprache

  2. Suchen Sie in der Sitzung des aktuellen Benutzers nach dem Schlüssel "django_language".

  3. Suchen Sie nach Cookies. Der Name des Cookies wird auf den Wert der Einstellung LANGUAGE_COOKIE_NAME gesetzt. (Der Standardname ist "django_language".)

  4. Sehen Sie sich den HTTP-Header Accept-Language an. Dieser Header wird vom Browser gesendet und teilt die gewünschte Sprache des Benutzers in der Reihenfolge ihrer Priorität mit. Django durchsucht alle übergebenen Sprachen, bis eine verfügbare Übersetzung gefunden wird.

  5. Wenn dies ebenfalls fehlschlägt, verwenden Sie die globale Einstellung LANGUAGE_CODE.

Recommended Posts

Internationalisierungsunterstützung mit Django 1.9
Internationalisierung mit Django
Django
Starten Sie Notizen für vorhandene Django-Anwendungen
[Für Anfänger] Django -Entwicklungsumgebung Bau-
Starten Sie Django zum ersten Mal
Befehle beim Erstellen von SNS mit Django
Django-Update
Django Note 4
Django-Suche
Django Installation
Django Zusammenfassung
Django-Test
Befehle zum Erstellen eines neuen Django-Projekts
Same-Site-Attributeinstellung des Cookies in Django
Django # 2 (Vorlage)
Django Note 5
Django Tutorial Zusammenfassung für Anfänger von Anfängern ③ (Anzeigen)
Django zum Anfassen
Berühre Django
Django Memo
Django Zusammenfassung
Django Grundlagen
Django Shoho
Abfrageparameter für GET-Anforderungen mit Django abrufen
Django Grundeinstellungen
Django + Docker
Django Glossar
(Für mich) Django_1 (Basic / Hello World / Template)
Django Installation
Django: Referenzen
[Django] Einstellung zum Senden von E-Mails mit Postfix
Django Note 1
Django Note 3
Django Tutorial Zusammenfassung für Anfänger von Anfängern ⑤ (Test)
Django Note 2
Best Practices für Django views.py und urls.py (?)
Django-Start
Schreiben Sie kurz if-else von Django Template
Django Memo
Django NullCharField
Wiederholen Sie alles für den Django-Anmeldebildschirm
Django Tutorial Zusammenfassung für Anfänger von Anfängern ⑦ (Customize Admin)
Django Tutorial Zusammenfassung für Anfänger von Anfängern ⑥ (statische Datei)
Django Tutorial Zusammenfassung für Anfänger von Anfängern ② (Model, Admin)
Django Tutorial Zusammenfassung für Anfänger von Anfängern ① (Projekterstellung ~)
Erstellen Sie mit Django ein Dashboard für Netzwerkgeräte!
Django mit Python Tools 2.2 für Visual Studio (PTVS 2.2)
Django Tutorial Zusammenfassung für Anfänger von Anfängern ④ (Generic View)
Führen Sie eine mehrdeutige Suche nach MySQL in Django durch