@AlexeyFrunze:话虽如此,有时拥有“中文语言机器”或至少“土耳其语言机器”是很有帮助的。如果不在不同的区域设置中测试代码,则会出现一些问题无法捕捉。仅举一个微小的例子,与Unicode无关:您可以进行所有测试,以确保值1.0在用户的区域设置中打印为“1.0”,但如果您从未将用户的区域设置为欧洲任何地方,则不会看到它打印为“1,0”。因此,您的测试不会注意到您的代码是否错误地依赖于特定的十进制分隔符。 - Steve Jessop
@SteveJessop 对的。不过,也可以设置区域设置。 - Alexey Frunze
3@Alexey: 是的,我不确定提问者认为这个"机器"哪里不是中文。其中一半可能是在中国制造的,因此它也不是一个"英语"机器;-) Windows有单独的区域设置用于非Unicode和语言包来更改Windows的语言,不是所有版本都支持语言包。即使操作系统中的不同本地化文本对话框有问题时,如果你在对话框中没有做傻事情,甚至有可能会破坏你的程序。但我想我正在超越简单的问题,即程序是否支持Unicode,而是它是否适合国际使用:这是一个更强的要求。 - Steve Jessop
1.0
在用户的区域设置中打印为“1.0”
,但如果您从未将用户的区域设置为欧洲任何地方,则不会看到它打印为“1,0”
。因此,您的测试不会注意到您的代码是否错误地依赖于特定的十进制分隔符。 - Steve Jessop