一尘不染

设置土耳其语和英语语言环境:将土耳其语字符翻译成拉丁语等效词

java

我想在英语和土耳其语区域设置中将土耳其语字符串翻译成小写。我正在这样做:

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中可行吗?


阅读 234

收藏
2020-12-03

共1个答案

一尘不染

如果使用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");

创建具有相应语言小写字母的字符串。

2020-12-03