我正在使用ASP.net MVC 2.0创建一个网站,该网站使用两种不同的语言(英语和波斯语).我希望这些语言有两种不同的布局,英语从左到右,波斯语从右到左布局.
我想到的是,如果我可以有两个不同的css文件,比如当你用字符串或图像本地化来完成网站的工作时,问题是我需要知道如何做到这一点!
关于如何执行此操作的任何其他建议都会有所帮助.
解决方法
你可以阅读:
> (W3C) Internationalization Best Practices: Specifying Language in XHTML & HTML Content,
> Creating HTML Pages in Arabic,Hebrew and Other Right-to-left Scripts,
> Internationalization and localization (Wikipedia)
在您的网页中:
>每个带文字的图像都应该被翻译(图像和alt);每个具有方向性的图像都应该反转(例如:箭头)
>如果你不希望将来头疼,尽量避免像class =“left”这样的类命名.顶部,底部,之前或之后是好的但不是左/右(编辑:开始和结束现在在CSS3中使用以避免ltr和rtl的这个确切问题.可能比* -before和* -after已经用于伪用冒号).
>你必须检查每个CSS指令有关text-align,background-position,float,clear和显然左右的位置:absolute / relative;.新的CSS3指令也要审查(动画等).
>不同的字体需要不同的字体大小(虽然这个问题主要涉及亚洲字体)
>对于任何其他受支持的语言,应翻译模板中的许多文本.
如上面的链接所述,使用HTML属性dir =“rtl”.你还需要一个类(在主体或一些包含div的行为,就像一个巨大的开关,满足你的设计需求
.en .yourclass { background: url(images/en/bg.jpg) } .ar .yourclass { background: url(images/ar/bg.jpg) }
由于包含IE8,属性选择器也是如此.
:lang(ar) .yourclass { background: url(images/ar/bg.jpg) } or [lang|="ar"] .yourclass { background: url(images/ar/bg.jpg) }