如何使用多种语言提供页面内容?
主题
HTML国际化
在GitHub上编辑
假设:这个问题是关于如何提供页面内容,这些内容有多种语言版本,并且页面中的内容应该只以一种一致的语言显示。
以不同语言提供页面是国际化 (i18n) 的一个方面。
当向服务器发出 HTTP 请求时,请求用户代理通常会发送有关语言偏好的信息,例如在 Accept-Language
标头中。然后,如果存在这种备选方案,服务器可以使用此信息以适当的语言返回文档版本。返回的 HTML 文档还应在 <html>
标签中声明 lang
属性,例如 <html lang="en">...</html>
。
为了让搜索引擎知道相同的内容有不同的语言版本,应该使用带有 rel="alternate"
和 hreflang="..."
属性的 <link>
标签。例如 <link rel="alternate" hreflang="de" href="http://de.example.com/page.html" />
。
渲染
- 服务器端渲染: HTML 标记将包含字符串占位符,特定语言的内容将从代码配置或翻译服务中获取。然后,服务器动态生成具有该特定语言内容的 HTML 页面。
- 客户端渲染: 适当的区域设置字符串将被提取并与基于 JavaScript 的视图相结合。