11

我有一个 Django 项目,它使用django-tagging并且应该以德语运行。所以我查看了来源,发现django-tagging确实使用gettext_lazy,因此是完全可翻译的。但是,包中没有可用的翻译。所以我认为我必须有一种方法可以从我的项目中翻译它。

换句话说,我希望./manage.py makemessages -a包含来自 的未翻译字符串django-tagging,但显然我的期望是错误的。

那么,我该如何妥善处理这种情况呢?django-tagging在上游存储库中的翻译会按预期工作吗?

4

3 回答 3

5

您可以在 django-tagging 目录中创建 gettext 消息并将翻译贡献给项目负责人:

django-admin.py makemessages -l de

如果要在项目目录中创建消息目录,则应在项目目录中安装或符号链接应用程序(检查 makemessages 的 -S 选项)。然后使用上面的 manage.py makemessages 命令。

如果您想查看有关翻译第 3 部分应用程序的更多详细信息,请查看:

http://source.mihelac.org/2010/07/31/handling-i18n-in-django-projects/

于 2011-06-12T12:23:08.437 回答
2

在我的项目目录中,我创建了一个指向该第三方应用程序的符号链接,并使用“--symlinks”选项运行我的 makemessages 命令:

../manage.py makemessages -l nl --symlinks

然后我删除我的符号链接

于 2013-12-02T15:14:15.373 回答
0

Detailed:

ln -s full/path/to/installed/app/folder path/to/folder/with/symlinks/in/your/project

and then run

django-admin.py makemessages --locale=*lang* --symlinks

for instance if i want translate django-tagging:

 ln -s /home/user/python_projects/agregator_gitlab/venv/lib/python3.6/site-packages/tagging /home/user/python_projects/agregator_gitlab/agregator/site_aggregator_backend/extra-locales/tagging

(my manage.py locates agregator/site_aggregator_backend/manage.py)

and

django-admin.py makemessages --locale=uk --symlinks

and all work perfectly!

于 2019-08-14T13:29:11.140 回答