mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
w: upgrade deps
This commit is contained in:
1 parent
47499bdcd6
commit
0824487342
19 files changed
+132
-88
No files matched your search
@@ -0,0 +1,60 @@
|
||||
/* eslint-disable camelcase */
|
||||
import en_GB from 'monaco-editor-nls/locale/en-gb.json';
|
||||
import zh_CN from 'monaco-editor-nls/locale/zh-hans.json';
|
||||
import zh_TW from 'monaco-editor-nls/locale/zh-hant.json';
|
||||
import ko from 'monaco-editor-nls/locale/ko.json';
|
||||
import i18n from 'vj/utils/i18n';
|
||||
|
||||
function _format(message, args) {
|
||||
let result;
|
||||
if (args.length === 0) {
|
||||
result = message;
|
||||
} else {
|
||||
result = String(message).replace(/\{(\d+)\}/g, (match, rest) => {
|
||||
const index = rest[0];
|
||||
return typeof args[index] !== 'undefined' ? args[index] : match;
|
||||
});
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
let CURRENT_LOCALE_DATA = {};
|
||||
|
||||
function find(path, message) {
|
||||
for (const key of Object.keys(CURRENT_LOCALE_DATA)) {
|
||||
if (!CURRENT_LOCALE_DATA[key]) continue;
|
||||
if (CURRENT_LOCALE_DATA[key][path] && en_GB[key][path] === message) {
|
||||
return CURRENT_LOCALE_DATA[key][path];
|
||||
}
|
||||
}
|
||||
for (const key of Object.keys(CURRENT_LOCALE_DATA)) {
|
||||
if (!CURRENT_LOCALE_DATA[key]) continue;
|
||||
if (CURRENT_LOCALE_DATA[key][path]) {
|
||||
return CURRENT_LOCALE_DATA[key][path];
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
|
||||
export function localize(path, message, ...args) {
|
||||
return _format(find(path.key || path, message), args);
|
||||
}
|
||||
|
||||
export function setLocaleData(data) {
|
||||
CURRENT_LOCALE_DATA = data;
|
||||
}
|
||||
|
||||
export function loadMessageBundle(file) {
|
||||
return localize;
|
||||
}
|
||||
|
||||
export function config(opt) {
|
||||
return loadMessageBundle;
|
||||
}
|
||||
|
||||
const languages = {
|
||||
zh_CN,
|
||||
zh_TW,
|
||||
ko,
|
||||
};
|
||||
if (languages[i18n('timeago_locale')]) setLocaleData(languages[i18n('timeago_locale')]);
|
||||
Reference in new issue
Block a user