我在django國際化(i18n)中遇到問題。翻譯不起作用。 我的Django的版本是:1.5.4 這是我的代碼:django i18n不工作
settings.py
ugettext = lambda s:s
LANGUAGES = [
('en','English'),
('fa','Farsi'),
]
LANGUAGE_CODE = 'en_us'
USE_I18N = True
USE_L10N = True
TEMPLATE_DIRS = (
os.path.join(PROJECT_PATH,'templates'),
)
urls.py
from django.conf.urls import patterns, include, url
from main import *
urlpatterns = patterns('',
url(r'$^',index),
)
main.py
from django.shortcuts import render
from django.utils.translation import ugettext_lazy as _
def index(request):
alert = _('this is my page')
return render(request,'index.html',{'alert':alert})
指數.html
{% load i18n %}
{{alert}}
然後:
$mkdir conf/locale -p
$django-admin.py makemessages -l fa
processing language fa
$django-admin.py compilemessages
processing file django.po in /home/mori/Desktop/salam/salam/locale/fa/LC_MESSAGES
django.po
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <[email protected]>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-10-15 13:12+0330\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <[email protected]>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: main.py:4
msgid "this is my page"
msgstr "in safeye mane"
我有 'django.middleware.locale.LocaleMiddleware' 中間件類和 'django.core.context_processors.i18n' TEMPLATE_COTEXT_PROCESSORS。
輸出
this is my page
我怎樣才能解決呢?
非常感謝。我的問題是LOCALE_PATHS,我沒有在settings.py中聲明。 – Mortezaipo