【问题标题】:MediaElement.js i18n - how to implement?MediaElement.js i18n - 如何实现?
【发布时间】:2013-10-17 14:55:18
【问题描述】:

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

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

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

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

提前致谢

【问题讨论】:

    标签: javascript internationalization mediaelement.js


    【解决方案1】:

    今天我也花了几个小时。

    “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' };
    

    【讨论】:

    • 感谢您,对于那些阅读此内容的人,要添加的列表是; mejs.MepDefaults.playpauseText mejs.MepDefaults.stopText mejs.MepDefaults.muteText mejs.MepDefaults.fullscreenText mejs.MepDefaults.tracksText mejs.MepDefaults.postrollCloseText 截至 2.13.2
    【解决方案2】:

    类似于 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

    【讨论】:

      【解决方案3】:

      我知道这不是您问题的答案,对此感到抱歉,但这与您的主题有关。 如果您正确设置了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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-19
        • 2020-08-03
        • 1970-01-01
        • 1970-01-01
        • 2020-10-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多