代码之家  ›  专栏  ›  技术社区  ›  rubmz

Django-是否可以只翻译一些模型(管理表单)?

  •  0
  • rubmz  · 技术社区  · 7 年前

    假设您有一个django管理站点,其中包含常见的用户/组模型,以及一些您希望不进行翻译的其他模型,但一些特定的表单需要翻译为另一种预定义的语言,以便易于使用。

    想想希伯来语/阿拉伯语: 我已经找到了一种简单的方法来翻译字段名,甚至还有用于翻译表单的“rtl.css” 部分地 .然而,标题仍然是英文的,但仍在屏幕右侧。

    文档和大量示例表明,在翻译整个管理站点时(通过设置在整个站点上设置语言),有很好的支持,但我找不到如何将语言专门设置为一个/一些表单,这似乎是一个合理的要求。

    0 回复  |  直到 7 年前
        1
  •  0
  •   jlanza    7 年前

    这比预期的要容易得多。。。

    复制rtl。从django存储库到静态数据库的css/

    然后,在任何要使用RTL的ModelAdmin中,只需添加:

    class Media:
        css = {'all': ('project_name_folder/css/rtl.css',)}
    
    def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None):
        translation.activate('he') # 'he' for hebrew
        return super().render_change_form(request, context, add, change,         
        translation.activate('en') # go back to english/LTR for other views
    

    表格(网址,obj)

    你可以走了。这将只影响被覆盖模型的管理员。

    推荐文章