1

所以你可以在字幕和字幕中支持多种语言,我可以看到有i18n的代码。但是,我在互联网上四处搜寻,试图找到有关如何实现此功能的教程,但找不到任何东西。

mediaelementjs.com 网页或 github wiki 上没有任何内容,而且并不明显。

也只有德语和中文可用。我希望能够完全覆盖初始化播放器时所需的所有字符串。

我习惯于在 MVC 和 jquery ui datepickers 等中实现 i18n,但这让我感到困惑。

提前致谢

4

3 回答 3

0

今天这也花了我几个小时。

'mediaelementplayer.js' 文件中的标题和副标题是在加载 javascript 时加载的。(而不是(如我所料)文档准备好或初始化新播放器时)

您必须选择:

  • 手动将翻译设置为“window.mejs.MepDefaults”对象

例子:

mejs.MepDefaults.fullscreenText = 'Vollbild'
  • 或在 mediaelementplayer.js 的顶部放置一行(或加载 mediaElement.js 和 mediaelementplayer.js 之间的任何位置,例如异步加载)

例子:

// Set mejs translation to German
mejs.i18n.getLanguage = function() { return 'de' };
于 2014-01-31T11:27:07.467 回答
0

类似于 Matt Scott 对上述答案的回复,当从 mediaElements 扩展时,我必须覆盖初始文本值,如下所示:

    $.extend(mejs.MepDefaults, {
        playText: 'Afspelen',
        pauseText: 'Pauzeren',
        muteText: 'Geluid uit',
        unmuteText: 'Geluid aan'
    });

更多配置元素可以在这里找到:https ://github.com/mediaelement/mediaelement/blob/master/docs/api.md#mediaelementplayer

于 2017-09-27T08:15:26.157 回答
0

我知道这不是您问题的答案,对此感到抱歉,但这与您的主题有关。如果设置mejs正确,mejs.i18n在浏览器控制台中运行命令将显示您选择的语言以及您之前作为 js 文件导入的所有语言的列表。如果您看不到它们,则说明您没有正确设置,特别是确保您mediaelement-and-player.js在所有语言之前进行了导入。然后你可以像这样设置你的播放器:

(function() {
  mejs.i18n.language("fa"); //select your prefered language here
  var mediaElements = document.querySelectorAll('video, audio');
  for (var i = 0, total = mediaElements.length; i < total; i++) {
    var features = ['prevtrack', 'playpause', 'nexttrack', 'current', 'progress', 'duration', 'volume', 'shuffle', 'loop', 'skipback', 'jumpforward', 'speed', 'contextmenu', 'playlist', 'fullscreen'];
    new MediaElementPlayer(mediaElements[i], {
      autoRewind: false,
      features: features,
      startLanguage: 'fa' // this is not actually needed, I just wanted to show you that it is also possible to set this parameter, you can set it to mejs.i18n.lang too
    });
  }
})(); //this syntax is equivalent to document ready

于 2019-08-05T09:58:11.077 回答