Django:本地化API调用响应

时间:2014-10-29 11:55:06

标签: python django

我的应用程序有API接口,希望这些调用的响应支持各种语言。

def get_student(request):
 //code
 return JsonResponse(content={"Message": "student is found"}, status=200)

我已经浏览了django-localization文档,并为特定语言创建了 po和mo 文件。 而现在我仍然坚持如何使用这些文件并以特定语言提供响应。

任何帮助或参考将不胜感激。

编辑:这个帮助
settings.LOCALE_PATHS =(os.path.join(PROJECT_DIR,' locale')) 和

https://docs.djangoproject.com/en/1.3/howto/i18n/

1 个答案:

答案 0 :(得分:0)

在您担心.mo和.po文件之前,您需要在设置中设置各种标记,语言和中间件,并在应用和模板中标记可翻译文本。

你应该从https://docs.djangoproject.com/en/1.3/topics/i18n/开始查看大图片和定义,然后在这里继续https://docs.djangoproject.com/en/1.3/topics/i18n/translation/以了解如何标记可翻译的字符串。不要跳过笔记,因为有一些配置工作要做。

关于如何将字符串标记为可翻译,在上面的代码段中,它应该如下所示:

from django.utils.translation import ugettext as _

def get_student(request):
   //code
   return JsonResponse(content={"Message": _(u"student is found")}, status=200)

完成标记所有可翻译文本后,就可以生成源翻译文件(.po),使用实际翻译编辑它们,最后生成已编译的翻译文件(.mo)。