languages(语言)

Video.js支持除英语之外的其他语言。

有关Video.js支持的最新语言列表,请参见languages文件夹(lang)。某些翻译可能不那么完整-请参阅所需翻译文档,以获取可用翻译中缺少的字符串表。欢迎贡献者更新不完整的内容。


Using Video.js Languages

video.js的语言包在dist/lang/文件夹下,如有需要只需要引入这些语言包为video.js提供语言支持。

<script src="//example.com/path/to/video.min.js"></script>
<script src="//example.com/path/to/lang/es.js"></script>


Contributing to Video.js Translations

我们欢迎新的翻译和对现有翻译的改进!请参阅撰写文档以开始对Video.js做出贡献,并继续阅读有关如何对Video.js的翻译做出贡献的详细信息。


JSON Format

Video.js使用JSON对象描述一种语言,其中的键是英语,值是目标语言。例如,西班牙语翻译可能如下所示:

{
  "Play": "Reproducción",
  "Pause": "Pausa",
  "Current Time": "Tiempo reproducido",
  "Duration": "Duración total",
  "Remaining Time": "Tiempo restante",
}


File Naming

在lang/目录中找到翻译。

每个文件的名称应该是最合适的标准语言代码,并带有.json扩展名。例如,“ es.json”代表西班牙语,“ zh-CN.json”代表简体中文。


Updating an Existing Translation

如果在现有翻译中缺少翻译,错误或需要改进的地方,请随时打开拉取请求!

  • 编辑相关的JSON文件并进行必要的更改。
  • 通过运行特定于语言的版本npm run build:lang或完整版本来验证语言的编译npm run build。
  • 确认翻译在播放器用户界面中正确显示。
  • 运行npm run docs:lang以更新缺少的翻译文档
  • 在GitHub上提交并打开拉取请求。


Writing a New Translation

编写全新翻译的过程实际上与更新现有翻译的过程相同,只是需要创建新的翻译JSON文件。

新语言文件的模板是英语文件(lang / en.json)。该文件始终是最新的,需要翻译的字符串。

编写新译文的第一步是复制英文文件:

cp lang/en.json lang/${NEW_LANG_CODE}.json

否则,该过程与更新现有翻译相同。


Adding Languages via the API

除了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()如果对象包含先前翻译的字符串,它将覆盖现有的翻译。但是,已经本地化的文本在生成后将不会更新。


Per-Player Translations

Video.js除了本身提供语言的,Player在个别情况下,可以通过提供定制语言支持的languages选项:

// Provide a custom definition of Spanish to this player.
videojs('my-player', {
  languages: {
    es: {
      Play: 'Reproducir'
    }
  }
});


Setting Player Language

用户使用的语言可以在实例话的时候通过语言选项来设置:

// Set the language to Spanish for this player.
videojs('my-player', {
  language: 'es'
});

language播放器的方法可以用实例化后设置语言language('es')。但是,这通常没有用,因为它不会更新已经存在的文本。


Determining Player Language

播放器语言设置为以下优先级之一:

  • 选项中指定的语言
  • lang播放器元素上的属性指定的语言。
  • 由最接近的父元素所指定的语言,该父元素具有lang属性,直到并包括该<html>元素。
  • 浏览器语言首选项;如果配置了多种语言,则使用第一语言
  • 英语

Internal Language Selection

  • 语言代码不区分大小写(例如en-US== en-us)。
  • 如果语言代码与子代码(例如en-us)不匹配,则使用主代码(例如en)的匹配(如果可用)。


References

有关插件翻译/本地化的信息,请参阅插件指南。
标准语言代码由IANA定义。
对于所有现有的/支持的语言,请查看位于项目根目录中的languages文件夹(lang/)。

上一篇:hooks(钩子) 下一篇:layout(布局)