多语言网站:从左到右和从右到左

3
我在SO上看到了一些关于使用JavaScript创建多语言网站的好建议,包括这篇JavaScript国际化文章。然而,我发现更难确定开发多语言网站的最佳实践,其中一种语言是从左到右读取,另一种语言是从右到左读取。您知道这项任务的任何最佳实践吗?
用户可能会在中途更改语言 - 例如从英语更改为阿拉伯语。
2个回答

1
一个好的实践是使用lang属性来描述正在使用的语言:http://www.w3.org/TR/REC-html40/struct/dirlang.html 我会在Head中定义语言,如果必要的话,在文档中局部定义。
您没有提到您使用哪种doctype,但如果您使用XHTML,则还需要考虑xml lang属性:http://www.w3schools.com/Xhtml/xhtml_syntax.asp 我不知道这是否是“最佳实践”,但最近我在英语和阿拉伯语网站上工作时,发现使用CSS类来设置rtl和ltr非常有用。

你创建的网站已经上线了吗? - Upperstage
@Paul H Howells:这个有用过吗?对我来说从来没用过,无论是从右到左的文本还是标记。 - user285594
@Stackfan:你尝试了什么,没有达到你想要的效果?我建议做两件有用的事情:1)语义化标记文档,即向标记添加属性,描述其为阿拉伯语或英语。2)进行更改。 - paulhhowells
使用CSS来控制网页的外观,例如: .rtl {direction:rtl; text-align:right;} 再结合一些xhtml标记,如下所示:<body> <div class="wrapper rtl ar" dir="rtl" lang="ar" xml:lang="ar"> 这种方法对我非常有效,可以为每种语言优化阿拉伯语和英语版本的页面。例如,在阿拉伯语版本中,文本正确地向右流动,右对齐,并且出于相同的设计原因,我还将(浮动的)导航栏移到了右侧,而在英语中,导航栏位于左侧。 - paulhhowells
我也发现utf-8对我来说工作得很好,只要确保你已经考虑过编码的问题。 - paulhhowells
@Paul H Howells:是的,你说得对。它就像你解释的那样完美地运作。 - user285594

0

我也发现关于RTL网站最佳实践的信息缺乏。

以下是一些我遇到的事情,以及上面提到的lang属性:

  • dir属性 - 告诉浏览器文本/表格单元格等应该从哪个方向流动
  • 阿拉伯语Lorem Ipsum生成器
  • 从用户体验角度考虑:设计原则
  • 另一个SO问题,涉及字体
  • 还要注意,对于动画效果,如果有人使用RTL而不是LTR查看,则它们可能在滑动或刷卡时没有意义。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接