我已经安装了 django-rosetta 进行翻译,通过 django 命令制作了 .po 和 .mo 文件
django-admin.py makemessages -l ar
并通过 django-rosetta 翻译所有单词,
现在,当我将语言从英语更改为阿拉伯语时,它会显示一些阿拉伯语单词和一些英语单词,尽管我已将所有这些单词翻译成阿拉伯语,
我已经安装了 django-rosetta 进行翻译,通过 django 命令制作了 .po 和 .mo 文件
django-admin.py makemessages -l ar
并通过 django-rosetta 翻译所有单词,
现在,当我将语言从英语更改为阿拉伯语时,它会显示一些阿拉伯语单词和一些英语单词,尽管我已将所有这些单词翻译成阿拉伯语,
您是否重新启动了 Web 服务器?
这意味着您的项目标签将立即被翻译,不幸的是您仍然需要重新启动网络服务器才能使更改生效。(新:如果您的网络服务器支持它,您可以在保存更改时强制自动重新加载已翻译的目录。请参阅 conf/settings.py 中有关 ROSETTA_WSGI_AUTO_RELOAD 变量的注释。
你在运行什么样的服务器?
我对 Apache2 和 FastCGI 也有同样的问题。我必须重新启动 FastCGI 进程才能看到修改。
您是否已将本地路径正确添加到您的设置中?
PROJECT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))[0]
LOCALE_PATHS = (
os.path.join(PROJECT_PATH, "locale"),
)
您是否将翻译标记为模糊?(在 Rosetta 中,您可以过滤以仅显示模糊翻译。)如果某些字符串是模糊的,请确保它们已正确翻译,取消选中模糊标志并保存翻译。
翻译未显示的另一个原因可能是某些 python 格式化字符串(例如,'My %s apple')没有在翻译后的字符串中正确复制。如果格式代码不平衡,Rosetta 应该会警告您,并且实际的翻译不会写入文件。