首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript中的Bidi

Javascript中的Bidi
EN

Stack Overflow用户
提问于 2014-09-27 11:42:52
回答 1查看 225关注 0票数 3

我使用JQuery日历为应用程序生成日期字符串。如果我将语言设置为英语,就会得到如下日期字符串:

2014年10月10日星期五

JQ日历不处理时间,所以我自己格式化字符串的时间部分:

-世界协调时间上午12:00 -04:00‬

(为了清楚起见,括号包括在内;它们不会是最终字符串的一部分。)接下来,我将这两个字符串相加在一起,得到:

2014年10月10日(星期五)‪·12:00 UTC-04:00

这正是我想要的。然而,当我对设置为希伯来语的语言做同样的事情时,我的结果是:

שישי·10אוקטובר2014年 ‪·12:00 UTC-04:00‬ שישי·10אוקטובר2014‪·12:00 UTC-04:00‬

注意RTL希伯来文月份和年份之间的时间字符串的奇数插入。

我尝试过用方向代码(U+202A、U+202C等)包装两个字符串的部分。但没有成功。看起来日期字符串已经是RTL和LTR的混合体了,但是我已经搜索过了,也找不到任何方向字符,尽管我很可能在这个搜索中做了补充。

对如何解决这个问题有什么想法吗?不管是好是坏,我希望时间字符串“跟随”日期字符串,而不会出现奇怪的中断,尽管这在技术上可能是不正确的。我知道Javascript的toLocaleString()功能,但它还没有得到很好的支持,所以我想至少作为一个后盾使用上面的方法。

EN

回答 1

Stack Overflow用户

发布于 2014-09-27 13:15:05

我解决了这个问题。事实证明,希伯来语并不是严格意义上的RTL;字符串的数字部分被渲染为LTR,即使单词和句子被渲染为RTL。所以上面显示的结果是“正确的”,意思是我把我的时间字符串附加到日期字符串的“末尾”--在2014年,最后一个数字的右边立即出现。

通过JQ日历生成带有空格和符号字符的日期字符串,通过JQ日历“重置”格式,以便字符串的末尾跟随该年的左边。执行时间字符串的显式嵌入(前面是‘U+202 A’),将时间字符串作为一个整体在日期字符串之后插入,而不插入结果。最后,我最终

الجمعة·10تشرينالأول2014·‪12:00 UTC-04:00

虽然不是严格的RTL,但能很好地达到我的目的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26074289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档