fix: Improve some internationalized content (#7996)

This commit is contained in:
ssongliu 2025-02-25 18:45:54 +08:00 committed by GitHub
parent 51bb42c493
commit fb299179e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
19 changed files with 579 additions and 340 deletions

View file

@ -1,9 +1,9 @@
@font-face {
font-family: "iconfont"; /* Project id 4776196 */
src: url('iconfont.woff2?t=1740392092454') format('woff2'),
url('iconfont.woff?t=1740392092454') format('woff'),
url('iconfont.ttf?t=1740392092454') format('truetype'),
url('iconfont.svg?t=1740392092454#iconfont') format('svg');
src: url('iconfont.woff2?t=1740474796282') format('woff2'),
url('iconfont.woff?t=1740474796282') format('woff'),
url('iconfont.ttf?t=1740474796282') format('truetype'),
url('iconfont.svg?t=1740474796282#iconfont') format('svg');
}
.iconfont {
@ -258,14 +258,6 @@
content: "\e666";
}
.p-gpu-1:before {
content: "\e623";
}
.p-gpu-2:before {
content: "\e6d8";
}
.p-xpack:before {
content: "\e60b";
}

File diff suppressed because one or more lines are too long

View file

@ -432,20 +432,6 @@
"unicode": "e666",
"unicode_decimal": 58982
},
{
"icon_id": "6176565",
"name": "监控",
"font_class": "gpu-1",
"unicode": "e623",
"unicode_decimal": 58915
},
{
"icon_id": "640495",
"name": "详细信息",
"font_class": "gpu-2",
"unicode": "e6d8",
"unicode_decimal": 59096
},
{
"icon_id": "3722144",
"name": "钻石",

View file

@ -136,10 +136,6 @@
<glyph glyph-name="waf-3" unicode="&#58982;" d="M818.869708 193.34349299999997h-185.924226a38.390594 38.390594 0 1 1 0-75.07494h185.924226a38.390594 38.390594 0 1 1 0 75.07494zM198.136454 623.8868990000001h441.634022a42.656216 42.656216 0 0 1 45.499964 38.049344 49.139961 49.139961 0 0 1-45.499964 45.499964H198.07958a42.656216 42.656216 0 0 1-38.049345-45.499964 35.944971 35.944971 0 0 1 38.049345-38.049344z m152.311129-319.807869H198.136454a42.656216 42.656216 0 0 1-38.049344-45.499964 35.944971 35.944971 0 0 1 38.049344-38.049345h144.689885a35.944971 35.944971 0 0 1 38.049344 38.049345c0 22.749982-7.621244 45.499964-30.484975 45.499964zM548.429299 463.954527a35.944971 35.944971 0 0 1-38.049344 38.049344H205.473324a38.10622 38.10622 0 0 1 0-76.155564h304.565381c23.091232-7.564369 38.333719 15.299363 38.333719 38.163095zM806.072843 431.080803V779.553649a97.313047 97.313047 0 0 1-58.069328 94.412425A65.918072 65.918072 0 0 1 697.157305 895.749181H116.35027A105.73054 105.73054 0 0 1 29.21784 859.46296 109.199913 109.199913 0 0 1 0.154738 779.553649v-675.21946a126.717399 126.717399 0 0 1 29.063102-87.13243 109.199913 109.199913 0 0 1 79.624936-29.063102h341.249727a33.214973 33.214973 0 0 1 36.286221 29.063102c21.783108-21.783108 36.286221-43.566215 58.069329-65.349323A280.507276 280.507276 0 0 1 740.723521-128 283.521648 283.521648 0 0 1 1023.903919 155.18039899999997a287.616645 287.616645 0 0 1-217.831076 275.900404z m138.20614-275.900404a202.929838 202.929838 0 0 0-203.555462-203.555463 230.571066 230.571066 0 0 0-145.201759 58.069329 205.375461 205.375461 0 0 0 145.201759 348.529721 207.764209 207.764209 0 0 0 203.555462-203.043587z m-486.678986-87.132431h-341.249727c-7.279994 0-21.783108 7.279994-29.063102 7.279994-7.507494 7.109369-7.507494 14.503113-7.507494 29.006227V779.553649a43.679965 43.679965 0 0 0 7.279994 29.063102 43.679965 43.679965 0 0 0 29.290602 7.507494h573.583916c7.279994 0 14.503113-7.279994 21.783108-7.279994a37.708095 37.708095 0 0 0 14.503113-29.063102V431.080803a284.374773 284.374773 0 0 1-268.62041-275.900404 513.410214 513.410214 0 0 1 14.616863-87.132431h-14.616863z" horiz-adv-x="1024" />
<glyph glyph-name="gpu-1" unicode="&#58915;" d="M838.22 139.59000000000003H187.78a89.1 89.1 0 0 0-89.1 89.1V697.46a89.1 89.1 0 0 0 89.1 89.1h650.44a89.1 89.1 0 0 0 89.1-89.1v-468.77a89.1 89.1 0 0 0-89.1-89.1zM852 224.64999999999998V701.5a9 9 0 0 1-9 8.95H183a9 9 0 0 1-9-8.95v-476.85a9 9 0 0 1 9-8.94h660a9 9 0 0 1 9 8.94zM287.01 63.48000000000002m37.86 0l376.26 0q37.86 0 37.86-37.86l0-0.39q0-37.86-37.86-37.86l-376.26 0q-37.86 0-37.86 37.86l0 0.39q0 37.86 37.86 37.86ZM249.34 558.22m31.68 0l11.97 0q31.68 0 31.68-31.68l0-203.04q0-31.68-31.68-31.68l-11.97 0q-31.68 0-31.68 31.68l0 203.04q0 31.68 31.68 31.68ZM400 444.05m37.67 0l-0.01 0q37.67 0 37.67-37.67l0-76.89q0-37.67-37.67-37.67l0.01 0q-37.67 0-37.67 37.67l0 76.89q0 37.67 37.67 37.67ZM550.67 634.3299999999999m37.67 0l-0.01 0q37.67 0 37.67-37.67l0-267.17q0-37.67-37.67-37.67l0.01 0q-37.67 0-37.67 37.67l0 267.17q0 37.67 37.67 37.67ZM701.33 482.11m37.67 0l-0.01 0q37.67 0 37.67-37.67l0-114.94q0-37.67-37.67-37.67l0.01 0q-37.67 0-37.67 37.67l0 114.94q0 37.67 37.67 37.67Z" horiz-adv-x="1024" />
<glyph glyph-name="gpu-2" unicode="&#59096;" d="M392.585795 223.71443399999998l-93.230358 0c-14.145162 0-25.611308-11.466146-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l93.230358 0c14.145162 0 25.611308 11.466146 25.611308 25.611308S406.729933 223.71443399999998 392.585795 223.71443399999998zM392.585795 103.84434599999997l-93.230358 0c-14.145162 0-25.611308-11.466146-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l93.230358 0c14.145162 0 25.611308 11.466146 25.611308 25.611308S406.729933 103.84434599999997 392.585795 103.84434599999997zM392.585795 330.26312199999995l-93.230358 0c-14.145162 0-25.611308-11.466146-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l93.230358 0c14.145162 0 25.611308 11.466146 25.611308 25.611308S406.729933 330.26312199999995 392.585795 330.26312199999995zM473.523175 304.65181399999994c0-14.145162 11.467169-25.611308 25.611308-25.611308l226.416729 0c14.145162 0 25.611308 11.466146 25.611308 25.611308s-11.466146 25.611308-25.611308 25.611308l-226.416729 0C484.990345 330.26312199999995 473.523175 318.796976 473.523175 304.65181399999994zM852.245729 471.110987c-54.019311 71.51887-226.167043 271.164886-294.330492 347.954807-2.820232 3.175319-6.088672 5.656837-9.639544 7.385201l-2.437515 2.849908-9.704013 0c-0.049119 0-0.097214 0.004093-0.146333 0.004093-0.039909 0-0.079818-0.004093-0.12075-0.004093L213.635123 829.300902c-15.878642 0-32.363082-6.886851-45.228087-18.896372-13.467733-12.571317-21.190625-29.167297-21.190625-45.533033L147.216411 5.710303999999951c0-16.116049 7.467065-32.885991 20.48659-46.007847 13.072737-13.175067 29.815049-20.732184 45.933145-20.732184l602.350774 0c16.676821 0 33.07428 8.121981 44.989657 22.281469 10.622942 12.624529 16.714683 28.828582 16.714683 44.457538L877.691261 441.366545 852.245729 471.110987zM559.654858 734.350366l239.987816-280.545534L563.927161 453.804832c-2.067079 3.163039-4.272303 9.214872-4.272303 13.115716L559.654858 734.350366zM826.467623 5.710303999999951c0-7.726985-7.185656-15.516392-10.480702-15.516392L213.635123-9.806087000000048c-5.396917 0-15.196097 10.005888-15.196097 15.516392L198.439026 764.87252c0 4.66423 8.933463 13.205766 15.196097 13.205766l294.79712 0 0-311.158762c0-26.295899 18.24555-64.339354 51.235918-64.339354l266.799462 0L826.467623 5.710303999999951zM430.875866 634.92696L297.690518 634.92696c-14.145162 0-25.611308-11.467169-25.611308-25.611308l0-133.186372c0-14.145162 11.467169-25.612331 25.611308-25.612331l133.185348 0c14.145162 0 25.611308 11.467169 25.611308 25.612331L456.487174 609.314629C456.487174 623.45979 445.021028 634.92696 430.875866 634.92696zM405.264559 501.739565l-81.962733 0 0 81.963757 81.962733 0L405.264559 501.739565zM725.551212 223.71443399999998l-226.416729 0c-14.145162 0-25.611308-11.466146-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l226.416729 0c14.145162 0 25.611308 11.466146 25.611308 25.611308S739.697397 223.71443399999998 725.551212 223.71443399999998zM725.551212 103.84434599999997l-226.416729 0c-14.145162 0-25.611308-11.466146-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l226.416729 0c14.145162 0 25.611308 11.466146 25.611308 25.611308S739.697397 103.84434599999997 725.551212 103.84434599999997z" horiz-adv-x="1024" />
<glyph glyph-name="xpack" unicode="&#58891;" d="M971.527 503.922L839.149 726.406c-5.729 11.652-17.836 20.114-32.248 20.114H217.227v-0.442c-12.134 0-24.007-5.962-30.647-17.394L54.201 506.903c-10.077-14.177-8.931-33.836 3.645-46.178l428.043-428.499 1.133-0.456c13.943-13.722 36.362-13.722 50.306 0l428.707 428.955h-0.222c11.43 11.431 14.412 29.267 5.714 43.197zM760.032 674.968l-85.743-140.632a47.989 47.989 0 0 1-3.789 0.164c-2.771 0-5.48-0.25-8.12-0.706l-98.988 141.174h196.64z m-132.05-166.793c-0.136-0.271-0.273-0.541-0.404-0.815H401.421a47.213 47.213 0 0 1-2.563 4.683l113.537 161.311 115.587-165.179zM460.736 674.968l-98.403-140.636a48.105 48.105 0 0 1-3.833 0.167c-2.775 0-5.49-0.251-8.135-0.708l-86.504 141.176h196.875z m-234.605-19.45l89.842-147.361c-0.132-0.265-0.267-0.528-0.394-0.796h-178.16l88.712 148.157zM154.799 464.37h161.928c6.511-11.994 18.04-20.861 31.767-23.805l98.051-267.719L154.799 464.37z m357.597-345.475L390.021 451.478a47.675 47.675 0 0 1 10.252 12.892h228.454a47.625 47.625 0 0 1 6.843-9.55L512.396 118.89499999999998z m64.939 53.951l97.977 266.896c15.992 1.609 29.644 11.149 36.962 24.628h156.364L577.335 172.846zM713.422 507.36a47.323 47.323 0 0 1-2.727 4.938l87.756 143.22 88.022-148.158H713.422z" horiz-adv-x="1024" />
<glyph glyph-name="monitor-4" unicode="&#60494;" d="M838.22 139.59000000000003H187.78a89.1 89.1 0 0 0-89.1 89.1V697.46a89.1 89.1 0 0 0 89.1 89.1h650.44a89.1 89.1 0 0 0 89.1-89.1v-468.77a89.1 89.1 0 0 0-89.1-89.1zM852 224.64999999999998V701.5a9 9 0 0 1-9 8.95H183a9 9 0 0 1-9-8.95v-476.85a9 9 0 0 1 9-8.94h660a9 9 0 0 1 9 8.94zM287.01 63.48000000000002m37.86 0l376.26 0q37.86 0 37.86-37.86l0-0.39q0-37.86-37.86-37.86l-376.26 0q-37.86 0-37.86 37.86l0 0.39q0 37.86 37.86 37.86ZM249.34 558.22m31.68 0l11.97 0q31.68 0 31.68-31.68l0-203.04q0-31.68-31.68-31.68l-11.97 0q-31.68 0-31.68 31.68l0 203.04q0 31.68 31.68 31.68ZM400 444.05m37.67 0l-0.01 0q37.67 0 37.67-37.67l0-76.89q0-37.67-37.67-37.67l0.01 0q-37.67 0-37.67 37.67l0 76.89q0 37.67 37.67 37.67ZM550.67 634.3299999999999m37.67 0l-0.01 0q37.67 0 37.67-37.67l0-267.17q0-37.67-37.67-37.67l0.01 0q-37.67 0-37.67 37.67l0 267.17q0 37.67 37.67 37.67ZM701.33 482.11m37.67 0l-0.01 0q37.67 0 37.67-37.67l0-114.94q0-37.67-37.67-37.67l0.01 0q-37.67 0-37.67 37.67l0 114.94q0 37.67 37.67 37.67Z" horiz-adv-x="1024" />

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 162 KiB

View file

@ -64,6 +64,7 @@ const openWithResourceID = (taskType: string, taskOperate: string, resourceID: n
const handleClose = () => {
open.value = false;
bus.emit('close', true);
bus.emit('refreshTask', true);
};

View file

@ -2718,29 +2718,6 @@ const message = {
manage: 'Management',
},
},
customApp: {
name: 'Custom App Repository',
appStoreType: 'App Store Package Source',
appStoreUrl: 'Repository URL',
local: 'Local Path',
remote: 'Remote Link',
imagePrefix: 'Image Prefix',
imagePrefixHelper:
'Function: Customize the image prefix and modify the image field in the compose file. For example, when the image prefix is set to 1panel/custom, the image field for MaxKB will change to 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Cancel using custom app repository',
appStoreUrlHelper: 'Only .tar.gz format is supported',
postNode: 'Sync to sub-node',
postNodeHelper: 'Sub-nodes will inherit and use the above configuration by default',
nodes: 'Nodes',
},
alert: {
isAlert: 'Alert',
alertCount: 'Alert Count',
clamHelper: 'Trigger SMS alert when scanning infected files',
cronJobHelper: 'Trigger SMS alert when scheduled task execution fails',
licenseHelper: 'Professional version supports SMS alert',
alertCountHelper: 'Maximum daily alarm frequency',
},
xpack: {
expiresTrialAlert:
'Friendly reminder: Your Pro trial will expire in {0} days, and all Pro features will no longer be accessible. Please renew or upgrade to the full version in a timely manner.',
@ -3031,32 +3008,36 @@ const message = {
excludeUa: 'Exclude User-Agent',
},
tamper: {
tamper: 'Site Integrity',
tamper: 'Website Tamper Protection',
ignoreTemplate: 'Exclude Directory Template',
protectTemplate: 'Protect File Template',
templateContent: 'Template Content',
template: 'Template',
tamperHelper1:
'For one-click deployment type websites, it is recommended to enable the application directory anti-tampering feature. If the website malfunctions or backup/restore fails, please disable the anti-tampering feature first.',
'For one-click deployment type websites, it is recommended to enable the application directory tamper protection feature; if the website is not functioning properly or there are backup and recovery failures, please first disable the tamper protection feature;',
tamperHelper2:
'It will restrict the read, write, delete, permission, and owner modification operations of protected files under non-excluded directories',
op: 'Operation',
create: 'Create',
file: 'File',
'Operations for reading, writing, deleting, changing permissions, and modifying owners of protected files outside the excluded directories will be restricted',
tamperPath: 'Protected Directory',
tamperPathEdit: 'Modify Path',
log: 'Intercept Logs',
totalProtect: 'Total Protections',
todayProtect: 'Todays Protections',
tamperPathEdit: 'Edit Path',
log: 'Intercept Log',
totalProtect: 'Total Protection',
todayProtect: 'Todays Protection',
addRule: 'Add Rule',
ignore: 'Exclude Directory',
ignoreHelper: 'One entry per line, e.g., \ntmp\n./tmp',
ignoreHelper1: 'Add folder names or specific paths to exclude from protection.',
ignoreHelper2: 'Use relative paths starting with ./ to exclude specific folders.',
protect: 'Protected file',
protectHelper: 'One entry per line, e.g., \npng\n./test.css',
protectHelper1: 'Specify file names, extensions, or specific files to protect.',
protectHelper2: 'Use relative paths starting with ./ to protect specific files.',
ignoreHelper: 'One per line, e.g.: \ntmp\n./tmp',
ignoreTemplateHelper: 'Add folder names to ignore, separated by commas, e.g.: tmp,cache',
templateRule: 'Length 1-512, name cannot contain symbols like {0}',
ignoreHelper1: 'Add folder names or specific paths to ignore',
ignoreHelper2: 'To ignore a specific folder, use a relative path starting with ./',
protect: 'Protect File',
protectHelper: 'One per line, e.g.: \npng\n./test.css',
protectTemplateHelper: 'Add file names or extensions to ignore, separated by commas, e.g.: conf,.css',
protectHelper1: 'You can specify file names, extensions, or specific files to protect',
protectHelper2: 'To protect a specific file, use a relative path starting with ./',
enableHelper:
'The anti-tampering function of website {0} is about to be enabled to enhance website security. Do you want to continue?',
'The tamper protection feature for the following websites will be enabled to enhance website security. Do you want to continue?',
disableHelper:
'The anti-tampering function of website {0} is about to be disabled. Do you want to continue?',
'The tamper protection feature for the following websites will be disabled. Do you want to continue?',
},
setting: {
setting: 'Panel Settings',
@ -3130,7 +3111,62 @@ const message = {
alertContent3:
'Provide users with custom phone numbers, daily push frequency, and daily push time configurations, making it easier for users to set up more reasonable push alerts.',
},
node: {
node: 'Node',
addr: 'Address',
memTotal: 'Total Memory',
nodeManagement: 'Node Management',
addNode: 'Add Node',
connInfo: 'Connection Information',
nodeInfo: 'Node Information',
panelExist:
'Detected that there is already 1panel service on this node. Adding this node will use the original service port and installation directory of 1panel. Do you want to continue?',
coreExist:
'Detected that there is already 1panel-core service on this node. Unable to add this node, please check and try again!',
agentExist: 'Detected that there is already 1panel-agent service on this node',
forceAdd: 'Force Add',
forceAddHelper: 'Force add will forcibly replace the 1panel-agent service on this node',
reinstallHelper: 'Reinstall node {0}, do you want to continue?',
unhealthyCheck: 'Abnormal Check',
fixOperation: 'Fix Operation',
checkName: 'Check Item',
checkSSHConn: 'Check SSH Connection Availability',
fixSSHConn: 'Manually edit the node to confirm connection information',
checkConnInfo: 'Check Agent Connection Information',
checkStatus: 'Check Node Service Availability',
fixStatus: 'Investigate Node Logs',
checkAPI: 'Check Node API Availability',
fixAPI: 'Check if the request address in the information is correct; if incorrect, modify the main node information',
forceDelete: 'Force Delete',
operateHelper: 'The following nodes will undergo {0} operation, do you want to continue?',
forceDeleteHelper: 'Force delete will ignore node deletion errors and delete database metadata',
baseDir: 'Installation Directory',
baseDirHelper:
'When the installation directory is empty, it will be installed in the /opt directory by default',
nodePort: 'Node Port',
},
customApp: {
name: 'Custom App Repository',
appStoreType: 'App Store Package Source',
appStoreUrl: 'Repository URL',
local: 'Local Path',
remote: 'Remote Link',
imagePrefix: 'Image Prefix',
imagePrefixHelper:
'Function: Customize the image prefix and modify the image field in the compose file. For example, when the image prefix is set to 1panel/custom, the image field for MaxKB will change to 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Cancel using custom app repository',
appStoreUrlHelper: 'Only .tar.gz format is supported',
postNode: 'Sync to sub-node',
postNodeHelper: 'Sub-nodes will inherit and use the above configuration by default',
nodes: 'Nodes',
},
alert: {
isAlert: 'Alert',
alertCount: 'Alert Count',
clamHelper: 'Trigger SMS alert when scanning infected files',
cronJobHelper: 'Trigger SMS alert when scheduled task execution fails',
licenseHelper: 'Professional version supports SMS alert',
alertCountHelper: 'Maximum daily alarm frequency',
alert: 'SMS Alert',
logs: 'Alert Logs',
list: 'Alert List',

View file

@ -2539,29 +2539,6 @@ const message = {
manage: '管理',
},
},
customApp: {
name: 'カスタムアプリリポジトリ',
appStoreType: 'アプリストアパッケージソース',
appStoreUrl: 'リポジトリURL',
local: 'ローカルパス',
remote: 'リモートリンク',
imagePrefix: 'イメージプレフィックス',
imagePrefixHelper:
'機能: イメージプレフィックスをカスタマイズしcomposeファイル内のイメージフィールドを変更します例えばイメージプレフィックスを1panel/customに設定した場合MaxKBのイメージフィールドは1panel/custom/maxkb:v1.10.0に変更されます',
closeHelper: 'カスタムアプリリポジトリの使用をキャンセルしますか',
appStoreUrlHelper: '.tar.gz形式のみサポートされます',
postNode: 'サブノードへ同期',
postNodeHelper: 'サブノードはデフォルトで上記の設定を継承して使用します',
nodes: 'ノードを選択',
},
alert: {
isAlert: 'アラート',
alertCount: 'アラート数',
clamHelper: '感染したファイルをスキャンするときにSMSアラートをトリガーします',
cronJobHelper: 'タスクの実行が失敗したときにSMSアラートをトリガーします',
licenseHelper: 'プロのバージョンはSMSアラートをサポートします',
alertCountHelper: '最大毎日のアラーム周波数',
},
xpack: {
expiresTrialAlert:
'ご注意: あなたのProトライアルは{0}日後に終了しすべてのPro機能が使用できなくなります適時に更新またはフルバージョンにアップグレードしてください',
@ -2843,31 +2820,35 @@ const message = {
excludeUa: 'ユーザーエージェントを除外',
},
tamper: {
tamper: 'サイトの整合性',
tamper: 'ウェブサイトの改ざん防止',
ignoreTemplate: 'ディレクトリテンプレートを除外',
protectTemplate: 'ファイルテンプレートを保護',
templateContent: 'テンプレート内容',
template: 'テンプレート',
tamperHelper1:
'ワンクリック展開型のウェブサイトではアプリケーションディレクトリの改ざん防止機能を有効にすることをお勧めしますウェブサイトが正常に動作しない場合やバックアップ/復元が失敗した場合はまず改ざん防止機能を無効にしてください',
'ワンクリック展開タイプのウェブサイトにアプリケーションディレクトリの改ざん防止機能を有効にすることをお勧めしますウェブサイトが正常に動作しない場合やバックアップ復元に失敗した場合はまず改ざん防止機能を無効にしてください;',
tamperHelper2:
'これにより除外されていないディレクトリ内の保護されたファイルに対して読み取り書き込み削除権限および所有者の変更操作が制限されます',
op: '操作',
create: '作成',
file: 'ファイル',
tamperPath: '保護されたディレクトリ',
tamperPathEdit: 'パスの変更',
'除外されたディレクトリの外にある保護されたファイルの読み取り書き込み削除権限および所有者の変更操作が制限されます',
tamperPath: '保護ディレクトリ',
tamperPathEdit: 'パスを変更',
log: 'インターセプトログ',
totalProtect: '総保護',
todayProtect: '今日の保護',
totalProtect: '総保護',
todayProtect: '今日の保護',
addRule: 'ルールを追加',
ignore: '除外ディレクトリ',
ignoreHelper: '1行ごとに入力してください\ntmp\n./tmp',
ignoreHelper1: '保護から除外するフォルダ名や特定のパスを追加してください',
ignoreHelper2: '特定のフォルダを除外するには./で始まる相対パスを使用してください',
protect: '保護ファイル',
protectHelper: '1行ごとに入力してください\npng\n./test.css',
protectHelper1: '保護するファイル名拡張子または特定のファイルを指定してください',
protectHelper2: '特定のファイルを保護するには./で始まる相対パスを使用してください',
ignore: 'ディレクトリを除外',
ignoreHelper: '1行に1つ: \ntmp\n./tmp',
ignoreTemplateHelper: '無視するフォルダ名を追加しカンマで区切ってください: tmp,cache',
templateRule: '長さ1-512名前には{0}などの記号を含めることはできません',
ignoreHelper1: '無視するフォルダ名または特定のパスを追加してください',
ignoreHelper2: '特定のフォルダを無視するには./で始まる相対パスを使用してください',
protect: 'ファイルを保護',
protectHelper: '1行に1つ: \npng\n./test.css',
protectTemplateHelper: '無視するファイル名または拡張子を追加しカンマで区切ってください: conf,.css',
protectHelper1: 'ファイル名拡張子または特定のファイルを保護することができます',
protectHelper2: '特定のファイルを保護するには./で始まる相対パスを使用してください',
enableHelper:
'ウェブサイト {0} の改ざん防止機能が有効になろうとしていますセキュリティを強化するために続行しますか',
disableHelper: 'ウェブサイト {0} の改ざん防止機能が無効になろうとしています続行しますか',
'次のウェブサイトの改ざん防止機能が有効になりますウェブサイトのセキュリティを向上させるために続行しますか',
disableHelper: '次のウェブサイトの改ざん防止機能が無効になります続行しますか',
},
setting: {
setting: 'パネル設定',
@ -2942,7 +2923,61 @@ const message = {
alertContent3:
'カスタム電話番号日々のプッシュ頻度日々のプッシュ時間設定を提供しユーザーがより合理的なプッシュアラートを設定しやすく',
},
node: {
node: 'ノード',
addr: 'アドレス',
memTotal: '総メモリ',
nodeManagement: 'ノード管理',
addNode: 'ノードを追加',
connInfo: '接続情報',
nodeInfo: 'ノード情報',
panelExist:
'このードに既に1panelサービスが存在しますこのノードを追加すると1panelの元のサービスポートとインストールディレクトリが使用されます続行しますか',
coreExist:
'このードに既に1panel-coreサービスが存在しますこのノードを追加できません確認して再試行してください',
agentExist: 'このードに既に1panel-agentサービスが存在します',
forceAdd: '強制追加',
forceAddHelper: '強制追加はこのードの1panel-agentサービスを強制的に置き換えます',
reinstallHelper: 'ノード{0}を再インストールします続行しますか',
unhealthyCheck: '異常チェック',
fixOperation: '修正操作',
checkName: 'チェック項目',
checkSSHConn: 'SSH接続の可用性を確認',
fixSSHConn: 'ノードを手動で編集し接続情報を確認',
checkConnInfo: 'エージェント接続情報を確認',
checkStatus: 'ノードサービスの可用性を確認',
fixStatus: 'ノードログを調査',
checkAPI: 'ードAPIの可用性を確認',
fixAPI: '情報内のリクエストアドレスが正しいか確認し誤っている場合は主ノード情報を修正',
forceDelete: '強制削除',
operateHelper: '以下のノードに{0}操作を行います続行しますか',
forceDeleteHelper: '強制削除はノード削除エラーを無視しデータベースメタデータを削除します',
baseDir: 'インストールディレクトリ',
baseDirHelper: 'インストールディレクトリが空の場合デフォルトで/optディレクトリにインストールされます',
nodePort: 'ノードポート',
},
customApp: {
name: 'カスタムアプリリポジトリ',
appStoreType: 'アプリストアパッケージソース',
appStoreUrl: 'リポジトリURL',
local: 'ローカルパス',
remote: 'リモートリンク',
imagePrefix: 'イメージプレフィックス',
imagePrefixHelper:
'機能: イメージプレフィックスをカスタマイズしcomposeファイル内のイメージフィールドを変更します例えばイメージプレフィックスを1panel/customに設定した場合MaxKBのイメージフィールドは1panel/custom/maxkb:v1.10.0に変更されます',
closeHelper: 'カスタムアプリリポジトリの使用をキャンセルしますか',
appStoreUrlHelper: '.tar.gz形式のみサポートされます',
postNode: 'サブノードへ同期',
postNodeHelper: 'サブノードはデフォルトで上記の設定を継承して使用します',
nodes: 'ノードを選択',
},
alert: {
isAlert: 'アラート',
alertCount: 'アラート数',
clamHelper: '感染したファイルをスキャンするときにSMSアラートをトリガーします',
cronJobHelper: 'タスクの実行が失敗したときにSMSアラートをトリガーします',
licenseHelper: 'プロのバージョンはSMSアラートをサポートします',
alertCountHelper: '最大毎日のアラーム周波数',
alert: 'SMSアラート',
logs: 'アラートログ',
list: 'アラートリスト',

View file

@ -2497,29 +2497,6 @@ const message = {
manage: '관리',
},
},
customApp: {
name: '사용자 정의 저장소',
appStoreType: ' 스토어 패키지 소스',
appStoreUrl: '저장소 URL',
local: '로컬 경로',
remote: '원격 링크',
imagePrefix: '이미지 접두사',
imagePrefixHelper:
'기능: 이미지 접두사를 사용자 정의하고 compose 파일의 이미지 필드를 수정합니다. 예를 들어 이미지 접두사를 1panel/custom으로 설정하면 MaxKB의 이미지 필드는 1panel/custom/maxkb:v1.10.0으로 변경됩니다',
closeHelper: '사용자 정의 저장소 사용 취소',
appStoreUrlHelper: '.tar.gz 형식만 지원합니다',
postNode: '서브 노드로 동기화',
postNodeHelper: '서브 노드는 기본적으로 설정을 상속하고 사용합니다',
nodes: '노드 선택',
},
alert: {
isAlert: '알림',
alertCount: '알림 횟수',
clamHelper: '감염된 파일을 스캔할 SMS 알림 트리거',
cronJobHelper: '작업 실행 실패 SMS 알림 트리거',
licenseHelper: '전문 버전에서는 SMS 알림을 지원합니다.',
alertCountHelper: '최대 일일 알림 빈도',
},
xpack: {
expiresTrialAlert:
'친절한 알림: 귀하의 Pro 체험판이 {0} 만료되며, 모든 Pro 기능에 이상 접근할 없습니다. 제때 갱신하거나 전체 버전으로 업그레이드하시기 바랍니다.',
@ -2799,31 +2776,35 @@ const message = {
excludeUa: '사용자 에이전트 제외',
},
tamper: {
tamper: '사이트 무결성',
tamper: '웹사이트 변조 방지',
ignoreTemplate: '디렉토리 템플릿 제외',
protectTemplate: '파일 템플릿 보호',
templateContent: '템플릿 내용',
template: '템플릿',
tamperHelper1:
'원클릭 배포 유형의 웹사이트에서는 애플리케이션 디렉터리 방지 조작 기능을 활성화하는 것이 좋습니다. 웹사이트에 문제가 발생하거나 백업/복원이 실패한 경우 먼저 방지 조작 기능을 비활성화하세요.',
'원클릭 배포 유형의 웹사이트애플리케이션 디렉토리 변조 방지 기능을 활성화하는 것이 좋습니다; 웹사이트가 정상적으로 작동하지 않거나 백업 복구에 실패하는 경우, 먼저 변조 방지 기능을 비활성화하십시오;',
tamperHelper2:
'보호된 파일이 포함된 디렉터리에서 제외되지 않은 파일의 읽기, 쓰기, 삭제, 권한 소유자 수정 작업을 제한합니다.',
op: '작업',
create: '생성',
file: '파일',
tamperPath: '보호 디렉터리',
'제외된 디렉토리 외부의 보호된 파일에 대한 읽기, 쓰기, 삭제, 권한 소유자 변경 작업이 제한됩니다',
tamperPath: '보호 디렉토리',
tamperPathEdit: '경로 수정',
log: '차단 로그',
totalProtect: ' 보호 ',
todayProtect: '오늘의 보호 ',
totalProtect: ' 보호',
todayProtect: '오늘의 보호',
addRule: '규칙 추가',
ignore: '제외 디렉터리',
ignoreHelper: ' 줄에 하나씩 입력하세요. : \ntmp\n./tmp',
ignoreHelper1: '보호에서 제외할 폴더 이름이나 특정 경로를 추가하세요.',
ignoreHelper2: './ 시작하는 상대 경로를 사용하여 특정 폴더를 제외하세요.',
protect: '보호된 파일',
protectHelper: ' 줄에 하나씩 입력하세요. : \npng\n./test.css',
protectHelper1: '보호할 파일 이름, 확장자 또는 특정 파일을 지정하세요.',
protectHelper2: './ 시작하는 상대 경로를 사용하여 특정 파일을 보호하세요.',
ignore: '디렉토리 제외',
ignoreHelper: ' 줄에 하나씩, : \ntmp\n./tmp',
ignoreTemplateHelper: '무시할 폴더 이름을 추가하고, 쉼표로 구분하십시오. : tmp,cache',
templateRule: '길이 1-512, 이름에 {0} 같은 기호를 포함할 없습니다',
ignoreHelper1: '무시할 폴더 이름이나 특정 경로를 추가하십시오',
ignoreHelper2: '특정 폴더를 무시하려면 ./ 시작하는 상대 경로를 사용하십시오',
protect: '파일 보호',
protectHelper: ' 줄에 하나씩, : \npng\n./test.css',
protectTemplateHelper: '무시할 파일 이름이나 확장자를 추가하고, 쉼표로 구분하십시오. : conf,.css',
protectHelper1: '파일 이름, 확장자 또는 특정 파일을 보호할 있습니다',
protectHelper2: '특정 파일을 보호하려면 ./ 시작하는 상대 경로를 사용하십시오',
enableHelper:
'웹사이트 {0} 방지 조작 기능을 활성화하여 웹사이트 보안을 강화하려고 합니다. 계속하시겠습니까?',
disableHelper: '웹사이트 {0} 방지 조작 기능을 비활성화하려고 합니다. 계속하시겠습니까?',
'다음 웹사이트의 변조 방지 기능이 활성화됩니다. 웹사이트 보안을 강화하기 위해 계속하시겠습니까?',
disableHelper: '다음 웹사이트의 변조 방지 기능이 비활성화됩니다. 계속하시겠습니까?',
},
setting: {
setting: '패널 설정',
@ -2891,7 +2872,61 @@ const message = {
alertContent3:
'사용자에게 전화번호, 일일 푸시 빈도, 일일 푸시 시간 등을 사용자 정의할 있는 설정을 제공하여 보다 합리적인 푸시 알림을 설정할 있도록 합니다.',
},
node: {
node: '노드',
addr: '주소',
memTotal: ' 메모리',
nodeManagement: '노드 관리',
addNode: '노드 추가',
connInfo: '연결 정보',
nodeInfo: '노드 정보',
panelExist:
' 노드에 이미 1panel 서비스가 존재합니다. 노드를 추가하면 1panel의 원래 서비스 포트와 설치 디렉토리를 사용합니다. 계속하시겠습니까?',
coreExist:
' 노드에 이미 1panel-core 서비스가 존재합니다. 노드를 추가할 없습니다. 확인 다시 시도하십시오!',
agentExist: ' 노드에 이미 1panel-agent 서비스가 존재합니다',
forceAdd: '강제 추가',
forceAddHelper: '강제 추가는 노드의 1panel-agent 서비스를 강제로 교체합니다',
reinstallHelper: '노드 {0} 재설치합니다. 계속하시겠습니까?',
unhealthyCheck: '비정상 체크',
fixOperation: '수정 작업',
checkName: '체크 항목',
checkSSHConn: 'SSH 연결 가능성 확인',
fixSSHConn: '노드를 수동으로 편집하여 연결 정보를 확인합니다',
checkConnInfo: '에이전트 연결 정보 확인',
checkStatus: '노드 서비스 가용성 확인',
fixStatus: '노드 로그 조사',
checkAPI: '노드 API 가용성 확인',
fixAPI: '정보 요청 주소가 올바른지 확인하고, 잘못된 경우 노드 정보를 수정해야 합니다',
forceDelete: '강제 삭제',
operateHelper: '다음 노드에 대해 {0} 작업을 수행합니다. 계속하시겠습니까?',
forceDeleteHelper: '강제 삭제는 노드 삭제 오류를 무시하고 데이터베이스 메타데이터를 삭제합니다',
baseDir: '설치 디렉토리',
baseDirHelper: '설치 디렉토리가 비어 있으면 기본적으로 /opt 디렉토리에 설치됩니다',
nodePort: '노드 포트',
},
customApp: {
name: '사용자 정의 저장소',
appStoreType: ' 스토어 패키지 소스',
appStoreUrl: '저장소 URL',
local: '로컬 경로',
remote: '원격 링크',
imagePrefix: '이미지 접두사',
imagePrefixHelper:
'기능: 이미지 접두사를 사용자 정의하고 compose 파일의 이미지 필드를 수정합니다. 예를 들어 이미지 접두사를 1panel/custom으로 설정하면 MaxKB의 이미지 필드는 1panel/custom/maxkb:v1.10.0으로 변경됩니다',
closeHelper: '사용자 정의 저장소 사용 취소',
appStoreUrlHelper: '.tar.gz 형식만 지원합니다',
postNode: '서브 노드로 동기화',
postNodeHelper: '서브 노드는 기본적으로 설정을 상속하고 사용합니다',
nodes: '노드 선택',
},
alert: {
isAlert: '알림',
alertCount: '알림 횟수',
clamHelper: '감염된 파일을 스캔할 SMS 알림 트리거',
cronJobHelper: '작업 실행 실패 SMS 알림 트리거',
licenseHelper: '전문 버전에서는 SMS 알림을 지원합니다.',
alertCountHelper: '최대 일일 알림 빈도',
alert: 'SMS 알림',
logs: '알림 로그',
list: '알림 목록',

View file

@ -2598,29 +2598,6 @@ const message = {
manage: 'Pengurusan',
},
},
customApp: {
name: 'Repositori Aplikasi Khusus',
appStoreType: 'Sumber Pakej App Store',
appStoreUrl: 'URL Repositori',
local: 'Laluan Tempatan',
remote: 'Pautan Jauh',
imagePrefix: 'Awalan Imej',
imagePrefixHelper:
'Fungsi: Sesuaikan awalan imej dan ubah medan imej dalam fail compose. Contohnya, apabila awalan imej ditetapkan kepada 1panel/custom, medan imej untuk MaxKB akan bertukar kepada 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Batalkan penggunaan repositori aplikasi khusus',
appStoreUrlHelper: 'Hanya format .tar.gz disokong',
postNode: 'Segerakkan ke sub-node',
postNodeHelper: 'Sub-node akan mewarisi dan menggunakan konfigurasi di atas secara lalai',
nodes: 'Pilih Node',
},
alert: {
isAlert: 'Amaran',
alertCount: 'Bilangan Amaran',
clamHelper: 'Hantar amaran SMS apabila terdapat fail yang dijangkiti semasa imbasan',
cronJobHelper: 'Hantar amaran SMS apabila pelaksanaan tugas gagal',
licenseHelper: 'Versi profesional menyokong amaran SMS',
alertCountHelper: 'Kekerapan maksimum amaran harian',
},
xpack: {
expiresTrialAlert:
'Peringatan mesra: Percubaan Pro anda akan tamat dalam {0} hari, dan semua ciri Pro tidak lagi dapat diakses. Sila perbaharui atau naik taraf ke versi penuh tepat pada masanya.',
@ -2909,31 +2886,38 @@ const message = {
excludeUa: 'Kecualikan User-Agent',
},
tamper: {
tamper: 'Integriti Laman Web',
tamper: 'Perlindungan daripada peng篡改 laman web',
ignoreTemplate: 'Pengecualian templat direktori',
protectTemplate: 'Lindungi templat fail',
templateContent: 'Kandungan templat',
template: 'Templat',
tamperHelper1:
'Untuk laman web jenis penyebaran satu klik, disyorkan untuk mengaktifkan ciri anti-pemalsuan direktori aplikasi. Jika laman web mengalami masalah atau pemulihan/gantian gagal, sila matikan ciri anti-pemalsuan terlebih dahulu.',
'Untuk laman web dengan penyebaran satu klik, disyorkan untuk mengaktifkan fungsi perlindungan daripada peng篡改 direktori aplikasi; jika laman web tidak berfungsi dengan baik atau terdapat masalah dengan sandaran dan pemulihan, sila matikan terlebih dahulu fungsi perlindungan daripada peng篡改;',
tamperHelper2:
'Ia akan menghadkan operasi pembacaan, penulisan, penghapusan, dan pengubahsuaian kebenaran serta pemilik bagi fail yang dilindungi di bawah direktori yang tidak dikecualikan.',
op: 'Operasi',
create: 'Cipta',
file: 'Fail',
tamperPath: 'Direktori Terlindung',
tamperPathEdit: 'Ubah Laluan',
log: 'Log Halangan',
totalProtect: 'Jumlah Perlindungan',
todayProtect: 'Perlindungan Hari Ini',
addRule: 'Tambah Peraturan',
ignore: 'Kecualikan Direktori',
ignoreHelper: 'Satu entri setiap baris, contohnya \ntmp\n./tmp',
ignoreHelper1: 'Tambah nama folder atau laluan khusus untuk dikecualikan daripada perlindungan.',
ignoreHelper2: 'Gunakan laluan relatif yang bermula dengan ./ untuk mengecualikan folder tertentu.',
protect: 'Fail Dilindungi',
protectHelper: 'Satu entri setiap baris, contohnya \npng\n./test.css',
protectHelper1: 'Tentukan nama fail, sambungan fail, atau fail tertentu untuk dilindungi.',
protectHelper2: 'Gunakan laluan relatif yang bermula dengan ./ untuk melindungi fail tertentu.',
'Akan ada had pada operasi bacaan, penulisan, penghapusan, pengubahsuaian hak dan pemilik bagi fail yang dilindungi di luar direktori yang dikecualikan',
tamperPath: 'Direktori yang dilindungi',
tamperPathEdit: 'Ubah laluan',
log: 'Log penangkapan',
totalProtect: 'Perlindungan keseluruhan',
todayProtect: 'Perlindungan hari ini',
addRule: 'Tambah peraturan',
ignore: 'Pengecualian direktori',
ignoreHelper: 'Satu baris satu, contohnya: \ntmp\n./tmp',
ignoreTemplateHelper:
'Tambah nama folder yang ingin diabaikan, dipisahkan dengan koma, contohnya: tmp,cache',
templateRule: 'Panjang 1-512, nama tidak boleh mengandungi simbol seperti {0}',
ignoreHelper1: 'Tambah nama folder atau laluan tertentu yang ingin diabaikan',
ignoreHelper2: 'Untuk mengabaikan folder tertentu, gunakan laluan relatif yang bermula dengan ./',
protect: 'Lindungi fail',
protectHelper: 'Satu baris satu, contohnya: \npng\n./test.css',
protectTemplateHelper:
'Tambah nama fail atau sambungan yang ingin diabaikan, dipisahkan dengan koma, contohnya: conf,.css',
protectHelper1: 'Boleh menentukan nama fail, sambungan atau fail tertentu untuk dilindungi',
protectHelper2: 'Untuk melindungi fail tertentu, gunakan laluan relatif yang bermula dengan ./',
enableHelper:
'Ciri anti-pemalsuan laman web {0} akan diaktifkan untuk meningkatkan keselamatan laman web. Adakah anda mahu meneruskan?',
disableHelper: 'Ciri anti-pemalsuan laman web {0} akan dilumpuhkan. Adakah anda mahu meneruskan?',
'Fungsi perlindungan daripada peng篡改 akan diaktifkan untuk laman web berikut untuk meningkatkan keselamatan laman web, adakah anda ingin meneruskan?',
disableHelper:
'Fungsi perlindungan daripada peng篡改 akan dimatikan untuk laman web berikut, adakah anda ingin meneruskan?',
},
setting: {
setting: 'Tetapan Panel',
@ -3007,7 +2991,62 @@ const message = {
alertContent3:
'Memberikan pengguna konfigurasi nombor telefon tersuai, kekerapan push harian, dan masa push harian, memudahkan pengguna untuk menetapkan amaran push yang lebih munasabah.',
},
node: {
node: 'Nod',
addr: 'Alamat',
memTotal: 'Jumlah Memori',
nodeManagement: 'Pengurusan Nod',
addNode: 'Tambah Nod',
connInfo: 'Maklumat Sambungan',
nodeInfo: 'Maklumat Nod',
panelExist:
'Dikesan bahawa terdapat perkhidmatan 1panel yang sudah ada pada nod ini. Menambah nod ini akan menggunakan port dan direktori pemasangan perkhidmatan asal 1panel. Adakah anda ingin meneruskan?',
coreExist:
'Dikesan bahawa terdapat perkhidmatan 1panel-core yang sudah ada pada nod ini. Tidak dapat menambah nod ini, sila semak dan cuba lagi!',
agentExist: 'Dikesan bahawa terdapat perkhidmatan 1panel-agent yang sudah ada pada nod ini',
forceAdd: 'Tambah Secara Paksa',
forceAddHelper: 'Tambah secara paksa akan menggantikan perkhidmatan 1panel-agent pada nod ini',
reinstallHelper: 'Pasang semula nod {0}, adakah anda ingin meneruskan?',
unhealthyCheck: 'Pemeriksaan Tidak Normal',
fixOperation: 'Operasi Pembetulan',
checkName: 'Item Pemeriksaan',
checkSSHConn: 'Periksa Ketersediaan Sambungan SSH',
fixSSHConn: 'Edit nod secara manual untuk mengesahkan maklumat sambungan',
checkConnInfo: 'Periksa Maklumat Sambungan Ejen',
checkStatus: 'Periksa Ketersediaan Perkhidmatan Nod',
fixStatus: 'Siasat Log Nod',
checkAPI: 'Periksa Ketersediaan API Nod',
fixAPI: 'Periksa jika alamat permintaan dalam maklumat adalah betul; jika tidak betul, perlu mengubah maklumat nod utama',
forceDelete: 'Hapus Secara Paksa',
operateHelper: 'Operasi {0} akan dilakukan pada nod berikut, adakah anda ingin meneruskan?',
forceDeleteHelper:
'Hapus secara paksa akan mengabaikan ralat penghapusan nod dan menghapus metadata pangkalan data',
baseDir: 'Direktori Pemasangan',
baseDirHelper: 'Apabila direktori pemasangan kosong, secara lalai akan dipasang di direktori /opt',
nodePort: 'Port Nod',
},
customApp: {
name: 'Repositori Aplikasi Khusus',
appStoreType: 'Sumber Pakej App Store',
appStoreUrl: 'URL Repositori',
local: 'Laluan Tempatan',
remote: 'Pautan Jauh',
imagePrefix: 'Awalan Imej',
imagePrefixHelper:
'Fungsi: Sesuaikan awalan imej dan ubah medan imej dalam fail compose. Contohnya, apabila awalan imej ditetapkan kepada 1panel/custom, medan imej untuk MaxKB akan bertukar kepada 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Batalkan penggunaan repositori aplikasi khusus',
appStoreUrlHelper: 'Hanya format .tar.gz disokong',
postNode: 'Segerakkan ke sub-node',
postNodeHelper: 'Sub-node akan mewarisi dan menggunakan konfigurasi di atas secara lalai',
nodes: 'Pilih Node',
},
alert: {
isAlert: 'Amaran',
alertCount: 'Bilangan Amaran',
clamHelper: 'Hantar amaran SMS apabila terdapat fail yang dijangkiti semasa imbasan',
cronJobHelper: 'Hantar amaran SMS apabila pelaksanaan tugas gagal',
licenseHelper: 'Versi profesional menyokong amaran SMS',
alertCountHelper: 'Kekerapan maksimum amaran harian',
alert: 'Amaran SMS',
logs: 'Log Amaran',
list: 'Senarai Amaran',

View file

@ -2597,29 +2597,6 @@ const message = {
manage: 'Gerenciamento',
},
},
customApp: {
name: 'Repositório de Aplicativos Personalizados',
appStoreType: 'Fonte do Pacote da App Store',
appStoreUrl: 'URL do Repositório',
local: 'Caminho Local',
remote: 'Link Remoto',
imagePrefix: 'Prefixo de Imagem',
imagePrefixHelper:
'Função: Personalize o prefixo da imagem e modifique o campo de imagem no arquivo compose. Por exemplo, quando o prefixo da imagem é configurado como 1panel/custom, o campo de imagem do MaxKB mudará para 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Cancelar o uso do repositório de aplicativos personalizados',
appStoreUrlHelper: 'Apenas formato .tar.gz é suportado',
postNode: 'Sincronizar para subnó',
postNodeHelper: 'Subnós herdarão e usarão a configuração acima por padrão',
nodes: 'Selecionar Nós',
},
alert: {
isAlert: 'Alerta',
alertCount: 'Contagem de Alertas',
clamHelper: 'Dispara alerta via SMS ao detectar arquivos infectados durante a varredura',
cronJobHelper: 'Dispara alerta via SMS ao falhar na execução de tarefas',
licenseHelper: 'A versão profissional suporta alertas via SMS',
alertCountHelper: 'Frequência máxima diária de alertas',
},
xpack: {
expiresTrialAlert:
'Lembrete: Sua versão de avaliação profissional expirará em {0} dias. Após isso, todas as funcionalidades da versão profissional não estarão mais disponíveis. Por favor, renove ou faça upgrade para a versão oficial a tempo.',
@ -2912,31 +2889,39 @@ const message = {
excludeUa: 'Excluir User-Agent',
},
tamper: {
tamper: 'Integridade do Site',
tamper: 'Proteção contra adulteração do site',
ignoreTemplate: 'Excluir modelo de diretório',
protectTemplate: 'Proteger modelo de arquivo',
templateContent: 'Conteúdo do modelo',
template: 'Modelo',
tamperHelper1:
'Para sites de implantação com um clique, é recomendado habilitar o recurso de anti-alteração do diretório de aplicativos. Se o site apresentar mau funcionamento ou falha no backup/restauração, desative primeiro o recurso de anti-alteração.',
'Para sites com implantação de um clique, recomenda-se ativar a função de proteção contra adulteração do diretório de aplicativos; se o site não funcionar corretamente ou houver falhas no backup e na recuperação, desative primeiro a função de proteção contra adulteração;',
tamperHelper2:
'Isso irá restringir as operações de leitura, gravação, exclusão, modificação de permissões e alteração de proprietário de arquivos protegidos em diretórios não excluídos.',
op: 'Operação',
create: 'Criar',
file: 'Arquivo',
tamperPath: 'Diretório Protegido',
tamperPathEdit: 'Modificar Caminho',
log: 'Logs de Interceptação',
totalProtect: 'Proteções Totais',
todayProtect: 'Proteções de Hoje',
addRule: 'Adicionar Regra',
ignore: 'Excluir Diretório',
ignoreHelper: 'Uma entrada por linha, por exemplo: \ntmp\n./tmp',
ignoreHelper1: 'Adicione nomes de pastas ou caminhos específicos para excluir da proteção.',
ignoreHelper2: 'Use caminhos relativos começando com ./ para excluir pastas específicas.',
protect: 'Arquivo Protegido',
protectHelper: 'Uma entrada por linha, por exemplo: \npng\n./test.css',
protectHelper1: 'Especifique nomes de arquivos, extensões ou arquivos específicos para proteger.',
protectHelper2: 'Use caminhos relativos começando com ./ para proteger arquivos específicos.',
'Serão limitadas as operações de leitura, gravação, exclusão, alteração de permissões e proprietário de arquivos protegidos fora dos diretórios excluídos',
tamperPath: 'Diretório protegido',
tamperPathEdit: 'Modificar caminho',
log: 'Registro de interceptação',
totalProtect: 'Proteção total',
todayProtect: 'Proteção de hoje',
addRule: 'Adicionar regra',
ignore: 'Excluir diretório',
ignoreHelper: 'Um por linha, por exemplo: \ntmp\n./tmp',
ignoreTemplateHelper:
'Adicione os nomes das pastas a serem ignoradas, separando por vírgulas, por exemplo: tmp,cache',
templateRule: 'Comprimento de 1-512, o nome não pode conter símbolos como {0}',
ignoreHelper1: 'Adicione os nomes das pastas ou caminhos específicos a serem ignorados',
ignoreHelper2: 'Para ignorar uma pasta específica, use um caminho relativo que comece com ./',
protect: 'Proteger arquivo',
protectHelper: 'Um por linha, por exemplo: \npng\n./test.css',
protectTemplateHelper:
'Adicione os nomes dos arquivos ou extensões a serem ignorados, separando por vírgulas, por exemplo: conf,.css',
protectHelper1:
'É possível especificar o nome do arquivo, a extensão ou um arquivo específico para proteção',
protectHelper2: 'Para proteger um arquivo específico, use um caminho relativo que comece com ./',
enableHelper:
'A função de anti-alteração do site {0} está prestes a ser ativada para aumentar a segurança do site. Deseja continuar?',
disableHelper: 'A função de anti-alteração do site {0} está prestes a ser desativada. Deseja continuar?',
'A função de proteção contra adulteração será ativada para os seguintes sites para aumentar a segurança do site, deseja continuar?',
disableHelper:
'A função de proteção contra adulteração será desativada para os seguintes sites, deseja continuar?',
},
setting: {
setting: 'Configurações do Painel',
@ -3011,7 +2996,62 @@ const message = {
alertContent3:
'Permite que os usuários configurem números de telefone personalizados, frequência de envio diário e horários de envio, facilitando a criação de alertas mais adequados.',
},
node: {
node: '',
addr: 'Endereço',
memTotal: 'Memória Total',
nodeManagement: 'Gerenciamento de ',
addNode: 'Adicionar ',
connInfo: 'Informações de Conexão',
nodeInfo: 'Informações do ',
panelExist:
'Detectado que existe um serviço 1panel neste . Adicionar este usará a porta e o diretório de instalação do serviço original do 1panel. Deseja continuar?',
coreExist:
'Detectado que existe um serviço 1panel-core neste . Não é possível adicionar este , por favor verifique e tente novamente!',
agentExist: 'Detectado que existe um serviço 1panel-agent neste ',
forceAdd: 'Adicionar Forçadamente',
forceAddHelper: 'Adicionar forçadamente substituirá o serviço 1panel-agent neste ',
reinstallHelper: 'Reinstalar o {0}, deseja continuar?',
unhealthyCheck: 'Verificação Anormal',
fixOperation: 'Operação de Correção',
checkName: 'Item de Verificação',
checkSSHConn: 'Verificar Disponibilidade da Conexão SSH',
fixSSHConn: 'Edite o manualmente para confirmar as informações de conexão',
checkConnInfo: 'Verificar Informações de Conexão do Agente',
checkStatus: 'Verificar Disponibilidade do Serviço do ',
fixStatus: 'Investigar Logs do ',
checkAPI: 'Verificar Disponibilidade da API do ',
fixAPI: 'Verifique se o endereço de solicitação nas informações está correto; se estiver incorreto, será necessário modificar as informações do principal',
forceDelete: 'Excluir Forçadamente',
operateHelper: 'A operação {0} será realizada nos seguintes nós, deseja continuar?',
forceDeleteHelper:
'Excluir forçadamente ignorará erros de exclusão do e removerá os metadados do banco de dados',
baseDir: 'Diretório de Instalação',
baseDirHelper: 'Quando o diretório de instalação está vazio, será instalado por padrão no diretório /opt',
nodePort: 'Porta do ',
},
customApp: {
name: 'Repositório de Aplicativos Personalizados',
appStoreType: 'Fonte do Pacote da App Store',
appStoreUrl: 'URL do Repositório',
local: 'Caminho Local',
remote: 'Link Remoto',
imagePrefix: 'Prefixo de Imagem',
imagePrefixHelper:
'Função: Personalize o prefixo da imagem e modifique o campo de imagem no arquivo compose. Por exemplo, quando o prefixo da imagem é configurado como 1panel/custom, o campo de imagem do MaxKB mudará para 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Cancelar o uso do repositório de aplicativos personalizados',
appStoreUrlHelper: 'Apenas formato .tar.gz é suportado',
postNode: 'Sincronizar para subnó',
postNodeHelper: 'Subnós herdarão e usarão a configuração acima por padrão',
nodes: 'Selecionar Nós',
},
alert: {
isAlert: 'Alerta',
alertCount: 'Contagem de Alertas',
clamHelper: 'Dispara alerta via SMS ao detectar arquivos infectados durante a varredura',
cronJobHelper: 'Dispara alerta via SMS ao falhar na execução de tarefas',
licenseHelper: 'A versão profissional suporta alertas via SMS',
alertCountHelper: 'Frequência máxima diária de alertas',
alert: 'Alerta por SMS',
logs: 'Registros de Alerta',
list: 'Lista de Alertas',

View file

@ -2592,29 +2592,6 @@ const message = {
manage: 'Управление',
},
},
customApp: {
name: 'Пользовательское хранилище приложений',
appStoreType: 'Источник пакета App Store',
appStoreUrl: 'URL хранилища',
local: 'Локальный путь',
remote: 'Удаленная ссылка',
imagePrefix: 'Префикс образа',
imagePrefixHelper:
'Функция: Настройка префикса образа и изменение поля образа в файле compose. Например, если префикс образа установлен как 1panel/custom, поле образа для MaxKB изменится на 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Отменить использование пользовательского хранилища приложений',
appStoreUrlHelper: 'Поддерживается только формат .tar.gz',
postNode: 'Синхронизировать с подузлом',
postNodeHelper: 'Подузлы будут наследовать и использовать указанную конфигурацию по умолчанию',
nodes: 'Выбрать узлы',
},
alert: {
isAlert: 'Оповещение',
alertCount: 'Количество оповещений',
clamHelper: 'Отправлять SMS-оповещение при обнаружении зараженных файлов',
cronJobHelper: 'Отправлять SMS-оповещение при сбое выполнения задачи',
licenseHelper: 'Профессиональная версия поддерживает SMS-оповещения',
alertCountHelper: 'Максимальная дневная частота оповещений',
},
xpack: {
expiresTrialAlert:
'Дружеское напоминание: ваша пробная версия Pro истечет через {0} дней, и все функции Pro станут недоступны. Пожалуйста, своевременно продлите или обновите до полной версии.',
@ -2903,31 +2880,37 @@ const message = {
excludeUa: 'Исключить User-Agent',
},
tamper: {
tamper: 'Целостность сайта',
tamper: 'Защита от подделки сайта',
ignoreTemplate: 'Исключить шаблон каталога',
protectTemplate: 'Защитить шаблон файла',
templateContent: 'Содержимое шаблона',
template: 'Шаблон',
tamperHelper1:
'Для веб-сайтов с типом развертывания в один клик рекомендуется включить функцию защиты от модификации для каталогов приложения. Если сайт работает с ошибками или резервное копирование/восстановление не удается, сначала отключите функцию защиты от модификации.',
'Для сайтов с развертыванием в один клик рекомендуется включить функцию защиты от подделки каталога приложений; если сайт не работает должным образом или возникают проблемы с резервным копированием и восстановлением, сначала отключите функцию защиты от подделки;',
tamperHelper2:
'Будут ограничены операции чтения, записи, удаления, изменения прав доступа и владельца для защищённых файлов в каталогах, не включенных в исключения.',
op: 'Операция',
create: 'Создать',
file: 'Файл',
tamperPath: 'Защищённый каталог',
'Будут ограничены операции чтения, записи, удаления, изменения прав и владельца защищенных файлов вне исключенных каталогов',
tamperPath: 'Защищаемый каталог',
tamperPathEdit: 'Изменить путь',
log: 'Логи перехвата',
totalProtect: 'Всего защит',
todayProtect: 'Сегодняшние защиты',
log: 'Журнал перехвата',
totalProtect: 'Общая защита',
todayProtect: 'Защита сегодня',
addRule: 'Добавить правило',
ignore: 'Исключить каталог',
ignoreHelper: 'Одна запись на строку, например: \ntmp\n./tmp',
ignoreHelper1: 'Добавьте имена папок или конкретные пути для исключения из защиты.',
ignoreHelper2: 'Используйте относительные пути, начинающиеся с ./, чтобы исключить конкретные папки.',
protect: 'Защищённый файл',
protectHelper: 'Одна запись на строку, например: \npng\n./test.css',
protectHelper1: 'Укажите имена файлов, расширения или конкретные файлы для защиты.',
protectHelper2: 'Используйте относительные пути, начинающиеся с ./, чтобы защитить конкретные файлы.',
ignoreHelper: 'По одному на строку, например: \ntmp\n./tmp',
ignoreTemplateHelper:
'Добавьте имена папок, которые нужно игнорировать, разделяя их запятыми, например: tmp,cache',
templateRule: 'Длина 1-512, имя не должно содержать символы, такие как {0}',
ignoreHelper1: 'Добавьте имена папок или конкретные пути, которые нужно игнорировать',
ignoreHelper2: 'Чтобы игнорировать конкретную папку, используйте относительный путь, начинающийся с ./',
protect: 'Защитить файл',
protectHelper: 'По одному на строку, например: \npng\n./test.css',
protectTemplateHelper:
'Добавьте имена файлов или расширения, которые нужно игнорировать, разделяя их запятыми, например: conf,.css',
protectHelper1: 'Можно указать имя файла, расширение или конкретный файл для защиты',
protectHelper2: 'Чтобы защитить конкретный файл, используйте относительный путь, начинающийся с ./',
enableHelper:
'Функция защиты от модификации для сайта {0} будет включена для повышения безопасности сайта. Вы хотите продолжить?',
disableHelper: 'Функция защиты от модификации для сайта {0} будет отключена. Вы хотите продолжить?',
'Скоро будет включена функция защиты от подделки для следующих сайтов для повышения безопасности сайта, продолжить?',
disableHelper: 'Скоро будет отключена функция защиты от подделки для следующих сайтов, продолжить?',
},
setting: {
setting: 'Настройки Панели',
@ -3002,7 +2985,62 @@ const message = {
alertContent3:
'Предоставляет пользователям возможность настройки номеров телефонов, частоты и времени отправки уведомлений в день, что позволяет настраивать более удобные уведомления.',
},
node: {
node: 'Узел',
addr: 'Адрес',
memTotal: 'Общая память',
nodeManagement: 'Управление узлом',
addNode: 'Добавить узел',
connInfo: 'Информация о подключении',
nodeInfo: 'Информация об узле',
panelExist:
'Обнаружено, что на этом узле уже существует служба 1panel. Добавление этого узла будет использовать оригинальный порт и каталог установки службы 1panel. Вы хотите продолжить?',
coreExist:
'Обнаружено, что на этом узле уже существует служба 1panel-core. Невозможно добавить этот узел, пожалуйста, проверьте и попробуйте снова!',
agentExist: 'Обнаружено, что на этом узле уже существует служба 1panel-agent',
forceAdd: 'Принудительное добавление',
forceAddHelper: 'Принудительное добавление заменит службу 1panel-agent на этом узле',
reinstallHelper: 'Переустановить узел {0}, вы хотите продолжить?',
unhealthyCheck: 'Проверка на неисправности',
fixOperation: 'Решение проблемы',
checkName: 'Элемент проверки',
checkSSHConn: 'Проверка доступности SSH-соединения',
fixSSHConn: 'Вручную отредактируйте узел, чтобы подтвердить информацию о подключении',
checkConnInfo: 'Проверка информации о подключении агента',
checkStatus: 'Проверка доступности службы узла',
fixStatus: 'Проверка журналов узла',
checkAPI: 'Проверка доступности API узла',
fixAPI: 'Проверьте, правильный ли адрес запроса в информации; если он неправильный, необходимо изменить информацию о главном узле',
forceDelete: 'Принудительное удаление',
operateHelper: 'Будет выполнена операция {0} для следующих узлов, вы хотите продолжить?',
forceDeleteHelper:
'Принудительное удаление проигнорирует ошибки удаления узла и удалит метаданные базы данных',
baseDir: 'Каталог установки',
baseDirHelper: 'Если каталог установки пуст, по умолчанию он будет установлен в каталоге /opt',
nodePort: 'Порт узла',
},
customApp: {
name: 'Пользовательское хранилище приложений',
appStoreType: 'Источник пакета App Store',
appStoreUrl: 'URL хранилища',
local: 'Локальный путь',
remote: 'Удаленная ссылка',
imagePrefix: 'Префикс образа',
imagePrefixHelper:
'Функция: Настройка префикса образа и изменение поля образа в файле compose. Например, если префикс образа установлен как 1panel/custom, поле образа для MaxKB изменится на 1panel/custom/maxkb:v1.10.0',
closeHelper: 'Отменить использование пользовательского хранилища приложений',
appStoreUrlHelper: 'Поддерживается только формат .tar.gz',
postNode: 'Синхронизировать с подузлом',
postNodeHelper: 'Подузлы будут наследовать и использовать указанную конфигурацию по умолчанию',
nodes: 'Выбрать узлы',
},
alert: {
isAlert: 'Оповещение',
alertCount: 'Количество оповещений',
clamHelper: 'Отправлять SMS-оповещение при обнаружении зараженных файлов',
cronJobHelper: 'Отправлять SMS-оповещение при сбое выполнения задачи',
licenseHelper: 'Профессиональная версия поддерживает SMS-оповещения',
alertCountHelper: 'Максимальная дневная частота оповещений',
alert: 'SMS Уведомление',
logs: 'Журнал Уведомлений',
list: 'Список Уведомлений',

View file

@ -1208,29 +1208,6 @@ const message = {
taskName: '任務名稱',
taskRunning: '運行中',
},
customApp: {
name: '自訂應用倉庫',
appStoreType: '應用商店包來源',
appStoreUrl: '倉庫地址',
local: '本機路徑',
remote: '遠端連結',
imagePrefix: '映像前綴',
imagePrefixHelper:
'作用自訂映像前綴修改 compose 檔案中的映像欄位例如當映像前綴設定為 1panel/custom MaxKB 的映像欄位將變更為 1panel/custom/maxkb:v1.10.0',
closeHelper: '是否取消使用自訂應用倉庫',
appStoreUrlHelper: '僅支援 .tar.gz 格式',
postNode: '同步至子節點',
postNodeHelper: '子節點預設繼承並使用上述配置',
nodes: '節點',
},
alert: {
isAlert: '是否告警',
alertCount: '告警次數',
clamHelper: '掃描到感染檔案時觸發簡訊告警',
cronJobHelper: '定時任務執行失敗時將觸發簡訊告警',
licenseHelper: '專業版支持簡訊告警功能',
alertCountHelper: '每日最大告警次數',
},
file: {
dir: '文件夾',
upload: '上傳',
@ -2811,28 +2788,32 @@ const message = {
},
tamper: {
tamper: '網站防篡改',
ignoreTemplate: '排除目錄模板',
protectTemplate: '保護文件模板',
templateContent: '模板內容',
template: '模板',
tamperHelper1:
'一鍵部署類型的網站建議啟用應用目錄防篡改功能如出現網站無法正常使用或備份復原失敗的情況請先關閉防篡改功能',
'一鍵部署類型的網站建議啟用應用目錄防篡改功能如出現網站無法正常使用或備份復失敗的情況請先關閉防篡改功能',
tamperHelper2: '將限制非排除目錄下受保護文件的讀寫刪除權限和所有者修改操作',
op: '操作',
create: '建立',
file: '文件',
tamperPath: '防護目錄',
tamperPathEdit: '修改路徑',
log: '攔截日誌',
totalProtect: '總防護',
todayProtect: '今日防護',
addRule: '新增規則',
addRule: '添加規則',
ignore: '排除目錄',
ignoreHelper: '一行一個 \ntmp\n./tmp',
ignoreHelper1: '新增要忽略的資料夾名或特定路徑',
ignoreHelper2: '要忽略特定資料夾請使用以 ./ 開頭的相對路徑',
ignoreTemplateHelper: '添加要忽略的文件夾名 , 分隔tmp,cache',
templateRule: '長度1-512名稱不能含有{0}等符號',
ignoreHelper1: '添加要忽略的文件夾名或特定路徑',
ignoreHelper2: '要忽略特定文件夾請使用以 ./ 開頭的相對路徑',
protect: '保護文件',
protectHelper: '一行一個 \npng\n./test.css',
protectTemplateHelper: '添加要忽略的文件名或後綴名 , 分隔conf,.css',
protectHelper1: '可指定文件名後綴名或特定文件進行保護',
protectHelper2: '要保護特定文件請使用以 ./ 開頭的相對路徑',
enableHelper: '即將啟用 {0} 網站的防篡改功能以提升網站安全性是否繼續',
disableHelper: '即將關閉 {0} 網站的防篡改功能是否繼續',
enableHelper: '即將啟用下列網站的防篡改功能以提升網站安全性是否繼續',
disableHelper: '即將關閉下列網站的防篡改功能是否繼續',
},
setting: {
setting: '界面設定',
@ -2896,7 +2877,60 @@ const message = {
alertContent3:
'為用戶提供自訂手機號每日推送次數每日推送時間的配寘方便用戶的設定來更加合理的進行推送告警',
},
node: {
node: '節點',
addr: '地址',
memTotal: '記憶體總計',
nodeManagement: '節點管理',
addNode: '新增節點',
connInfo: '連接資訊',
nodeInfo: '節點資訊',
panelExist:
'已檢測到該節點上已存在 1panel 服務新增該節點將沿用 1panel 原服務的埠號及安裝目錄是否繼續',
coreExist: '已檢測到該節點上已存在 1panel-core 服務無法新增該節點請檢查後再試',
agentExist: '已檢測到該節點上已存在 1panel-agent 服務',
forceAdd: '強制新增',
forceAddHelper: '強制新增將強制替換該節點上的 1panel-agent 服務',
reinstallHelper: '重新安裝節點 {0}是否繼續',
unhealthyCheck: '異常檢查',
fixOperation: '修復方案',
checkName: '檢查項目',
checkSSHConn: '檢查 SSH 連接可用性',
fixSSHConn: '手動編輯節點確認連接資訊',
checkConnInfo: '檢查 Agent 連接資訊',
checkStatus: '檢查節點服務可用性',
fixStatus: '排查節點日誌',
checkAPI: '檢查節點 API 可用性',
fixAPI: '檢查資訊中請求地址是否正確如不正確則需要修改主節點資訊',
forceDelete: '強制刪除',
operateHelper: '將對以下節點執行 {0} 操作是否繼續',
forceDeleteHelper: '強制刪除將忽略節點刪除錯誤並刪除資料庫元資料',
baseDir: '安裝目錄',
baseDirHelper: '安裝目錄為空時預設安裝於 /opt 目錄下',
nodePort: '節點端口',
},
customApp: {
name: '自訂應用倉庫',
appStoreType: '應用商店包來源',
appStoreUrl: '倉庫地址',
local: '本機路徑',
remote: '遠端連結',
imagePrefix: '映像前綴',
imagePrefixHelper:
'作用自訂映像前綴修改 compose 檔案中的映像欄位例如當映像前綴設定為 1panel/custom MaxKB 的映像欄位將變更為 1panel/custom/maxkb:v1.10.0',
closeHelper: '是否取消使用自訂應用倉庫',
appStoreUrlHelper: '僅支援 .tar.gz 格式',
postNode: '同步至子節點',
postNodeHelper: '子節點預設繼承並使用上述配置',
nodes: '節點',
},
alert: {
isAlert: '是否告警',
alertCount: '告警次數',
clamHelper: '掃描到感染檔案時觸發簡訊告警',
cronJobHelper: '定時任務執行失敗時將觸發簡訊告警',
licenseHelper: '專業版支持簡訊告警功能',
alertCountHelper: '每日最大告警次數',
alert: '簡訊告警',
logs: '告警日誌',
list: '告警清單',

View file

@ -2505,14 +2505,6 @@ const message = {
manage: '管理',
},
},
alert: {
isAlert: '是否告警',
alertCount: '告警次数',
clamHelper: '扫描到感染文件时触发短信告警',
cronJobHelper: '定时任务执行失败时将触发短信告警',
licenseHelper: '专业版支持短信告警功能',
alertCountHelper: '每日最大告警次数',
},
xpack: {
expiresAlert: '温馨提醒专业版试用将于 [{0}] 天后到期届时将停止使用所有专业版功能',
name: '专业版',
@ -2915,6 +2907,15 @@ const message = {
monitorTitle4: '实时监控',
monitorContent4: '实时监控网站的请求信息包括请求数流量等',
alertTitle1: '短信告警',
alertContent1:
'当服务器资源使用异常网站及证书过期新版本更新密码过期等情况发生时通过短信告警通知用户确保及时处理',
alertTitle2: '告警日志',
alertContent2: '为用户提供查看告警日志的功能方便追踪和分析历史告警事件',
alertTitle3: '告警设置',
alertContent3:
'为用户提供自定义手机号每日推送次数每日推送时间的配置方便用户的设置来更加合理的进行推送告警',
nodeTitle1: '多节点管理',
nodeContent1: '管理不同的节点',
nodeTitle2: '批量升级',
@ -2922,7 +2923,6 @@ const message = {
},
node: {
node: '节点',
masterInfo: '主节点信息',
addr: '地址',
memTotal: '内存总计',
nodeManagement: '节点管理',
@ -2969,6 +2969,12 @@ const message = {
nodes: '节点',
},
alert: {
isAlert: '是否告警',
alertCount: '告警次数',
clamHelper: '扫描到感染文件时触发短信告警',
cronJobHelper: '定时任务执行失败时将触发短信告警',
licenseHelper: '专业版支持短信告警功能',
alertCountHelper: '每日最大告警次数',
alert: '短信告警',
logs: '告警日志',
list: '告警列表',

View file

@ -51,6 +51,7 @@
.el-sub-menu__title {
background-color: var(--el-menu-item-bg-color);
box-shadow: 0 0 4px rgba(0, 94, 235, 0.1);
margin: 6px 0;
height: 46px;
border-radius: 4px;
&:hover {

View file

@ -461,13 +461,13 @@
<div v-if="!globalStore.isIntl">
<el-form-item prop="hasAlert" v-if="alertTypes.includes(dialogData.rowData!.type)">
<el-checkbox v-model="dialogData.rowData!.hasAlert" :label="$t('alert.isAlert')" />
<span class="input-help">{{ $t('alert.cronJobHelper') }}</span>
<el-checkbox v-model="dialogData.rowData!.hasAlert" :label="$t('xpack.alert.isAlert')" />
<span class="input-help">{{ $t('xpack.alert.cronJobHelper') }}</span>
</el-form-item>
<el-form-item
prop="alertCount"
v-if="dialogData.rowData!.hasAlert && isProductPro"
:label="$t('alert.alertCount')"
:label="$t('xpack.alert.alertCount')"
>
<el-input-number
style="width: 200px"
@ -476,10 +476,10 @@
:step="1"
v-model.number="dialogData.rowData!.alertCount"
></el-input-number>
<span class="input-help">{{ $t('alert.alertCountHelper') }}</span>
<span class="input-help">{{ $t('xpack.alert.alertCountHelper') }}</span>
</el-form-item>
<el-form-item v-if="dialogData.rowData!.hasAlert && !isProductPro">
<span>{{ $t('alert.licenseHelper') }}</span>
<span>{{ $t('xpack.alert.licenseHelper') }}</span>
<el-button link type="primary" @click="toUpload">
{{ $t('license.levelUpPro') }}
</el-button>

View file

@ -127,8 +127,8 @@
</div>
<div v-if="!globalStore.isIntl">
<el-form-item prop="hasAlert">
<el-checkbox v-model="dialogData.rowData!.hasAlert" :label="$t('alert.isAlert')" />
<span class="input-help">{{ $t('alert.clamHelper') }}</span>
<el-checkbox v-model="dialogData.rowData!.hasAlert" :label="$t('xpack.alert.isAlert')" />
<span class="input-help">{{ $t('xpack.alert.clamHelper') }}</span>
</el-form-item>
<el-form-item
v-if="(dialogData.rowData!.hasAlert || dialogData.rowData!.hasSpec) && !isProductPro"
@ -141,7 +141,7 @@
<el-form-item
prop="alertCount"
v-if="dialogData.rowData!.hasAlert && isProductPro"
:label="$t('alert.alertCount')"
:label="$t('xpack.alert.alertCount')"
>
<el-input-number
style="width: 200px"
@ -150,7 +150,7 @@
:step="1"
v-model.number="dialogData.rowData!.alertCount"
></el-input-number>
<span class="input-help">{{ $t('alert.alertCountHelper') }}</span>
<span class="input-help">{{ $t('xpack.alert.alertCountHelper') }}</span>
</el-form-item>
</div>
<el-form-item :label="$t('commons.table.description')" prop="description">