我想在英语和土耳其语区域设置中将土耳其语字符串翻译成小写。我正在这样做:
String myString="YAŞAT BAYRI"; Locale trlocale= new Locale("tr-TR"); Locale enLocale = new Locale("en_US"); Log.v("mainlist", "en source: " +myString.toLowerCase(enLocale)); Log.v("mainlist", "tr source: " +myString.toLowerCase(trlocale));
输出为:
en source: yaşar bayri tr source: yaşar bayri
但是我想要这样的输出:
en source: yasar bayri tr source: yaşar bayrı
这在Java中可行吗?
如果使用Locale构造函数,则可以并且必须将语言,国家和变量设置为单独的参数:
Locale
new Locale(language) new Locale(language, country) new Locale(language, country, variant)
因此,您的测试程序使用语言“ tr-TR”和“ en_US”创建语言环境。对于测试程序,可以使用new Locale("tr", "TR")和new Locale("en", "US")。
new Locale("tr", "TR")
new Locale("en", "US")
如果您使用的是Java 1.7+,则还可以使用Locale.forLanguageTag以下命令解析语言标签:
Locale.forLanguageTag
String myString="YASAT BAYRI"; Locale trlocale= Locale.forLanguageTag("tr-TR"); Locale enLocale = Locale.forLanguageTag("en_US");
创建具有相应语言小写字母的字符串。