Django Allauth Modul kommt mit i18n'd Vorlagen und Ansichten, die ich verwenden möchte, um meine Seite in Französisch angezeigt bekommen. Allerdings wird nur der mit _() gerenderte Text korrekt übersetzt.Fehler bei der Verwendung von i18n in Django All-Auth
Innerhalb der Vorlagen gibt {% trans %}
und {% blocktrans %}
keinen übersetzten Text aus, aber {% get_current_language %}
gibt das richtige Tag zurück.
Einstellungen Beispiel:
USE_I18N = True
django.core.context_processors.i18n
TEMPLATES = [{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS': ['mydir/templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.template.context_processors.i18n',
'django.contrib.messages.context_processors.messages',
],
},
},
},]
LOCALE_PATHS = ['/abs/path/to/locale',]
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
LANGUAGE_CODE = 'fr'
LANGUAGES = ('fr',)
Die Vorlage:
{% extends "account/base.html" %}
{% load i18n %}
...
{% trans "Signup" %}
...
abs/path/to/locale/fr/LC_MESSAGES/django.po, Linie 666-667:
msgid "Signup"
msgstr "Inscription"
Ich habe keine Ideen, wo ich hinschauen soll. Ich habe versucht, den Server neu zu starten und den Cache ohne Erfolg zu leeren. Jede Hilfe würde sehr geschätzt werden.
EDIT: Problem gelöst durch Ausführen python manage.py compilemessages
. Hinweis zu sich selbst: RTFM
haben Sie Dateien mit Übersetzungen kompiliert? – pkacprzak
Nein, mein Schlechter! Ich habe diesen Schritt verpasst. Funktioniert jetzt perfekt. Sie können antworten und werden akzeptiert :) –
@ArthurHavlicek Ich habe die gleichen Einstellungen mit dir aber immer noch in Englisch. Welchen Pfad muss ich als LOCALE_PATHS setzen? .... – user3595632