我需要在django admin中自动翻译数据。
我目前正在使用django rosetta手动翻译所有静态文本,以简化翻译。我需要做的是在管理界面中使用Microsoft转换器API自动翻译所有数据。
让我们假设我有一个执行翻译的功能。我应该将django-modeltranslation与翻译函数一起使用并覆盖每个模型的保存功能吗?
任何可以提供帮助的提示,模块或代码段。
答案 0 :(得分:0)
如果您需要翻译和翻译的语言是固定的,就像您不打算用多种语言输入数据一样,那么您可以在模型保存方法中翻译数据:
class ModelName(models.Model):
data = models.CharField()
def save(self):
""" Extension of parent save method """
for name in ModelName._meta.get_all_field_names():
field = getattr(name, ModelName, None)
field = translate(field)
super(ModelName, self).save()
另一种选择是在数据的输入验证中进行转换,如果它是一个表单:
class ModelNameForm(forms.Form):
data = forms.CharField()
def clean_data(self):
data = self.cleaned_data['data']
return translate(data)