我有一个可以生成数字的应用。我想为中国本地化。
我的代码如下:
this.diceValueTextSwitcher.setText("" + (rand.nextInt(6) + 1));
其中diceValueTextSwitcher是文本字段。
我不需要本地化欧洲和北美(以及其他讲欧洲语言的国家)的数字,因为所有主要的欧洲语言(俄语除外)都使用阿拉伯数字母(0 ... 9)。但普通话和广东话不会。
如果我的Android手机设置为粤语或Mandorin语言,Android会自动将阿拉伯数字转换为等价吗?或者Java是这样做的吗?或者它根本不会发生?如果是这样,最好的方法是将其本地化为具有以正常方式交换/输出的Mandorin(或其他)字符串吗?
答案 0 :(得分:2)
它不会自动为您转换,不。主要原因可能是编号系统不能完全相同。是的,这是一个十进制系统,但有十个,一百,一千,一万等个别字符。这不是一对一的字符交换。所以,如果 一对一地进行转换,那么本地读者就没有意义。
例如,使用阿拉伯数字,要写二十三,你可以:
(two)(three)
在日语中,你会写:
(two)(ten)(three)
但是,我不担心。阿拉伯语编号系统在亚洲国家的学校中教授,并且它们广泛用于涉及大量数字的大多数事物。价格标签,会计,游戏,仪表,类似的东西。
如果你真的做想要本地化,你必须手动,使用正确的字符串,或找到转换函数。
免责声明:这是基于我在日本生活了几年,但我几乎是正面的中国是一样的。他们使用了很多相同的表意文字,包括数字。