mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-08 22:18:28 +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 { getKeyByValue, forEachObjectEntry } from 'Common/Utils';
|
||||
import { pInt } from 'Common/Utils';
|
||||
import { LanguageStore } from 'Stores/Language';
|
||||
|
||||
let I18N_DATA = {};
|
||||
|
||||
|
|
@ -87,17 +88,17 @@ export const
|
|||
const mt = m.getTime(), date = new Date,
|
||||
dt = date.setHours(0,0,0,0);
|
||||
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)
|
||||
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())
|
||||
return m.format('d M');
|
||||
return m.format('LL');
|
||||
return m.format('LL',0,LanguageStore.hourCycle());
|
||||
}
|
||||
case 'FULL':
|
||||
return m.format('LLL');
|
||||
return m.format('LLL',0,LanguageStore.hourCycle());
|
||||
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 { LanguageStore } from 'Stores/Language';
|
||||
|
||||
//import { MessageFlagsCache } from 'Common/Cache';
|
||||
import Remote from 'Remote/User/Fetch';
|
||||
|
||||
|
|
@ -456,7 +458,7 @@ export class MessageModel extends AbstractModel {
|
|||
sdoc.write(PreviewHTML
|
||||
.replace('<title>', '<title>'+subject)
|
||||
// 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();
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
|||
|
||||
this.language = LanguageStore.language;
|
||||
this.languages = LanguageStore.languages;
|
||||
this.hourCycle = LanguageStore.hourCycle;
|
||||
|
||||
this.soundNotification = SMAudio.notifications;
|
||||
this.notificationSound = ko.observable(SettingsGet('NotificationSound'));
|
||||
|
|
@ -115,6 +116,9 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
|||
.then(() => Remote.saveSetting('Language', value));
|
||||
},
|
||||
|
||||
hourCycle: value =>
|
||||
Remote.saveSetting('hourCycle', value),
|
||||
|
||||
removeColors: value => {
|
||||
let dom = MessageUserStore.bodiesDom();
|
||||
if (dom) {
|
||||
|
|
|
|||
|
|
@ -6,11 +6,13 @@ export const LanguageStore = {
|
|||
language: ko.observable(''),
|
||||
languages: ko.observableArray(),
|
||||
userLanguage: ko.observable(''),
|
||||
hourCycle: ko.observable(''),
|
||||
|
||||
populate: function() {
|
||||
const aLanguages = Settings.app('languages');
|
||||
this.languages(isArray(aLanguages) ? aLanguages : []);
|
||||
this.language(SettingsGet('Language'));
|
||||
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;
|
||||
|
||||
// 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 = {
|
||||
LT : {hour: 'numeric', minute: 'numeric'},
|
||||
LT : {timeStyle: 'short'},
|
||||
// LT : {hour: 'numeric', minute: 'numeric'},
|
||||
L : {},
|
||||
LL : {year: 'numeric', month: 'short', day: 'numeric'},
|
||||
LLL : {year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric'},
|
||||
LLLL : {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric'},
|
||||
LL : {dateStyle: 'medium'},
|
||||
// LL : {year: 'numeric', month: 'short', day: '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'}
|
||||
},
|
||||
phpFormats = {
|
||||
|
|
@ -31,11 +39,15 @@
|
|||
y: {year: '2-digit'},
|
||||
// Time
|
||||
A: {hour12: true},
|
||||
G: {hour: 'numeric'},
|
||||
H: {hour: '2-digit'},
|
||||
// A: {hourCycle: 'h12'}, // h11, h12, h23, h24
|
||||
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'},
|
||||
s: {second: '2-digit'},
|
||||
u: {fractionalSecondDigits: 3},
|
||||
u: {fractionalSecondDigits: 6},
|
||||
v: {fractionalSecondDigits: 3},
|
||||
Z: {timeZone: 'UTC'}
|
||||
},
|
||||
relativeTime = {
|
||||
|
|
@ -45,7 +57,7 @@
|
|||
|
||||
// Format momentjs/PHP date formats to 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 ('Y-m-d\\TH:i:s' == options) {
|
||||
return this.getFullYear() + '-' + pad2(1 + this.getMonth()) + '-' + pad2(this.getDate())
|
||||
|
|
@ -58,12 +70,15 @@
|
|||
console.log('Date.format('+s+')');
|
||||
options = {};
|
||||
while (i--) {
|
||||
o = phpFormats[s[i]] || phpFormats[s[i].toUpperCase()];
|
||||
o = phpFormats[s[i]];
|
||||
o && Object.entries(o).forEach(([k,v])=>options[k]=v);
|
||||
}
|
||||
formats[s] = options;
|
||||
}
|
||||
}
|
||||
if (hourCycle) {
|
||||
options.hourCycle = hourCycle;
|
||||
}
|
||||
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)) {
|
||||
$sLanguage = (string) $oSettings->GetConf('Language', $sLanguage);
|
||||
}
|
||||
$aResult['hourCycle'] = $oSettings->GetConf('hourCycle', '');
|
||||
|
||||
if (!$oSettings->GetConf('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')));
|
||||
}
|
||||
$this->setSettingsFromParams($oSettings, 'hourCycle', 'string');
|
||||
|
||||
if ($this->GetCapa(Capa::THEMES))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "عام",
|
||||
"LANGUAGE": "اللغة",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "الهوية",
|
||||
"LAYOUT": "التصميم",
|
||||
"LAYOUT_NO_SPLIT": "بدون إنقسام",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Общи",
|
||||
"LANGUAGE": "Език",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Идентичност",
|
||||
"LAYOUT": "Стил",
|
||||
"LAYOUT_NO_SPLIT": "Не разделяй",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Všeobecné",
|
||||
"LANGUAGE": "Jazyk",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Uživatel",
|
||||
"LAYOUT": "Rozložení",
|
||||
"LAYOUT_NO_SPLIT": "Nerozdělovat",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Generelt",
|
||||
"LANGUAGE": "Sprog",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identitet",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "Del ikke",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Allgemein",
|
||||
"LANGUAGE": "Sprache",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identität",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "Keine Aufteilung",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Γενικό",
|
||||
"LANGUAGE": "Γλώσσα",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Ταυτότητα",
|
||||
"LAYOUT": "Σχέδιο",
|
||||
"LAYOUT_NO_SPLIT": "Χωρίς χώρισμα",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "General",
|
||||
"LANGUAGE": "Language",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "General",
|
||||
"LANGUAGE": "Language",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "General",
|
||||
"LANGUAGE": "Idioma",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identidad",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "Sin División",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Üldine",
|
||||
"LANGUAGE": "Keel",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identiteet",
|
||||
"LAYOUT": "Vaade",
|
||||
"LAYOUT_NO_SPLIT": "Jaotuseta",
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@
|
|||
"LABEL_ALL_RIGHTS_RESERVED": "Eskubide guztiak gordeak.",
|
||||
"HINT_READ_CHANGE_LOG": "Mesedez irakurri aldaketen informea eguneratu aurretik.",
|
||||
"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_CHECKING": "Eguneraketak dauden begiratzen",
|
||||
"BUTTON_RELEASES": "Bertsioak"
|
||||
|
|
|
|||
|
|
@ -259,7 +259,7 @@
|
|||
"POPUPS_CLEAR_FOLDER": {
|
||||
"TITLE_CLEAR_FOLDER": "Ezabatu karpetako mezu guztiak?",
|
||||
"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.",
|
||||
"TITLE_CLEARING_PROCESS": "Karpeta garbitzen..."
|
||||
},
|
||||
|
|
@ -333,7 +333,7 @@
|
|||
"TITLE_SYSTEM_FOLDERS": "Aukeratu sistemaren karpetak",
|
||||
"SELECT_CHOOSE_ONE": "Aukeratu bat",
|
||||
"SELECT_UNUSE_NAME": "Ez erabili",
|
||||
"NOTIFICATION_SENT": "Ez duzu sistemako \"Bidalitakoak\" karpeta hautatu mezuak bidali ondoren bertan ipintzeko.\nBidalitako mezua gorde nahi ez baduzu hautatu \"Ez erabili\" aukera.\n",
|
||||
"NOTIFICATION_SENT": "Ez duzu sistemako \"Bidalitakoak\" karpeta hautatu mezuak bidali ondoren bertan ipintzeko.\nBidalitako mezua gorde nahi ez baduzu hautatu \"Ez erabili\" aukera.\n",
|
||||
"NOTIFICATION_DRAFTS": "Ez duzu sistemako \"Zirriborroak\" karpeta hautatu mezuak editatu bitartean gordetzeko.",
|
||||
"NOTIFICATION_SPAM": "Ez duzu sistemako \"Zabor-posta\" karpeta hautatu zabor-mezuak kokatzeko.\nMezu hauek betirako ezabatu nahi badituzu, aukeratu \"Ez erabili\" aukera.\n",
|
||||
"NOTIFICATION_TRASH": "Ez duzu sistemako \"Zakarrontzia\" karpeta hautatu zabor-mezuak kokatzeko.\nMezu hauek betirako ezabatu nahi badituzu, aukeratu \"Ez erabili\" aukera.\n",
|
||||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Orokorra",
|
||||
"LANGUAGE": "Hizkuntza",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Nortasuna",
|
||||
"LAYOUT": "Diseinua",
|
||||
"LAYOUT_NO_SPLIT": "Zatitu gabe",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "عمومی",
|
||||
"LANGUAGE": "زبان",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "شناسه",
|
||||
"LAYOUT": "لایه",
|
||||
"LAYOUT_NO_SPLIT": "بدون تقسیم",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Yleiset",
|
||||
"LANGUAGE": "Kieli",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identiteetti",
|
||||
"LAYOUT": "Asettelu",
|
||||
"LAYOUT_NO_SPLIT": "Ei jakoa",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Général",
|
||||
"LANGUAGE": "Langue",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identité",
|
||||
"LAYOUT": "Disposition",
|
||||
"LAYOUT_NO_SPLIT": "Pas de séparation",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Általános",
|
||||
"LANGUAGE": "Nyelv",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identitás",
|
||||
"LAYOUT": "Elrendezés",
|
||||
"LAYOUT_NO_SPLIT": "Felosztás nélkül",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Umum",
|
||||
"LANGUAGE": "Bahasa",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identitas",
|
||||
"LAYOUT": "Tampilan",
|
||||
"LAYOUT_NO_SPLIT": "Tanpa pemisah",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Almennt",
|
||||
"LANGUAGE": "Tungumál",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Auðkenni",
|
||||
"LAYOUT": "Framsetning",
|
||||
"LAYOUT_NO_SPLIT": "Ekki klofið",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Generali",
|
||||
"LANGUAGE": "Lingua",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identità",
|
||||
"LAYOUT": "Struttura",
|
||||
"LAYOUT_NO_SPLIT": "A pagina intera",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "全般",
|
||||
"LANGUAGE": "言語",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "表示名",
|
||||
"LAYOUT": "レイアウト",
|
||||
"LAYOUT_NO_SPLIT": "分割しない",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "일반",
|
||||
"LANGUAGE": "언어",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "신원",
|
||||
"LAYOUT": "레이아웃",
|
||||
"LAYOUT_NO_SPLIT": "분할 해제",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Pagrindiniai",
|
||||
"LANGUAGE": "Kalba",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Tapatybė",
|
||||
"LAYOUT": "Išdėstymas",
|
||||
"LAYOUT_NO_SPLIT": "Skaidymo nėra",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Vispārējie",
|
||||
"LANGUAGE": "Valoda",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Generelt",
|
||||
"LANGUAGE": "Språk",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identitet",
|
||||
"LAYOUT": "Utforming",
|
||||
"LAYOUT_NO_SPLIT": "Ingen deling",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Algemeen",
|
||||
"LANGUAGE": "Taal",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identiteit",
|
||||
"LAYOUT": "Indeling",
|
||||
"LAYOUT_NO_SPLIT": "Geen splitsing",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Ogólne",
|
||||
"LANGUAGE": "Język",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Tożsamość",
|
||||
"LAYOUT": "Układ",
|
||||
"LAYOUT_NO_SPLIT": "bez podziału",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Geral",
|
||||
"LANGUAGE": "Idioma",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identidade",
|
||||
"LAYOUT": "Painel de Leitura",
|
||||
"LAYOUT_NO_SPLIT": "Sem divisão",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Geral",
|
||||
"LANGUAGE": "Idioma",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identidade",
|
||||
"LAYOUT": "Apresentação",
|
||||
"LAYOUT_NO_SPLIT": "Sem separação",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Geral",
|
||||
"LANGUAGE": "Idioma",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identidade",
|
||||
"LAYOUT": "Apresentação",
|
||||
"LAYOUT_NO_SPLIT": "Sem separação",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Setări de bază",
|
||||
"LANGUAGE": "Limbă",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Основные Настройки",
|
||||
"LANGUAGE": "Язык",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Профиль",
|
||||
"LAYOUT": "Разметка",
|
||||
"LAYOUT_NO_SPLIT": "Одна панель",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Všeobecné",
|
||||
"LANGUAGE": "Jazyk",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Splošno",
|
||||
"LANGUAGE": "Jezik",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identiteta",
|
||||
"LAYOUT": "Postavitev",
|
||||
"LAYOUT_NO_SPLIT": "Brez razdelitve",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Allmänt",
|
||||
"LANGUAGE": "Språk",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identitet",
|
||||
"LAYOUT": "Stil",
|
||||
"LAYOUT_NO_SPLIT": "Utan delad vy",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Genel",
|
||||
"LANGUAGE": "Dil",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Основні налаштування",
|
||||
"LANGUAGE": "Мова",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "Tổng quan",
|
||||
"LANGUAGE": "Ngôn ngữ",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Tên gọi",
|
||||
"LAYOUT": "Bố cục",
|
||||
"LAYOUT_NO_SPLIT": "Không phân màn hình",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "常规",
|
||||
"LANGUAGE": "语言",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "身份",
|
||||
"LAYOUT": "布局",
|
||||
"LAYOUT_NO_SPLIT": "不分隔",
|
||||
|
|
|
|||
|
|
@ -387,6 +387,7 @@
|
|||
"SETTINGS_GENERAL": {
|
||||
"LEGEND_GENERAL": "一般設置",
|
||||
"LANGUAGE": "語言",
|
||||
"HOUR_FORMAT": "Hour format",
|
||||
"IDENTITY": "Identity",
|
||||
"LAYOUT": "Layout",
|
||||
"LAYOUT_NO_SPLIT": "No Split",
|
||||
|
|
|
|||
|
|
@ -11,6 +11,18 @@
|
|||
<span data-bind="saveTrigger: languageTrigger"></span>
|
||||
</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">
|
||||
<label data-i18n="SETTINGS_GENERAL/LAYOUT"></label>
|
||||
<div data-bind="component: {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue