Ubuntu 14.04.4 LTS Python 3.5.1 Django 1.9.7
Wenn Sie eine Übersetzungsdatei vorbereiten, wird die Sprache automatisch entsprechend der Sprachumgebung des Browsers ausgewählt.
--In MIDDLEWARE_CLASSES
'django.middleware.locale.LocaleMiddleware',
Hinzugefügt
Fügen Sie der Datei Folgendes hinzu
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
Führen Sie Folgendes in der Befehlszeile aus (von Englisch nach Japanisch)
mkdir /DJANGO_BASE_DIR/locale
django-admin.py makemessages -l ja
Bei der Ausführung wird "/ DJANGO_BASE_DIR / locale / ja / LC_MESSAGES / django.po" erstellt.
Bearbeiten der generierten django.po
#: path/to/template/index.html:4
msgid "hoge"
msgstr ""
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.
Führen Sie Folgendes in der Befehlszeile aus
python manage.py compilemessages
Bei der Ausführung wird das kompilierte / DJANGO_BASE_DIR / locale / ja / LC_MESSAGES / django.mo
erstellt.
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
Suchen Sie in der Sitzung des aktuellen Benutzers nach dem Schlüssel "django_language".
Suchen Sie nach Cookies. Der Name des Cookies wird auf den Wert der Einstellung LANGUAGE_COOKIE_NAME
gesetzt. (Der Standardname ist "django_language".)
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.
Wenn dies ebenfalls fehlschlägt, verwenden Sie die globale Einstellung LANGUAGE_CODE
.
Recommended Posts