From f126676c2905b8c40d0ca7349655b8decfe338f1 Mon Sep 17 00:00:00 2001 From: tamaina Date: Fri, 28 Jan 2022 15:49:58 +0900 Subject: [PATCH] i18n.ts --- packages/sw/src/scripts/i18n.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/sw/src/scripts/i18n.ts b/packages/sw/src/scripts/i18n.ts index 8f9f5e654f..3fe88e5514 100644 --- a/packages/sw/src/scripts/i18n.ts +++ b/packages/sw/src/scripts/i18n.ts @@ -1,8 +1,8 @@ export class I18n> { - public locale: T; + public ts: T; constructor(locale: T) { - this.locale = locale; + this.ts = locale; //#region BIND this.t = this.t.bind(this); @@ -11,13 +11,9 @@ export class I18n> { // string にしているのは、ドット区切りでのパス指定を許可するため // なるべくこのメソッド使うよりもlocale直接参照の方がvueのキャッシュ効いてパフォーマンスが良いかも - public t(key: string, args?: Record): string { + public t(key: string, args?: Record): string { try { - let str = key.split('.').reduce((o, i) => o[i], this.locale as T | any | string); - - if (typeof str !== 'string') { - return key; - } + let str = key.split('.').reduce((o, i) => o[i], this.ts) as unknown as string; if (args) { for (const [k, v] of Object.entries(args)) { @@ -25,7 +21,7 @@ export class I18n> { } } return str; - } catch (e) { + } catch (err) { console.warn(`missing localization '${key}'`); return key; }