经过一些进一步的研究,我发现语言代码“ iw”只是“ he”的旧形式。该表达式
new Locale("he").getLanguage()将提供结果“
iw”!
不过,根据Wikipedia的介绍,ComponentOrientation方法显然不是最新的,因为它缺少以下语言:
yi(意第绪语加上旧式ji),dv(马尔代夫语),ps(普什图语)和ha(hausa)
因此,我改进了ComponentOrientation的方法并添加了这些缺少的语言。最终代码如下所示:
private static final Set<String> RTL;static { Set<String> lang = new HashSet<String>(); lang.add("ar"); lang.add("dv"); lang.add("fa"); lang.add("ha"); lang.add("he"); lang.add("iw"); lang.add("ji"); lang.add("ps"); lang.add("sd"); lang.add("ug"); lang.add("ur"); lang.add("yi"); RTL = Collections.unmodifiableSet(lang);}public static boolean isTextRTL(Locale locale) { return RTL.contains(locale.getLanguage());}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)