mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-19 17:38:19 +08:00
ui: enhance language selection
This commit is contained in:
1 parent
377ef55d49
commit
80ac44d98e
17 files changed
+201
-70
No files matched your search
@@ -111,14 +111,6 @@ const LangSettingNode = {
|
||||
range: {},
|
||||
};
|
||||
|
||||
bus.on('system/setting', (args) => {
|
||||
if (!args['hydrooj.lang']) return;
|
||||
const lang = parseLang(args['hydrooj.lang']);
|
||||
const range = {};
|
||||
for (const key in lang) range[key] = lang[key].display;
|
||||
LangSettingNode.range = range;
|
||||
});
|
||||
|
||||
PreferenceSetting(
|
||||
Setting('setting_display', 'viewLang', null, langRange, 'UI Language'),
|
||||
Setting('setting_display', 'timeZone', 'Asia/Shanghai', timezones, 'Timezone'),
|
||||
@@ -207,6 +199,9 @@ SystemSetting(
|
||||
Setting('setting_storage', 'installid', String.random(64), 'text', 'installid', 'Installation ID', FLAG_HIDDEN | FLAG_DISABLED),
|
||||
);
|
||||
|
||||
// eslint-disable-next-line import/no-mutable-exports
|
||||
export let langs = {};
|
||||
|
||||
bus.once('app/started', async () => {
|
||||
logger.debug('Ensuring settings');
|
||||
const system = global.Hydro.model.system;
|
||||
@@ -219,13 +214,22 @@ bus.once('app/started', async () => {
|
||||
}
|
||||
}
|
||||
try {
|
||||
SETTINGS_BY_KEY['codeLang'].range = yaml.load(system.get('lang.texts')) as any;
|
||||
langs = parseLang(system.get('hydrooj.langs'));
|
||||
global.Hydro.model.setting.langs = langs;
|
||||
const range = {};
|
||||
for (const key in langs) range[key] = langs[key].display;
|
||||
LangSettingNode.range = range;
|
||||
} catch (e) { /* Ignore */ }
|
||||
});
|
||||
|
||||
bus.on('system/setting', (args) => {
|
||||
if (!args.lang?.texts) return;
|
||||
SETTINGS_BY_KEY['codeLang'].range = yaml.load(args.lang.texts) as any;
|
||||
if (args.hydrooj?.langs) {
|
||||
langs = parseLang(args.hydrooj.langs);
|
||||
global.Hydro.model.setting.langs = langs;
|
||||
const range = {};
|
||||
for (const key in langs) range[key] = langs[key].display;
|
||||
LangSettingNode.range = range;
|
||||
}
|
||||
});
|
||||
|
||||
global.Hydro.model.setting = {
|
||||
@@ -248,4 +252,5 @@ global.Hydro.model.setting = {
|
||||
DOMAIN_SETTINGS_BY_KEY,
|
||||
DOMAIN_USER_SETTINGS,
|
||||
DOMAIN_USER_SETTINGS_BY_KEY,
|
||||
langs,
|
||||
};
|
||||
@@ -71,13 +71,8 @@ export async function runConfig() {
|
||||
await bus.emit('database/config');
|
||||
}
|
||||
|
||||
// eslint-disable-next-line import/no-mutable-exports
|
||||
export let lang = {};
|
||||
|
||||
bus.on('system/setting', (args) => {
|
||||
for (const key in args) set(key, args[key], false);
|
||||
if (!args['hydrooj.lang']) return;
|
||||
lang = parseLang(args['hydrooj.lang']);
|
||||
});
|
||||
|
||||
global.Hydro.model.system = {
|
||||
@@ -86,5 +81,4 @@ global.Hydro.model.system = {
|
||||
getMany,
|
||||
inc,
|
||||
set,
|
||||
lang,
|
||||
};
|
||||
Reference in new issue
Block a user