/**
 * @file sub-caps-button.js
 */
從 './text-track-button.js' 導入 TextTrackButton;
從 '../../component.js' 導入組件;
從“./caption-settings-menu-item.js”導入 CaptionSettingsMenuItem;
從“./subs-caps-menu-item.js”導入 SubsCapsMenuItem;
從 '../../utils/string-cases.js' 導入 {toTitleCase};
/**
 * 用於切換和選擇字幕和/或副標題的按鈕組件
 *
 * @extends 文本跟踪按鈕
 */
類 SubsCapsButton 擴展 TextTrackButton {

  構造函數(播放器,選項= {}){
    超級(播放器,選項);

    // 雖然北美在大多數情況下使用“字幕”
    // "captions and subtitles" 其他地區使用 "subtitles"
    this.label_ = '字幕';
    if (['en', 'en-us', 'en-ca', 'fr-ca'].indexOf(this.player_.language_) > -1) {
      this.label_ = '字幕';
    }
    this.menuButton_.controlText(toTitleCase(this.label_));
  }

  /**
   * 構建默認的 DOM `className`。
   *
   * @return {字符串}
   * 此對象的 DOM `className`。
   */
  buildCSSClass() {
    返回`vjs-subs-caps-button ${super.buildCSSClass()}`;
  }

  buildWrapperCSSClass() {
    返回`vjs-subs-caps-button ${super.buildWrapperCSSClass()}`;
  }

  /**
   * 創建字幕/字幕菜單項
   *
   * @return {CaptionSettingsMenuItem[]}
   * 當前菜單項的數組。
   */
  創建項目(){
    讓項目= [];

    if (!(this.player().tech_ && this.player().tech_.featuresNativeTextTracks) &&
      this.player().getChild('textTrackSettings')) {
      items.push(new CaptionSettingsMenuItem(this.player_, {kind: this.label_}));

      this.hideThreshold_ += 1;
    }

    items = super.createItems(items, SubsCapsMenuItem);
    退換貨品;
  }

}

/**
 * `kind`s 的 TextTrack 來尋找它與這個菜單相關聯。
 *
 * @type {數組}
 * @私人的
 */
SubsCapsButton.prototype.kinds_ = ['字幕', '字幕'];

/**
 * 應顯示在 `SubsCapsButton` 控件上的文本。
 *
 *
 * @type {字符串}
 * @私人的
 */
SubsCapsButton.prototype.controlText_ = '字幕';

Component.registerComponent('SubsCapsButton', SubsCapsButton);
導出默認的 SubsCapsButton;