gpt4 book ai didi

python - 无法在 Satchmo 中设置商店语言

转载 作者:太空宇宙 更新时间:2023-11-04 11:01:10 24 4
gpt4 key购买 nike

我正在尝试将 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"),
)

用户不应该选择其他翻译,因此在 settings.py 中将 allow_translation_choice 设置为 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 urls:

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',
)

跳过所有这些步骤后,我的商店语言仍然以英语显示,并且右下角仍然有一个带有空下拉按钮的“更改语言”。

有人知道我哪里出错了吗?

提前致谢。

最佳答案

我还必须将商店设置为“几乎”新语言“es”西类牙语。所以我将在这里放置与我们安装的任何差异:

在我的设置中我还有:

LC_CTYPE = 'es_ES.utf8'
TIME_ZONE = 'Europe/Madrid'

'allow_translation_choice': False, <- 这很奇怪,对我来说效果很好...这可能在您的本地设置文件中被覆盖了吗?

我也在 settings.py 上更改了这个

#### Satchmo unique variables ####
from django.conf.urls.defaults import patterns, include
SATCHMO_SETTINGS = {
'SHOP_BASE' : '',
'MULTISHOP' : False,
#'SHOP_URLS' : patterns('satchmo_store.shop.views',)
'SHOP_URLS' : patterns('', (r'^i18n/', include('l10n.urls')),),
'CUSTOM_SHIPPING_MODULES': ['FLAT_SHIPPING_NORMAL',],
#'SSL': True
}

如果这一切都没有帮助,您是否尝试添加更多语言,例如 de、en 并启用语言选择器以查看它是否更改为例如德语?这样您就可以确定它是否只是荷兰语翻译的问题。

你有没有翻译任何遗漏的信息...我刚刚查看了我的安装,它已经有 nl 的 po 文件。至少 product-po 看起来不错。所以你可能不需要运行 makemessages/compilemessages ......只有"new"语言才需要,或者当你想更新 po 文件时(以防源文件发生变化)......

但是,如果您需要更新翻译,我建议您看看 rosetta...它很棒!有时新生成的翻译文件有一些错误(只有标题,我不得不根据 django-src 中的现有文件手动放置其中一些:"Content-Type: text/plain; charset=UTF -8\n"和 "Content-Transfer-Encoding: 8bit\n") 但在将 header 添加到新文件后,效果很好。而且您不必自己编译 po 文件,因为 rosetta 在您保存时会这样做。

关于python - 无法在 Satchmo 中设置商店语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com