diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2018-11-09 03:44:35 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-11-09 03:44:35 +0900 |
| commit | 25a69ec1b69cb7f380949ef9cf1c3599eaa4face (patch) | |
| tree | 6f10016d32f94140d3953446c4b1fdb474e216e8 /src/misc | |
| parent | Update CircleCI configuration (#3163) (diff) | |
| download | misskey-25a69ec1b69cb7f380949ef9cf1c3599eaa4face.tar.gz misskey-25a69ec1b69cb7f380949ef9cf1c3599eaa4face.tar.bz2 misskey-25a69ec1b69cb7f380949ef9cf1c3599eaa4face.zip | |
Refactoring of i18n (#3165)
Refactoring of i18n
Diffstat (limited to 'src/misc')
| -rw-r--r-- | src/misc/i18n.ts | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/src/misc/i18n.ts b/src/misc/i18n.ts deleted file mode 100644 index 0e429f1276..0000000000 --- a/src/misc/i18n.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Replace i18n texts - */ - -const locale = require('../../locales'); - -export default class Replacer { - private lang: string; - - public pattern = /%i18n:([a-z0-9_\-\.\/\|]+?)%/g; - - constructor(lang: string) { - this.lang = lang; - - this.get = this.get.bind(this); - this.replacement = this.replacement.bind(this); - } - - public get(path: string, key: string): string { - if (!(this.lang in locale)) { - console.warn(`lang '${this.lang}' is not supported`); - return key; // Fallback - } - - const texts = locale[this.lang]; - - let text = texts; - - if (path) { - path = path.replace('.ts', ''); - - if (text.hasOwnProperty(path)) { - text = text[path]; - } else { - if (this.lang === 'ja-JP') console.warn(`path '${path}' not found`); - return key; // Fallback - } - } - - // Check the key existance - const error = key.split('.').some(k => { - if (text.hasOwnProperty(k)) { - text = text[k]; - return false; - } else { - return true; - } - }); - - if (error) { - if (this.lang === 'ja-JP') console.warn(`key '${key}' not found in '${path}'`); - return key; // Fallback - } else if (typeof text !== 'string') { - if (this.lang === 'ja-JP') console.warn(`key '${key}' is not string in '${path}'`); - return key; // Fallback - } else { - return text.replace(/\n/g, ' '); - } - } - - public replacement(match: string, key: string) { - let path = null; - - if (key.indexOf('|') != -1) { - path = key.split('|')[0]; - key = key.split('|')[1]; - } - - const txt = this.get(path, key); - - return txt.replace(/'/g, '\\x27').replace(/"/g, '\\x22'); - } -} |