我想翻譯任何語言的django權限名稱。要做到這一點,我在Django延長django.contrib.auth.models.Permission模式是這樣的:django中的變量翻譯
class ExtendedPermission(Permission):
translation_name = models.CharField(_('translation_name'),max_length=255)
然後我想在管理命令來更新這個表。從權限模型拍攝的第一「名稱」字段中,比它必須被翻譯成其它語言例如TR在ExtendedPermission模型translation_name field.This功能管理使用/命令:
def try_translate(self,permission):
translation.activate(settings.LANGUAGE_CODE)
translation.activate('tr')
translated_str =translation.ugettext(permission)
translation.deactivate()
return translated_str
當運行此命令的變量不會出現在.po文件中。但是,如果我給字符串,我想這樣翻譯: ugettext(「名稱」)
msgid =「name」出現在.po文件,我可以編輯msgstr,但我可以不使用ugettext從.mo文件獲取已轉換的msgstr。
我將'django.middleware.locale.LocaleMiddleware'添加到設置文件中。我還運行命令makemessages和compilemessages。
並且在我想要翻譯的字符串周圍沒有「模糊」命令。 – xxx34