mirror of
https://github.com/whyour/qinglong.git
synced 2026-07-18 02:14:32 +08:00
更新多语言
This commit is contained in:
@@ -55,7 +55,7 @@ const Config = () => {
|
||||
.post(`${config.apiPrefix}configs/save`, { content, name: select })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('保存成功');
|
||||
message.success(intl.get('保存成功'));
|
||||
}
|
||||
setConfirmLoading(false);
|
||||
});
|
||||
|
||||
@@ -49,7 +49,7 @@ const tabList = [
|
||||
const LangMap: any = {
|
||||
'.py': 'python',
|
||||
'.js': 'javascript',
|
||||
'.mjs': 'javascript',
|
||||
'.mjs': 'typescript',
|
||||
'.sh': 'shell',
|
||||
'.ts': 'typescript',
|
||||
};
|
||||
|
||||
@@ -447,7 +447,7 @@ const Crontab = () => {
|
||||
.delete(`${config.apiPrefix}crons`, { data: [record.id] })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('删除成功');
|
||||
message.success(intl.get('删除成功'));
|
||||
const result = [...value];
|
||||
const i = result.findIndex((x) => x.id === record.id);
|
||||
if (i !== -1) {
|
||||
@@ -729,7 +729,7 @@ const Crontab = () => {
|
||||
.delete(`${config.apiPrefix}crons`, { data: selectedRowIds })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('批量删除成功');
|
||||
message.success(intl.get('批量删除成功'));
|
||||
setSelectedRowIds([]);
|
||||
getCrons();
|
||||
}
|
||||
@@ -879,7 +879,7 @@ const Crontab = () => {
|
||||
.filter((x) => !x.isDisabled)
|
||||
.map((x) => ({
|
||||
...x,
|
||||
name: x.name === '全部任务' ? intl.get('全部任务') : x.name,
|
||||
name: x.name === intl.get('全部任务') ? intl.get('全部任务') : x.name,
|
||||
}));
|
||||
setEnabledCronViews(firstEnableView);
|
||||
setPageConf({
|
||||
|
||||
@@ -26,7 +26,7 @@ const CronLogModal = ({
|
||||
data?: string;
|
||||
logUrl?: string;
|
||||
}) => {
|
||||
const [value, setValue] = useState<string>('启动中...');
|
||||
const [value, setValue] = useState<string>(intl.get('启动中...'));
|
||||
const [loading, setLoading] = useState<any>(true);
|
||||
const [executing, setExecuting] = useState<any>(true);
|
||||
const [isPhone, setIsPhone] = useState(false);
|
||||
@@ -47,7 +47,7 @@ const CronLogModal = ({
|
||||
const log = data as string;
|
||||
setValue(log || intl.get('暂无日志'));
|
||||
const hasNext = Boolean(
|
||||
log && !logEnded(log) && !log.includes('任务未运行'),
|
||||
log && !logEnded(log) && !log.includes(intl.get('任务未运行')),
|
||||
);
|
||||
setExecuting(hasNext);
|
||||
autoScroll();
|
||||
|
||||
@@ -99,7 +99,7 @@ const CronModal = ({
|
||||
if (!value || cronParse.parseExpression(value).hasNext()) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
return Promise.reject('Cron表达式格式有误');
|
||||
return Promise.reject(intl.get('Cron表达式格式有误'));
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -85,7 +85,7 @@ const ViewManageModal = ({
|
||||
title: intl.get('名称'),
|
||||
dataIndex: 'name',
|
||||
key: 'name',
|
||||
render: (v) => (v === '全部任务' ? intl.get('全部任务') : v)
|
||||
render: (v) => (v === intl.get('全部任务') ? intl.get('全部任务') : v)
|
||||
},
|
||||
{
|
||||
title: intl.get('类型'),
|
||||
@@ -157,7 +157,7 @@ const ViewManageModal = ({
|
||||
.delete(`${config.apiPrefix}crons/views`, { data: [record.id] })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('删除成功');
|
||||
message.success(intl.get('删除成功'));
|
||||
cronViewChange();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -400,7 +400,7 @@ const Dependence = () => {
|
||||
const { type, message, references } = socketMessage;
|
||||
if (
|
||||
type === 'installDependence' &&
|
||||
message.includes('开始时间') &&
|
||||
message.includes(intl.get('开始时间')) &&
|
||||
references.length > 0
|
||||
) {
|
||||
const result = [...value];
|
||||
@@ -409,7 +409,7 @@ const Dependence = () => {
|
||||
if (index !== -1) {
|
||||
result.splice(index, 1, {
|
||||
...value[index],
|
||||
status: message.includes('安装') ? Status.安装中 : Status.删除中,
|
||||
status: message.includes(intl.get('安装')) ? Status.安装中 : Status.删除中,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -417,14 +417,14 @@ const Dependence = () => {
|
||||
}
|
||||
if (
|
||||
type === 'installDependence' &&
|
||||
message.includes('结束时间') &&
|
||||
message.includes(intl.get('结束时间')) &&
|
||||
references.length > 0
|
||||
) {
|
||||
let status;
|
||||
if (message.includes('安装')) {
|
||||
status = message.includes('成功') ? Status.已安装 : Status.安装失败;
|
||||
if (message.includes(intl.get('安装'))) {
|
||||
status = message.includes(intl.get('成功')) ? Status.已安装 : Status.安装失败;
|
||||
} else {
|
||||
status = message.includes('成功') ? Status.已删除 : Status.删除失败;
|
||||
status = message.includes(intl.get('成功')) ? Status.已删除 : Status.删除失败;
|
||||
}
|
||||
const result = [...value];
|
||||
for (let i = 0; i < references.length; i++) {
|
||||
|
||||
@@ -56,8 +56,8 @@ const DependenceLogModal = ({
|
||||
) {
|
||||
const log = (data.log || []).join('') as string;
|
||||
setValue(log);
|
||||
setExecuting(!log.includes('结束时间'));
|
||||
setIsRemoveFailed(log.includes('删除失败'));
|
||||
setExecuting(!log.includes(intl.get('结束时间')));
|
||||
setIsRemoveFailed(log.includes(intl.get('删除失败')));
|
||||
}
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -103,9 +103,9 @@ const DependenceLogModal = ({
|
||||
references.length > 0 &&
|
||||
references.includes(dependence.id)
|
||||
) {
|
||||
if (message.includes('结束时间')) {
|
||||
if (message.includes(intl.get('结束时间'))) {
|
||||
setExecuting(false);
|
||||
setIsRemoveFailed(message.includes('删除失败'));
|
||||
setIsRemoveFailed(message.includes(intl.get('删除失败')));
|
||||
}
|
||||
setValue(`${value}${message}`);
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ const Diff = () => {
|
||||
})
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('保存成功');
|
||||
message.success(intl.get('保存成功'));
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Vendored
+1
-1
@@ -25,7 +25,7 @@ const EditNameModal = ({
|
||||
});
|
||||
|
||||
if (code === 200) {
|
||||
message.success('更新环境变量名称成功');
|
||||
message.success(intl.get('更新环境变量名称成功'));
|
||||
handleCancel();
|
||||
}
|
||||
setLoading(false);
|
||||
|
||||
Vendored
+6
-6
@@ -186,7 +186,7 @@ const Env = () => {
|
||||
</Tooltip>
|
||||
<Tooltip
|
||||
title={
|
||||
isPc ? (record.status === Status.已禁用 ? intl.get('启用') : intl.get('禁用')) : ''
|
||||
isPc ? (record.status === Status.已intl.get('禁用') ? intl.get('启用') : intl.get('禁用')) : ''
|
||||
}
|
||||
>
|
||||
<a onClick={() => enabledOrDisabledEnv(record, index)}>
|
||||
@@ -232,10 +232,10 @@ const Env = () => {
|
||||
|
||||
const enabledOrDisabledEnv = (record: any, index: number) => {
|
||||
Modal.confirm({
|
||||
title: `确认${record.status === Status.已禁用 ? intl.get('启用') : intl.get('禁用')}`,
|
||||
title: `确认${record.status === Status.已intl.get('禁用') ? intl.get('启用') : intl.get('禁用')}`,
|
||||
content: (
|
||||
<>
|
||||
{intl.get('确认')}{record.status === Status.已禁用 ? intl.get('启用') : intl.get('禁用')}
|
||||
{intl.get('确认')}{record.status === Status.已intl.get('禁用') ? intl.get('启用') : intl.get('禁用')}
|
||||
Env{' '}
|
||||
<Text style={{ wordBreak: 'break-all' }} type="warning">
|
||||
{record.value}
|
||||
@@ -254,7 +254,7 @@ const Env = () => {
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success(
|
||||
`${record.status === Status.已禁用 ? intl.get('启用') : intl.get('禁用')}成功`,
|
||||
`${record.status === Status.已intl.get('禁用') ? intl.get('启用') : intl.get('禁用')}成功`,
|
||||
);
|
||||
const newStatus =
|
||||
record.status === Status.已禁用 ? Status.已启用 : Status.已禁用;
|
||||
@@ -300,7 +300,7 @@ const Env = () => {
|
||||
.delete(`${config.apiPrefix}envs`, { data: [record.id] })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('删除成功');
|
||||
message.success(intl.get('删除成功'));
|
||||
const result = [...value];
|
||||
result.splice(index, 1);
|
||||
setValue(result);
|
||||
@@ -420,7 +420,7 @@ const Env = () => {
|
||||
.delete(`${config.apiPrefix}envs`, { data: selectedRowIds })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('批量删除成功');
|
||||
message.success(intl.get('批量删除成功'));
|
||||
setSelectedRowIds([]);
|
||||
getEnvs();
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import { Alert, Typography } from 'antd';
|
||||
const Error = () => {
|
||||
const { user, theme, reloadUser } = useOutletContext<SharedContext>();
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [data, setData] = useState('暂无日志');
|
||||
const [data, setData] = useState(intl.get('暂无日志'));
|
||||
const retryTimes = useRef(1);
|
||||
|
||||
const getLog = (needLoading: boolean = true) => {
|
||||
@@ -69,7 +69,7 @@ const Error = () => {
|
||||
<div>{intl.get('2. 容器内执行 ql -l check、ql -l update')}</div>
|
||||
<div>
|
||||
{intl.get(
|
||||
'3. 如果无法解决,容器内执行 pm2 logs,拷贝执行结果',
|
||||
'3. 如果无法解决,容器内执行 pm2 logs,拷贝执行结果'
|
||||
)}
|
||||
<Typography.Link href="https://github.com/whyour/qinglong/issues/new?assignees=&labels=&template=bug_report.yml">
|
||||
{intl.get('提交 issue')}
|
||||
|
||||
@@ -75,7 +75,7 @@ const Log = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
setValue('加载中...');
|
||||
setValue(intl.get('加载中...'));
|
||||
getLog(node);
|
||||
};
|
||||
|
||||
|
||||
@@ -187,7 +187,9 @@ const Login = () => {
|
||||
<Form layout="vertical" onFinish={handleOk}>
|
||||
<FormItem name="username" label={intl.get('用户名')} hasFeedback>
|
||||
<Input
|
||||
placeholder={`${intl.get('用户名')}${isDemoEnv ? ': admin' : ''}`}
|
||||
placeholder={`${intl.get('用户名')}${
|
||||
isDemoEnv ? ': admin' : ''
|
||||
}`}
|
||||
autoFocus
|
||||
/>
|
||||
</FormItem>
|
||||
|
||||
@@ -14,7 +14,7 @@ const { Option } = Select;
|
||||
const LangMap: any = {
|
||||
'.py': 'python',
|
||||
'.js': 'javascript',
|
||||
'.mjs': 'javascript',
|
||||
'.mjs': 'typescript',
|
||||
'.sh': 'shell',
|
||||
'.ts': 'typescript',
|
||||
};
|
||||
|
||||
@@ -49,7 +49,7 @@ const { Text } = Typography;
|
||||
const LangMap: any = {
|
||||
'.py': 'python',
|
||||
'.js': 'javascript',
|
||||
'.mjs': 'javascript',
|
||||
'.mjs': 'typescript',
|
||||
'.sh': 'shell',
|
||||
'.ts': 'typescript',
|
||||
};
|
||||
@@ -136,7 +136,7 @@ const Script = () => {
|
||||
|
||||
const newMode = value ? LangMap[value.slice(-3)] : '';
|
||||
setMode(isPhone && newMode === 'typescript' ? 'javascript' : newMode);
|
||||
setValue('加载中...');
|
||||
setValue(intl.get('加载中...'));
|
||||
getDetail(node);
|
||||
};
|
||||
|
||||
@@ -202,7 +202,7 @@ const Script = () => {
|
||||
|
||||
const cancelEdit = () => {
|
||||
setIsEditing(false);
|
||||
setValue('加载中...');
|
||||
setValue(intl.get('加载中...'));
|
||||
getDetail(currentNode);
|
||||
};
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ const RenameModal = ({
|
||||
);
|
||||
|
||||
if (code === 200) {
|
||||
message.success('更新名称成功');
|
||||
message.success(intl.get('更新名称成功'));
|
||||
handleCancel();
|
||||
}
|
||||
setLoading(false);
|
||||
|
||||
@@ -23,7 +23,7 @@ const SaveModal = ({
|
||||
.post(`${config.apiPrefix}scripts`, payload)
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('保存文件成功');
|
||||
message.success(intl.get('保存文件成功'));
|
||||
handleCancel(data);
|
||||
}
|
||||
setLoading(false);
|
||||
|
||||
@@ -23,7 +23,7 @@ const SettingModal = ({
|
||||
.post(`${config.apiPrefix}scripts`, payload)
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('保存文件成功');
|
||||
message.success(intl.get('保存文件成功'));
|
||||
handleCancel(data);
|
||||
}
|
||||
setLoading(false);
|
||||
|
||||
@@ -14,7 +14,7 @@ const CheckUpdate = ({ socketMessage, systemInfo }: any) => {
|
||||
const checkUpgrade = () => {
|
||||
if (updateLoading) return;
|
||||
setUpdateLoading(true);
|
||||
message.loading('检查更新中...', 0);
|
||||
message.loading(intl.get('检查更新中...'), 0);
|
||||
request
|
||||
.put(`${config.apiPrefix}system/update-check`)
|
||||
.then(({ code, data }) => {
|
||||
@@ -177,7 +177,7 @@ const CheckUpdate = ({ socketMessage, systemInfo }: any) => {
|
||||
}
|
||||
|
||||
const newMessage = `${value}${_message}`;
|
||||
const updateFailed = newMessage.includes('失败');
|
||||
const updateFailed = newMessage.includes(intl.get('失败'));
|
||||
|
||||
modalRef.current.update({
|
||||
maskClosable: updateFailed,
|
||||
@@ -198,8 +198,8 @@ const CheckUpdate = ({ socketMessage, systemInfo }: any) => {
|
||||
),
|
||||
});
|
||||
|
||||
if (updateFailed && !value.includes('失败,请检查')) {
|
||||
message.error('更新失败,请检查网络及日志或稍后再试');
|
||||
if (updateFailed && !value.includes(intl.get('失败,请检查'))) {
|
||||
message.error(intl.get('更新失败,请检查网络及日志或稍后再试'));
|
||||
}
|
||||
|
||||
setValue(newMessage);
|
||||
@@ -209,7 +209,7 @@ const CheckUpdate = ({ socketMessage, systemInfo }: any) => {
|
||||
.getElementById('log-identifier')!
|
||||
.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||||
|
||||
if (_message.includes('更新包下载成功')) {
|
||||
if (_message.includes(intl.get('更新包下载成功'))) {
|
||||
setTimeout(() => {
|
||||
showReloadModal();
|
||||
}, 1000);
|
||||
|
||||
@@ -154,7 +154,7 @@ const Setting = () => {
|
||||
.delete(`${config.apiPrefix}apps`, { data: [record.id] })
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('删除成功');
|
||||
message.success(intl.get('删除成功'));
|
||||
const result = [...dataSource];
|
||||
result.splice(index, 1);
|
||||
setDataSource(result);
|
||||
@@ -188,7 +188,7 @@ const Setting = () => {
|
||||
.put(`${config.apiPrefix}apps/${record.id}/reset-secret`)
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('重置成功');
|
||||
message.success(intl.get('重置成功'));
|
||||
handleApp(data);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -41,8 +41,8 @@ const Other = ({
|
||||
const [form] = Form.useForm();
|
||||
const modalRef = useRef<any>();
|
||||
const [exportLoading, setExportLoading] = useState(false);
|
||||
const showUploadProgress = useProgress('上传');
|
||||
const showDownloadProgress = useProgress('下载');
|
||||
const showUploadProgress = useProgress(intl.get('上传'));
|
||||
const showDownloadProgress = useProgress(intl.get('下载'));
|
||||
|
||||
const {
|
||||
enable: enableDarkMode,
|
||||
@@ -85,7 +85,7 @@ const Other = ({
|
||||
.put(`${config.apiPrefix}system/config`, systemConfig)
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('更新成功');
|
||||
message.success(intl.get('更新成功'));
|
||||
}
|
||||
})
|
||||
.catch((error: any) => {
|
||||
|
||||
@@ -67,12 +67,12 @@ const SecuritySettings = ({ user, userChange }: any) => {
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
if (data) {
|
||||
message.success('激活成功');
|
||||
message.success(intl.get('激活成功'));
|
||||
setTwoFactoring(false);
|
||||
setTwoFactorActivated(true);
|
||||
userChange();
|
||||
} else {
|
||||
message.success('验证失败');
|
||||
message.success(intl.get('验证失败'));
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -366,7 +366,7 @@ const Subscription = () => {
|
||||
})
|
||||
.then(({ code, data }) => {
|
||||
if (code === 200) {
|
||||
message.success('删除成功');
|
||||
message.success(intl.get('删除成功'));
|
||||
const result = [...value];
|
||||
const i = result.findIndex((x) => x.id === record.id);
|
||||
if (i !== -1) {
|
||||
|
||||
@@ -23,7 +23,7 @@ const SubscriptionLogModal = ({
|
||||
data?: string;
|
||||
logUrl?: string;
|
||||
}) => {
|
||||
const [value, setValue] = useState<string>('启动中...');
|
||||
const [value, setValue] = useState<string>(intl.get('启动中...'));
|
||||
const [loading, setLoading] = useState<any>(true);
|
||||
const [executing, setExecuting] = useState<any>(true);
|
||||
const [isPhone, setIsPhone] = useState(false);
|
||||
|
||||
@@ -392,7 +392,7 @@ const SubscriptionModal = ({
|
||||
) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
return Promise.reject('Subscription表达式格式有误');
|
||||
return Promise.reject(intl.get('Subscription表达式格式有误'));
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user