srclang属性必须写在标签内,用于指定字幕语言代码,需符合BCP 47标准(如zh、en-US),配合kind、src、label使用才有效,浏览器据此匹配用户语言并启用对应字幕。

srclang 属性用于 <track></track> 元素,必须配合 <video></video> 使用,用来明确指定字幕文件所使用的语言代码。
srclang 必须写在 track 标签里
它不能直接写在 <video></video> 标签上,而是属于其内部的 <track></track> 子元素。浏览器靠 srclang 判断该字幕是否匹配用户系统语言或手动选择的语言。
- 正确写法:
<track kind="subtitles" src="zh.vtt" srclang="zh" label="中文"></track> - 错误写法:
<video srclang="zh">...</video>(无效)
语言代码要符合 BCP 47 标准
推荐使用简短、通用的 ISO 639-1 两字母代码(如 zh、en、ja),也可用更精确的格式(如 zh-Hans 表示简体中文,en-US 表示美式英语)。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
- 常见有效值:
zh、zh-CN、zh-Hans、en、en-GB、ja、ko - 避免随意拼写:
chinese、cn、zho(ISO 639-2)不被广泛支持,可能失效
srclang 和 user agent 的语言匹配逻辑
浏览器会根据用户系统/浏览器设置的语言(navigator.language 或操作系统的区域设置)自动启用第一个 srclang 匹配的字幕(前提是 default 未设置)。若多个 srclang 都匹配,仅第一个生效。
立即学习“前端免费学习笔记(深入)”;
- 例如:系统语言为
zh-CN,则srclang="zh"、srclang="zh-CN"、srclang="zh-Hans"均可匹配 - 若想强制默认启用某条字幕,加
default属性:<track kind="subtitles" src="zh.vtt" srclang="zh" label="中文" default></track>
配合 label 和 kind 才完整可用
srclang 单独存在没意义,必须和 kind="subtitles"(或 captions)、src(指向 WebVTT 文件)、label(用户界面中显示的名称)一起使用,否则字幕不会出现在视频控件的语言菜单中。
- 最小可用结构:
<track kind="subtitles" src="en.vtt" srclang="en" label="English"></track> -
label建议用对应语言书写(如中文字幕写label="中文"),提升可访问性


















