如何在整个网站上指定语言?

问题描述 投票:0回答:2

上下文:我不是任何类型的网络开发人员或程序员,我使用屏幕阅读器。

我在一些我想访问的网站上使用可访问性评估工具,但是,这些网站存在一些可访问性问题。

通过一些谷歌搜索,我发现使用

<HTML lang='en'></html>
(例如英语)来指定单一网页语言相当容易。

在具有数百个独立页面的整个网站上实施此操作有多容易?这是一个非常模糊的问题,没有链接到具体网站。例如,一个汽车网站,针对各个汽车有一个单独的页面,每个页面缺少指定的语言。自动指定所有语言是否相当简单,还是必须为每一页手动复制/粘贴

<HTML lang='en'></html>
?或者它是否在很大程度上取决于网站的 HTML 结构?等等

html accessibility wcag
2个回答
4
投票

您可以在站点范围内定义内容语言,而无需使用 HTTP 标头修改 HTML:

Content-Language: de-DE

WCAG 中对此进行了描述:在 HTTP 标头中指定默认语言

当没有声明

lang 属性时,

此标头应被浏览器用作后备

HTML5 规范规定,如果

lang
标签上没有
html
属性,并且不存在
meta
属性设置为
http-equiv
Content-Language
元素,并且只有单一语言HTTP 标头声明中的标记,然后浏览器可以使用该信息来猜测页面中文本的默认语言。

但正如 WCAG 中所述,这可能并不总是足够的:

请注意,

Content-Language
HTTP 标头不能用于识别用于处理内容的语言。内容处理语言可以通过其他技术来识别,例如标记语言中的属性
lang
xml:lang

必须应用技术

在 HTML 元素上使用语言属性,并且指定 lang

 属性不是针对每个网页执行的操作,而是修改网站模板。


0
投票
回答底层编程问题:是的,通常更改一个文件就足够了。

您可以放心地假设,制作网站的 HTML 文件是由静态站点生成器提前生成的,或者是在请求页面时由服务器上的内容管理系统 (CMS) 生成的。

要生成这些文件,需要使用模板。模板提供了通用结构并包含变量,这些变量将被相应页面或组件中的内容替换。

通常,有一个主要的高级 HTML 模板,它提供基本的 HTML 结构以及开始的 HTML 标签

<html>

因此,通常只需更改一个文件以包含语言属性即可,方法是在该模板中写入

<html lang="en">

,或者使用多语言网站的变量 
<html lang="{{language}}">
(语法取决于您的生成器)。

© www.soinside.com 2019 - 2024. All rights reserved.