【问题标题】:How to change fields label to a specific language in django admin panel?如何在 django 管理面板中将字段标签更改为特定语言?
【发布时间】:2016-08-20 13:56:30
【问题描述】:

我正在使用 Python 3 和 Django 1.10。
我有一个名为Company 的模型。它有一个名为title 的字段。我正在尝试以两种语言保存公司名称,但我不想将它们分成title_entitle_fa。我想在公司字段中使用Json 保存他们两个。如何在保存之前进行这些更改?

我还将此模型添加到管理面板,以便我可以看到该页面中的字段。 我想翻译title 标签(在管理面板中)和该表单中的其他字段。 例如,如果语言是英语:它将标题作为标签显示给我,如果它设置为 fa(波斯语),它会给我翻译。 如何设置我的语言文件来更改它们?

【问题讨论】:

    标签: python django django-models django-admin multilingual


    【解决方案1】:
    from django.utils.translation import ugettext_lazy as _
    
     class MyModel(models.Model):
         title = models.CharField(_('mymodeltitle'), max_length=80)
    

    做一个make消息。翻译。编译消息。它应该在管理员中翻译。

    对于 Django 中的翻译:

    https://docs.djangoproject.com/en/1.10/topics/i18n/translation/

    【讨论】:

    • 为什么要使用lazy?那么 ugettext 有什么问题? @奥黛丽-罗斯
    • 过去,当您处于应用程序的不同部分时,常规的 ugettext 给我带来了麻烦。设置 vs 模型 vs 信号 vs url 等等。当我知道当我在 urls.py 文件中翻译 url 时,lazy 工作时,使用lazy 会更简单。从那以后我就没有遇到过问题
    • 它不应该给你的管理情况带来问题
    • 我也刚刚意识到您的问题涉及两个概念。此解决方案解决了第二部分,但对于第一部分,如果我们必须将标题存储在数据库中,我们总是使用 title_en 和 title_fr,而不仅仅是翻译标签。
    • 谢谢...知道了@Audrey-Rose
    猜你喜欢
    • 1970-01-01
    • 2020-06-01
    • 2021-10-27
    • 2019-12-28
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    相关资源
    最近更新 更多