bitmovin-player-ui
Version:
Bitmovin Player UI Framework
117 lines (116 loc) • 3.7 kB
TypeScript
import { LocalizationConfig } from '../UIManager';
export declare const defaultVocabularies: Vocabularies;
/**
* @category Localization
*/
export type Localizer = () => string;
/**
* @category Localization
*/
export type LocalizableText = string | Localizer;
/**
* @category Localization
*/
export interface Vocabulary {
'settings.video.quality': string;
'settings.audio.quality': string;
'settings.audio.track': string;
'settings.audio.mute': string;
'settings.audio.volume': string;
'settings.subtitles': string;
'settings.subtitles.font.color': string;
'settings.subtitles.font.opacity': string;
'settings.subtitles.background.color': string;
'settings.subtitles.background.opacity': string;
'settings.subtitles.font.size': string;
'settings.subtitles.characterEdge': string;
'settings.subtitles.characterEdge.raised': string;
'settings.subtitles.characterEdge.depressed': string;
'settings.subtitles.characterEdge.uniform': string;
'settings.subtitles.characterEdge.dropshadowed': string;
'settings.subtitles.font.family': string;
'settings.subtitles.font.family.monospacedserif': string;
'settings.subtitles.font.family.proportionalserif': string;
'settings.subtitles.font.family.monospacedsansserif': string;
'settings.subtitles.font.family.proportionalsansserif': string;
'settings.subtitles.font.family.casual': string;
'settings.subtitles.font.family.cursive': string;
'settings.subtitles.font.family.smallcapital': string;
'settings.subtitles.window.color': string;
'settings.subtitles.window.opacity': string;
play: string;
'settings.time.hours': string;
'settings.time.minutes': string;
'settings.time.seconds': string;
'colors.white': string;
'colors.black': string;
'colors.red': string;
'colors.green': string;
'colors.blue': string;
'colors.cyan': string;
'colors.yellow': string;
'colors.magenta': string;
percent: string;
settings: string;
'ads.remainingTime': string;
pictureInPicture: string;
appleAirplay: string;
googleCast: string;
vr: string;
off: string;
auto: string;
back: string;
reset: string;
replay: string;
normal: string;
default: string;
open: string;
close: string;
fullscreen: string;
speed: string;
playPause: string;
live: string;
'subtitle.example': string;
'subtitle.select': string;
playingOn: string;
connectingTo: string;
watermarkLink: string;
controlBar: string;
player: string;
seekBar: string;
'seekBar.value': string;
'seekBar.timeshift': string;
'seekBar.durationText': string;
ecoMode: string;
'ecoMode.title': string;
}
/**
* @category Localization
*/
export type CustomVocabulary<V> = V & Partial<Vocabulary>;
/**
* @category Localization
*/
export interface Vocabularies {
[key: string]: CustomVocabulary<Record<string, string>>;
}
/**
* @category Localization
*/
export declare class I18n {
private language;
private vocabulary;
constructor(config: LocalizationConfig);
setConfig(config: LocalizationConfig): void;
private static containsLanguage;
private mergeVocabulariesWithDefaultVocabularies;
private initializeLanguage;
private initializeVocabulary;
private replaceVariableWithPlaceholderIfExists;
getLocalizer<V extends CustomVocabulary<Record<string, string>> = CustomVocabulary<Record<string, string>>>(key: keyof V, config?: Record<string, string | number>): Localizer;
performLocalization(text: LocalizableText): string;
}
/**
* @category Localization
*/
export declare const i18n: I18n;