java - 设置土耳其语和英语语言环境 : translate Turkish characters to Latin equivalents

标签 java android locale

我想在英语和土耳其语环境中将我的土耳其语字符串翻译成小写。我正在这样做:

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/

相关文章:

javascript - WebView addJavascriptInterface函数带参数

android - 如何防止配对的蓝牙设备被其他apk连接?

c++ - 将 std::string 从一种语言环境转换为另一种语言环境

java - 动态扩展 JtextArea 中的高度

java - 让所有类线程都忽略单个事件

java - 给出数字

javascript - 使用 Moment JS : Cannot find module "./locale" 创建 React 应用程序

postgresql - 如何在postgresql中获得比给定字符大的最接近字符?

java - 在 Linux 中使用 Java RXTX 与 Arduino 进行串行通信

java - UNIX 中 Java 程序出现 NoClassDefFound 错误