翻译项目目录应用程序外的字符串(ej.django rest框架)
假设我在项目中安装了翻译项目目录应用程序外的字符串(ej.django rest框架),django,Django,假设我在项目中安装了djangorestframeworkapp。此应用程序有许多可翻译字符串(如果不是全部的话,大多数字符串都用于API错误)。DRF版本为3+,而Django==1.7 生成翻译后的消息(使用makemessages)时,我使用以下命令: python ./manage.py makemessages -l es 我得到了生成的.po文件,但是rest\u framework(Django rest framework库的应用程序包)没有任何翻译文件。通过这种方式,我强制它
djangorestframework
app。此应用程序有许多可翻译字符串(如果不是全部的话,大多数字符串都用于API错误)。DRF版本为3+,而Django==1.7
生成翻译后的消息(使用makemessages)时,我使用以下命令:
python ./manage.py makemessages -l es
我得到了生成的.po文件,但是rest\u framework
(Django rest framework库的应用程序包)没有任何翻译文件。通过这种方式,我强制它使用以下方法生成要翻译的字符串:
- 在我的项目目录中创建一个到
package/目录的符号链接rest\u框架
python./manage.py makemessages-l es--symlinks
- 删除符号链接。django rest框架中的可翻译字符串现在包含在我的django.po文件中
Django在当前工作文件夹(
“
)下搜索翻译字符串。据我所知,符号链接(您的解决方案)是让makemessages
访问项目外部的第三方软件包的唯一方法。也许您可以建议Django团队实施一项功能,该功能允许makemessages
通过已安装的应用程序进行搜索
注意,这是3.1.Cool中引入的新功能!没有检查3.1版本:D。但是其他潜在的第三方库呢?(即,如果DRF不是这种情况,而是另一组库)。请允许我投票支持3.1和i18n改进:)@LuisMasuelli,据我所知,对于第三方来说,没有比您更好的解决方案。在我的回答中添加了一些更新