1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

First successful attempt at dynamic lang loading

This commit is contained in:
ferferga 2020-04-02 19:31:32 +02:00
parent 4d21fbcc78
commit 368f21010b
6 changed files with 113 additions and 10 deletions

View file

@ -52,7 +52,7 @@
"dependencies": { "dependencies": {
"alameda": "^1.4.0", "alameda": "^1.4.0",
"core-js": "^3.6.4", "core-js": "^3.6.4",
"date-fns": "^2.11.0", "date-fns": "^2.11.1",
"document-register-element": "^1.14.3", "document-register-element": "^1.14.3",
"flv.js": "^1.5.0", "flv.js": "^1.5.0",
"hls.js": "^0.13.1", "hls.js": "^0.13.1",

View file

@ -1,5 +1,4 @@
import { es } from 'date-fns/locale' define(["jQuery", "loading", "events", "globalize", "dfnshelper", "serverNotifications", "date-fns", "listViewStyle", "emby-button"], function($, loading, events, globalize, dfnshelper, serverNotifications, datefns) {
define(["jQuery", "loading", "events", "globalize", "serverNotifications", "date-fns", "listViewStyle", "emby-button"], function($, loading, events, globalize, serverNotifications, datefns) {
"use strict"; "use strict";
function reloadList(page) { function reloadList(page) {
@ -67,8 +66,8 @@ define(["jQuery", "loading", "events", "globalize", "serverNotifications", "date
var html = ""; var html = "";
if (task.State === "Idle") { if (task.State === "Idle") {
if (task.LastExecutionResult) { if (task.LastExecutionResult) {
html += globalize.translate("LabelScheduledTaskLastRan", datefns.formatDistanceToNow(Date.parse(task.LastExecutionResult.EndTimeUtc), { addSuffix: true, locale: es }), html += globalize.translate("LabelScheduledTaskLastRan", datefns.formatDistanceToNow(Date.parse(task.LastExecutionResult.EndTimeUtc), { addSuffix: true, locale: dfnshelper.getLocale() }),
datefns.formatDistance(Date.parse(task.LastExecutionResult.StartTimeUtc), Date.parse(task.LastExecutionResult.EndTimeUtc), { addSuffix: false, locale: es })); datefns.formatDistance(Date.parse(task.LastExecutionResult.StartTimeUtc), Date.parse(task.LastExecutionResult.EndTimeUtc), { addSuffix: false, locale: dfnshelper.getLocale() }));
if (task.LastExecutionResult.Status === "Failed") { if (task.LastExecutionResult.Status === "Failed") {
html += " <span style='color:#FF0000;'>(" + globalize.translate("LabelFailed") + ")</span>"; html += " <span style='color:#FF0000;'>(" + globalize.translate("LabelFailed") + ")</span>";
} else if (task.LastExecutionResult.Status === "Cancelled") { } else if (task.LastExecutionResult.Status === "Cancelled") {

103
src/scripts/dfnshelper.js Normal file
View file

@ -0,0 +1,103 @@
import * as locale from 'date-fns/locale'
define(["globalize"], function (globalize) {
"use strict";
function getLocale()
{
switch (globalize.getCurrentLocale()) {
case 'ar':
return locale.ar;
case 'be-by':
return locale.be;
case 'bg-bg':
return locale.bg;
case 'ca':
return locale.ca;
case 'cs':
return locale.cs;
case 'da':
return locale.da;
case 'de':
return locale.de;
case 'el':
return locale.el
case 'en-gb':
return locale.enGB;
case 'en-us':
return locale.enUS;
case 'es':
return locale.es;
case 'es-ar':
return locale.es;
case 'es-mx':
return locale.es;
case 'fa':
return locale.faIR;
case 'fi':
return locale.fi;
case 'fr':
return locale.fr;
case 'fr-ca':
return locale.frCA;
case 'gsw':
return locale.de;
case 'he':
return locale.he;
case 'hi-in':
return locale.hi;
case 'hr':
return locale.hr;
case 'hu':
return locale.hu;
case 'id':
return locale.id;
case 'it':
return locale.it
case 'kk':
return locale.kk;
case 'ko':
return locale.ko;
case 'lt-lt':
return locale.lt;
case 'ms':
return locale.ms;
case 'nb':
return locale.nb;
case 'nl':
return locale.nl;
case 'pl':
return locale.pl
case 'pt-br':
return locale.ptBR;
case 'pt-pt':
return locale.pt;
case 'ro':
return locale.ro;
case 'ru':
return locale.ru;
case 'sk':
return locale.sk;
case 'sl-si':
return locale.sl;
case 'sv':
return locale.sv;
case 'tr':
return locale.tr;
case 'uk':
return locale.uk;
case 'vi':
return locale.vi;
case 'zh-cn':
return locale.zhCN;
case 'zh-hk':
return locale.zhCN;
case 'zh-tw':
return locale.zhTW;
default:
return locale.enUS;
}
}
return {
getLocale: getLocale
};
});

View file

@ -648,6 +648,7 @@ var AppInfo = {};
inputManager: "scripts/inputManager", inputManager: "scripts/inputManager",
datetime: "scripts/datetime", datetime: "scripts/datetime",
globalize: "scripts/globalize", globalize: "scripts/globalize",
dfnshelper: "scripts/dfnshelper",
libraryMenu: "scripts/librarymenu", libraryMenu: "scripts/librarymenu",
playlisteditor: componentsPath + "/playlisteditor/playlisteditor", playlisteditor: componentsPath + "/playlisteditor/playlisteditor",
medialibrarycreator: componentsPath + "/medialibrarycreator/medialibrarycreator", medialibrarycreator: componentsPath + "/medialibrarycreator/medialibrarycreator",

View file

@ -1481,5 +1481,5 @@
"PathNotFound": "No se encontró la ruta especificada. Asegúrate de que existe e inténtalo de nuevo.", "PathNotFound": "No se encontró la ruta especificada. Asegúrate de que existe e inténtalo de nuevo.",
"WriteAccessRequired": "Jellyfin requiere de permisos de escritura en esta carpeta. Asegúrate de que existe este permiso e inténtalo de nuevo.", "WriteAccessRequired": "Jellyfin requiere de permisos de escritura en esta carpeta. Asegúrate de que existe este permiso e inténtalo de nuevo.",
"ListPaging": "{0} de {1}", "ListPaging": "{0} de {1}",
"PersonRole": "como {0}", "PersonRole": "como {0}"
} }

View file

@ -3085,10 +3085,10 @@ dashdash@^1.12.0:
dependencies: dependencies:
assert-plus "^1.0.0" assert-plus "^1.0.0"
date-fns@^2.11.0: date-fns@^2.11.1:
version "2.11.0" version "2.11.1"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.11.0.tgz#ec2b44977465b9dcb370021d5e6c019b19f36d06" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.11.1.tgz#197b8be1bbf5c5e6fe8bea817f0fe111820e7a12"
integrity sha512-8P1cDi8ebZyDxUyUprBXwidoEtiQAawYPGvpfb+Dg0G6JrQ+VozwOmm91xYC0vAv1+0VmLehEPb+isg4BGUFfA== integrity sha512-3RdUoinZ43URd2MJcquzBbDQo+J87cSzB8NkXdZiN5ia1UNyep0oCyitfiL88+R7clGTeq/RniXAc16gWyAu1w==
dateformat@^2.0.0: dateformat@^2.0.0:
version "2.2.0" version "2.2.0"