openstack dashboard的汉化

openstack的dashboard在语言设置栏里有多种语言可选,虽然有简体中文选项,但是它的汉化基本没有完成。openstack的dashboard采用的是django架构。

django 国际化的本质就是开发者对需要翻译的字符串进行标记,并对字符串进行相应的翻译。具体操作是:

1、创建locale目录,

2、然后django-admin.py makemessages -l zh_CN,生成locale/zh_CN/LC_MESSAGES/django.po 文件。在这个po文件里对英文进行翻译。

不过对于openstack的dashboard,它已经有po文件了,我们只需直接编辑po文件就行了。

我是用apt-get方式安装的,直接编辑/usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.po文件。

#: settings.py:136
msgid "English"
msgstr "英语"

#: settings.py:137
msgid "Italiano"
msgstr ""

po文件内容如上,msgid是源文件中出现的翻译字符串。msgstr 是相应语言的翻译结果。注意语句前后都有引号。 刚创建时 msgstr 是空字符串,需要翻译人员翻译。

翻译好后,编译po文件,

msgfmt --statistics --verbose -o django.mo django.po

在po文件的目录下会生成一个同名的mo文件。然后在 /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES下创建mo文件的软链接:

cd /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES 

ln -s /usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.mo django.mo

重启apche2服务。就可以了。

你可能感兴趣的:(django,语言)