diff --git a/src/app/elements/nav/nav.component.ts b/src/app/elements/nav/nav.component.ts index 7b4f1981..e638bb22 100644 --- a/src/app/elements/nav/nav.component.ts +++ b/src/app/elements/nav/nav.component.ts @@ -115,7 +115,7 @@ export class ElementNavComponent implements OnInit { { id: 'Chinese-hant', click: () => { - this._i18n.use('zh-hant'); + this._i18n.use('zh_hant'); }, name: '中文(繁體)' }, diff --git a/src/app/elements/replay/guacamole/guacamole.component.ts b/src/app/elements/replay/guacamole/guacamole.component.ts index f3850a5d..07e50770 100644 --- a/src/app/elements/replay/guacamole/guacamole.component.ts +++ b/src/app/elements/replay/guacamole/guacamole.component.ts @@ -124,7 +124,10 @@ export class ElementReplayGuacamoleComponent implements OnInit, OnChanges { } this.recordingDisplay.scale(this.getPropScale()); }; + clearInterval(this.interval); + + // @ts-ignore this.interval = setInterval(() => { if (this.lastDuration === this.max) { clearInterval(this.interval); diff --git a/src/app/services/i18n.ts b/src/app/services/i18n.ts index ceb9e366..e3a32281 100644 --- a/src/app/services/i18n.ts +++ b/src/app/services/i18n.ts @@ -19,14 +19,18 @@ export class I18nService { getLangCode() { let langCode = this._cookie.get(this.LANG_COOKIE_NAME); + if (!langCode) { langCode = navigator.language.toLowerCase(); } + if (['zh', 'zh-cn'].includes(langCode)) { - return 'zh'; - } else if (langCode.indexOf('zh-') > -1) { + return 'zh-hans'; + } else if (langCode.indexOf('zh_hant') > -1) { // zh-hant zh-tw zh-hk - return 'zh-hant'; + return 'zh_hant'; + } else if (langCode.indexOf('zh-hans') > -1) { + return 'zh'; } else if (langCode.indexOf('ja') > -1) { return 'ja'; } else { @@ -58,16 +62,19 @@ export class I18nService { use(lang) { let useLang; + this._translate.use(lang); + if (lang.indexOf('en') > -1) { useLang = 'en'; } else if (lang.indexOf('ja') > -1) { useLang = 'ja'; - } else if (lang.indexOf('zh-hant') > -1) { - useLang = 'zh-hant'; + } else if (lang.indexOf('zh_hant') > -1) { + useLang = 'zh_hant'; } else { useLang = 'zh-hans'; } + this._cookie.set('django_language', useLang, 365, '/'); } } diff --git a/src/assets/i18n/zh-hant.json b/src/assets/i18n/zh_hant.json similarity index 100% rename from src/assets/i18n/zh-hant.json rename to src/assets/i18n/zh_hant.json