en-GB 是唯一符合 BCP 47 标准的英式英语语言标签,必须严格小写、用短横线分隔、置于 <html> 标签上,否则屏幕阅读器无法正确加载英式语音引擎或影响 SEO 与本地化渲染。

必须用 en-GB,不是 en、english 或 en_GB。
为什么只能写 en-GB 而不能写其他形式
浏览器和屏幕阅读器(如 NVDA、VoiceOver)只按 BCP 47 标准解析语言标签,大小写、连字符、顺序都有语义。写错就等于没写:
-
en:太宽泛,不指定地区,部分读屏可能 fallback 到美式发音或跳过英语 TTS 引擎 -
english:非法字符串,被静默忽略 -
en_GB:下划线不是标准分隔符,BCP 47 明确要求用短横线(-) -
EN-gb:大小写错位,fr-FR 合法,FR-fr 就不合法
en-GB 必须放在 <html> 标签上
写在其他位置完全无效:
-
<body lang="en-GB">:只影响该元素内:lang()CSS 匹配和断词,不触发语音库加载或翻译模型选型 -
<meta http-equiv="Content-Language" content="en-GB">:HTML5 已废弃,现代浏览器和搜索引擎直接忽略 -
document.documentElement.lang = "en-GB":JS 执行时,读屏软件早已完成初始语言判定,修改后对已激活朗读会话基本无影响
英式英语和其他英语变体的使用场景差异
不同 en- 前缀实际影响不止拼写,还涉及语音合成、词典匹配、标点渲染和 SEO:
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
立即学习“前端免费学习笔记(深入)”;
-
en-GB:用“colour”、“favour”,日期格式为 21/09/2026,VoiceOver 默认调用英式发音引擎 -
en-US:用“color”、“favor”,日期为 09/21/2026,Chrome 翻译按钮更倾向推送美式英语模型 -
en-AU:支持“cheers”“arvo”等本地词汇识别,但小众,部分旧版 JAWS 可能 fallback 到en-GB
若页面主语言是英式英语,但含一段美式引文,应这样局部标注:<blockquote lang="en-US">The theater is downtown.</blockquote>。
动态页面中切换到英式英语的实操要点
SPA 或 SSR 多语言站点里,改 lang 不是改一个值的事:
- Next.js:在
app/layout.tsx中绑定<html lang={locale}>,确保locale是服务端可确定的(如基于路由或 cookie) - 纯前端切换:仅执行
document.documentElement.lang = "en-GB"不够;需同步重设document.title(哪怕赋空值),强制读屏重新解析根节点 - 第三方脚本注入的内容(如评论框、广告):无法靠 JS 补
lang,必须由其自身支持语言上下文,否则会被当作默认语言处理
真正难的不是写出 en-GB,而是让每个文本节点——无论来自 SSR、CSR 还是 iframe——都带着准确的语言标签被浏览器首次解析。


















