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的文本国际化的主要内容,如果未能解决你的问题,请参考以下文章