我想在英语和土耳其语环境中将我的土耳其语字符串翻译成小写。我正在这样做:
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
构造函数,您可以并且必须将语言、国家和变体设置为单独的参数:
new Locale(language)
new Locale(language, country)
new Locale(language, country, variant)
因此,您的测试程序使用“tr-TR”和“en_US”语言创建语言环境。对于您的测试程序,您可以使用 new Locale("tr", "TR")
和 new Locale("en", "US")
。
如果您使用的是 Java 1.7+,那么您还可以使用 Locale.forLanguageTag
解析语言标签:
String myString="YASAT BAYRI";
Locale trlocale= Locale.forLanguageTag("tr-TR");
Locale enLocale = Locale.forLanguageTag("en_US");
创建具有适合该语言的小写字母的字符串。
关于java - 设置土耳其语和英语语言环境 : translate Turkish characters to Latin equivalents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13010958/