假设您有一个django管理站点,其中包含常用的“用户/组”模型,以及一些其他您希望不进行翻译的模型,但某些特定形式需要翻译为另一种预定义语言,因此可以易于使用。
希伯来语/阿拉伯语: 我找到了一种翻译字段名称的简便方法,甚至找到了“ rtl.css”来部分翻译我的表单。标题仍然是英语,但仍显示在屏幕右侧。
文档以及许多示例显示,在翻译整个管理网站时(通过设置在整个网站上设置语言)可以提供很好的支持,但是我找不到如何设置该语言专门针对一种/某些形式,这似乎是合理的要求。
答案 0 :(得分:0)
那比预期的要容易得多...
将rtl.css从Django存储库复制到您的static /
然后在要使用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
form_url,obj)
你很好。这将只影响被覆盖的模型的管理员。