From 3dfa84940273619ae00f11a5f419a5e4876b2f53 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 16 Aug 2018 10:48:35 +0200 Subject: Translate subtitle langs in player --- client/src/assets/player/peertube-player.ts | 34 ++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) (limited to 'client/src/assets') diff --git a/client/src/assets/player/peertube-player.ts b/client/src/assets/player/peertube-player.ts index 1fca6a7d2..1b1ec7a68 100644 --- a/client/src/assets/player/peertube-player.ts +++ b/client/src/assets/player/peertube-player.ts @@ -174,18 +174,42 @@ function addContextMenu (player: any, videoEmbedUrl: string) { }) } -function loadLocale (serverUrl: string, videojs: any, locale: string) { - const completeLocale = getCompleteLocale(locale) +function loadLocaleInVideoJS (serverUrl: string, videojs: any, locale: string) { + const path = getLocalePath(serverUrl, locale) + // It is the default locale, nothing to translate + if (!path) return Promise.resolve(undefined) - if (!is18nLocale(completeLocale) || isDefaultLocale(completeLocale)) return Promise.resolve(undefined) + const completeLocale = getCompleteLocale(locale) - return fetch(serverUrl + '/client/locales/' + completeLocale + '/player.json') + return fetch(path + '/player.json') .then(res => res.json()) .then(json => videojs.addLanguage(getShortLocale(completeLocale), json)) } +function getServerTranslations (serverUrl: string, locale: string) { + const path = getLocalePath(serverUrl, locale) + // It is the default locale, nothing to translate + if (!path) return Promise.resolve(undefined) + + return fetch(path + '/server.json') + .then(res => res.json()) +} + +// ############################################################################ + export { - loadLocale, + getServerTranslations, + loadLocaleInVideoJS, getVideojsOptions, addContextMenu } + +// ############################################################################ + +function getLocalePath (serverUrl: string, locale: string) { + const completeLocale = getCompleteLocale(locale) + + if (!is18nLocale(completeLocale) || isDefaultLocale(completeLocale)) return undefined + + return serverUrl + '/client/locales/' + completeLocale +} -- cgit v1.2.3