/**
 * @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 TextTrackButton
 */
클래스 SubsCapsButton은 TextTrackButton을 확장합니다 {

  생성자(플레이어, 옵션 = {}) {
    super(플레이어, 옵션);

    // 북미에서는 대부분의 경우 "캡션"을 사용하지만
    // "캡션 및 자막" 기타 로케일은 "자막"을 사용합니다.
    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[]}
   * 현재 메뉴 항목의 배열입니다.
   */
  createItems() {
    let 항목 = [];

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

      this.hideThreshold_ += 1;
    }

    items = super.createItems(items, SubsCapsMenuItem);
    항목을 반환;
  }

}

/**
 * 이 메뉴와 연결하기 위해 찾을 TextTrack의 `종류`입니다.
 *
 * @type {배열}
 * @사적인
 */
SubsCapsButton.prototype.kinds_ = ['자막', '자막'];

/**
 * `SubsCapsButton` 컨트롤 위에 표시되어야 하는 텍스트입니다.
 *
 *
 * @유형 {문자열}
 * @사적인
 */
SubsCapsButton.prototype.controlText_ = '자막';

Component.registerComponent('SubsCapsButton', SubsCapsButton);
기본 SubsCapsButton 내보내기;