Quiz

你如何提供一个有多国语言内容的页面?

Topics
HTMLInternationalization
在GitHub上编辑

假设:问题是关于如何为一个有多种语言内容的页面提供服务,而页面内的内容应该只以一种一致的语言显示。

以不同语言提供页面是国际化(i18n)的一个方面。

当向服务器发出 HTTP 请求时,请求的用户代理(浏览器等)通常发送有关语言首选项的信息,例如在 Accept-Language 标题中。 然后,服务器可以使用这些信息来返回一个适当语言版本的文件,如果有这样的替代品的话。 返回的 HTML 文档还应该声明<html>标签中的lang属性,例如<html lang="en">...</html>

若要让搜索引擎知道不同语言的内容相同,应该使用带有rel="alternate" and hreflang="..." 属性的的 <link> 标签 。 例如, <link rel="alternate" hreflang="de" href="http://de.example.com/page.html" />.

渲染

  • 服务器端渲染: HTML 标记将包含字符串占位符,特定语言的内容将从代码或翻译服务的配置中获取。 服务器然后动态生成带有特定语言内容的 HTML 页面。
  • 客户端渲染: 将获取相应的地域字符串,并与 JavaScript 合并视图。
在GitHub上编辑