我正在使用 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"
这样的类命名。 Top、bottom、before 或 after 都可以,但 left/right 不行(编辑:start
和end
现在在 CSS3 中使用以避免 ltr 和 rtl 的这个确切问题。可能优于*-before
和*-after
已经用于带冒号的伪代码)。 - 您必须检查关于
text-align
、background-position
、float
、clear
的每条 CSS 指令code> 显然left
和right
具有position: absolute/relative;
。新的 CSS3 指令也需要复习(动画等)。 - 不同的字体需要不同的字体大小(虽然这个问题主要涉及亚洲字体)
- 对于任何其他支持的语言,模板中的许多文本都应该翻译。
如以上链接所述,使用了 HTML 属性 dir="rtl"
。您还需要一个类(在 body
上或一些包含 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) }
关于html - 使用 CSS 文件进行站点本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3311630/