mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: 支持系统级语言设置
This commit is contained in:
1 parent
5a7114ed8c
commit
1aeaf14a03
4 files changed
+10
-5
No files matched your search
@@ -32,6 +32,7 @@ export interface SystemKeys {
|
|||||||
'server.xff': string,
|
'server.xff': string,
|
||||||
'server.worker': number,
|
'server.worker': number,
|
||||||
'server.port': number,
|
'server.port': number,
|
||||||
|
'server.language': string,
|
||||||
'session.keys': string[],
|
'session.keys': string[],
|
||||||
'session.secure': boolean,
|
'session.secure': boolean,
|
||||||
'session.expire_seconds': number,
|
'session.expire_seconds': number,
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ String.prototype.rawformat = function rawFormat(object) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
String.prototype.translate = function translate(...languages: string[]) {
|
String.prototype.translate = function translate(...languages: string[]) {
|
||||||
if (!languages.length) languages = ['zh_CN'];
|
languages.push(global.Hydro.model.system.get('server.language'));
|
||||||
for (const language of languages) {
|
for (const language of languages) {
|
||||||
if (!language) continue;
|
if (!language) continue;
|
||||||
if (locales[language]) {
|
if (locales[language]) {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ export const SystemSetting = (...settings: _Setting[]) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
PreferenceSetting(
|
PreferenceSetting(
|
||||||
Setting('setting_display', 'viewLang', langRange, 'zh_CN', 'select', 'UI Language'),
|
Setting('setting_display', 'viewLang', langRange, null, 'select', 'UI Language'),
|
||||||
Setting('setting_display', 'timeZone', timezones, 'Asia/Shanghai', 'select', 'Timezone'),
|
Setting('setting_display', 'timeZone', timezones, 'Asia/Shanghai', 'select', 'Timezone'),
|
||||||
Setting('setting_usage', 'codeLang', builtin.LANG_TEXTS, 'c', 'select', 'Default Code Language'),
|
Setting('setting_usage', 'codeLang', builtin.LANG_TEXTS, 'c', 'select', 'Default Code Language'),
|
||||||
Setting('setting_usage', 'codeTemplate', null, '', 'textarea', 'Default Code Template',
|
Setting('setting_usage', 'codeTemplate', null, '', 'textarea', 'Default Code Template',
|
||||||
@@ -141,6 +141,7 @@ SystemSetting(
|
|||||||
Setting('setting_server', 'server.cdn', null, '/', 'text', 'CDN Prefix', 'Ends with /'),
|
Setting('setting_server', 'server.cdn', null, '/', 'text', 'CDN Prefix', 'Ends with /'),
|
||||||
Setting('setting_server', 'server.port', null, 8888, 'number', 'Server Port'),
|
Setting('setting_server', 'server.port', null, 8888, 'number', 'Server Port'),
|
||||||
Setting('setting_server', 'server.xff', null, null, 'text', 'IP Header', 'e.g. x-forwarded-for (lowercase)'),
|
Setting('setting_server', 'server.xff', null, null, 'text', 'IP Header', 'e.g. x-forwarded-for (lowercase)'),
|
||||||
|
Setting('setting_server', 'server.language', langRange, 'zh_CN', 'select', 'Default display language'),
|
||||||
Setting('setting_session', 'session.keys', null, [String.random(32)], 'text', 'session.keys', null, FLAG_HIDDEN),
|
Setting('setting_session', 'session.keys', null, [String.random(32)], 'text', 'session.keys', null, FLAG_HIDDEN),
|
||||||
Setting('setting_session', 'session.secure', null, false, 'boolean', 'session.secure'),
|
Setting('setting_session', 'session.secure', null, false, 'boolean', 'session.secure'),
|
||||||
Setting('setting_session', 'session.saved_expire_seconds', null, 3600 * 24 * 30, 'number', 'Saved session expire seconds'),
|
Setting('setting_session', 'session.saved_expire_seconds', null, 3600 * 24 * 30, 'number', 'Saved session expire seconds'),
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ declare module 'terminal-kit/Terminal' {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const useTerminal = cluster.isMaster && process.stdout.isTTY && !argv.legacy;
|
||||||
|
|
||||||
export namespace Progress {
|
export namespace Progress {
|
||||||
export class Progress {
|
export class Progress {
|
||||||
constructor(public args) {
|
constructor(public args) {
|
||||||
@@ -31,7 +33,8 @@ export namespace Progress {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function create(args) {
|
export function create(args) {
|
||||||
return (process.stdout.isTTY && !argv.legacy)
|
// TODO handle worker process
|
||||||
|
return useTerminal
|
||||||
? terminal.progressBar(args)
|
? terminal.progressBar(args)
|
||||||
: new Progress(args);
|
: new Progress(args);
|
||||||
}
|
}
|
||||||
@@ -44,7 +47,7 @@ async function terminate() {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
hasError = true;
|
hasError = true;
|
||||||
}
|
}
|
||||||
if (cluster.isMaster && process.stdout.isTTY && !argv.legacy) {
|
if (useTerminal) {
|
||||||
terminal.hideCursor(false);
|
terminal.hideCursor(false);
|
||||||
terminal.styleReset();
|
terminal.styleReset();
|
||||||
terminal.resetScrollingRegion();
|
terminal.resetScrollingRegion();
|
||||||
@@ -55,7 +58,7 @@ async function terminate() {
|
|||||||
}
|
}
|
||||||
process.on('SIGINT', terminate);
|
process.on('SIGINT', terminate);
|
||||||
|
|
||||||
if (cluster.isMaster && process.stdout.isTTY && !argv.legacy) {
|
if (useTerminal) {
|
||||||
terminal.clear();
|
terminal.clear();
|
||||||
terminal.grabInput();
|
terminal.grabInput();
|
||||||
terminal.hideCursor();
|
terminal.hideCursor();
|
||||||
|
|||||||
Reference in new issue
Block a user