2016-10-10 88 views
0

試着翻譯模塊該模塊和加載國際化:Django的翻譯不工作

{% load i18n %} 

<p>{% trans "Welcome to our page" %}</p> 

{% language 'ru' %} 
    <p>{% trans "Welcome to our page" %}</p> 
{% endlanguage %} 

settings.py

SE_I18N = True 

USE_L10N = True 

LANGUAGES = (
    ('en', _('English')), 
    ('ru', _('Russian')), 
) 

LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'), 
) 
TEMPLATES = [ {  

      'context_processors': [ 
       'django.template.context_processors.i18n', 

MIDDLEWARE = [ 
     'django.contrib.sessions.middleware.SessionMiddleware', 
     'django.middleware.locale.LocaleMiddleware', 
     'django.middleware.security.SecurityMiddleware', 
     'django.middleware.common.CommonMiddleware', 
     'django.middleware.csrf.CsrfViewMiddleware', 
     'django.contrib.auth.middleware.AuthenticationMiddleware', 
     'django.contrib.messages.middleware.MessageMiddleware', 
     'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    ] 

的.po

msgid "Welcome to our page" 
msgstr "Приветствую вас!" 

#: project/settings.py:172 
msgid "English" 
msgstr "Английский" 

#: project/settings.py:173 
msgid "Russian" 
msgstr "Русский" 

月。

Report-Msgid-Bugs-To: 
POT-Creation-Date: 2016-10-10 19:24+0000 
PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE 
Last-Translator: FULL NAME <[email protected]> 
Language-Team: LANGUAGE <[email protected]> 
Language: 
MIME-Version: 1.0 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: 8bit 
Английский Русский Приветствую вас! 

urls.py

import os 

from django.conf.urls import url, include 
from django.contrib import admin 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 

urlpatterns = [ 
    url(r'^', include('account_management.urls')), 
    url(r'^admin/', admin.site.urls), 
    url(r'^i18n/', include('django.conf.urls.i18n')), 
] 

urlpatterns += staticfiles_urlpatterns() 

但是結果是:

歡迎來到我們的 頁歡迎到我們的網頁

我用這個文檔 https://docs.djangoproject.com/en/1.10/topics/i18n/translation/

也許我忘了一些ING?

+0

你可以顯示你的_urls.py_? –

+0

@vishes_shell更新 –

回答

0

那麼到底是怎麼回事,就是你只是普通的URL,當你需要i18n_patterns

那麼,您的網址更改爲

import os 

from django.conf.urls import url, include 
from django.conf.urls.i18n import i18n_patterns 
from django.contrib import admin 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^i18n/', include('django.conf.urls.i18n')), 
] 

urlpatterns += i18n_patterns(
    url(r'^', include('account_management.urls')), # put here urls that you need to translate 
) 

urlpatterns += staticfiles_urlpatterns() 

的文檔可以在這裏找到i18n_patterns

+0

不幸的是,一樣的。 –

+0

@ArtemDumanov你已經重新啓動了服務器,對吧? –

+0

@ vishes_shell三次。 –

0

您需要使用更新LANGUAGE_CODE設置的{% get_current_language as LANGUAGE_CODE %}標籤。見how-django-discovers-language-preference

{% load i18n %} 

    <p>{% trans "Welcome to our page" %}</p> 

{% language 'ru' %} 
    {% get_current_language as LANGUAGE_CODE %} 
    <p>{% trans "Welcome to our page" %}</p> 
{% endlanguage %} 

希望這會有所幫助。