我需要在 django admin 中自动翻译数据。
我目前正在使用 django rosetta 手动翻译所有静态文本,以简化翻译。我需要做的是使用管理界面中的 Microsoft 翻译 API 自动翻译所有数据。
假设我有一个进行翻译的函数。我应该将 django-modeltranslation 与翻译功能一起使用并覆盖每个模型的保存功能吗?
任何可以提供帮助的提示、模块或代码片段。
我需要在 django admin 中自动翻译数据。
我目前正在使用 django rosetta 手动翻译所有静态文本,以简化翻译。我需要做的是使用管理界面中的 Microsoft 翻译 API 自动翻译所有数据。
假设我有一个进行翻译的函数。我应该将 django-modeltranslation 与翻译功能一起使用并覆盖每个模型的保存功能吗?
任何可以提供帮助的提示、模块或代码片段。
如果您需要翻译和翻译的语言是固定的,例如您不打算让用户输入多种语言的数据,那么您可以在模型保存方法中翻译数据:
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)