第五期特刊下载:http://www.eoeandroid.com/viewthread.php?tid=1122&extra=page%3D1
Android Applications Localization Helper (Android本地化助手)
By 游利卡
前言:
在看这期任务的时候,就感觉这期任务一定特别困那。但是翻译了第一篇文章以后,居然发现,这个国际化在Android上居然这么简单。简直让人无法想象。
第一篇就是量多了一些,美国人的废话多了一些(启示自己也不少)
第二篇来介绍一下这个Android Application Localization Helper(以下简称AALH)。因为知道国际化很容易了,自然也就觉得这个工具应该也不是太负责。拿到了以后的确,和我想的一样。而且还提供了源码的下载。刚一打开一个sln文件,咦,怎么这么熟悉。剩下的都是cs文件。cs文件,难道~!
God!God!God! ,他居然是用C#写的!他居然是用C#写的!他居然是用C#写的!他居然是用C#写的!他居然是用C#写的!他居然是用C#写的!他居然是用C#写的!
我那个感动啊,真是一把鼻涕一把泪。因为我就是从.NET平台出身的。所以C#自然也是非常熟悉了。因为机器在上次恢复了以后没装VS,只能用技术本来打开源码了。都是熟悉的句子啊。特别是刚开始的using 每次的namespace命名空间。当时真恨不得写一个源码分析来了。
开始正题;
大家可以到这里下载AALH,包括源代码。
http://www.artfulbits.com/Android/Localizer.aspx
看过源码了。因为使用的是C#开发,所以理论上只有Windows用户才有使用这个的机会了,而且一定要保证你的机器上安装了.NET framework。至少2.0版本以上,那是微软的一套库文件。C#就是靠这个来运行的,他相当于Java平台的JRE。如果你想深入了解这个,那就需要到.NET的社区去看了,C#的语法和Java很像。所以转换起来非常方便,不过要晋级开发还需要一些功夫。
Linux用户我不是很清楚,但是肯定的是wine肯定是不够的,在linux上,微软也放出了linux上的.NET framework叫做mono,两者配合能不能使用这个,只能说大家试试了。
C#奉行的是快速开发,提供了非常丰富的组件,因为国际化只涉及xml文件,所以C#的确是不二之选。
介绍一下界面。
AALH的界面非常简单 最右上角的可以用来导入你的项目文件。下面两个功能一个删除一个退出
而中间大的框框,就是现实相应的文字信息的ID 原始值 本地化后的值
如何使用:
其实Android的国际化工作之需要把所有的文字处理好就可以了。当然其实还有很多其他的工作,只不过文字工作量最大。而且有的时候国际化的时候有一些防止在Value的文件夹的文件并不需要改变。
而当你导入到了你的项目文件的时候,AALH会自动搜索到你的Value文件夹。如果没有设定国际化内容。在左边第一个框中就不会显示出任何内容。
好我们现在来导入上一期的维基词典。
如果你的文件中,全都是默认值,没有任何国际化的内容那么左边的第一个方框就会空,点开下来菜单也不会有东西。
但是这时,你就可以来添加你的国际化文件夹了。点击那个绿色的加号,然后。
我们直接添加我们要国际化的字符就可以了。下面还提供了很多的提示,支持的语言,非常方便。这里的中文的zh-CN 可不要直接写上去。因为国庆,所以zh分还多。而第二个代表地区,地区必须加上r的前缀,正确应该是zh-rCN
好咱们用中文吧
当添加好了以后AALH会自动把原有的Value文件夹里的文件复制新创建的Value-**
我们这里是Value-zh-CN
我们添加了String字符串。然后他就会把xml文件中所有的项目按照id 还有数值的形式保存下来。
虽然才40K但是他居然可以使用Google的翻译工具。

看右上角
可是对于我们博大精深的汉语来说,这个还不是很好用。而且这个Widget还有很多的其他字符,所以当前翻译功能被禁止了。
咱们只能手动来写了。
其实右边的就是让我们来编辑的了。这里我们可以看到因为xml都格式化好了,所以呢之需要改变数值就可以了,这比直接编辑XML文件要方便不少。好现在咱们开始进行中文化了。
双击你要本地化的项目。然后就会

一个对话框,直接在里面编辑就可以了。

现在我们编辑好了。
不过在我们实际使用的时候,需要把文件夹中的一个bak文件删掉,不然会报错。

现在已经变成中文的了
点击进去看看


本来Android的国际化就比较简单,有了AALH 更是如鱼得水了。

