mo初始化python失败影响_Django translation创建po和mo文件,但转换失败并显示翻译占位符...

在Django 1.6.5项目中,使用virtualenv和apache2,配置了多语言支持,但在创建po和mo文件后,翻译未生效,页面上仍然显示翻译占位符。设置包括LocaleMiddleware、LanguageCookieName和LANGUAGES,模板文件已正确设置翻译字符串。尽管po文件翻译完成,但访问页面时未显示翻译内容,只有在admin部分翻译工作正常。检查urlpatterns和i18n_patterns,问题依然存在。
摘要由CSDN通过智能技术生成

我将django1.6.5与virtualenv(Vitrual环境)和apache2一起使用

我有以下settings.py结构:from django.utils.translation import ugettext_lazy as _

MIDDLEWARE_CLASSES = (

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.locale.LocaleMiddleware',

'django.middleware.common.CommonMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.clickjacking.XFrameOptionsMiddleware',

)

LANGUAGE_CODE = 'tr_TR'

LANGUAGE_COOKIE_NAME = 'wm_lang'

LOCALE_PATHS = (

'/home/mustafa/python/myproject/locale'

)

USE_I18N = True

USE_L10N = True

LANGUAGES = (

('tr', _(u'Türkçe')),

('en', _(u'English')),

)

我有一个模板文件看起来像那样

^{pr2}$

我运行以下命令来创建po文件django-admin.py makemessages --locale=tr --locale=en

它将创建以下文件/home/mustafa/python/myproject/locale/tr/LC_MESSAGES/django.po

/home/mustafa/python/myproject/locale/en/LC_MESSAGES/django.po

我应用翻译字符串,这样我的django.po翻译文件看起来像这样

英语:#: templates/websitesi/index.html:6

msgid "Hosgeldin"

msgstr "Welcome, that is a test"

tr:#: templates/websitesi/index.html:6

msgid "Hosgeldin"

msgstr "Hoşgeldiniz, bu bir deneme"

然后我用django-admin.py compilemessages

django在两种语言的django.mo文件附近创建django.mo文件。在

但是当我访问这个页面时,我看到的是Hosgeldin(翻译占位符),而不是翻译的文本。在

将{LANGUAGE}}}写入模板将显示所选的语言代码。当我的地址是someadress/en时,语言代码显示为en。。。在

我错过了什么?在

更新:这是我的root^{的一部分urlpatterns = patterns('',

(r'^i18n/', include('django.conf.urls.i18n')),

)

urlpatterns += i18n_patterns('',

url(r'^admin/docs/', include('django.contrib.admindocs.urls')),

url(r'^admin/', include(admin.site.urls)),

)

urlpatterns += staticfiles_urlpatterns()

urlpatterns += i18n_patterns('websitesi.views',

url(r'^$', 'index', name='index'), # This is my home page

....

....

然后我去my_local_server/或my_local_server/tr或{}来测试,但是翻译都失败了。在

当我通过my_local_server/tr/admin或my_local_server/en/admin进入管理时,django trqnslations工作得很好。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值