我有一个生成数字的应用程序。我想为中国本地化。
我有这样的代码:
this.diceValueTextSwitcher.setText("" + (rand.nextInt(6) + 1));其中diceValueTextSwitcher是一个文本字段。
我不需要把欧洲和北美(以及其他讲欧洲语言的国家)的数字定位为所有主要的欧洲语言(除了俄语?)使用阿拉伯数字字母(0.9)。然而,普通话和广东话则不然。
如果我的Android手机设置为广东话或普通话,Android会自动将阿拉伯数字转换成相应的数字吗?或者是Java做到了这一点?还是根本不会发生?如果是这样的话,这是最好的方式来本地化这个字符串的曼多林(或任何其他)字符,以正常的方式交换进来/输出?
发布于 2013-08-01 12:46:23
它不会自动为你转换,不。主要原因可能是编号系统的工作方式不完全相同。是的,这是一种十进制,但是10,100,000,10000等都有单独的字符,这不是一对一的字符交换。因此,如果它确实转换成一对一,这对一个本地读者来说是没有意义的。
例如,使用阿拉伯数字,要写二十三个数字,就需要:
(two)(three)在日语里,你会写:
(two)(ten)(three)不过,我不会担心的。阿拉伯数字系统是在亚洲国家的学校中教授的,他们在大多数涉及大量数字的事情上都广泛使用它。价格标签,会计,游戏,计量器,诸如此类。
如果您真的想本地化,您必须手动地使用正确的字符串,或者找到一个转换函数。
免责声明:这是基于我在日本生活了几年,但我几乎肯定中国是一样的。他们使用很多相同的表意文字,包括数字。
https://stackoverflow.com/questions/17994229
复制相似问题