django-rosetta 无法进行 django 翻译

问题描述 投票:0回答:4

我已经安装了 django-rosetta 进行翻译,通过 django 命令制作了 .po 和 .mo 文件

django-admin.py makemessages -l ar

并通过 django-rosetta 翻译所有单词,

现在,当我将语言从英语更改为阿拉伯语时,它会显示一些阿拉伯语单词和一些英语单词,尽管我已将所有这些单词翻译成阿拉伯语,

django translation django-rosetta
4个回答
1
投票

您是否重新启动了网络服务器?

这意味着您的项目标签将立即被翻译,不幸的是您仍然需要重新启动网络服务器才能使更改生效。 (新:如果您的网络服务器支持,您可以在保存更改时强制自动重新加载已翻译的目录。请参阅conf/settings.py 中有关 ROSETTA_WSGI_AUTO_RELOAD 变量的注释。

-- http://code.google.com/p/django-rosetta/


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

0
投票

您是否有标记为模糊的翻译? (在 Rosetta 中,您可以过滤以仅显示模糊翻译。)如果某些字符串模糊,请确保它们正确翻译,取消选中模糊标志并保存翻译。

翻译未显示的另一个原因可能是某些 Python 格式化字符串(例如“My %s apple”)未在翻译的字符串中正确再现。如果格式代码不平衡,Rosetta 应该警告您,并且实际翻译不会写入文件。


0
投票

您使用的是哪个版本的 django?

就我而言,我在 Django v3 中遇到了这个问题。我将其更新到 Django v4.1+ 后,它起作用了。

请提供有关版本的信息。

© www.soinside.com 2019 - 2024. All rights reserved.