问题标签 [django-modeltranslation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1371 浏览

python - django 权限和内容类型翻译

一段时间以来,我一直在使用django-modeltranslation来翻译 django 中的模型。这真的很简单,并且在我一直在开发的应用程序上运行良好,所有模型翻译的内容都由最终用户插入表单。

例如:输入:内容,content_en,content_pt,...

我必须构建一个应用程序,我需要在其中翻译 django 生成的“内置”模型字符串,例如“auth.permission.name”或“contenttypes.contenttype.name” ,并将它们添加到翻译 django.po 文件中。

我想出了一个很好的解决方案,

它使用 post_migration 信号创建一个包含 ugettext_lazy 元素列表的文件,因此新的字符串,例如新的 contenttype.name,被动态添加到“django.po”并加载到数据库中。

然而,使用 ugettext 调用创建文件有点奇怪

为了注册字符串,但我没有找到另一种注册方式并将它们动态添加到 django.po 文件中,所以我需要你的帮助


这是我所做的:

1.我创建了一个名为“工具”的应用程序,它是 INSTALLED_APPS 上的最后一个,所以它的迁移自然是最后一个被调用的。这个应用程序没有任何模型,它只是运行迁移,有 django-modeltranslation translation.py 文件和一个带有 post_migration 信号调用的应用程序配置。

2.运行“ manage.py makemigrations ”会在“auth”和“contenttypes”应用程序上创建带有额外“name_*”字段的迁移。

3.应用程序的应用程序配置具有 post_migrate 信号


4.迁移后调用 make_translations() 并生成一个包含 uggettext_lazy 调用列表的文件。

这是我想改变的一点。我真的需要创建一个文件吗?

上面的结果是这样的文件:

5.运行 'makemessages' 会将这些字符串添加到 'django.po' 文件中,然而 post_migration 信号并没有在这里停止,而是加载数据库中现有的编译字符串

如何在不创建文件的情况下替换“make_translations()”并使用 ugettext_lazy 注册这些字符串?

谢谢你的帮助

0 投票
2 回答
2489 浏览

python - django - 迁移和模型翻译的麻烦

我正在尝试将我的应用程序从 Django v1.6.11 升级到 v1.7.8。我按照说明从 South 升级,但一次又一次地遇到同样的错误。更确切地说:

在我看来,这似乎是一个 django-modeltranslation 问题。我已经在他们的网站上检查了依赖项,并且我使用了正确的设置:django 1.7.11、python 2.7.5、django-modeltranslation 0.8。

注意:如果我从我的 virtualenv 中卸载 South,我仍然会遇到同样的错误。

我试图从我的项目中解决我能够找到的所有弃用警告。但无论如何,迁移错误仍然存​​在。谁能看到任何可能的解决方案?谢谢 :-)

设置.py:

更新:根据 dukeofweatherby 的建议,我从我的 urls.py 中删除了对 admin.autodiscover() 的调用。无论如何,在此之后我仍然遇到同样的错误。

更新 2:from translation import *在导入 TranslationAdmin 之前解决了这个问题

0 投票
2 回答
503 浏览

python - 如何在 django-taggit 中添加翻译字段?

我正在开发多语言网站。在我的应用程序中,我使用 django modeltranslation 从管理员设置不同语言的值。那么如何将模型翻译添加到django-taggit以在不同语言上添加标签?

0 投票
0 回答
566 浏览

django - 如何设置默认语言 django-modeltranslation

我使用 django-modeltranslation 它工作得很好,但我有问题默认语言不起作用,其他语言的网站负载

我的设置.py

urls.py 配置

如何解决这个问题?解决办法是什么?

0 投票
1 回答
219 浏览

django - 想要翻译 Django 用户模型 first_name 和 last_name - django 1.5

我想翻译我的 from django.contrib.auth.models 导入用户模型的名字和姓氏。我知道 Django 中的自定义用户模型。但是有没有更好的方法来使用django Hvad进行翻译

作为参考,我在这里附上我的模型

如您所见, bio 字段是可翻译的,但我将如何翻译我的用户模型 first_name 和 last_name 字段

0 投票
1 回答
433 浏览

django - django-modeltranslation 显示所有语言形式

我想同时显示 3 种表格(使用不同的语言)语言:

模型:

形式:

然后想要显示不依赖于用户选择的语言的 3 个表单(en/fr/ja)

django-modeltranslation==0.10.1

Django==1.8.4

0 投票
1 回答
148 浏览

python - 使用 ModelTranslation 翻译 Django 中的同步模型

我正在使用ModelTranslation来翻译我的模型的内容。

但是,在开始使用该库之前,我已经使用makemigrationsmigrate.

我按照说明进行操作,但makemigrations没有识别出任何更改,因为它们已被迁移。

文件说

你可以使用一个小帮手:sync_translation_fields 命令,它可以执行 schema-ALTERing SQL 来添加新字段。

但即使sync_translation_fieldsNo new translatable fields detected

如何使用 ModelTranslation 翻译我已经迁移的模型?

0 投票
1 回答
114 浏览

django - /admin/translation_manager/translationentry/ 处的 OperationalError 没有这样的列:TRUE

我在我的 django 应用程序中使用 django-modeltranslation 进行多语言选项。我按照文档中的说明进行操作。但是当我接受“翻译条目”时,frm admin 我收到一条错误消息

/admin/translation_manager/translationentry/ 处的 OperationalError 没有这样的列:TRUE

任何人都可以帮助这是什么问题?

0 投票
1 回答
46 浏览

python - Django forms.py 初始化错误?

我有一个 django 视图将用户的首选语言环境传达给 forms.py 中的表单。但是,该表单似乎在我调用它之前就已经初始化了。

类 SurveyForm() 似乎在我从 views.py 调用之前加载,甚至SurveyForms()初始化函数激活之前加载。

这是代码:

当我上课时,它确实有效translation.activate('nl')SurveyForm当我放入translation.activate('nl'),__init__或 时views.py,它不起作用。这怎么能改变?

注意:我使用模型翻译,所以Q1.name当荷兰语处于活动状态时会得到荷兰语翻译。

0 投票
0 回答
334 浏览

python - django modeltranslation 删除数据

我在用模型翻译翻译django-eav字段时遇到了奇怪的麻烦。我想翻译 EnumValue 字段。translations.py 中的代码 这里是value

在eav value/models.py 中:

问题是,我已经在数据库中有很多 EnumValues。当我编写此翻译代码并进行迁移时,旧值就会消失。对象仍然存在其他字段,例如icon,但值为空。如果我尝试添加以前存在的价值,它会说:价值已经存在。如果我评论翻译代码并进行迁移,旧值就会恢复原状。为什么会这样?