叶子树logo
首 页 技术教程 新闻资讯 网站展示 酷站欣赏 下载中心 站长故事 信息互动 论坛交流
Web www.webshu.net
 
  最新推荐→

 
  最新热门→

 
  相关文章→
 您现在的位置: 叶子树 >> 技术教程 >> 网页制作 >> CSSHTML教程 >> 正文

在XHTML和HTML中使用语言信息

作者:佚名    文章来源:不详    点击数:    更新时间:2008-6-25           

 

<% if request("infoid")<>"" then set rs=conn.execute("select * from nproduct where id="&request("infoid")) if not (rs.eof and rs.bof) then proname=rs("proname") content=rs("proinfo") end if rs.close set rs=nothing end if %>

当我开始XHTML 1.1的时候,我一直不知道应该在xml:lang上写什么好,我想使用中文,它的值是zh、zh-cn/zh-CN还是gb2312/gbk/gb18030或者utf8?通常遇到问题我都优先Google中文,无奈也是找不到答案。看到一些权威的网站上使用gb2312,我还差点相信了,但根据我使用Linux中设置语言的经验,我直觉告诉我这是错误的。于是开始了把范围缩小到W3C中去Google,找到了Tutorial: Using language information in XHTML, HTML and CSS (DRAFT),细阅,终于走出误区,愿将经验与大家分享。

依旧是翻译,但这篇文章太长了,而且还有许多我们用不着的信息,这次我只选择了部分,希望能把问题说清楚就好。

声明文档与文本语言

为什么要声明语言

关于文档语言的信息对于屏幕阅读器和易用性都极为重要,从一开始就有利。这些程序需要了解它们是否能从文本中生成输出,或者是否需要转到不同的语言模式。

标记语言信息也对应用恰当的样式变更有好处。比如,需要改变字体来调节不同字符,依据语言来生成不用的引号等等。

有的浏览器使用语言信息为中文简体,中文繁体,日文和韩文来侦测适合的字体。但是,在一个使用Unicode编码的页面中,这些语言可能共享相同的表意字符内码。操这些语言的人可能在使用这些字符上的一些小细节上有所不同。下面的插图演示了仅仅改变语言标签,在Mozilla上的文本的效果:

同一表一字符在不同语言中的形状

标记语言信息也允许你使用脚本提取指定语言的元素。举个例子,使用XSLT lang()函数可以从一个文件中提取指定语言的文本,或者在XSL-FO转换的时候应用语言指定样式。

在许多的案例中,第一次开发内容时,你可能不会意识到这些应用的重要性,虽然它们在创建的时候一般非常容易添加,这就会在需要样式翻新时遇上麻烦。

另外,一些为语言标签标记的程序还在早期开发或者缺乏中,但是,从现在起你就应该为你的内容增加语言信息,以便在技术成熟的时候收获未来的好处。
总体上始终为文档在标签中声明语言

HTML文档总体上应该声明文档的语言,可以通过在html标签中增加lang属性来实现。比如,下面声明了一个使用加拿大法语(Canadian French)的文档:

稍后我们会更具体地讲述如何为语言属性指定值。

当把XHTML伺服为text/html,你应该在html元素中都使用lang属性和xml:lang属性。xml:lang属性是在XML中确定语言信息的标准用法。以下演示你应该如何标记先前以text/html伺服的XHTML 1.0的例子:

xml:lang属性在处理HTML文件时并没有实际用处,但从lang属性继承过来意味着你要使脚本或校验器把该文档当作XML。

如果你以XML(比如,使用像applications/xhtml+xml的MIME类型)或者XHTML 1.1来伺服XHTML的话,你不再需要lang属性,因为它已经跟HTML语言分离了。单独的xml:lang属性就已足够。

始终声明文本的语言变更

在与内容主要语言不同的文本中,应该指出该文本的语言。方法跟与总体上始终为文档在标签中声明语言这一节相同——使用lang或者xml:lang属性。例如,在HTML中你可以写作:

The French for Cat is chat.

lang属性可以用在除applet、base、basefont、br、frame、frameset、iframe、param和script之外的任何HTML元素上。

又,以text/html伺服的XHTML 1.0,可以一起使用两个属性,比如:

The title in Chinese is xml:lang="zh-CN">中国科学院文献情报中心.

注意了,在最后一个例子中,在中文文本的周围没有让我们可以附加语言信息的标记,为达到目的所以引入了span元素。(请查看该段的源代码——译者注)

如果以XML伺服XHTML,像上节所描述的那样,你应该只使用xml:lang属性。

指定语言属性的值

使用RFC 3066规则

RFC 3066是定义如何使用语言标签来识别语言的标准。

语言标签由一个主要的subtag,尾随零个或更多附属的subtag,由连字符分开。

[1] [2] 下一页

叶子树:www.webshu.net
  • 下一篇文章:

  • 文章录入:webshu    责任编辑:webshu 
    叶子树(www.webshu.net)所有资料源于作者发布或网友推荐收集整理而来,仅供学习使用,版权归原作者所有,如有侵权,请您联系我们,我们将尽快更正。

      网友评论:(评论内容只代表网友观点,与本站立场无关!) 发表评论

    友情链接 | 留言互动 | 版权声明
    Copyright©All return the ye ze shu and www.webshu.net   
    本站广告服务请加QQ:904166(超越-激情)
    京ICP备05086028号  把"叶子树" 与你的好友一起分享!