itube-modern-player 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +630 -0
- package/dist/core/dom.d.ts +18 -0
- package/dist/core/events.d.ts +10 -0
- package/dist/core/icons.d.ts +3 -0
- package/dist/core/labels.d.ts +2 -0
- package/dist/core/localeRegistry.d.ts +7 -0
- package/dist/core/locales.d.ts +11 -0
- package/dist/core.cjs +5 -0
- package/dist/core.cjs.map +1 -0
- package/dist/core.js +1668 -0
- package/dist/core.js.map +1 -0
- package/dist/coreEntry.d.ts +14 -0
- package/dist/features/ads/manager.d.ts +48 -0
- package/dist/features/ads/vast.d.ts +9 -0
- package/dist/features/chapters.d.ts +12 -0
- package/dist/features/heatmap.d.ts +17 -0
- package/dist/features/hls.d.ts +26 -0
- package/dist/features/thumbnails.d.ts +11 -0
- package/dist/global.d.ts +2 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/itube-modern-player.iife.js +5 -0
- package/dist/itube-modern-player.iife.js.map +1 -0
- package/dist/labels-C3gAZEm-.js +41 -0
- package/dist/labels-C3gAZEm-.js.map +1 -0
- package/dist/labels-DTgTxMuq.cjs +2 -0
- package/dist/labels-DTgTxMuq.cjs.map +1 -0
- package/dist/lazy.cjs +2 -0
- package/dist/lazy.cjs.map +1 -0
- package/dist/lazy.d.ts +23 -0
- package/dist/lazy.js +60 -0
- package/dist/lazy.js.map +1 -0
- package/dist/locales.cjs +2 -0
- package/dist/locales.cjs.map +1 -0
- package/dist/locales.js +380 -0
- package/dist/locales.js.map +1 -0
- package/dist/localesEntry.d.ts +8 -0
- package/dist/player.d.ts +142 -0
- package/dist/style.css +1 -0
- package/dist/types.d.ts +443 -0
- package/dist/ui/controls.d.ts +90 -0
- package/dist/ui/menu.d.ts +29 -0
- package/dist/ui/overlays.d.ts +51 -0
- package/dist/ui/playlistPanel.d.ts +16 -0
- package/dist/ui/progress.d.ts +41 -0
- package/dist/ui/scenesPanel.d.ts +19 -0
- package/dist/vue.cjs +2 -0
- package/dist/vue.cjs.map +1 -0
- package/dist/vue.d.ts +67 -0
- package/dist/vue.js +89 -0
- package/dist/vue.js.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.cjs","sources":["../src/lazy.ts"],"sourcesContent":["/**\n * Micro entry (`itube-modern-player/lazy`) for bundle-deferred setups.\n *\n * Renders an instant poster placeholder (pure DOM, a couple of KB) and pulls\n * the real player chunk on the first user interaction — the pattern used to\n * be hand-rolled around fluid-player; here it is built in.\n *\n * ```ts\n * import { createLazyPlayer } from 'itube-modern-player/lazy'\n * import 'itube-modern-player/style.css'\n *\n * const lazy = createLazyPlayer('#mount', {\n * source: { src: 'stream.m3u8', poster: 'poster.jpg', title: '…' },\n * loadOn: 'interaction',\n * })\n * lazy.ready.then((player) => player.on('ended', …))\n * ```\n */\nimport type { Player } from './player'\nimport type { PlayerOptions } from './types'\n\nexport interface LazyPlayerOptions extends PlayerOptions {\n /**\n * When to download the player bundle:\n * - `\"interaction\"` (default) — first pointerdown / keydown / touch anywhere on the page;\n * - `\"visible\"` — when the placeholder enters the viewport;\n * - `\"immediate\"` — right away (you still get the split chunk + instant placeholder).\n *\n * A click on the placeholder always loads immediately and starts playback.\n */\n loadOn?: 'interaction' | 'visible' | 'immediate'\n}\n\nexport interface LazyPlayer {\n /** Resolves with the real `Player` once the chunk is loaded and constructed. */\n ready: Promise<Player>\n /** The instance, `null` until loaded. */\n player: Player | null\n /** Placeholder root (removed when the player takes over). */\n el: HTMLElement\n destroy(): void\n}\n\nconst PLAY_SVG =\n '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M8 5.14v13.72c0 .8.87 1.3 1.56.88l10.54-6.86a1.05 1.05 0 0 0 0-1.76L9.56 4.26C8.87 3.84 8 4.34 8 5.14Z\"/></svg>'\n\nexport function createLazyPlayer(target: string | HTMLElement, options: LazyPlayerOptions = {}): LazyPlayer {\n const mount = typeof target === 'string' ? document.querySelector<HTMLElement>(target) : target\n if (!mount) throw new Error(`[itube-player] mount target not found: ${String(target)}`)\n\n const { loadOn = 'interaction', ...playerOptions } = options\n const first = Array.isArray(playerOptions.source) ? playerOptions.source[0] : playerOptions.source\n\n // Placeholder reuses the player's own CSS classes — pixel-identical to the\n // real preview poster, so the swap is invisible.\n const ph = document.createElement('div')\n ph.className = 'imp-player imp-player--lazy'\n const poster = document.createElement('div')\n poster.className = 'imp-poster'\n const image = document.createElement('div')\n image.className = 'imp-poster__image'\n if (first?.poster) image.style.backgroundImage = `url(\"${first.poster}\")`\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'imp-btn imp-poster__play'\n btn.setAttribute('aria-label', 'Play')\n btn.innerHTML = PLAY_SVG\n poster.append(image, btn)\n ph.append(poster)\n mount.append(ph)\n\n let resolveReady!: (p: Player) => void\n let rejectReady!: (e: unknown) => void\n const ready = new Promise<Player>((resolve, reject) => {\n resolveReady = resolve\n rejectReady = reject\n })\n // Consumers may ignore `ready` entirely — that must not crash the app.\n ready.catch(() => {})\n\n const api: LazyPlayer = {\n ready,\n player: null,\n el: ph,\n destroy() {\n destroyed = true\n cleanup()\n ph.remove()\n api.player?.destroy()\n },\n }\n\n let destroyed = false\n let loading = false\n const disposers: Array<() => void> = []\n const cleanup = () => {\n for (const dispose of disposers.splice(0)) dispose()\n }\n\n const load = (autoplay: boolean) => {\n if (loading || destroyed) return\n loading = true\n cleanup()\n // The full entry (not ./player) so built-in locales arrive with the chunk.\n import('./index').then(\n ({ Player: PlayerCtor }) => {\n if (destroyed) return\n ph.remove()\n const player = new PlayerCtor(mount, autoplay ? { ...playerOptions, autoplay: true } : playerOptions)\n api.player = player\n resolveReady(player)\n },\n (err) => {\n loading = false\n rejectReady(err)\n },\n )\n }\n\n // Click always wins: load + play.\n const onClick = () => load(true)\n ph.addEventListener('click', onClick)\n disposers.push(() => ph.removeEventListener('click', onClick))\n\n if (loadOn === 'immediate') {\n load(false)\n } else if (loadOn === 'visible' && typeof IntersectionObserver !== 'undefined') {\n const io = new IntersectionObserver((entries) => {\n if (entries.some((e) => e.isIntersecting)) load(false)\n })\n io.observe(ph)\n disposers.push(() => io.disconnect())\n } else {\n const onFirstInteraction = () => load(false)\n const events: Array<keyof DocumentEventMap> = ['pointerdown', 'keydown', 'touchstart', 'wheel']\n for (const name of events) {\n document.addEventListener(name, onFirstInteraction, { once: true, passive: true })\n disposers.push(() => document.removeEventListener(name, onFirstInteraction))\n }\n }\n\n return api\n}\n"],"names":["PLAY_SVG","createLazyPlayer","target","options","mount","loadOn","playerOptions","first","ph","poster","image","btn","resolveReady","rejectReady","ready","resolve","reject","api","destroyed","cleanup","loading","disposers","dispose","load","autoplay","PlayerCtor","player","err","onClick","io","entries","e","onFirstInteraction","events","name"],"mappings":"gFA2CA,MAAMA,EACJ,2LAEK,SAASC,EAAiBC,EAA8BC,EAA6B,GAAgB,CAC1G,MAAMC,EAAQ,OAAOF,GAAW,SAAW,SAAS,cAA2BA,CAAM,EAAIA,EACzF,GAAI,CAACE,EAAO,MAAM,IAAI,MAAM,0CAA0C,OAAOF,CAAM,CAAC,EAAE,EAEtF,KAAM,CAAE,OAAAG,EAAS,cAAe,GAAGC,GAAkBH,EAC/CI,EAAQ,MAAM,QAAQD,EAAc,MAAM,EAAIA,EAAc,OAAO,CAAC,EAAIA,EAAc,OAItFE,EAAK,SAAS,cAAc,KAAK,EACvCA,EAAG,UAAY,8BACf,MAAMC,EAAS,SAAS,cAAc,KAAK,EAC3CA,EAAO,UAAY,aACnB,MAAMC,EAAQ,SAAS,cAAc,KAAK,EAC1CA,EAAM,UAAY,oBACdH,GAAO,SAAQG,EAAM,MAAM,gBAAkB,QAAQH,EAAM,MAAM,MACrE,MAAMI,EAAM,SAAS,cAAc,QAAQ,EAC3CA,EAAI,KAAO,SACXA,EAAI,UAAY,2BAChBA,EAAI,aAAa,aAAc,MAAM,EACrCA,EAAI,UAAYX,EAChBS,EAAO,OAAOC,EAAOC,CAAG,EACxBH,EAAG,OAAOC,CAAM,EAChBL,EAAM,OAAOI,CAAE,EAEf,IAAII,EACAC,EACJ,MAAMC,EAAQ,IAAI,QAAgB,CAACC,EAASC,IAAW,CACrDJ,EAAeG,EACfF,EAAcG,CAChB,CAAC,EAEDF,EAAM,MAAM,IAAM,CAAC,CAAC,EAEpB,MAAMG,EAAkB,CACtB,MAAAH,EACA,OAAQ,KACR,GAAIN,EACJ,SAAU,CACRU,EAAY,GACZC,EAAA,EACAX,EAAG,OAAA,EACHS,EAAI,QAAQ,QAAA,CACd,CAAA,EAGF,IAAIC,EAAY,GACZE,EAAU,GACd,MAAMC,EAA+B,CAAA,EAC/BF,EAAU,IAAM,CACpB,UAAWG,KAAWD,EAAU,OAAO,CAAC,EAAGC,EAAA,CAC7C,EAEMC,EAAQC,GAAsB,CAC9BJ,GAAWF,IACfE,EAAU,GACVD,EAAA,EAEA,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,aAAS,CAAA,EAAE,KAChB,CAAC,CAAE,OAAQM,KAAiB,CAC1B,GAAIP,EAAW,OACfV,EAAG,OAAA,EACH,MAAMkB,EAAS,IAAID,EAAWrB,EAAOoB,EAAW,CAAE,GAAGlB,EAAe,SAAU,EAAA,EAASA,CAAa,EACpGW,EAAI,OAASS,EACbd,EAAac,CAAM,CACrB,EACCC,GAAQ,CACPP,EAAU,GACVP,EAAYc,CAAG,CACjB,CAAA,EAEJ,EAGMC,EAAU,IAAML,EAAK,EAAI,EAI/B,GAHAf,EAAG,iBAAiB,QAASoB,CAAO,EACpCP,EAAU,KAAK,IAAMb,EAAG,oBAAoB,QAASoB,CAAO,CAAC,EAEzDvB,IAAW,YACbkB,EAAK,EAAK,UACDlB,IAAW,WAAa,OAAO,qBAAyB,IAAa,CAC9E,MAAMwB,EAAK,IAAI,qBAAsBC,GAAY,CAC3CA,EAAQ,KAAMC,GAAMA,EAAE,cAAc,KAAQ,EAAK,CACvD,CAAC,EACDF,EAAG,QAAQrB,CAAE,EACba,EAAU,KAAK,IAAMQ,EAAG,WAAA,CAAY,CACtC,KAAO,CACL,MAAMG,EAAqB,IAAMT,EAAK,EAAK,EACrCU,EAAwC,CAAC,cAAe,UAAW,aAAc,OAAO,EAC9F,UAAWC,KAAQD,EACjB,SAAS,iBAAiBC,EAAMF,EAAoB,CAAE,KAAM,GAAM,QAAS,GAAM,EACjFX,EAAU,KAAK,IAAM,SAAS,oBAAoBa,EAAMF,CAAkB,CAAC,CAE/E,CAEA,OAAOf,CACT"}
|
package/dist/lazy.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Player } from './player';
|
|
2
|
+
import { PlayerOptions } from './types';
|
|
3
|
+
export interface LazyPlayerOptions extends PlayerOptions {
|
|
4
|
+
/**
|
|
5
|
+
* When to download the player bundle:
|
|
6
|
+
* - `"interaction"` (default) — first pointerdown / keydown / touch anywhere on the page;
|
|
7
|
+
* - `"visible"` — when the placeholder enters the viewport;
|
|
8
|
+
* - `"immediate"` — right away (you still get the split chunk + instant placeholder).
|
|
9
|
+
*
|
|
10
|
+
* A click on the placeholder always loads immediately and starts playback.
|
|
11
|
+
*/
|
|
12
|
+
loadOn?: 'interaction' | 'visible' | 'immediate';
|
|
13
|
+
}
|
|
14
|
+
export interface LazyPlayer {
|
|
15
|
+
/** Resolves with the real `Player` once the chunk is loaded and constructed. */
|
|
16
|
+
ready: Promise<Player>;
|
|
17
|
+
/** The instance, `null` until loaded. */
|
|
18
|
+
player: Player | null;
|
|
19
|
+
/** Placeholder root (removed when the player takes over). */
|
|
20
|
+
el: HTMLElement;
|
|
21
|
+
destroy(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare function createLazyPlayer(target: string | HTMLElement, options?: LazyPlayerOptions): LazyPlayer;
|
package/dist/lazy.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const k = '<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M8 5.14v13.72c0 .8.87 1.3 1.56.88l10.54-6.86a1.05 1.05 0 0 0 0-1.76L9.56 4.26C8.87 3.84 8 4.34 8 5.14Z"/></svg>';
|
|
2
|
+
function I(a, L = {}) {
|
|
3
|
+
const l = typeof a == "string" ? document.querySelector(a) : a;
|
|
4
|
+
if (!l) throw new Error(`[itube-player] mount target not found: ${String(a)}`);
|
|
5
|
+
const { loadOn: f = "interaction", ...o } = L, v = Array.isArray(o.source) ? o.source[0] : o.source, t = document.createElement("div");
|
|
6
|
+
t.className = "imp-player imp-player--lazy";
|
|
7
|
+
const p = document.createElement("div");
|
|
8
|
+
p.className = "imp-poster";
|
|
9
|
+
const d = document.createElement("div");
|
|
10
|
+
d.className = "imp-poster__image", v?.poster && (d.style.backgroundImage = `url("${v.poster}")`);
|
|
11
|
+
const s = document.createElement("button");
|
|
12
|
+
s.type = "button", s.className = "imp-btn imp-poster__play", s.setAttribute("aria-label", "Play"), s.innerHTML = k, p.append(d, s), t.append(p), l.append(t);
|
|
13
|
+
let b, h;
|
|
14
|
+
const w = new Promise((e, n) => {
|
|
15
|
+
b = e, h = n;
|
|
16
|
+
});
|
|
17
|
+
w.catch(() => {
|
|
18
|
+
});
|
|
19
|
+
const u = {
|
|
20
|
+
ready: w,
|
|
21
|
+
player: null,
|
|
22
|
+
el: t,
|
|
23
|
+
destroy() {
|
|
24
|
+
m = !0, E(), t.remove(), u.player?.destroy();
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
let m = !1, y = !1;
|
|
28
|
+
const c = [], E = () => {
|
|
29
|
+
for (const e of c.splice(0)) e();
|
|
30
|
+
}, i = (e) => {
|
|
31
|
+
y || m || (y = !0, E(), import("./index.js").then(
|
|
32
|
+
({ Player: n }) => {
|
|
33
|
+
if (m) return;
|
|
34
|
+
t.remove();
|
|
35
|
+
const r = new n(l, e ? { ...o, autoplay: !0 } : o);
|
|
36
|
+
u.player = r, b(r);
|
|
37
|
+
},
|
|
38
|
+
(n) => {
|
|
39
|
+
y = !1, h(n);
|
|
40
|
+
}
|
|
41
|
+
));
|
|
42
|
+
}, g = () => i(!0);
|
|
43
|
+
if (t.addEventListener("click", g), c.push(() => t.removeEventListener("click", g)), f === "immediate")
|
|
44
|
+
i(!1);
|
|
45
|
+
else if (f === "visible" && typeof IntersectionObserver < "u") {
|
|
46
|
+
const e = new IntersectionObserver((n) => {
|
|
47
|
+
n.some((r) => r.isIntersecting) && i(!1);
|
|
48
|
+
});
|
|
49
|
+
e.observe(t), c.push(() => e.disconnect());
|
|
50
|
+
} else {
|
|
51
|
+
const e = () => i(!1), n = ["pointerdown", "keydown", "touchstart", "wheel"];
|
|
52
|
+
for (const r of n)
|
|
53
|
+
document.addEventListener(r, e, { once: !0, passive: !0 }), c.push(() => document.removeEventListener(r, e));
|
|
54
|
+
}
|
|
55
|
+
return u;
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
I as createLazyPlayer
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=lazy.js.map
|
package/dist/lazy.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.js","sources":["../src/lazy.ts"],"sourcesContent":["/**\n * Micro entry (`itube-modern-player/lazy`) for bundle-deferred setups.\n *\n * Renders an instant poster placeholder (pure DOM, a couple of KB) and pulls\n * the real player chunk on the first user interaction — the pattern used to\n * be hand-rolled around fluid-player; here it is built in.\n *\n * ```ts\n * import { createLazyPlayer } from 'itube-modern-player/lazy'\n * import 'itube-modern-player/style.css'\n *\n * const lazy = createLazyPlayer('#mount', {\n * source: { src: 'stream.m3u8', poster: 'poster.jpg', title: '…' },\n * loadOn: 'interaction',\n * })\n * lazy.ready.then((player) => player.on('ended', …))\n * ```\n */\nimport type { Player } from './player'\nimport type { PlayerOptions } from './types'\n\nexport interface LazyPlayerOptions extends PlayerOptions {\n /**\n * When to download the player bundle:\n * - `\"interaction\"` (default) — first pointerdown / keydown / touch anywhere on the page;\n * - `\"visible\"` — when the placeholder enters the viewport;\n * - `\"immediate\"` — right away (you still get the split chunk + instant placeholder).\n *\n * A click on the placeholder always loads immediately and starts playback.\n */\n loadOn?: 'interaction' | 'visible' | 'immediate'\n}\n\nexport interface LazyPlayer {\n /** Resolves with the real `Player` once the chunk is loaded and constructed. */\n ready: Promise<Player>\n /** The instance, `null` until loaded. */\n player: Player | null\n /** Placeholder root (removed when the player takes over). */\n el: HTMLElement\n destroy(): void\n}\n\nconst PLAY_SVG =\n '<svg viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M8 5.14v13.72c0 .8.87 1.3 1.56.88l10.54-6.86a1.05 1.05 0 0 0 0-1.76L9.56 4.26C8.87 3.84 8 4.34 8 5.14Z\"/></svg>'\n\nexport function createLazyPlayer(target: string | HTMLElement, options: LazyPlayerOptions = {}): LazyPlayer {\n const mount = typeof target === 'string' ? document.querySelector<HTMLElement>(target) : target\n if (!mount) throw new Error(`[itube-player] mount target not found: ${String(target)}`)\n\n const { loadOn = 'interaction', ...playerOptions } = options\n const first = Array.isArray(playerOptions.source) ? playerOptions.source[0] : playerOptions.source\n\n // Placeholder reuses the player's own CSS classes — pixel-identical to the\n // real preview poster, so the swap is invisible.\n const ph = document.createElement('div')\n ph.className = 'imp-player imp-player--lazy'\n const poster = document.createElement('div')\n poster.className = 'imp-poster'\n const image = document.createElement('div')\n image.className = 'imp-poster__image'\n if (first?.poster) image.style.backgroundImage = `url(\"${first.poster}\")`\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'imp-btn imp-poster__play'\n btn.setAttribute('aria-label', 'Play')\n btn.innerHTML = PLAY_SVG\n poster.append(image, btn)\n ph.append(poster)\n mount.append(ph)\n\n let resolveReady!: (p: Player) => void\n let rejectReady!: (e: unknown) => void\n const ready = new Promise<Player>((resolve, reject) => {\n resolveReady = resolve\n rejectReady = reject\n })\n // Consumers may ignore `ready` entirely — that must not crash the app.\n ready.catch(() => {})\n\n const api: LazyPlayer = {\n ready,\n player: null,\n el: ph,\n destroy() {\n destroyed = true\n cleanup()\n ph.remove()\n api.player?.destroy()\n },\n }\n\n let destroyed = false\n let loading = false\n const disposers: Array<() => void> = []\n const cleanup = () => {\n for (const dispose of disposers.splice(0)) dispose()\n }\n\n const load = (autoplay: boolean) => {\n if (loading || destroyed) return\n loading = true\n cleanup()\n // The full entry (not ./player) so built-in locales arrive with the chunk.\n import('./index').then(\n ({ Player: PlayerCtor }) => {\n if (destroyed) return\n ph.remove()\n const player = new PlayerCtor(mount, autoplay ? { ...playerOptions, autoplay: true } : playerOptions)\n api.player = player\n resolveReady(player)\n },\n (err) => {\n loading = false\n rejectReady(err)\n },\n )\n }\n\n // Click always wins: load + play.\n const onClick = () => load(true)\n ph.addEventListener('click', onClick)\n disposers.push(() => ph.removeEventListener('click', onClick))\n\n if (loadOn === 'immediate') {\n load(false)\n } else if (loadOn === 'visible' && typeof IntersectionObserver !== 'undefined') {\n const io = new IntersectionObserver((entries) => {\n if (entries.some((e) => e.isIntersecting)) load(false)\n })\n io.observe(ph)\n disposers.push(() => io.disconnect())\n } else {\n const onFirstInteraction = () => load(false)\n const events: Array<keyof DocumentEventMap> = ['pointerdown', 'keydown', 'touchstart', 'wheel']\n for (const name of events) {\n document.addEventListener(name, onFirstInteraction, { once: true, passive: true })\n disposers.push(() => document.removeEventListener(name, onFirstInteraction))\n }\n }\n\n return api\n}\n"],"names":["PLAY_SVG","createLazyPlayer","target","options","mount","loadOn","playerOptions","first","ph","poster","image","btn","resolveReady","rejectReady","ready","resolve","reject","api","destroyed","cleanup","loading","disposers","dispose","load","autoplay","PlayerCtor","player","err","onClick","io","entries","e","onFirstInteraction","events","name"],"mappings":"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"}
|
package/dist/locales.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./labels-DTgTxMuq.cjs"),i={en:e.defaultLabels,ru:{play:"Воспроизвести",pause:"Пауза",replay:"Смотреть снова",mute:"Выключить звук",unmute:"Включить звук",fullscreen:"Во весь экран",exitFullscreen:"Выйти из полноэкранного режима",pip:"Картинка в картинке",settings:"Скорость воспроизведения",subtitles:"Субтитры",subtitlesOff:"Выкл.",speed:"Скорость",quality:"Качество",qualityAuto:"Авто",next:"Следующее",previous:"Предыдущее",playlist:"Плейлист",scenes:"Сцены",shuffle:"Перемешать",repeat:"Повтор",like:"Нравится",dislike:"Не нравится",addTo:"Сохранить в…",share:"Поделиться",report:"Пожаловаться",more:"Ещё",seekForward:"Перемотать вперёд",seekBack:"Перемотать назад",live:"В ЭФИРЕ",related:"Похожие видео",adLabel:"Реклама",skipAd:"Пропустить рекламу",skipAdIn:"Пропуск через",visitAdvertiser:"Перейти к рекламодателю",sponsored:"Спонсор"},de:{play:"Wiedergabe",pause:"Pause",replay:"Erneut abspielen",mute:"Stummschalten",unmute:"Ton einschalten",fullscreen:"Vollbild",exitFullscreen:"Vollbild beenden",pip:"Bild im Bild",settings:"Wiedergabegeschwindigkeit",subtitles:"Untertitel",subtitlesOff:"Aus",speed:"Geschwindigkeit",quality:"Qualität",qualityAuto:"Automatisch",next:"Weiter",previous:"Zurück",playlist:"Playlist",scenes:"Szenen",shuffle:"Zufallswiedergabe",repeat:"Wiederholen",like:"Mag ich",dislike:"Mag ich nicht",addTo:"Speichern in…",share:"Teilen",report:"Melden",more:"Weitere Aktionen",seekForward:"Vorspulen",seekBack:"Zurückspulen",live:"LIVE",related:"Weitere Videos",adLabel:"Anzeige",skipAd:"Werbung überspringen",skipAdIn:"Überspringen in",visitAdvertiser:"Zum Werbetreibenden",sponsored:"Gesponsert"},es:{play:"Reproducir",pause:"Pausa",replay:"Volver a reproducir",mute:"Silenciar",unmute:"Activar sonido",fullscreen:"Pantalla completa",exitFullscreen:"Salir de pantalla completa",pip:"Imagen en imagen",settings:"Velocidad de reproducción",subtitles:"Subtítulos",subtitlesOff:"Desactivados",speed:"Velocidad",quality:"Calidad",qualityAuto:"Automática",next:"Siguiente",previous:"Anterior",playlist:"Lista de reproducción",scenes:"Escenas",shuffle:"Aleatorio",repeat:"Repetir",like:"Me gusta",dislike:"No me gusta",addTo:"Guardar en…",share:"Compartir",report:"Denunciar",more:"Más acciones",seekForward:"Avanzar",seekBack:"Retroceder",live:"EN VIVO",related:"Más vídeos",adLabel:"Anuncio",skipAd:"Omitir anuncio",skipAdIn:"Omitir en",visitAdvertiser:"Visitar al anunciante",sponsored:"Patrocinado"},it:{play:"Riproduci",pause:"Pausa",replay:"Riproduci di nuovo",mute:"Disattiva audio",unmute:"Attiva audio",fullscreen:"Schermo intero",exitFullscreen:"Esci da schermo intero",pip:"Picture-in-picture",settings:"Velocità di riproduzione",subtitles:"Sottotitoli",subtitlesOff:"Disattivati",speed:"Velocità",quality:"Qualità",qualityAuto:"Automatica",next:"Successivo",previous:"Precedente",playlist:"Playlist",scenes:"Scene",shuffle:"Casuale",repeat:"Ripeti",like:"Mi piace",dislike:"Non mi piace",addTo:"Salva in…",share:"Condividi",report:"Segnala",more:"Altre azioni",seekForward:"Avanti veloce",seekBack:"Indietro",live:"LIVE",related:"Altri video",adLabel:"Annuncio",skipAd:"Salta annuncio",skipAdIn:"Salta tra",visitAdvertiser:"Visita l'inserzionista",sponsored:"Sponsorizzato"},ja:{play:"再生",pause:"一時停止",replay:"もう一度見る",mute:"ミュート",unmute:"ミュート解除",fullscreen:"全画面",exitFullscreen:"全画面を終了",pip:"ピクチャーインピクチャー",settings:"再生速度",subtitles:"字幕",subtitlesOff:"オフ",speed:"速度",quality:"画質",qualityAuto:"自動",next:"次へ",previous:"前へ",playlist:"プレイリスト",scenes:"シーン",shuffle:"シャッフル",repeat:"リピート",like:"高く評価",dislike:"低く評価",addTo:"保存…",share:"共有",report:"報告",more:"その他の操作",seekForward:"早送り",seekBack:"巻き戻し",live:"ライブ",related:"関連動画",adLabel:"広告",skipAd:"広告をスキップ",skipAdIn:"スキップまで",visitAdvertiser:"広告主のサイトへ",sponsored:"スポンサー"},ko:{play:"재생",pause:"일시정지",replay:"다시 보기",mute:"음소거",unmute:"음소거 해제",fullscreen:"전체화면",exitFullscreen:"전체화면 종료",pip:"PIP 모드",settings:"재생 속도",subtitles:"자막",subtitlesOff:"사용 안 함",speed:"속도",quality:"화질",qualityAuto:"자동",next:"다음",previous:"이전",playlist:"재생목록",scenes:"장면",shuffle:"셔플",repeat:"반복",like:"좋아요",dislike:"싫어요",addTo:"저장…",share:"공유",report:"신고",more:"더보기",seekForward:"앞으로 감기",seekBack:"뒤로 감기",live:"실시간",related:"관련 동영상",adLabel:"광고",skipAd:"광고 건너뛰기",skipAdIn:"건너뛰기까지",visitAdvertiser:"광고주 방문",sponsored:"스폰서"},zh:{play:"播放",pause:"暂停",replay:"重新播放",mute:"静音",unmute:"取消静音",fullscreen:"全屏",exitFullscreen:"退出全屏",pip:"画中画",settings:"播放速度",subtitles:"字幕",subtitlesOff:"关闭",speed:"速度",quality:"画质",qualityAuto:"自动",next:"下一个",previous:"上一个",playlist:"播放列表",scenes:"场景",shuffle:"随机播放",repeat:"循环播放",like:"赞",dislike:"踩",addTo:"保存到…",share:"分享",report:"举报",more:"更多操作",seekForward:"快进",seekBack:"快退",live:"直播",related:"更多视频",adLabel:"广告",skipAd:"跳过广告",skipAdIn:"可跳过",visitAdvertiser:"访问广告主",sponsored:"赞助"},pt:{play:"Reproduzir",pause:"Pausar",replay:"Assistir novamente",mute:"Sem som",unmute:"Ativar som",fullscreen:"Tela cheia",exitFullscreen:"Sair da tela cheia",pip:"Picture-in-picture",settings:"Velocidade de reprodução",subtitles:"Legendas",subtitlesOff:"Desativadas",speed:"Velocidade",quality:"Qualidade",qualityAuto:"Automática",next:"Próximo",previous:"Anterior",playlist:"Playlist",scenes:"Cenas",shuffle:"Aleatório",repeat:"Repetir",like:"Gostei",dislike:"Não gostei",addTo:"Salvar em…",share:"Compartilhar",report:"Denunciar",more:"Mais ações",seekForward:"Avançar",seekBack:"Retroceder",live:"AO VIVO",related:"Mais vídeos",adLabel:"Anúncio",skipAd:"Pular anúncio",skipAdIn:"Pular em",visitAdvertiser:"Visitar anunciante",sponsored:"Patrocinado"},ar:{play:"تشغيل",pause:"إيقاف مؤقت",replay:"إعادة التشغيل",mute:"كتم الصوت",unmute:"إلغاء كتم الصوت",fullscreen:"ملء الشاشة",exitFullscreen:"الخروج من ملء الشاشة",pip:"صورة داخل صورة",settings:"سرعة التشغيل",subtitles:"الترجمة",subtitlesOff:"إيقاف",speed:"السرعة",quality:"الجودة",qualityAuto:"تلقائي",next:"التالي",previous:"السابق",playlist:"قائمة التشغيل",scenes:"المشاهد",shuffle:"تشغيل عشوائي",repeat:"تكرار",like:"أعجبني",dislike:"لم يعجبني",addTo:"حفظ في…",share:"مشاركة",report:"إبلاغ",more:"المزيد من الإجراءات",seekForward:"تقديم",seekBack:"إرجاع",live:"مباشر",related:"المزيد من الفيديوهات",adLabel:"إعلان",skipAd:"تخطي الإعلان",skipAdIn:"التخطي بعد",visitAdvertiser:"زيارة المعلن",sponsored:"برعاية"},hi:{play:"चलाएं",pause:"रोकें",replay:"फिर से चलाएं",mute:"म्यूट करें",unmute:"अनम्यूट करें",fullscreen:"फ़ुल स्क्रीन",exitFullscreen:"फ़ुल स्क्रीन से बाहर निकलें",pip:"पिक्चर-इन-पिक्चर",settings:"प्लेबैक गति",subtitles:"सबटाइटल",subtitlesOff:"बंद",speed:"गति",quality:"क्वालिटी",qualityAuto:"ऑटो",next:"अगला",previous:"पिछला",playlist:"प्लेलिस्ट",scenes:"दृश्य",shuffle:"शफ़ल",repeat:"दोहराएं",like:"पसंद",dislike:"नापसंद",addTo:"इसमें सहेजें…",share:"साझा करें",report:"रिपोर्ट करें",more:"अधिक कार्रवाइयां",seekForward:"आगे बढ़ाएं",seekBack:"पीछे करें",live:"लाइव",related:"और वीडियो",adLabel:"विज्ञापन",skipAd:"विज्ञापन छोड़ें",skipAdIn:"छोड़ें",visitAdvertiser:"विज्ञापनदाता देखें",sponsored:"प्रायोजित"}},s=Object.keys(i);exports.defaultLabels=e.defaultLabels;exports.locales=i;exports.supportedLanguages=s;
|
|
2
|
+
//# sourceMappingURL=locales.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.cjs","sources":["../src/core/locales.ts"],"sourcesContent":["import type { LocaleCode, PlayerLabels } from '../types'\nimport { defaultLabels } from './labels'\n\n/**\n * Built-in static locales. Pick one with `options.language`; any individual\n * string can still be overridden via `options.labels`.\n *\n * The canonical term list is the `PlayerLabels` interface — `defaultLabels`\n * (English) is exported as the reference dictionary for translators.\n */\nexport const locales: Record<LocaleCode, PlayerLabels> = {\n en: defaultLabels,\n\n ru: {\n play: 'Воспроизвести',\n pause: 'Пауза',\n replay: 'Смотреть снова',\n mute: 'Выключить звук',\n unmute: 'Включить звук',\n fullscreen: 'Во весь экран',\n exitFullscreen: 'Выйти из полноэкранного режима',\n pip: 'Картинка в картинке',\n settings: 'Скорость воспроизведения',\n subtitles: 'Субтитры',\n subtitlesOff: 'Выкл.',\n speed: 'Скорость',\n quality: 'Качество',\n qualityAuto: 'Авто',\n next: 'Следующее',\n previous: 'Предыдущее',\n playlist: 'Плейлист',\n scenes: 'Сцены',\n shuffle: 'Перемешать',\n repeat: 'Повтор',\n like: 'Нравится',\n dislike: 'Не нравится',\n addTo: 'Сохранить в…',\n share: 'Поделиться',\n report: 'Пожаловаться',\n more: 'Ещё',\n seekForward: 'Перемотать вперёд',\n seekBack: 'Перемотать назад',\n live: 'В ЭФИРЕ',\n related: 'Похожие видео',\n adLabel: 'Реклама',\n skipAd: 'Пропустить рекламу',\n skipAdIn: 'Пропуск через',\n visitAdvertiser: 'Перейти к рекламодателю',\n sponsored: 'Спонсор',\n },\n\n de: {\n play: 'Wiedergabe',\n pause: 'Pause',\n replay: 'Erneut abspielen',\n mute: 'Stummschalten',\n unmute: 'Ton einschalten',\n fullscreen: 'Vollbild',\n exitFullscreen: 'Vollbild beenden',\n pip: 'Bild im Bild',\n settings: 'Wiedergabegeschwindigkeit',\n subtitles: 'Untertitel',\n subtitlesOff: 'Aus',\n speed: 'Geschwindigkeit',\n quality: 'Qualität',\n qualityAuto: 'Automatisch',\n next: 'Weiter',\n previous: 'Zurück',\n playlist: 'Playlist',\n scenes: 'Szenen',\n shuffle: 'Zufallswiedergabe',\n repeat: 'Wiederholen',\n like: 'Mag ich',\n dislike: 'Mag ich nicht',\n addTo: 'Speichern in…',\n share: 'Teilen',\n report: 'Melden',\n more: 'Weitere Aktionen',\n seekForward: 'Vorspulen',\n seekBack: 'Zurückspulen',\n live: 'LIVE',\n related: 'Weitere Videos',\n adLabel: 'Anzeige',\n skipAd: 'Werbung überspringen',\n skipAdIn: 'Überspringen in',\n visitAdvertiser: 'Zum Werbetreibenden',\n sponsored: 'Gesponsert',\n },\n\n es: {\n play: 'Reproducir',\n pause: 'Pausa',\n replay: 'Volver a reproducir',\n mute: 'Silenciar',\n unmute: 'Activar sonido',\n fullscreen: 'Pantalla completa',\n exitFullscreen: 'Salir de pantalla completa',\n pip: 'Imagen en imagen',\n settings: 'Velocidad de reproducción',\n subtitles: 'Subtítulos',\n subtitlesOff: 'Desactivados',\n speed: 'Velocidad',\n quality: 'Calidad',\n qualityAuto: 'Automática',\n next: 'Siguiente',\n previous: 'Anterior',\n playlist: 'Lista de reproducción',\n scenes: 'Escenas',\n shuffle: 'Aleatorio',\n repeat: 'Repetir',\n like: 'Me gusta',\n dislike: 'No me gusta',\n addTo: 'Guardar en…',\n share: 'Compartir',\n report: 'Denunciar',\n more: 'Más acciones',\n seekForward: 'Avanzar',\n seekBack: 'Retroceder',\n live: 'EN VIVO',\n related: 'Más vídeos',\n adLabel: 'Anuncio',\n skipAd: 'Omitir anuncio',\n skipAdIn: 'Omitir en',\n visitAdvertiser: 'Visitar al anunciante',\n sponsored: 'Patrocinado',\n },\n\n it: {\n play: 'Riproduci',\n pause: 'Pausa',\n replay: 'Riproduci di nuovo',\n mute: 'Disattiva audio',\n unmute: 'Attiva audio',\n fullscreen: 'Schermo intero',\n exitFullscreen: 'Esci da schermo intero',\n pip: 'Picture-in-picture',\n settings: 'Velocità di riproduzione',\n subtitles: 'Sottotitoli',\n subtitlesOff: 'Disattivati',\n speed: 'Velocità',\n quality: 'Qualità',\n qualityAuto: 'Automatica',\n next: 'Successivo',\n previous: 'Precedente',\n playlist: 'Playlist',\n scenes: 'Scene',\n shuffle: 'Casuale',\n repeat: 'Ripeti',\n like: 'Mi piace',\n dislike: 'Non mi piace',\n addTo: 'Salva in…',\n share: 'Condividi',\n report: 'Segnala',\n more: 'Altre azioni',\n seekForward: 'Avanti veloce',\n seekBack: 'Indietro',\n live: 'LIVE',\n related: 'Altri video',\n adLabel: 'Annuncio',\n skipAd: 'Salta annuncio',\n skipAdIn: 'Salta tra',\n visitAdvertiser: \"Visita l'inserzionista\",\n sponsored: 'Sponsorizzato',\n },\n\n ja: {\n play: '再生',\n pause: '一時停止',\n replay: 'もう一度見る',\n mute: 'ミュート',\n unmute: 'ミュート解除',\n fullscreen: '全画面',\n exitFullscreen: '全画面を終了',\n pip: 'ピクチャーインピクチャー',\n settings: '再生速度',\n subtitles: '字幕',\n subtitlesOff: 'オフ',\n speed: '速度',\n quality: '画質',\n qualityAuto: '自動',\n next: '次へ',\n previous: '前へ',\n playlist: 'プレイリスト',\n scenes: 'シーン',\n shuffle: 'シャッフル',\n repeat: 'リピート',\n like: '高く評価',\n dislike: '低く評価',\n addTo: '保存…',\n share: '共有',\n report: '報告',\n more: 'その他の操作',\n seekForward: '早送り',\n seekBack: '巻き戻し',\n live: 'ライブ',\n related: '関連動画',\n adLabel: '広告',\n skipAd: '広告をスキップ',\n skipAdIn: 'スキップまで',\n visitAdvertiser: '広告主のサイトへ',\n sponsored: 'スポンサー',\n },\n\n ko: {\n play: '재생',\n pause: '일시정지',\n replay: '다시 보기',\n mute: '음소거',\n unmute: '음소거 해제',\n fullscreen: '전체화면',\n exitFullscreen: '전체화면 종료',\n pip: 'PIP 모드',\n settings: '재생 속도',\n subtitles: '자막',\n subtitlesOff: '사용 안 함',\n speed: '속도',\n quality: '화질',\n qualityAuto: '자동',\n next: '다음',\n previous: '이전',\n playlist: '재생목록',\n scenes: '장면',\n shuffle: '셔플',\n repeat: '반복',\n like: '좋아요',\n dislike: '싫어요',\n addTo: '저장…',\n share: '공유',\n report: '신고',\n more: '더보기',\n seekForward: '앞으로 감기',\n seekBack: '뒤로 감기',\n live: '실시간',\n related: '관련 동영상',\n adLabel: '광고',\n skipAd: '광고 건너뛰기',\n skipAdIn: '건너뛰기까지',\n visitAdvertiser: '광고주 방문',\n sponsored: '스폰서',\n },\n\n zh: {\n play: '播放',\n pause: '暂停',\n replay: '重新播放',\n mute: '静音',\n unmute: '取消静音',\n fullscreen: '全屏',\n exitFullscreen: '退出全屏',\n pip: '画中画',\n settings: '播放速度',\n subtitles: '字幕',\n subtitlesOff: '关闭',\n speed: '速度',\n quality: '画质',\n qualityAuto: '自动',\n next: '下一个',\n previous: '上一个',\n playlist: '播放列表',\n scenes: '场景',\n shuffle: '随机播放',\n repeat: '循环播放',\n like: '赞',\n dislike: '踩',\n addTo: '保存到…',\n share: '分享',\n report: '举报',\n more: '更多操作',\n seekForward: '快进',\n seekBack: '快退',\n live: '直播',\n related: '更多视频',\n adLabel: '广告',\n skipAd: '跳过广告',\n skipAdIn: '可跳过',\n visitAdvertiser: '访问广告主',\n sponsored: '赞助',\n },\n\n pt: {\n play: 'Reproduzir',\n pause: 'Pausar',\n replay: 'Assistir novamente',\n mute: 'Sem som',\n unmute: 'Ativar som',\n fullscreen: 'Tela cheia',\n exitFullscreen: 'Sair da tela cheia',\n pip: 'Picture-in-picture',\n settings: 'Velocidade de reprodução',\n subtitles: 'Legendas',\n subtitlesOff: 'Desativadas',\n speed: 'Velocidade',\n quality: 'Qualidade',\n qualityAuto: 'Automática',\n next: 'Próximo',\n previous: 'Anterior',\n playlist: 'Playlist',\n scenes: 'Cenas',\n shuffle: 'Aleatório',\n repeat: 'Repetir',\n like: 'Gostei',\n dislike: 'Não gostei',\n addTo: 'Salvar em…',\n share: 'Compartilhar',\n report: 'Denunciar',\n more: 'Mais ações',\n seekForward: 'Avançar',\n seekBack: 'Retroceder',\n live: 'AO VIVO',\n related: 'Mais vídeos',\n adLabel: 'Anúncio',\n skipAd: 'Pular anúncio',\n skipAdIn: 'Pular em',\n visitAdvertiser: 'Visitar anunciante',\n sponsored: 'Patrocinado',\n },\n\n ar: {\n play: 'تشغيل',\n pause: 'إيقاف مؤقت',\n replay: 'إعادة التشغيل',\n mute: 'كتم الصوت',\n unmute: 'إلغاء كتم الصوت',\n fullscreen: 'ملء الشاشة',\n exitFullscreen: 'الخروج من ملء الشاشة',\n pip: 'صورة داخل صورة',\n settings: 'سرعة التشغيل',\n subtitles: 'الترجمة',\n subtitlesOff: 'إيقاف',\n speed: 'السرعة',\n quality: 'الجودة',\n qualityAuto: 'تلقائي',\n next: 'التالي',\n previous: 'السابق',\n playlist: 'قائمة التشغيل',\n scenes: 'المشاهد',\n shuffle: 'تشغيل عشوائي',\n repeat: 'تكرار',\n like: 'أعجبني',\n dislike: 'لم يعجبني',\n addTo: 'حفظ في…',\n share: 'مشاركة',\n report: 'إبلاغ',\n more: 'المزيد من الإجراءات',\n seekForward: 'تقديم',\n seekBack: 'إرجاع',\n live: 'مباشر',\n related: 'المزيد من الفيديوهات',\n adLabel: 'إعلان',\n skipAd: 'تخطي الإعلان',\n skipAdIn: 'التخطي بعد',\n visitAdvertiser: 'زيارة المعلن',\n sponsored: 'برعاية',\n },\n\n hi: {\n play: 'चलाएं',\n pause: 'रोकें',\n replay: 'फिर से चलाएं',\n mute: 'म्यूट करें',\n unmute: 'अनम्यूट करें',\n fullscreen: 'फ़ुल स्क्रीन',\n exitFullscreen: 'फ़ुल स्क्रीन से बाहर निकलें',\n pip: 'पिक्चर-इन-पिक्चर',\n settings: 'प्लेबैक गति',\n subtitles: 'सबटाइटल',\n subtitlesOff: 'बंद',\n speed: 'गति',\n quality: 'क्वालिटी',\n qualityAuto: 'ऑटो',\n next: 'अगला',\n previous: 'पिछला',\n playlist: 'प्लेलिस्ट',\n scenes: 'दृश्य',\n shuffle: 'शफ़ल',\n repeat: 'दोहराएं',\n like: 'पसंद',\n dislike: 'नापसंद',\n addTo: 'इसमें सहेजें…',\n share: 'साझा करें',\n report: 'रिपोर्ट करें',\n more: 'अधिक कार्रवाइयां',\n seekForward: 'आगे बढ़ाएं',\n seekBack: 'पीछे करें',\n live: 'लाइव',\n related: 'और वीडियो',\n adLabel: 'विज्ञापन',\n skipAd: 'विज्ञापन छोड़ें',\n skipAdIn: 'छोड़ें',\n visitAdvertiser: 'विज्ञापनदाता देखें',\n sponsored: 'प्रायोजित',\n },\n}\n\n/** Codes of all built-in locales. */\nexport const supportedLanguages = Object.keys(locales) as LocaleCode[]\n"],"names":["locales","defaultLabels","supportedLanguages"],"mappings":"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"}
|
package/dist/locales.js
ADDED
|
@@ -0,0 +1,380 @@
|
|
|
1
|
+
import { d as e } from "./labels-C3gAZEm-.js";
|
|
2
|
+
const i = {
|
|
3
|
+
en: e,
|
|
4
|
+
ru: {
|
|
5
|
+
play: "Воспроизвести",
|
|
6
|
+
pause: "Пауза",
|
|
7
|
+
replay: "Смотреть снова",
|
|
8
|
+
mute: "Выключить звук",
|
|
9
|
+
unmute: "Включить звук",
|
|
10
|
+
fullscreen: "Во весь экран",
|
|
11
|
+
exitFullscreen: "Выйти из полноэкранного режима",
|
|
12
|
+
pip: "Картинка в картинке",
|
|
13
|
+
settings: "Скорость воспроизведения",
|
|
14
|
+
subtitles: "Субтитры",
|
|
15
|
+
subtitlesOff: "Выкл.",
|
|
16
|
+
speed: "Скорость",
|
|
17
|
+
quality: "Качество",
|
|
18
|
+
qualityAuto: "Авто",
|
|
19
|
+
next: "Следующее",
|
|
20
|
+
previous: "Предыдущее",
|
|
21
|
+
playlist: "Плейлист",
|
|
22
|
+
scenes: "Сцены",
|
|
23
|
+
shuffle: "Перемешать",
|
|
24
|
+
repeat: "Повтор",
|
|
25
|
+
like: "Нравится",
|
|
26
|
+
dislike: "Не нравится",
|
|
27
|
+
addTo: "Сохранить в…",
|
|
28
|
+
share: "Поделиться",
|
|
29
|
+
report: "Пожаловаться",
|
|
30
|
+
more: "Ещё",
|
|
31
|
+
seekForward: "Перемотать вперёд",
|
|
32
|
+
seekBack: "Перемотать назад",
|
|
33
|
+
live: "В ЭФИРЕ",
|
|
34
|
+
related: "Похожие видео",
|
|
35
|
+
adLabel: "Реклама",
|
|
36
|
+
skipAd: "Пропустить рекламу",
|
|
37
|
+
skipAdIn: "Пропуск через",
|
|
38
|
+
visitAdvertiser: "Перейти к рекламодателю",
|
|
39
|
+
sponsored: "Спонсор"
|
|
40
|
+
},
|
|
41
|
+
de: {
|
|
42
|
+
play: "Wiedergabe",
|
|
43
|
+
pause: "Pause",
|
|
44
|
+
replay: "Erneut abspielen",
|
|
45
|
+
mute: "Stummschalten",
|
|
46
|
+
unmute: "Ton einschalten",
|
|
47
|
+
fullscreen: "Vollbild",
|
|
48
|
+
exitFullscreen: "Vollbild beenden",
|
|
49
|
+
pip: "Bild im Bild",
|
|
50
|
+
settings: "Wiedergabegeschwindigkeit",
|
|
51
|
+
subtitles: "Untertitel",
|
|
52
|
+
subtitlesOff: "Aus",
|
|
53
|
+
speed: "Geschwindigkeit",
|
|
54
|
+
quality: "Qualität",
|
|
55
|
+
qualityAuto: "Automatisch",
|
|
56
|
+
next: "Weiter",
|
|
57
|
+
previous: "Zurück",
|
|
58
|
+
playlist: "Playlist",
|
|
59
|
+
scenes: "Szenen",
|
|
60
|
+
shuffle: "Zufallswiedergabe",
|
|
61
|
+
repeat: "Wiederholen",
|
|
62
|
+
like: "Mag ich",
|
|
63
|
+
dislike: "Mag ich nicht",
|
|
64
|
+
addTo: "Speichern in…",
|
|
65
|
+
share: "Teilen",
|
|
66
|
+
report: "Melden",
|
|
67
|
+
more: "Weitere Aktionen",
|
|
68
|
+
seekForward: "Vorspulen",
|
|
69
|
+
seekBack: "Zurückspulen",
|
|
70
|
+
live: "LIVE",
|
|
71
|
+
related: "Weitere Videos",
|
|
72
|
+
adLabel: "Anzeige",
|
|
73
|
+
skipAd: "Werbung überspringen",
|
|
74
|
+
skipAdIn: "Überspringen in",
|
|
75
|
+
visitAdvertiser: "Zum Werbetreibenden",
|
|
76
|
+
sponsored: "Gesponsert"
|
|
77
|
+
},
|
|
78
|
+
es: {
|
|
79
|
+
play: "Reproducir",
|
|
80
|
+
pause: "Pausa",
|
|
81
|
+
replay: "Volver a reproducir",
|
|
82
|
+
mute: "Silenciar",
|
|
83
|
+
unmute: "Activar sonido",
|
|
84
|
+
fullscreen: "Pantalla completa",
|
|
85
|
+
exitFullscreen: "Salir de pantalla completa",
|
|
86
|
+
pip: "Imagen en imagen",
|
|
87
|
+
settings: "Velocidad de reproducción",
|
|
88
|
+
subtitles: "Subtítulos",
|
|
89
|
+
subtitlesOff: "Desactivados",
|
|
90
|
+
speed: "Velocidad",
|
|
91
|
+
quality: "Calidad",
|
|
92
|
+
qualityAuto: "Automática",
|
|
93
|
+
next: "Siguiente",
|
|
94
|
+
previous: "Anterior",
|
|
95
|
+
playlist: "Lista de reproducción",
|
|
96
|
+
scenes: "Escenas",
|
|
97
|
+
shuffle: "Aleatorio",
|
|
98
|
+
repeat: "Repetir",
|
|
99
|
+
like: "Me gusta",
|
|
100
|
+
dislike: "No me gusta",
|
|
101
|
+
addTo: "Guardar en…",
|
|
102
|
+
share: "Compartir",
|
|
103
|
+
report: "Denunciar",
|
|
104
|
+
more: "Más acciones",
|
|
105
|
+
seekForward: "Avanzar",
|
|
106
|
+
seekBack: "Retroceder",
|
|
107
|
+
live: "EN VIVO",
|
|
108
|
+
related: "Más vídeos",
|
|
109
|
+
adLabel: "Anuncio",
|
|
110
|
+
skipAd: "Omitir anuncio",
|
|
111
|
+
skipAdIn: "Omitir en",
|
|
112
|
+
visitAdvertiser: "Visitar al anunciante",
|
|
113
|
+
sponsored: "Patrocinado"
|
|
114
|
+
},
|
|
115
|
+
it: {
|
|
116
|
+
play: "Riproduci",
|
|
117
|
+
pause: "Pausa",
|
|
118
|
+
replay: "Riproduci di nuovo",
|
|
119
|
+
mute: "Disattiva audio",
|
|
120
|
+
unmute: "Attiva audio",
|
|
121
|
+
fullscreen: "Schermo intero",
|
|
122
|
+
exitFullscreen: "Esci da schermo intero",
|
|
123
|
+
pip: "Picture-in-picture",
|
|
124
|
+
settings: "Velocità di riproduzione",
|
|
125
|
+
subtitles: "Sottotitoli",
|
|
126
|
+
subtitlesOff: "Disattivati",
|
|
127
|
+
speed: "Velocità",
|
|
128
|
+
quality: "Qualità",
|
|
129
|
+
qualityAuto: "Automatica",
|
|
130
|
+
next: "Successivo",
|
|
131
|
+
previous: "Precedente",
|
|
132
|
+
playlist: "Playlist",
|
|
133
|
+
scenes: "Scene",
|
|
134
|
+
shuffle: "Casuale",
|
|
135
|
+
repeat: "Ripeti",
|
|
136
|
+
like: "Mi piace",
|
|
137
|
+
dislike: "Non mi piace",
|
|
138
|
+
addTo: "Salva in…",
|
|
139
|
+
share: "Condividi",
|
|
140
|
+
report: "Segnala",
|
|
141
|
+
more: "Altre azioni",
|
|
142
|
+
seekForward: "Avanti veloce",
|
|
143
|
+
seekBack: "Indietro",
|
|
144
|
+
live: "LIVE",
|
|
145
|
+
related: "Altri video",
|
|
146
|
+
adLabel: "Annuncio",
|
|
147
|
+
skipAd: "Salta annuncio",
|
|
148
|
+
skipAdIn: "Salta tra",
|
|
149
|
+
visitAdvertiser: "Visita l'inserzionista",
|
|
150
|
+
sponsored: "Sponsorizzato"
|
|
151
|
+
},
|
|
152
|
+
ja: {
|
|
153
|
+
play: "再生",
|
|
154
|
+
pause: "一時停止",
|
|
155
|
+
replay: "もう一度見る",
|
|
156
|
+
mute: "ミュート",
|
|
157
|
+
unmute: "ミュート解除",
|
|
158
|
+
fullscreen: "全画面",
|
|
159
|
+
exitFullscreen: "全画面を終了",
|
|
160
|
+
pip: "ピクチャーインピクチャー",
|
|
161
|
+
settings: "再生速度",
|
|
162
|
+
subtitles: "字幕",
|
|
163
|
+
subtitlesOff: "オフ",
|
|
164
|
+
speed: "速度",
|
|
165
|
+
quality: "画質",
|
|
166
|
+
qualityAuto: "自動",
|
|
167
|
+
next: "次へ",
|
|
168
|
+
previous: "前へ",
|
|
169
|
+
playlist: "プレイリスト",
|
|
170
|
+
scenes: "シーン",
|
|
171
|
+
shuffle: "シャッフル",
|
|
172
|
+
repeat: "リピート",
|
|
173
|
+
like: "高く評価",
|
|
174
|
+
dislike: "低く評価",
|
|
175
|
+
addTo: "保存…",
|
|
176
|
+
share: "共有",
|
|
177
|
+
report: "報告",
|
|
178
|
+
more: "その他の操作",
|
|
179
|
+
seekForward: "早送り",
|
|
180
|
+
seekBack: "巻き戻し",
|
|
181
|
+
live: "ライブ",
|
|
182
|
+
related: "関連動画",
|
|
183
|
+
adLabel: "広告",
|
|
184
|
+
skipAd: "広告をスキップ",
|
|
185
|
+
skipAdIn: "スキップまで",
|
|
186
|
+
visitAdvertiser: "広告主のサイトへ",
|
|
187
|
+
sponsored: "スポンサー"
|
|
188
|
+
},
|
|
189
|
+
ko: {
|
|
190
|
+
play: "재생",
|
|
191
|
+
pause: "일시정지",
|
|
192
|
+
replay: "다시 보기",
|
|
193
|
+
mute: "음소거",
|
|
194
|
+
unmute: "음소거 해제",
|
|
195
|
+
fullscreen: "전체화면",
|
|
196
|
+
exitFullscreen: "전체화면 종료",
|
|
197
|
+
pip: "PIP 모드",
|
|
198
|
+
settings: "재생 속도",
|
|
199
|
+
subtitles: "자막",
|
|
200
|
+
subtitlesOff: "사용 안 함",
|
|
201
|
+
speed: "속도",
|
|
202
|
+
quality: "화질",
|
|
203
|
+
qualityAuto: "자동",
|
|
204
|
+
next: "다음",
|
|
205
|
+
previous: "이전",
|
|
206
|
+
playlist: "재생목록",
|
|
207
|
+
scenes: "장면",
|
|
208
|
+
shuffle: "셔플",
|
|
209
|
+
repeat: "반복",
|
|
210
|
+
like: "좋아요",
|
|
211
|
+
dislike: "싫어요",
|
|
212
|
+
addTo: "저장…",
|
|
213
|
+
share: "공유",
|
|
214
|
+
report: "신고",
|
|
215
|
+
more: "더보기",
|
|
216
|
+
seekForward: "앞으로 감기",
|
|
217
|
+
seekBack: "뒤로 감기",
|
|
218
|
+
live: "실시간",
|
|
219
|
+
related: "관련 동영상",
|
|
220
|
+
adLabel: "광고",
|
|
221
|
+
skipAd: "광고 건너뛰기",
|
|
222
|
+
skipAdIn: "건너뛰기까지",
|
|
223
|
+
visitAdvertiser: "광고주 방문",
|
|
224
|
+
sponsored: "스폰서"
|
|
225
|
+
},
|
|
226
|
+
zh: {
|
|
227
|
+
play: "播放",
|
|
228
|
+
pause: "暂停",
|
|
229
|
+
replay: "重新播放",
|
|
230
|
+
mute: "静音",
|
|
231
|
+
unmute: "取消静音",
|
|
232
|
+
fullscreen: "全屏",
|
|
233
|
+
exitFullscreen: "退出全屏",
|
|
234
|
+
pip: "画中画",
|
|
235
|
+
settings: "播放速度",
|
|
236
|
+
subtitles: "字幕",
|
|
237
|
+
subtitlesOff: "关闭",
|
|
238
|
+
speed: "速度",
|
|
239
|
+
quality: "画质",
|
|
240
|
+
qualityAuto: "自动",
|
|
241
|
+
next: "下一个",
|
|
242
|
+
previous: "上一个",
|
|
243
|
+
playlist: "播放列表",
|
|
244
|
+
scenes: "场景",
|
|
245
|
+
shuffle: "随机播放",
|
|
246
|
+
repeat: "循环播放",
|
|
247
|
+
like: "赞",
|
|
248
|
+
dislike: "踩",
|
|
249
|
+
addTo: "保存到…",
|
|
250
|
+
share: "分享",
|
|
251
|
+
report: "举报",
|
|
252
|
+
more: "更多操作",
|
|
253
|
+
seekForward: "快进",
|
|
254
|
+
seekBack: "快退",
|
|
255
|
+
live: "直播",
|
|
256
|
+
related: "更多视频",
|
|
257
|
+
adLabel: "广告",
|
|
258
|
+
skipAd: "跳过广告",
|
|
259
|
+
skipAdIn: "可跳过",
|
|
260
|
+
visitAdvertiser: "访问广告主",
|
|
261
|
+
sponsored: "赞助"
|
|
262
|
+
},
|
|
263
|
+
pt: {
|
|
264
|
+
play: "Reproduzir",
|
|
265
|
+
pause: "Pausar",
|
|
266
|
+
replay: "Assistir novamente",
|
|
267
|
+
mute: "Sem som",
|
|
268
|
+
unmute: "Ativar som",
|
|
269
|
+
fullscreen: "Tela cheia",
|
|
270
|
+
exitFullscreen: "Sair da tela cheia",
|
|
271
|
+
pip: "Picture-in-picture",
|
|
272
|
+
settings: "Velocidade de reprodução",
|
|
273
|
+
subtitles: "Legendas",
|
|
274
|
+
subtitlesOff: "Desativadas",
|
|
275
|
+
speed: "Velocidade",
|
|
276
|
+
quality: "Qualidade",
|
|
277
|
+
qualityAuto: "Automática",
|
|
278
|
+
next: "Próximo",
|
|
279
|
+
previous: "Anterior",
|
|
280
|
+
playlist: "Playlist",
|
|
281
|
+
scenes: "Cenas",
|
|
282
|
+
shuffle: "Aleatório",
|
|
283
|
+
repeat: "Repetir",
|
|
284
|
+
like: "Gostei",
|
|
285
|
+
dislike: "Não gostei",
|
|
286
|
+
addTo: "Salvar em…",
|
|
287
|
+
share: "Compartilhar",
|
|
288
|
+
report: "Denunciar",
|
|
289
|
+
more: "Mais ações",
|
|
290
|
+
seekForward: "Avançar",
|
|
291
|
+
seekBack: "Retroceder",
|
|
292
|
+
live: "AO VIVO",
|
|
293
|
+
related: "Mais vídeos",
|
|
294
|
+
adLabel: "Anúncio",
|
|
295
|
+
skipAd: "Pular anúncio",
|
|
296
|
+
skipAdIn: "Pular em",
|
|
297
|
+
visitAdvertiser: "Visitar anunciante",
|
|
298
|
+
sponsored: "Patrocinado"
|
|
299
|
+
},
|
|
300
|
+
ar: {
|
|
301
|
+
play: "تشغيل",
|
|
302
|
+
pause: "إيقاف مؤقت",
|
|
303
|
+
replay: "إعادة التشغيل",
|
|
304
|
+
mute: "كتم الصوت",
|
|
305
|
+
unmute: "إلغاء كتم الصوت",
|
|
306
|
+
fullscreen: "ملء الشاشة",
|
|
307
|
+
exitFullscreen: "الخروج من ملء الشاشة",
|
|
308
|
+
pip: "صورة داخل صورة",
|
|
309
|
+
settings: "سرعة التشغيل",
|
|
310
|
+
subtitles: "الترجمة",
|
|
311
|
+
subtitlesOff: "إيقاف",
|
|
312
|
+
speed: "السرعة",
|
|
313
|
+
quality: "الجودة",
|
|
314
|
+
qualityAuto: "تلقائي",
|
|
315
|
+
next: "التالي",
|
|
316
|
+
previous: "السابق",
|
|
317
|
+
playlist: "قائمة التشغيل",
|
|
318
|
+
scenes: "المشاهد",
|
|
319
|
+
shuffle: "تشغيل عشوائي",
|
|
320
|
+
repeat: "تكرار",
|
|
321
|
+
like: "أعجبني",
|
|
322
|
+
dislike: "لم يعجبني",
|
|
323
|
+
addTo: "حفظ في…",
|
|
324
|
+
share: "مشاركة",
|
|
325
|
+
report: "إبلاغ",
|
|
326
|
+
more: "المزيد من الإجراءات",
|
|
327
|
+
seekForward: "تقديم",
|
|
328
|
+
seekBack: "إرجاع",
|
|
329
|
+
live: "مباشر",
|
|
330
|
+
related: "المزيد من الفيديوهات",
|
|
331
|
+
adLabel: "إعلان",
|
|
332
|
+
skipAd: "تخطي الإعلان",
|
|
333
|
+
skipAdIn: "التخطي بعد",
|
|
334
|
+
visitAdvertiser: "زيارة المعلن",
|
|
335
|
+
sponsored: "برعاية"
|
|
336
|
+
},
|
|
337
|
+
hi: {
|
|
338
|
+
play: "चलाएं",
|
|
339
|
+
pause: "रोकें",
|
|
340
|
+
replay: "फिर से चलाएं",
|
|
341
|
+
mute: "म्यूट करें",
|
|
342
|
+
unmute: "अनम्यूट करें",
|
|
343
|
+
fullscreen: "फ़ुल स्क्रीन",
|
|
344
|
+
exitFullscreen: "फ़ुल स्क्रीन से बाहर निकलें",
|
|
345
|
+
pip: "पिक्चर-इन-पिक्चर",
|
|
346
|
+
settings: "प्लेबैक गति",
|
|
347
|
+
subtitles: "सबटाइटल",
|
|
348
|
+
subtitlesOff: "बंद",
|
|
349
|
+
speed: "गति",
|
|
350
|
+
quality: "क्वालिटी",
|
|
351
|
+
qualityAuto: "ऑटो",
|
|
352
|
+
next: "अगला",
|
|
353
|
+
previous: "पिछला",
|
|
354
|
+
playlist: "प्लेलिस्ट",
|
|
355
|
+
scenes: "दृश्य",
|
|
356
|
+
shuffle: "शफ़ल",
|
|
357
|
+
repeat: "दोहराएं",
|
|
358
|
+
like: "पसंद",
|
|
359
|
+
dislike: "नापसंद",
|
|
360
|
+
addTo: "इसमें सहेजें…",
|
|
361
|
+
share: "साझा करें",
|
|
362
|
+
report: "रिपोर्ट करें",
|
|
363
|
+
more: "अधिक कार्रवाइयां",
|
|
364
|
+
seekForward: "आगे बढ़ाएं",
|
|
365
|
+
seekBack: "पीछे करें",
|
|
366
|
+
live: "लाइव",
|
|
367
|
+
related: "और वीडियो",
|
|
368
|
+
adLabel: "विज्ञापन",
|
|
369
|
+
skipAd: "विज्ञापन छोड़ें",
|
|
370
|
+
skipAdIn: "छोड़ें",
|
|
371
|
+
visitAdvertiser: "विज्ञापनदाता देखें",
|
|
372
|
+
sponsored: "प्रायोजित"
|
|
373
|
+
}
|
|
374
|
+
}, t = Object.keys(i);
|
|
375
|
+
export {
|
|
376
|
+
e as defaultLabels,
|
|
377
|
+
i as locales,
|
|
378
|
+
t as supportedLanguages
|
|
379
|
+
};
|
|
380
|
+
//# sourceMappingURL=locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.js","sources":["../src/core/locales.ts"],"sourcesContent":["import type { LocaleCode, PlayerLabels } from '../types'\nimport { defaultLabels } from './labels'\n\n/**\n * Built-in static locales. Pick one with `options.language`; any individual\n * string can still be overridden via `options.labels`.\n *\n * The canonical term list is the `PlayerLabels` interface — `defaultLabels`\n * (English) is exported as the reference dictionary for translators.\n */\nexport const locales: Record<LocaleCode, PlayerLabels> = {\n en: defaultLabels,\n\n ru: {\n play: 'Воспроизвести',\n pause: 'Пауза',\n replay: 'Смотреть снова',\n mute: 'Выключить звук',\n unmute: 'Включить звук',\n fullscreen: 'Во весь экран',\n exitFullscreen: 'Выйти из полноэкранного режима',\n pip: 'Картинка в картинке',\n settings: 'Скорость воспроизведения',\n subtitles: 'Субтитры',\n subtitlesOff: 'Выкл.',\n speed: 'Скорость',\n quality: 'Качество',\n qualityAuto: 'Авто',\n next: 'Следующее',\n previous: 'Предыдущее',\n playlist: 'Плейлист',\n scenes: 'Сцены',\n shuffle: 'Перемешать',\n repeat: 'Повтор',\n like: 'Нравится',\n dislike: 'Не нравится',\n addTo: 'Сохранить в…',\n share: 'Поделиться',\n report: 'Пожаловаться',\n more: 'Ещё',\n seekForward: 'Перемотать вперёд',\n seekBack: 'Перемотать назад',\n live: 'В ЭФИРЕ',\n related: 'Похожие видео',\n adLabel: 'Реклама',\n skipAd: 'Пропустить рекламу',\n skipAdIn: 'Пропуск через',\n visitAdvertiser: 'Перейти к рекламодателю',\n sponsored: 'Спонсор',\n },\n\n de: {\n play: 'Wiedergabe',\n pause: 'Pause',\n replay: 'Erneut abspielen',\n mute: 'Stummschalten',\n unmute: 'Ton einschalten',\n fullscreen: 'Vollbild',\n exitFullscreen: 'Vollbild beenden',\n pip: 'Bild im Bild',\n settings: 'Wiedergabegeschwindigkeit',\n subtitles: 'Untertitel',\n subtitlesOff: 'Aus',\n speed: 'Geschwindigkeit',\n quality: 'Qualität',\n qualityAuto: 'Automatisch',\n next: 'Weiter',\n previous: 'Zurück',\n playlist: 'Playlist',\n scenes: 'Szenen',\n shuffle: 'Zufallswiedergabe',\n repeat: 'Wiederholen',\n like: 'Mag ich',\n dislike: 'Mag ich nicht',\n addTo: 'Speichern in…',\n share: 'Teilen',\n report: 'Melden',\n more: 'Weitere Aktionen',\n seekForward: 'Vorspulen',\n seekBack: 'Zurückspulen',\n live: 'LIVE',\n related: 'Weitere Videos',\n adLabel: 'Anzeige',\n skipAd: 'Werbung überspringen',\n skipAdIn: 'Überspringen in',\n visitAdvertiser: 'Zum Werbetreibenden',\n sponsored: 'Gesponsert',\n },\n\n es: {\n play: 'Reproducir',\n pause: 'Pausa',\n replay: 'Volver a reproducir',\n mute: 'Silenciar',\n unmute: 'Activar sonido',\n fullscreen: 'Pantalla completa',\n exitFullscreen: 'Salir de pantalla completa',\n pip: 'Imagen en imagen',\n settings: 'Velocidad de reproducción',\n subtitles: 'Subtítulos',\n subtitlesOff: 'Desactivados',\n speed: 'Velocidad',\n quality: 'Calidad',\n qualityAuto: 'Automática',\n next: 'Siguiente',\n previous: 'Anterior',\n playlist: 'Lista de reproducción',\n scenes: 'Escenas',\n shuffle: 'Aleatorio',\n repeat: 'Repetir',\n like: 'Me gusta',\n dislike: 'No me gusta',\n addTo: 'Guardar en…',\n share: 'Compartir',\n report: 'Denunciar',\n more: 'Más acciones',\n seekForward: 'Avanzar',\n seekBack: 'Retroceder',\n live: 'EN VIVO',\n related: 'Más vídeos',\n adLabel: 'Anuncio',\n skipAd: 'Omitir anuncio',\n skipAdIn: 'Omitir en',\n visitAdvertiser: 'Visitar al anunciante',\n sponsored: 'Patrocinado',\n },\n\n it: {\n play: 'Riproduci',\n pause: 'Pausa',\n replay: 'Riproduci di nuovo',\n mute: 'Disattiva audio',\n unmute: 'Attiva audio',\n fullscreen: 'Schermo intero',\n exitFullscreen: 'Esci da schermo intero',\n pip: 'Picture-in-picture',\n settings: 'Velocità di riproduzione',\n subtitles: 'Sottotitoli',\n subtitlesOff: 'Disattivati',\n speed: 'Velocità',\n quality: 'Qualità',\n qualityAuto: 'Automatica',\n next: 'Successivo',\n previous: 'Precedente',\n playlist: 'Playlist',\n scenes: 'Scene',\n shuffle: 'Casuale',\n repeat: 'Ripeti',\n like: 'Mi piace',\n dislike: 'Non mi piace',\n addTo: 'Salva in…',\n share: 'Condividi',\n report: 'Segnala',\n more: 'Altre azioni',\n seekForward: 'Avanti veloce',\n seekBack: 'Indietro',\n live: 'LIVE',\n related: 'Altri video',\n adLabel: 'Annuncio',\n skipAd: 'Salta annuncio',\n skipAdIn: 'Salta tra',\n visitAdvertiser: \"Visita l'inserzionista\",\n sponsored: 'Sponsorizzato',\n },\n\n ja: {\n play: '再生',\n pause: '一時停止',\n replay: 'もう一度見る',\n mute: 'ミュート',\n unmute: 'ミュート解除',\n fullscreen: '全画面',\n exitFullscreen: '全画面を終了',\n pip: 'ピクチャーインピクチャー',\n settings: '再生速度',\n subtitles: '字幕',\n subtitlesOff: 'オフ',\n speed: '速度',\n quality: '画質',\n qualityAuto: '自動',\n next: '次へ',\n previous: '前へ',\n playlist: 'プレイリスト',\n scenes: 'シーン',\n shuffle: 'シャッフル',\n repeat: 'リピート',\n like: '高く評価',\n dislike: '低く評価',\n addTo: '保存…',\n share: '共有',\n report: '報告',\n more: 'その他の操作',\n seekForward: '早送り',\n seekBack: '巻き戻し',\n live: 'ライブ',\n related: '関連動画',\n adLabel: '広告',\n skipAd: '広告をスキップ',\n skipAdIn: 'スキップまで',\n visitAdvertiser: '広告主のサイトへ',\n sponsored: 'スポンサー',\n },\n\n ko: {\n play: '재생',\n pause: '일시정지',\n replay: '다시 보기',\n mute: '음소거',\n unmute: '음소거 해제',\n fullscreen: '전체화면',\n exitFullscreen: '전체화면 종료',\n pip: 'PIP 모드',\n settings: '재생 속도',\n subtitles: '자막',\n subtitlesOff: '사용 안 함',\n speed: '속도',\n quality: '화질',\n qualityAuto: '자동',\n next: '다음',\n previous: '이전',\n playlist: '재생목록',\n scenes: '장면',\n shuffle: '셔플',\n repeat: '반복',\n like: '좋아요',\n dislike: '싫어요',\n addTo: '저장…',\n share: '공유',\n report: '신고',\n more: '더보기',\n seekForward: '앞으로 감기',\n seekBack: '뒤로 감기',\n live: '실시간',\n related: '관련 동영상',\n adLabel: '광고',\n skipAd: '광고 건너뛰기',\n skipAdIn: '건너뛰기까지',\n visitAdvertiser: '광고주 방문',\n sponsored: '스폰서',\n },\n\n zh: {\n play: '播放',\n pause: '暂停',\n replay: '重新播放',\n mute: '静音',\n unmute: '取消静音',\n fullscreen: '全屏',\n exitFullscreen: '退出全屏',\n pip: '画中画',\n settings: '播放速度',\n subtitles: '字幕',\n subtitlesOff: '关闭',\n speed: '速度',\n quality: '画质',\n qualityAuto: '自动',\n next: '下一个',\n previous: '上一个',\n playlist: '播放列表',\n scenes: '场景',\n shuffle: '随机播放',\n repeat: '循环播放',\n like: '赞',\n dislike: '踩',\n addTo: '保存到…',\n share: '分享',\n report: '举报',\n more: '更多操作',\n seekForward: '快进',\n seekBack: '快退',\n live: '直播',\n related: '更多视频',\n adLabel: '广告',\n skipAd: '跳过广告',\n skipAdIn: '可跳过',\n visitAdvertiser: '访问广告主',\n sponsored: '赞助',\n },\n\n pt: {\n play: 'Reproduzir',\n pause: 'Pausar',\n replay: 'Assistir novamente',\n mute: 'Sem som',\n unmute: 'Ativar som',\n fullscreen: 'Tela cheia',\n exitFullscreen: 'Sair da tela cheia',\n pip: 'Picture-in-picture',\n settings: 'Velocidade de reprodução',\n subtitles: 'Legendas',\n subtitlesOff: 'Desativadas',\n speed: 'Velocidade',\n quality: 'Qualidade',\n qualityAuto: 'Automática',\n next: 'Próximo',\n previous: 'Anterior',\n playlist: 'Playlist',\n scenes: 'Cenas',\n shuffle: 'Aleatório',\n repeat: 'Repetir',\n like: 'Gostei',\n dislike: 'Não gostei',\n addTo: 'Salvar em…',\n share: 'Compartilhar',\n report: 'Denunciar',\n more: 'Mais ações',\n seekForward: 'Avançar',\n seekBack: 'Retroceder',\n live: 'AO VIVO',\n related: 'Mais vídeos',\n adLabel: 'Anúncio',\n skipAd: 'Pular anúncio',\n skipAdIn: 'Pular em',\n visitAdvertiser: 'Visitar anunciante',\n sponsored: 'Patrocinado',\n },\n\n ar: {\n play: 'تشغيل',\n pause: 'إيقاف مؤقت',\n replay: 'إعادة التشغيل',\n mute: 'كتم الصوت',\n unmute: 'إلغاء كتم الصوت',\n fullscreen: 'ملء الشاشة',\n exitFullscreen: 'الخروج من ملء الشاشة',\n pip: 'صورة داخل صورة',\n settings: 'سرعة التشغيل',\n subtitles: 'الترجمة',\n subtitlesOff: 'إيقاف',\n speed: 'السرعة',\n quality: 'الجودة',\n qualityAuto: 'تلقائي',\n next: 'التالي',\n previous: 'السابق',\n playlist: 'قائمة التشغيل',\n scenes: 'المشاهد',\n shuffle: 'تشغيل عشوائي',\n repeat: 'تكرار',\n like: 'أعجبني',\n dislike: 'لم يعجبني',\n addTo: 'حفظ في…',\n share: 'مشاركة',\n report: 'إبلاغ',\n more: 'المزيد من الإجراءات',\n seekForward: 'تقديم',\n seekBack: 'إرجاع',\n live: 'مباشر',\n related: 'المزيد من الفيديوهات',\n adLabel: 'إعلان',\n skipAd: 'تخطي الإعلان',\n skipAdIn: 'التخطي بعد',\n visitAdvertiser: 'زيارة المعلن',\n sponsored: 'برعاية',\n },\n\n hi: {\n play: 'चलाएं',\n pause: 'रोकें',\n replay: 'फिर से चलाएं',\n mute: 'म्यूट करें',\n unmute: 'अनम्यूट करें',\n fullscreen: 'फ़ुल स्क्रीन',\n exitFullscreen: 'फ़ुल स्क्रीन से बाहर निकलें',\n pip: 'पिक्चर-इन-पिक्चर',\n settings: 'प्लेबैक गति',\n subtitles: 'सबटाइटल',\n subtitlesOff: 'बंद',\n speed: 'गति',\n quality: 'क्वालिटी',\n qualityAuto: 'ऑटो',\n next: 'अगला',\n previous: 'पिछला',\n playlist: 'प्लेलिस्ट',\n scenes: 'दृश्य',\n shuffle: 'शफ़ल',\n repeat: 'दोहराएं',\n like: 'पसंद',\n dislike: 'नापसंद',\n addTo: 'इसमें सहेजें…',\n share: 'साझा करें',\n report: 'रिपोर्ट करें',\n more: 'अधिक कार्रवाइयां',\n seekForward: 'आगे बढ़ाएं',\n seekBack: 'पीछे करें',\n live: 'लाइव',\n related: 'और वीडियो',\n adLabel: 'विज्ञापन',\n skipAd: 'विज्ञापन छोड़ें',\n skipAdIn: 'छोड़ें',\n visitAdvertiser: 'विज्ञापनदाता देखें',\n sponsored: 'प्रायोजित',\n },\n}\n\n/** Codes of all built-in locales. */\nexport const supportedLanguages = Object.keys(locales) as LocaleCode[]\n"],"names":["locales","defaultLabels","supportedLanguages"],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locale dictionaries only (`itube-modern-player/locales`) — for use with the
|
|
3
|
+
* slim `itube-modern-player/core` entry. Importing this module does NOT
|
|
4
|
+
* register anything; pass a dictionary to `registerLocale` yourself.
|
|
5
|
+
*/
|
|
6
|
+
export { locales, supportedLanguages } from './core/locales';
|
|
7
|
+
export { defaultLabels } from './core/labels';
|
|
8
|
+
export type { LocaleCode, PlayerLabels } from './types';
|