4

我有一个生成数字的应用程序。我想为中国本地化。

我的代码如下所示:

this.diceValueTextSwitcher.setText("" + (rand.nextInt(6) + 1));

其中 diceValueTextSwitcher 是一个文本字段。

我不需要本地化欧洲和北美(以及其他讲欧洲语言的国家/地区)的数字,因为所有主要的欧洲语言(除了俄语?)都使用阿拉伯数字字母 (0...9)。但是,普通话和粤语没有。

如果我的 Android 手机设置为粤语或普通话,Android 会自动将阿拉伯数字转换为等值吗?或者是 Java 做到了这一点?还是根本不会发生?如果是这样,将其本地化为以正常方式换入/换出的 Mandorin(或其他)字符串的最佳方法是什么?

4

1 回答 1

2

它不会自动为您转换,不。主要原因可能是编号系统的工作方式不完全相同。是的,它是十进制系统,但有十、百、千、万等的单个字符。这不是一对一的字符交换。因此,如果它确实进行了一对一的转换,那么对于母语读者来说就没有意义了。

例如,对于阿拉伯数字,要写 23,您可以:

(two)(three)

用日语,你会写:

(two)(ten)(three)

不过,我不会担心的。亚洲国家的学校教授阿拉伯数字系统,他们将其广泛用于涉及大量数字的大多数事情。价格标签、会计、游戏、仪表,诸如此类。

如果您确实想要本地化,则必须手动进行,使用正确的字符串,或者找到转换函数。

免责声明:这是基于我在日本生活了几年,但我几乎肯定中国也是如此。他们使用很多相同的表意文字,包括数字。

于 2013-08-01T12:46:23.497 回答