django - 翻译项​​目外应用程序中的字符串(ej.django-rest-framework)

标签 django

假设我安装 djangorestframework我的项目中的应用程序。这个应用程序有许多可翻译的字符串(如果不是全部的话,大部分都是针对 API 错误的)。 DRF 版本为 3+,而 Django==1.7。

当我生成翻译的消息(使用 makemessages)时,我使用以下命令:

python ./manage.py makemessages -l es

我正在生成我的 .po 文件,但是 rest_framework (Django REST Framework 库的应用程序包)没有任何翻译文件。通过这种方式,我强制它使用以下方法生成要翻译的字符串:
  • 在我的项目目录中创建指向 rest_framework 的符号链接(symbolic link)包/目录。
  • python ./manage.py makemessages -l es --symlinks
  • 删除符号链接(symbolic link)。来自 django-rest-framework 的可翻译字符串现在包含在我的 django.po 文件中。

  • 但是这种方法对我来说很难看。

    如何在不手动添加它们且不使用我使用的方法的情况下将这些字符串添加到我的 django.po 文件中?

    最佳答案

    version 3.1 , DRF 有流行语言的翻译,包括 ES。 Full list

    如果您的目标语言不在列表中,我建议您将翻译贡献给 DRF。 How to add

    更新:
    Django 在当前工作文件夹( "." )下搜索翻译字符串。据我所知,符号链接(symbolic link)(您的解决方案)是让 makemessages访问您项目之外的第三方包。也许你可以建议 Django 团队实现一个允许 makemessages 的功能。寻找INSTALLED_APPS .

    关于django - 翻译项​​目外应用程序中的字符串(ej.django-rest-framework),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29221289/

    相关文章:

    django - Komodo Edit 5.2 Django 模板语法错误 - 信息 : <head> previously mentioned

    python - NoReverseMatch 与 Python 社交身份验证/Facebook 登录

    javascript - Django Ajax jQuery URL

    python - Django 500 服务器错误仅出现在一个 URL 中

    django - 我想在 Django 中创建一个可重用的函数

    django - 简单列表过滤器默认值

    python - 在 post_save 上添加 M2M

    django - Uwsgi重启-虚拟环境变量不可访问

    python - 从 Django 的 TextArea 小部件中删除标签

    python - 基于同一模型中其他字段的django字段验证器