Android如何导入语言资源
环境配置:(首先获取androidstring2dict-master-20130717.tar.gz,openpyxl-py2.7.egg工具包)
(1) sudo apt-get install python-setuptools
(2) sudo easy_install openpyxl-py2.7.egg (同样命令进行lxml,Babel安装)
(3) cd ~/ argparse-1.1
sudo python setup.py install
cd ~/ android2po-master
sudo python setup.py install
环境配置结束,接下来生成所需语言资源(以德语为例):
tar -xavf androidstring2dict-master-20130717.tar.gz解压。
修改androidstring2dict-master\androidstring2dict\config.py 文件,把需要翻译成德语的模块添加到Android_Component_SubPath数组中,模块用‘ ’且模块与模块间以,隔开。
如”package/apps/Contacts”
初始化字典,字典名称随意取test.dict, 生成local目录
python ~/String_ext/androidstring2dict-master/as2d.py init -dictionary test.dict -language de
拷贝字典到代码根目录(此为初始化生成的旧字典)
共享字典路径为:smb://share/wenneng/ i600wEU4.1/i600wEU_0705.dict
生成新字典,生成新的.po文件,此时在模块路径下会生成新的generate目录
python ~/String_ext/androidstring2dict-master/as2d.py generate -dictionary i600wEU_0705.dict -language de
执行完上述操作后,会在相应模块res文件夹下多出local文件夹和generate文件夹。
对比local目录和generate目录,确认字典是否导入。(local为旧字典生成的资源,generate为新字典生成的资源)
Bcompare local/ generate/
确认无误后,使用以下命令,导入翻译字符串,配置文件中设置的多少个模块就添加相同的命令:
a2po import --android packages/apps/Contacts/res/ --gettext packages/apps/Contacts/generate/
a2po import --android packages/apps/Phone/res/ --gettext packages/apps/Phone/generate/
……同样执行于其他模块,所有的模块德语资源就生成了,最后将生成的文件merge到代码库中就ok了。