Django的文本国际化

Posted onlyhold

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的文本国际化相关的知识,希望对你有一定的参考价值。

1、表示需要翻译的文本:在python原文件和html等模板文件中都可以标识需要翻译的文本,在python源文件通过_()或者ueettext()函数表达需要翻译的需求。在模板文件中,用{%trans %}标签表达翻译需求。

2、创建语言文件:语言文件是Django找那个用于保存翻译关系的文件,网站应该为每种支持的语言建立一个语言文件,建立语言文件的方法是在项目根目录中执行如下命令:

django -admin makemessages -l zh_CN

该条命令会在当前目录及子目录的python文件以及模板文件中查找需要翻译的字符串,并将这些字符串放在zh_CN的语言文件中,该文件被命名为django.po。

zh_CN(简体中文),zh_TW(繁体中文)、en(英文)、de(德文)、fr(法文)、ja-jp(日文)

文件中的每条翻译由以下3部分组成:

(1)通过注释表达的该条翻译出现在python源文件或者HTML模板文件中的代码位置

(2)用msgid表达待翻译的文本

(3)用msgstr表达翻译后的文本内容,开发者需要自语言文件生成后逐个配置msgstr的字段。

3、编译语言文件

当完成语言文件的创建及翻译工作后,需要再次调用django-admin命令编译语言文件,使翻译生效

django-admin completesmessages

该条命令将自动搜索项目中所有的.po文件,并将其翻译后生成对应的.mo文件,django框架在运行时使用.mo文件进行网站的国际化翻译。

 

以上是关于Django的文本国际化的主要内容,如果未能解决你的问题,请参考以下文章

第六章:Django 综合篇 - 18:国际化和本地化

第六章:Django 综合篇 - 18:国际化和本地化

django特殊的标签和过滤器

Django 国际化(多语言)

django的国际化

Django:之安全国际化和session