在 Java 开发过程中支持双向字符集语言(BiDi)
2010-03-15 00:00:00 来源:WEB开发网核心提示: 为了正确的显示这段文字,开发人员需要在上面的阿拉伯资源前增加一个 LRM(\u200F) 来强行指定文字的方向,在 Java 开发过程中支持双向字符集语言(BiDi)(10),文字的正确显示如图 11 所示Stringtext=newString(“texttobedisplayed
为了正确的显示这段文字,开发人员需要在上面的阿拉伯资源前增加一个 LRM(\u200F) 来强行指定文字的方向。文字的正确显示如图 11 所示
String text = new String(“ text to be displayed”);
if (!ComponentOrientation.getOrientation(Locale.getDefault()).isLeftToRight()){
text = "\u200F " + text;// $NON-NLS-1$
}
JLabel label = new JLabel(text, SwingConstants.LEADING);
图 11. 标点符号在左侧
BiDi 的例外情况处理 URL/文件路径/XPath
在双向字符集文字中,界面的全局方向一般都是从右到左(RTL),但是对于一些特殊的内容 URL(例如 http://www.ibm.com)、文件路径(例如 c:\windows)、XPath(例如 /bookstore/book)等,在任何情况都需要保持从左到右的方向。也就是说这些内容在双向字符集和非双向字符集中的显示都应相同。如有不同,就需要开发人员的处理。
问题分析 – 代码还是资源
很多情况下,因为大部分开发人员并不认识双向字符集文字,开发人员就不能确定到底是资源的问题还是代码的问题。如果有一个方法能够使开发人员清楚正确的显示是什么样子,那么对于解决问题会很有帮助。下面就具体介绍这样一个方法。
开发人员都知道 Java 中,非英文资源串的存放一般是使用 Unicode 编码(如果对 Java 国际化资源管理不了解,请参看其他文档),例如下面的阿拉伯文字资源:
更多精彩
赞助商链接