点击下载教程相关资源
Video.js 包含本地化支持,可在适当情况下以默认英语以外的语言显示文本。
有关 Video.js 支持的最新语言列表,请参见语言文件夹 (lang)。某些翻译可能不够完整,请参阅所需翻译文档,查看可用翻译中缺失的字符串表。欢迎大家对不完整的翻译进行更新。
Video.js 的 JavaScript 文件中包含多个翻译(在 dist/lang/ 中)。为需要支持的每种语言添加 lang 脚本。每个文件都可以包含在网页中,以便在所有 Video.js 播放器中提供对该语言的支持:
<script src="//example.com/path/to/video.min.js"></script> <script src="//example.com/path/to/lang/es.js"></script>
我们欢迎新的翻译和对现有翻译的改进!请参阅贡献文档,开始为 Video.js 做出贡献,并继续阅读,了解如何为 Video.js 的翻译做出贡献。
Video.js 使用 JSON 对象来描述语言,其中键是英语,值是目标语言。例如,西班牙语翻译可能如下所示:
{ "Play": "Reproducción", "Pause": "Pausa", "Current Time": "Tiempo reproducido", "Duration": "Duración total", "Remaining Time": "Tiempo restante", }
翻译可在 lang/ 目录中找到。
每个文件的名称应为最合适的标准语言代码,扩展名为 .json。例如,"es.json" 表示西班牙语,"zh-CN.json" 表示简体中文。
如果现有翻译中有遗漏、错误或需要改进的地方,请立即提交拉取请求!
编辑相关 JSON 文件并进行必要的更改。
运行特定语言编译程序 npm run build:lang 或完整编译程序 npm run build,验证语言的编译情况。
验证翻译在播放器用户界面中是否正确显示。
运行 npm run docs:lang 更新缺失的翻译文档。
提交并在 GitHub 上开启拉取请求。
除了需要创建新的翻译 JSON 文件外,编写全新翻译的过程与更新现有翻译的过程几乎完全相同。
新语言文件的模板是英文文件 (lang/en.json)。该文件始终包含需要翻译的最新字符串。
编写新翻译的第一步是复制英文文件:
cp lang/en.json lang/${NEW_LANG_CODE}.json
否则,该过程与更新现有翻译相同。
除了 Video.js 提供的独立脚本外,API 还支持通过 addLanguage 方法手动定义新语言。该方法需要两个参数:标准语言代码和语言定义对象。
videojs.addLanguage('es', { Play: 'Reproducción', Pause: 'Pausa', 'Current Time': 'Tiempo reproducido', 'Duration': 'Duración total', 'Remaining Time': 'Tiempo restante', ... });
addLanguage() 会覆盖已有的翻译,如果对象包含以前翻译过的字符串。不过,已经本地化的文本在生成后将不会更新。
除了为 Video.js 本身提供语言外,还可以通过语言选项为单个播放器实例提供自定义语言支持:
// Provide a custom definition of Spanish to this player. videojs('my-player', { languages: { es: { Play: 'Reproducir' } } });
播放器实例使用的语言可通过语言选项进行设置:
// Set the language to Spanish for this player. videojs('my-player', { language: 'es' });
播放器的语言方法可以在实例化后使用 language('es') 设置语言。不过,这通常没有什么用处,因为它不会更新已经存在的文本。
播放器语言按优先级从高到低设置为以下语言之一:
选项中指定的语言
播放器元素上的 lang 属性指定的语言。
由带有 lang 属性的最接近的父元素(包括 <html> 元素)指定的语言。
浏览器语言首选项;如果配置了多种语言,则首选第一种语言
英语
语言代码不区分大小写(例如 en-US == en-us)。
如果没有匹配的语言代码子代码(如 en-us),则使用主代码,如:en(如果有)。
有关插件翻译/本地化的信息,请参阅插件指南。
标准语言代码由 IANA 定义。
有关所有现有/支持的语言,请查看位于项目根目录下的语言文件夹 (lang/) 文件夹。