目前我正在处理一项任务,该任务要求每个 Django 用户都有不同的语言环境文件和翻译,当然例如同一个应用程序的不同翻译。
我试图对自己的场景进行一些更改,下一行已完成并且工作正常,但我也遇到了一些麻烦
整个应用程序被翻译成英语和德语
当我创建新用户时,我将默认翻译文件 .po 复制到与该用户相关的新目录中。对于这种情况,我制作了容器应用程序,它包含所有自定义翻译和目录,其架构如“apps/trans/locale/user1/”、“apps/trans/locale/user2/”等。这些路径会在应用程序启动时添加到 settings.LOCALE_PATHS 中。
我已经在我的 Django 管理员中实现了 Rosetta,并为所有这些显示了正确的 .po 文件(自定义 .po)
Django tempalatetags i18n.py 被复制到我的 teplatetags 目录中,并为我的目的而扩展
我还想对 django.core.translation 模块进行一些自定义修改,并将此文件复制到我的项目中,但现在我不知道如何正确加载此模块以覆盖默认的 Django 功能,因为我想替换默认翻译与自定义here
现在我使用 _ _ import _ _ 然后我用我的模块替换 sys.modules['django.utils.translation'] 。这是正确的方法吗?
那么有人有想法吗?
谢谢