mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Resolve #760
This commit is contained in:
parent
c27e231f53
commit
d0db7f5ce3
47 changed files with 95 additions and 18 deletions
|
|
@ -4,6 +4,7 @@ import { langLink } from 'Common/Links';
|
||||||
import { doc, createElement } from 'Common/Globals';
|
import { doc, createElement } from 'Common/Globals';
|
||||||
import { getKeyByValue, forEachObjectEntry } from 'Common/Utils';
|
import { getKeyByValue, forEachObjectEntry } from 'Common/Utils';
|
||||||
import { pInt } from 'Common/Utils';
|
import { pInt } from 'Common/Utils';
|
||||||
|
import { LanguageStore } from 'Stores/Language';
|
||||||
|
|
||||||
let I18N_DATA = {};
|
let I18N_DATA = {};
|
||||||
|
|
||||||
|
|
@ -87,17 +88,17 @@ export const
|
||||||
const mt = m.getTime(), date = new Date,
|
const mt = m.getTime(), date = new Date,
|
||||||
dt = date.setHours(0,0,0,0);
|
dt = date.setHours(0,0,0,0);
|
||||||
if (mt > dt)
|
if (mt > dt)
|
||||||
return i18n('MESSAGE_LIST/TODAY_AT', {TIME: m.format('LT')});
|
return i18n('MESSAGE_LIST/TODAY_AT', {TIME: m.format('LT',0,LanguageStore.hourCycle())});
|
||||||
if (mt > dt - 86400000)
|
if (mt > dt - 86400000)
|
||||||
return i18n('MESSAGE_LIST/YESTERDAY_AT', {TIME: m.format('LT')});
|
return i18n('MESSAGE_LIST/YESTERDAY_AT', {TIME: m.format('LT',0,LanguageStore.hourCycle())});
|
||||||
if (date.getFullYear() === m.getFullYear())
|
if (date.getFullYear() === m.getFullYear())
|
||||||
return m.format('d M');
|
return m.format('d M');
|
||||||
return m.format('LL');
|
return m.format('LL',0,LanguageStore.hourCycle());
|
||||||
}
|
}
|
||||||
case 'FULL':
|
case 'FULL':
|
||||||
return m.format('LLL');
|
return m.format('LLL',0,LanguageStore.hourCycle());
|
||||||
default:
|
default:
|
||||||
return m.format(formatStr);
|
return m.format(formatStr,0,LanguageStore.hourCycle());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ import { AbstractModel } from 'Knoin/AbstractModel';
|
||||||
|
|
||||||
import PreviewHTML from 'Html/PreviewMessage.html';
|
import PreviewHTML from 'Html/PreviewMessage.html';
|
||||||
|
|
||||||
|
import { LanguageStore } from 'Stores/Language';
|
||||||
|
|
||||||
//import { MessageFlagsCache } from 'Common/Cache';
|
//import { MessageFlagsCache } from 'Common/Cache';
|
||||||
import Remote from 'Remote/User/Fetch';
|
import Remote from 'Remote/User/Fetch';
|
||||||
|
|
||||||
|
|
@ -456,7 +458,7 @@ export class MessageModel extends AbstractModel {
|
||||||
sdoc.write(PreviewHTML
|
sdoc.write(PreviewHTML
|
||||||
.replace('<title>', '<title>'+subject)
|
.replace('<title>', '<title>'+subject)
|
||||||
// eslint-disable-next-line max-len
|
// eslint-disable-next-line max-len
|
||||||
.replace('<body>', `<body style="background-color:${prop('background-color')};color:${prop('color')}"><header><h1>${subject}</h1><time>${encodeHtml(m ? m.format('LLL') : '')}</time><div>${encodeHtml(this.fromToLine())}</div><div>${encodeHtml(i18n('GLOBAL/TO'))}: ${encodeHtml(this.toToLine())}</div>${cc}</header><${mode}>${this.bodyAsHTML()}</${mode}>`)
|
.replace('<body>', `<body style="background-color:${prop('background-color')};color:${prop('color')}"><header><h1>${subject}</h1><time>${encodeHtml(m ? m.format('LLL',0,LanguageStore.hourCycle()) : '')}</time><div>${encodeHtml(this.fromToLine())}</div><div>${encodeHtml(i18n('GLOBAL/TO'))}: ${encodeHtml(this.toToLine())}</div>${cc}</header><${mode}>${this.bodyAsHTML()}</${mode}>`)
|
||||||
);
|
);
|
||||||
sdoc.close();
|
sdoc.close();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
||||||
|
|
||||||
this.language = LanguageStore.language;
|
this.language = LanguageStore.language;
|
||||||
this.languages = LanguageStore.languages;
|
this.languages = LanguageStore.languages;
|
||||||
|
this.hourCycle = LanguageStore.hourCycle;
|
||||||
|
|
||||||
this.soundNotification = SMAudio.notifications;
|
this.soundNotification = SMAudio.notifications;
|
||||||
this.notificationSound = ko.observable(SettingsGet('NotificationSound'));
|
this.notificationSound = ko.observable(SettingsGet('NotificationSound'));
|
||||||
|
|
@ -115,6 +116,9 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
||||||
.then(() => Remote.saveSetting('Language', value));
|
.then(() => Remote.saveSetting('Language', value));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
hourCycle: value =>
|
||||||
|
Remote.saveSetting('hourCycle', value),
|
||||||
|
|
||||||
removeColors: value => {
|
removeColors: value => {
|
||||||
let dom = MessageUserStore.bodiesDom();
|
let dom = MessageUserStore.bodiesDom();
|
||||||
if (dom) {
|
if (dom) {
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,13 @@ export const LanguageStore = {
|
||||||
language: ko.observable(''),
|
language: ko.observable(''),
|
||||||
languages: ko.observableArray(),
|
languages: ko.observableArray(),
|
||||||
userLanguage: ko.observable(''),
|
userLanguage: ko.observable(''),
|
||||||
|
hourCycle: ko.observable(''),
|
||||||
|
|
||||||
populate: function() {
|
populate: function() {
|
||||||
const aLanguages = Settings.app('languages');
|
const aLanguages = Settings.app('languages');
|
||||||
this.languages(isArray(aLanguages) ? aLanguages : []);
|
this.languages(isArray(aLanguages) ? aLanguages : []);
|
||||||
this.language(SettingsGet('Language'));
|
this.language(SettingsGet('Language'));
|
||||||
this.userLanguage(SettingsGet('UserLanguage'));
|
this.userLanguage(SettingsGet('UserLanguage'));
|
||||||
|
this.hourCycle(SettingsGet('hourCycle'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
33
dev/prototype.js
vendored
33
dev/prototype.js
vendored
|
|
@ -7,12 +7,20 @@
|
||||||
|
|
||||||
Date.defineRelativeTimeFormat = config => relativeTime = config;
|
Date.defineRelativeTimeFormat = config => relativeTime = config;
|
||||||
|
|
||||||
|
// full = Monday, December 12, 2022 at 12:16:21 PM Central European Standard Time
|
||||||
|
// long = December 12, 2022 at 12:16:21 PM GMT+1
|
||||||
|
// medium = Dec 12, 2022, 12:16:21 PM
|
||||||
|
// short = 12/12/22, 12:16 PM
|
||||||
let formats = {
|
let formats = {
|
||||||
LT : {hour: 'numeric', minute: 'numeric'},
|
LT : {timeStyle: 'short'},
|
||||||
|
// LT : {hour: 'numeric', minute: 'numeric'},
|
||||||
L : {},
|
L : {},
|
||||||
LL : {year: 'numeric', month: 'short', day: 'numeric'},
|
LL : {dateStyle: 'medium'},
|
||||||
LLL : {year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric'},
|
// LL : {year: 'numeric', month: 'short', day: 'numeric'},
|
||||||
LLLL : {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric'},
|
LLL : {dateStyle: 'long', timeStyle: 'short'},
|
||||||
|
// LLL : {year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric'},
|
||||||
|
LLLL : {dateStyle: 'full', timeStyle: 'short'},
|
||||||
|
// LLLL : {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric'},
|
||||||
'd M': {day: '2-digit', month: 'short'}
|
'd M': {day: '2-digit', month: 'short'}
|
||||||
},
|
},
|
||||||
phpFormats = {
|
phpFormats = {
|
||||||
|
|
@ -31,11 +39,15 @@
|
||||||
y: {year: '2-digit'},
|
y: {year: '2-digit'},
|
||||||
// Time
|
// Time
|
||||||
A: {hour12: true},
|
A: {hour12: true},
|
||||||
G: {hour: 'numeric'},
|
// A: {hourCycle: 'h12'}, // h11, h12, h23, h24
|
||||||
H: {hour: '2-digit'},
|
g: {hour: 'numeric', hourCycle:'h11'},
|
||||||
|
G: {hour: 'numeric', hourCycle:'h23'},
|
||||||
|
h: {hour: '2-digit', hourCycle:'h11'},
|
||||||
|
H: {hour: '2-digit', hourCycle:'h23'},
|
||||||
i: {minute: '2-digit'},
|
i: {minute: '2-digit'},
|
||||||
s: {second: '2-digit'},
|
s: {second: '2-digit'},
|
||||||
u: {fractionalSecondDigits: 3},
|
u: {fractionalSecondDigits: 6},
|
||||||
|
v: {fractionalSecondDigits: 3},
|
||||||
Z: {timeZone: 'UTC'}
|
Z: {timeZone: 'UTC'}
|
||||||
},
|
},
|
||||||
relativeTime = {
|
relativeTime = {
|
||||||
|
|
@ -45,7 +57,7 @@
|
||||||
|
|
||||||
// Format momentjs/PHP date formats to Intl.DateTimeFormat
|
// Format momentjs/PHP date formats to Intl.DateTimeFormat
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat
|
||||||
Date.prototype.format = function (options, UTC) {
|
Date.prototype.format = function (options, UTC, hourCycle) {
|
||||||
if (typeof options == 'string') {
|
if (typeof options == 'string') {
|
||||||
if ('Y-m-d\\TH:i:s' == options) {
|
if ('Y-m-d\\TH:i:s' == options) {
|
||||||
return this.getFullYear() + '-' + pad2(1 + this.getMonth()) + '-' + pad2(this.getDate())
|
return this.getFullYear() + '-' + pad2(1 + this.getMonth()) + '-' + pad2(this.getDate())
|
||||||
|
|
@ -58,12 +70,15 @@
|
||||||
console.log('Date.format('+s+')');
|
console.log('Date.format('+s+')');
|
||||||
options = {};
|
options = {};
|
||||||
while (i--) {
|
while (i--) {
|
||||||
o = phpFormats[s[i]] || phpFormats[s[i].toUpperCase()];
|
o = phpFormats[s[i]];
|
||||||
o && Object.entries(o).forEach(([k,v])=>options[k]=v);
|
o && Object.entries(o).forEach(([k,v])=>options[k]=v);
|
||||||
}
|
}
|
||||||
formats[s] = options;
|
formats[s] = options;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (hourCycle) {
|
||||||
|
options.hourCycle = hourCycle;
|
||||||
|
}
|
||||||
return new Intl.DateTimeFormat(doc.documentElement.lang, options).format(this);
|
return new Intl.DateTimeFormat(doc.documentElement.lang, options).format(this);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -778,6 +778,8 @@ class Actions
|
||||||
if ($oConfig->Get('webmail', 'allow_languages_on_settings', true)) {
|
if ($oConfig->Get('webmail', 'allow_languages_on_settings', true)) {
|
||||||
$sLanguage = (string) $oSettings->GetConf('Language', $sLanguage);
|
$sLanguage = (string) $oSettings->GetConf('Language', $sLanguage);
|
||||||
}
|
}
|
||||||
|
$aResult['hourCycle'] = $oSettings->GetConf('hourCycle', '');
|
||||||
|
|
||||||
if (!$oSettings->GetConf('MessagesPerPage')) {
|
if (!$oSettings->GetConf('MessagesPerPage')) {
|
||||||
$oSettings->SetConf('MessagesPerPage', $oSettings->GetConf('MPP', $aResult['MessagesPerPage']));
|
$oSettings->SetConf('MessagesPerPage', $oSettings->GetConf('MPP', $aResult['MessagesPerPage']));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -162,6 +162,7 @@ trait User
|
||||||
{
|
{
|
||||||
// $oSettings->SetConf('Language', $this->ValidateLanguage($oConfig->Get('webmail', 'language', 'en')));
|
// $oSettings->SetConf('Language', $this->ValidateLanguage($oConfig->Get('webmail', 'language', 'en')));
|
||||||
}
|
}
|
||||||
|
$this->setSettingsFromParams($oSettings, 'hourCycle', 'string');
|
||||||
|
|
||||||
if ($this->GetCapa(Capa::THEMES))
|
if ($this->GetCapa(Capa::THEMES))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "عام",
|
"LEGEND_GENERAL": "عام",
|
||||||
"LANGUAGE": "اللغة",
|
"LANGUAGE": "اللغة",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "الهوية",
|
"IDENTITY": "الهوية",
|
||||||
"LAYOUT": "التصميم",
|
"LAYOUT": "التصميم",
|
||||||
"LAYOUT_NO_SPLIT": "بدون إنقسام",
|
"LAYOUT_NO_SPLIT": "بدون إنقسام",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Общи",
|
"LEGEND_GENERAL": "Общи",
|
||||||
"LANGUAGE": "Език",
|
"LANGUAGE": "Език",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Идентичност",
|
"IDENTITY": "Идентичност",
|
||||||
"LAYOUT": "Стил",
|
"LAYOUT": "Стил",
|
||||||
"LAYOUT_NO_SPLIT": "Не разделяй",
|
"LAYOUT_NO_SPLIT": "Не разделяй",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Všeobecné",
|
"LEGEND_GENERAL": "Všeobecné",
|
||||||
"LANGUAGE": "Jazyk",
|
"LANGUAGE": "Jazyk",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Uživatel",
|
"IDENTITY": "Uživatel",
|
||||||
"LAYOUT": "Rozložení",
|
"LAYOUT": "Rozložení",
|
||||||
"LAYOUT_NO_SPLIT": "Nerozdělovat",
|
"LAYOUT_NO_SPLIT": "Nerozdělovat",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Generelt",
|
"LEGEND_GENERAL": "Generelt",
|
||||||
"LANGUAGE": "Sprog",
|
"LANGUAGE": "Sprog",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identitet",
|
"IDENTITY": "Identitet",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "Del ikke",
|
"LAYOUT_NO_SPLIT": "Del ikke",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Allgemein",
|
"LEGEND_GENERAL": "Allgemein",
|
||||||
"LANGUAGE": "Sprache",
|
"LANGUAGE": "Sprache",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identität",
|
"IDENTITY": "Identität",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "Keine Aufteilung",
|
"LAYOUT_NO_SPLIT": "Keine Aufteilung",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Γενικό",
|
"LEGEND_GENERAL": "Γενικό",
|
||||||
"LANGUAGE": "Γλώσσα",
|
"LANGUAGE": "Γλώσσα",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Ταυτότητα",
|
"IDENTITY": "Ταυτότητα",
|
||||||
"LAYOUT": "Σχέδιο",
|
"LAYOUT": "Σχέδιο",
|
||||||
"LAYOUT_NO_SPLIT": "Χωρίς χώρισμα",
|
"LAYOUT_NO_SPLIT": "Χωρίς χώρισμα",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "General",
|
"LEGEND_GENERAL": "General",
|
||||||
"LANGUAGE": "Language",
|
"LANGUAGE": "Language",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "General",
|
"LEGEND_GENERAL": "General",
|
||||||
"LANGUAGE": "Language",
|
"LANGUAGE": "Language",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "General",
|
"LEGEND_GENERAL": "General",
|
||||||
"LANGUAGE": "Idioma",
|
"LANGUAGE": "Idioma",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identidad",
|
"IDENTITY": "Identidad",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "Sin División",
|
"LAYOUT_NO_SPLIT": "Sin División",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Üldine",
|
"LEGEND_GENERAL": "Üldine",
|
||||||
"LANGUAGE": "Keel",
|
"LANGUAGE": "Keel",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identiteet",
|
"IDENTITY": "Identiteet",
|
||||||
"LAYOUT": "Vaade",
|
"LAYOUT": "Vaade",
|
||||||
"LAYOUT_NO_SPLIT": "Jaotuseta",
|
"LAYOUT_NO_SPLIT": "Jaotuseta",
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@
|
||||||
"LABEL_ALL_RIGHTS_RESERVED": "Eskubide guztiak gordeak.",
|
"LABEL_ALL_RIGHTS_RESERVED": "Eskubide guztiak gordeak.",
|
||||||
"HINT_READ_CHANGE_LOG": "Mesedez irakurri aldaketen informea eguneratu aurretik.",
|
"HINT_READ_CHANGE_LOG": "Mesedez irakurri aldaketen informea eguneratu aurretik.",
|
||||||
"HINT_IS_UP_TO_DATE": "SnappyMail eguneratuta dago.",
|
"HINT_IS_UP_TO_DATE": "SnappyMail eguneratuta dago.",
|
||||||
"HTML_NEW_VERSION": "<b>%VERSION%</b> bertsio berria eskuragarri.",
|
"HTML_NEW_VERSION": "<b>%VERSION%<\/b> bertsio berria eskuragarri.",
|
||||||
"LABEL_UPDATING": "Eguneratzen",
|
"LABEL_UPDATING": "Eguneratzen",
|
||||||
"LABEL_CHECKING": "Eguneraketak dauden begiratzen",
|
"LABEL_CHECKING": "Eguneraketak dauden begiratzen",
|
||||||
"BUTTON_RELEASES": "Bertsioak"
|
"BUTTON_RELEASES": "Bertsioak"
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,7 @@
|
||||||
"POPUPS_CLEAR_FOLDER": {
|
"POPUPS_CLEAR_FOLDER": {
|
||||||
"TITLE_CLEAR_FOLDER": "Ezabatu karpetako mezu guztiak?",
|
"TITLE_CLEAR_FOLDER": "Ezabatu karpetako mezu guztiak?",
|
||||||
"DANGER_DESC_WARNING": "Kontuz!",
|
"DANGER_DESC_WARNING": "Kontuz!",
|
||||||
"DANGER_DESC_HTML_1": "Ekintza honen bidez <strong>%FOLDER%</strong> karpetako mezu guztiak ezabatuko dira.",
|
"DANGER_DESC_HTML_1": "Ekintza honen bidez <strong>%FOLDER%<\/strong> karpetako mezu guztiak ezabatuko dira.",
|
||||||
"DANGER_DESC_HTML_2": "Behin hasita, ekintza hau ezin da gelditu edo utzi.",
|
"DANGER_DESC_HTML_2": "Behin hasita, ekintza hau ezin da gelditu edo utzi.",
|
||||||
"TITLE_CLEARING_PROCESS": "Karpeta garbitzen..."
|
"TITLE_CLEARING_PROCESS": "Karpeta garbitzen..."
|
||||||
},
|
},
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Orokorra",
|
"LEGEND_GENERAL": "Orokorra",
|
||||||
"LANGUAGE": "Hizkuntza",
|
"LANGUAGE": "Hizkuntza",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Nortasuna",
|
"IDENTITY": "Nortasuna",
|
||||||
"LAYOUT": "Diseinua",
|
"LAYOUT": "Diseinua",
|
||||||
"LAYOUT_NO_SPLIT": "Zatitu gabe",
|
"LAYOUT_NO_SPLIT": "Zatitu gabe",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "عمومی",
|
"LEGEND_GENERAL": "عمومی",
|
||||||
"LANGUAGE": "زبان",
|
"LANGUAGE": "زبان",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "شناسه",
|
"IDENTITY": "شناسه",
|
||||||
"LAYOUT": "لایه",
|
"LAYOUT": "لایه",
|
||||||
"LAYOUT_NO_SPLIT": "بدون تقسیم",
|
"LAYOUT_NO_SPLIT": "بدون تقسیم",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Yleiset",
|
"LEGEND_GENERAL": "Yleiset",
|
||||||
"LANGUAGE": "Kieli",
|
"LANGUAGE": "Kieli",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identiteetti",
|
"IDENTITY": "Identiteetti",
|
||||||
"LAYOUT": "Asettelu",
|
"LAYOUT": "Asettelu",
|
||||||
"LAYOUT_NO_SPLIT": "Ei jakoa",
|
"LAYOUT_NO_SPLIT": "Ei jakoa",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Général",
|
"LEGEND_GENERAL": "Général",
|
||||||
"LANGUAGE": "Langue",
|
"LANGUAGE": "Langue",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identité",
|
"IDENTITY": "Identité",
|
||||||
"LAYOUT": "Disposition",
|
"LAYOUT": "Disposition",
|
||||||
"LAYOUT_NO_SPLIT": "Pas de séparation",
|
"LAYOUT_NO_SPLIT": "Pas de séparation",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Általános",
|
"LEGEND_GENERAL": "Általános",
|
||||||
"LANGUAGE": "Nyelv",
|
"LANGUAGE": "Nyelv",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identitás",
|
"IDENTITY": "Identitás",
|
||||||
"LAYOUT": "Elrendezés",
|
"LAYOUT": "Elrendezés",
|
||||||
"LAYOUT_NO_SPLIT": "Felosztás nélkül",
|
"LAYOUT_NO_SPLIT": "Felosztás nélkül",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Umum",
|
"LEGEND_GENERAL": "Umum",
|
||||||
"LANGUAGE": "Bahasa",
|
"LANGUAGE": "Bahasa",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identitas",
|
"IDENTITY": "Identitas",
|
||||||
"LAYOUT": "Tampilan",
|
"LAYOUT": "Tampilan",
|
||||||
"LAYOUT_NO_SPLIT": "Tanpa pemisah",
|
"LAYOUT_NO_SPLIT": "Tanpa pemisah",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Almennt",
|
"LEGEND_GENERAL": "Almennt",
|
||||||
"LANGUAGE": "Tungumál",
|
"LANGUAGE": "Tungumál",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Auðkenni",
|
"IDENTITY": "Auðkenni",
|
||||||
"LAYOUT": "Framsetning",
|
"LAYOUT": "Framsetning",
|
||||||
"LAYOUT_NO_SPLIT": "Ekki klofið",
|
"LAYOUT_NO_SPLIT": "Ekki klofið",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Generali",
|
"LEGEND_GENERAL": "Generali",
|
||||||
"LANGUAGE": "Lingua",
|
"LANGUAGE": "Lingua",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identità",
|
"IDENTITY": "Identità",
|
||||||
"LAYOUT": "Struttura",
|
"LAYOUT": "Struttura",
|
||||||
"LAYOUT_NO_SPLIT": "A pagina intera",
|
"LAYOUT_NO_SPLIT": "A pagina intera",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "全般",
|
"LEGEND_GENERAL": "全般",
|
||||||
"LANGUAGE": "言語",
|
"LANGUAGE": "言語",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "表示名",
|
"IDENTITY": "表示名",
|
||||||
"LAYOUT": "レイアウト",
|
"LAYOUT": "レイアウト",
|
||||||
"LAYOUT_NO_SPLIT": "分割しない",
|
"LAYOUT_NO_SPLIT": "分割しない",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "일반",
|
"LEGEND_GENERAL": "일반",
|
||||||
"LANGUAGE": "언어",
|
"LANGUAGE": "언어",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "신원",
|
"IDENTITY": "신원",
|
||||||
"LAYOUT": "레이아웃",
|
"LAYOUT": "레이아웃",
|
||||||
"LAYOUT_NO_SPLIT": "분할 해제",
|
"LAYOUT_NO_SPLIT": "분할 해제",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Pagrindiniai",
|
"LEGEND_GENERAL": "Pagrindiniai",
|
||||||
"LANGUAGE": "Kalba",
|
"LANGUAGE": "Kalba",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Tapatybė",
|
"IDENTITY": "Tapatybė",
|
||||||
"LAYOUT": "Išdėstymas",
|
"LAYOUT": "Išdėstymas",
|
||||||
"LAYOUT_NO_SPLIT": "Skaidymo nėra",
|
"LAYOUT_NO_SPLIT": "Skaidymo nėra",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Vispārējie",
|
"LEGEND_GENERAL": "Vispārējie",
|
||||||
"LANGUAGE": "Valoda",
|
"LANGUAGE": "Valoda",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Generelt",
|
"LEGEND_GENERAL": "Generelt",
|
||||||
"LANGUAGE": "Språk",
|
"LANGUAGE": "Språk",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identitet",
|
"IDENTITY": "Identitet",
|
||||||
"LAYOUT": "Utforming",
|
"LAYOUT": "Utforming",
|
||||||
"LAYOUT_NO_SPLIT": "Ingen deling",
|
"LAYOUT_NO_SPLIT": "Ingen deling",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Algemeen",
|
"LEGEND_GENERAL": "Algemeen",
|
||||||
"LANGUAGE": "Taal",
|
"LANGUAGE": "Taal",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identiteit",
|
"IDENTITY": "Identiteit",
|
||||||
"LAYOUT": "Indeling",
|
"LAYOUT": "Indeling",
|
||||||
"LAYOUT_NO_SPLIT": "Geen splitsing",
|
"LAYOUT_NO_SPLIT": "Geen splitsing",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Ogólne",
|
"LEGEND_GENERAL": "Ogólne",
|
||||||
"LANGUAGE": "Język",
|
"LANGUAGE": "Język",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Tożsamość",
|
"IDENTITY": "Tożsamość",
|
||||||
"LAYOUT": "Układ",
|
"LAYOUT": "Układ",
|
||||||
"LAYOUT_NO_SPLIT": "bez podziału",
|
"LAYOUT_NO_SPLIT": "bez podziału",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Geral",
|
"LEGEND_GENERAL": "Geral",
|
||||||
"LANGUAGE": "Idioma",
|
"LANGUAGE": "Idioma",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identidade",
|
"IDENTITY": "Identidade",
|
||||||
"LAYOUT": "Painel de Leitura",
|
"LAYOUT": "Painel de Leitura",
|
||||||
"LAYOUT_NO_SPLIT": "Sem divisão",
|
"LAYOUT_NO_SPLIT": "Sem divisão",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Geral",
|
"LEGEND_GENERAL": "Geral",
|
||||||
"LANGUAGE": "Idioma",
|
"LANGUAGE": "Idioma",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identidade",
|
"IDENTITY": "Identidade",
|
||||||
"LAYOUT": "Apresentação",
|
"LAYOUT": "Apresentação",
|
||||||
"LAYOUT_NO_SPLIT": "Sem separação",
|
"LAYOUT_NO_SPLIT": "Sem separação",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Geral",
|
"LEGEND_GENERAL": "Geral",
|
||||||
"LANGUAGE": "Idioma",
|
"LANGUAGE": "Idioma",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identidade",
|
"IDENTITY": "Identidade",
|
||||||
"LAYOUT": "Apresentação",
|
"LAYOUT": "Apresentação",
|
||||||
"LAYOUT_NO_SPLIT": "Sem separação",
|
"LAYOUT_NO_SPLIT": "Sem separação",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Setări de bază",
|
"LEGEND_GENERAL": "Setări de bază",
|
||||||
"LANGUAGE": "Limbă",
|
"LANGUAGE": "Limbă",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Основные Настройки",
|
"LEGEND_GENERAL": "Основные Настройки",
|
||||||
"LANGUAGE": "Язык",
|
"LANGUAGE": "Язык",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Профиль",
|
"IDENTITY": "Профиль",
|
||||||
"LAYOUT": "Разметка",
|
"LAYOUT": "Разметка",
|
||||||
"LAYOUT_NO_SPLIT": "Одна панель",
|
"LAYOUT_NO_SPLIT": "Одна панель",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Všeobecné",
|
"LEGEND_GENERAL": "Všeobecné",
|
||||||
"LANGUAGE": "Jazyk",
|
"LANGUAGE": "Jazyk",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Splošno",
|
"LEGEND_GENERAL": "Splošno",
|
||||||
"LANGUAGE": "Jezik",
|
"LANGUAGE": "Jezik",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identiteta",
|
"IDENTITY": "Identiteta",
|
||||||
"LAYOUT": "Postavitev",
|
"LAYOUT": "Postavitev",
|
||||||
"LAYOUT_NO_SPLIT": "Brez razdelitve",
|
"LAYOUT_NO_SPLIT": "Brez razdelitve",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Allmänt",
|
"LEGEND_GENERAL": "Allmänt",
|
||||||
"LANGUAGE": "Språk",
|
"LANGUAGE": "Språk",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identitet",
|
"IDENTITY": "Identitet",
|
||||||
"LAYOUT": "Stil",
|
"LAYOUT": "Stil",
|
||||||
"LAYOUT_NO_SPLIT": "Utan delad vy",
|
"LAYOUT_NO_SPLIT": "Utan delad vy",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Genel",
|
"LEGEND_GENERAL": "Genel",
|
||||||
"LANGUAGE": "Dil",
|
"LANGUAGE": "Dil",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Основні налаштування",
|
"LEGEND_GENERAL": "Основні налаштування",
|
||||||
"LANGUAGE": "Мова",
|
"LANGUAGE": "Мова",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "Tổng quan",
|
"LEGEND_GENERAL": "Tổng quan",
|
||||||
"LANGUAGE": "Ngôn ngữ",
|
"LANGUAGE": "Ngôn ngữ",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Tên gọi",
|
"IDENTITY": "Tên gọi",
|
||||||
"LAYOUT": "Bố cục",
|
"LAYOUT": "Bố cục",
|
||||||
"LAYOUT_NO_SPLIT": "Không phân màn hình",
|
"LAYOUT_NO_SPLIT": "Không phân màn hình",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "常规",
|
"LEGEND_GENERAL": "常规",
|
||||||
"LANGUAGE": "语言",
|
"LANGUAGE": "语言",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "身份",
|
"IDENTITY": "身份",
|
||||||
"LAYOUT": "布局",
|
"LAYOUT": "布局",
|
||||||
"LAYOUT_NO_SPLIT": "不分隔",
|
"LAYOUT_NO_SPLIT": "不分隔",
|
||||||
|
|
|
||||||
|
|
@ -387,6 +387,7 @@
|
||||||
"SETTINGS_GENERAL": {
|
"SETTINGS_GENERAL": {
|
||||||
"LEGEND_GENERAL": "一般設置",
|
"LEGEND_GENERAL": "一般設置",
|
||||||
"LANGUAGE": "語言",
|
"LANGUAGE": "語言",
|
||||||
|
"HOUR_FORMAT": "Hour format",
|
||||||
"IDENTITY": "Identity",
|
"IDENTITY": "Identity",
|
||||||
"LAYOUT": "Layout",
|
"LAYOUT": "Layout",
|
||||||
"LAYOUT_NO_SPLIT": "No Split",
|
"LAYOUT_NO_SPLIT": "No Split",
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,18 @@
|
||||||
<span data-bind="saveTrigger: languageTrigger"></span>
|
<span data-bind="saveTrigger: languageTrigger"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="control-group">
|
||||||
|
<label data-i18n="SETTINGS_GENERAL/HOUR_FORMAT"></label>
|
||||||
|
<div>
|
||||||
|
<select data-bind="value: hourCycle">
|
||||||
|
<option value="">default</option>
|
||||||
|
<option value="h11">00:00 AM</option>
|
||||||
|
<option value="h12">12:00 AM</option>
|
||||||
|
<option value="h23">00:00 (24 hour)</option>
|
||||||
|
<option value="h24">24:00 (24 hour)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="control-group">
|
<div class="control-group">
|
||||||
<label data-i18n="SETTINGS_GENERAL/LAYOUT"></label>
|
<label data-i18n="SETTINGS_GENERAL/LAYOUT"></label>
|
||||||
<div data-bind="component: {
|
<div data-bind="component: {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue