我已经安装了django-rosetta进行翻译,通过django命令制作.po和.mo文件
django-admin.py makemessages -l ar
并通过django-rosetta翻译所有单词,
现在,当我将我的语言从英语改为阿拉伯语时,它会显示一些阿拉伯语和一些英语的单词,尽管我用阿拉伯语翻译了所有这些单词,
谁能帮助我吗?我调试但无法找到问题所在:(任何形式的帮助将不胜感激!
答案 0 :(得分:1)
你重启了网络服务器吗?
这意味着您的项目标签将立即被翻译,遗憾的是您仍然需要重新启动网络服务器才能使更改生效。 (新:如果您的网络服务器支持它,您可以在保存更改时强制自动重新加载已翻译的目录。请参阅conf / settings.py中有关ROSETTA_WSGI_AUTO_RELOAD变量的说明。
答案 1 :(得分:1)
你在运行什么样的服务器?
我遇到了与Apache2和FastCGI相同的问题。我不得不重新启动FastCGI流程以查看修改。
您是否已将本地路径正确添加到您的设置中?
PROJECT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]
LOCALE_PATHS = (
os.path.join(PROJECT_PATH, "locale"),
)
答案 2 :(得分:0)
您的翻译是否标记为模糊? (在Rosetta中,您可以过滤以仅显示模糊翻译。)如果某些字符串模糊,请确保它们已正确翻译,取消选中模糊标记并保存翻译。
翻译未显示的另一个原因可能是某些python格式化字符串(例如“我的%s苹果”)未在翻译的字符串中正确再现。如果格式代码不平衡,Rosetta应该警告您,并且实际的翻译不会写入文件。