2016-04-03 4 views
0

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

+1

haben Sie Dateien mit Übersetzungen kompiliert? – pkacprzak

+1

Nein, mein Schlechter! Ich habe diesen Schritt verpasst. Funktioniert jetzt perfekt. Sie können antworten und werden akzeptiert :) –

+0

@ArthurHavlicek Ich habe die gleichen Einstellungen mit dir aber immer noch in Englisch. Welchen Pfad muss ich als LOCALE_PATHS setzen? .... – user3595632

Antwort

1

Überprüfen Sie, ob Sie Dateien mit Übersetzungen kompiliert haben.