【发布时间】:2011-07-08 10:32:48
【问题描述】:
我正在尝试将 Satchmo 0.9.2 安装的默认和唯一商店语言设置为荷兰语。
我正在按照translating content 上的说明进行操作:
从目录/home/myusername/webapps/myshop/lib/python2.7/Satchmo-0.9.2-py2.7.egg我发出以下命令来编译荷兰语文件:
find . -name locale -exec sh -c 'cd $0 && cd ../ && python2.7
/home/myusername/webapps/myshop/lib/python2.7/django/bin/django-admin.py
makemessages -l nl -e html,txt,rml' {} \;
我现在可以看到多个 .../locale/nl/LC_MESSAGES/django.po 文件,其中包含翻译成荷兰语的消息字符串。
我的local_settings.py 文件定义了一个LOCALE_PATHS 变量:
LOCALE_PATHS = ""
我已将.po 文件编译为.mo 文件:
find . -name locale -exec sh -c 'cd $0 && cd ../ && python2.7
/home/myusername/webapps/myshop/lib/python2.7/django/bin/django-admin.py
compilemessages' {} \;
我只希望文本以荷兰语显示,所以我的 local_settings.py 只包含:
LANGUAGE_CODE = 'nl'
LANGUAGES = (
('nl', "Nederlands"),
)
用户不应该选择其他翻译,所以allow_translation_choice在settings.py中设置为False:
L10N_SETTINGS = {
'currency_formats' : {
'EURO' : {'symbol': u'€', 'positive' : u"€%(val)0.2f", 'negative':
u"€(%(val)0.2f)",
'decimal' : ','},
},
'default_currency' : 'EURO',
'show_admin_translations': True,
'allow_translation_choice': False,
}
在同一个文件中我启用了我的 i18n 网址:
SATCHMO_SETTINGS = {
'SHOP_BASE' : '',
'MULTISHOP' : False,
'SHOP_URLS' : patterns('', (r'^i18n/', include('l10n.urls')),)
}
为了确保我的模板使用正确的语言代码,我也有settings.py:
TEMPLATE_CONTEXT_PROCESSORS = (
'satchmo_store.shop.context_processors.settings',
'django.core.context_processors.auth',
'django.core.context_processors.i18n',
)
跳过所有这些障碍后,我的商店语言仍然以英语显示,并且右下角仍然有“更改语言”和一个空的下拉按钮。
谁知道我哪里出错了?
提前致谢。
【问题讨论】:
-
如果您在 Satchmo 中找到根据您所在国家/地区命名的目录(即荷兰语的“nl”),则表示您的语言在某种程度上受到支持,您可以跳过“翻译内容”现在开始测试它。 (没有制作消息,编写新翻译,编译消息)自 2010 年 8 月起支持荷兰语。您可以稍后返回以改进不完整的过时翻译。如果没有用你的语言写一行,第一步是没有用的。
标签: python django satchmo webfaction