在 Java 中添加引号
Adding Quotes in Java
我之前问过 Swift,我现在在 Android/Java 中遇到了同样的问题。
Java 中有没有一种方法可以将 引号 添加到字符串?引号应根据用户的语言设置正确本地化(请参阅 https://en.wikipedia.org/wiki/Quotation_mark)。文本不带引号存储在数据库中。添加引号后,我想在 TextView
中显示字符串。
例如:
String quote = "To be or not to be..."
// one or more lines of code that add localized quotation marks
// to the beginning and the end of the string
mMyTextView.setText(stringWithQuotes);
对于法国用户:«成为或不成为...»
对于德国用户:成为或不成为...Γ
对于英语(美国)用户:¦成为或不成为...¦
我没试过,但你可以使用 Locale.getDefault。您可以为每个具有不同报价的国家/地区创建一个枚举,并在枚举中提供该枚举。然后只需找到与枚举匹配的语言环境并替换为指定语言环境的引号字符即可。
我建议使用 在 HTML 中创建文本,它具有跨语言环境处理引号的必要机制。
然后可以使用this Stack Overflow answer转换HTML在TextView中显示。
我最终使用了以下解决方案:
为了使不同类型的引号与我的应用程序支持的语言环境保持同步,我为开始和结束标记创建了可翻译的字符串资源,例如
<string name="left_quote">\u00ab</string>
<string name="right_quote">\u00bb</string>
用于法语引号,然后在代码中将它们添加到我的字符串中。非常简单且易于维护。
我之前问过
Java 中有没有一种方法可以将 引号 添加到字符串?引号应根据用户的语言设置正确本地化(请参阅 https://en.wikipedia.org/wiki/Quotation_mark)。文本不带引号存储在数据库中。添加引号后,我想在 TextView
中显示字符串。
例如:
String quote = "To be or not to be..."
// one or more lines of code that add localized quotation marks
// to the beginning and the end of the string
mMyTextView.setText(stringWithQuotes);
对于法国用户:«成为或不成为...»
对于德国用户:成为或不成为...Γ
对于英语(美国)用户:¦成为或不成为...¦
我没试过,但你可以使用 Locale.getDefault。您可以为每个具有不同报价的国家/地区创建一个枚举,并在枚举中提供该枚举。然后只需找到与枚举匹配的语言环境并替换为指定语言环境的引号字符即可。
我建议使用
然后可以使用this Stack Overflow answer转换HTML在TextView中显示。
我最终使用了以下解决方案:
为了使不同类型的引号与我的应用程序支持的语言环境保持同步,我为开始和结束标记创建了可翻译的字符串资源,例如
<string name="left_quote">\u00ab</string>
<string name="right_quote">\u00bb</string>
用于法语引号,然后在代码中将它们添加到我的字符串中。非常简单且易于维护。