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文件。

 

[python] view plaincopy
 
  1. #: settings.py:136  
  2. msgid "English"  
  3. msgstr "英语"  
  4.   
  5. #: settings.py:137  
  6. msgid "Italiano"  
  7. msgstr ""  

 

 

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

翻译好后,编译po文件,

 

[plain] view plaincopy
 
  1. msgfmt --statistics --verbose -o django.mo django.po  

 

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

 

[plain] view plaincopy
 
  1. cd /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES   
  2.   
  3. ln -s /usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.mo django.mo  


重启apche2服务。就可以了。

posted on 2013-01-08 10:26  AllenZhao  阅读(929)  评论(1编辑  收藏  举报

导航