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.worker': number,
|
||||
'server.port': number,
|
||||
'server.language': string,
|
||||
'session.keys': string[],
|
||||
'session.secure': boolean,
|
||||
'session.expire_seconds': number,
|
||||
|
||||
@@ -43,7 +43,7 @@ String.prototype.rawformat = function rawFormat(object) {
|
||||
};
|
||||
|
||||
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) {
|
||||
if (!language) continue;
|
||||
if (locales[language]) {
|
||||
|
||||
@@ -81,7 +81,7 @@ export const SystemSetting = (...settings: _Setting[]) => {
|
||||
};
|
||||
|
||||
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_usage', 'codeLang', builtin.LANG_TEXTS, 'c', 'select', 'Default Code Language'),
|
||||
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.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.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.secure', null, false, 'boolean', 'session.secure'),
|
||||
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 class Progress {
|
||||
constructor(public args) {
|
||||
@@ -31,7 +33,8 @@ export namespace Progress {
|
||||
}
|
||||
|
||||
export function create(args) {
|
||||
return (process.stdout.isTTY && !argv.legacy)
|
||||
// TODO handle worker process
|
||||
return useTerminal
|
||||
? terminal.progressBar(args)
|
||||
: new Progress(args);
|
||||
}
|
||||
@@ -44,7 +47,7 @@ async function terminate() {
|
||||
} catch (e) {
|
||||
hasError = true;
|
||||
}
|
||||
if (cluster.isMaster && process.stdout.isTTY && !argv.legacy) {
|
||||
if (useTerminal) {
|
||||
terminal.hideCursor(false);
|
||||
terminal.styleReset();
|
||||
terminal.resetScrollingRegion();
|
||||
@@ -55,7 +58,7 @@ async function terminate() {
|
||||
}
|
||||
process.on('SIGINT', terminate);
|
||||
|
||||
if (cluster.isMaster && process.stdout.isTTY && !argv.legacy) {
|
||||
if (useTerminal) {
|
||||
terminal.clear();
|
||||
terminal.grabInput();
|
||||
terminal.hideCursor();
|
||||
|
||||
Reference in new issue
Block a user