chore: update worker locale

This commit is contained in:
jialin
2025-10-17 21:11:31 +08:00
parent 49c6bb71a1
commit 19e275a17a
23 changed files with 82 additions and 65 deletions
+2 -2
View File
@@ -48,9 +48,9 @@ export default {
'models.form.scheduletype.manual': 'Specify GPU', 'models.form.scheduletype.manual': 'Specify GPU',
'models.form.scheduletype.gpuType': 'Specify GPU Type', 'models.form.scheduletype.gpuType': 'Specify GPU Type',
'models.form.scheduletype.auto.tips': 'models.form.scheduletype.auto.tips':
'Automatically deploys model instances to appropriate GPUs/Workers based on current resource conditions.', 'Automatically deploys model instances to appropriate GPUs based on current resource conditions.',
'models.form.scheduletype.manual.tips': 'models.form.scheduletype.manual.tips':
'Allows you to manually specify the GPUs/Workers to deploy the model instances to.', 'Allows you to manually specify the GPUs to deploy the model instances to.',
'models.form.manual.schedule': 'Manual Schedule', 'models.form.manual.schedule': 'Manual Schedule',
'models.table.gpuindex': 'GPU Index', 'models.table.gpuindex': 'GPU Index',
'models.table.backend': 'Backends', 'models.table.backend': 'Backends',
+2 -1
View File
@@ -1,6 +1,7 @@
export default { export default {
'resources.title': 'Resources', 'resources.title': 'Resources',
'resources.nodes': 'Nodes', 'resources.nodes': 'Workers',
'resources.worker': 'Worker',
'resources.button.create': 'Add Worker', 'resources.button.create': 'Add Worker',
'resources.button.edit': 'Edit Worker', 'resources.button.edit': 'Edit Worker',
'resources.button.edittags': 'Edit Labels', 'resources.button.edittags': 'Edit Labels',
+2 -2
View File
@@ -50,9 +50,9 @@ export default {
'models.form.scheduletype.manual': 'GPUを指定', 'models.form.scheduletype.manual': 'GPUを指定',
'models.form.scheduletype.gpuType': 'GPUタイプを指定', 'models.form.scheduletype.gpuType': 'GPUタイプを指定',
'models.form.scheduletype.auto.tips': 'models.form.scheduletype.auto.tips':
'現在のリソース状況に基づいて、モデルインスタンスを適切なGPU/ワーカーに自動的にデプロイします。', '現在のリソース状況に基づいて、モデルインスタンスを適切なGPUに自動的にデプロイします。',
'models.form.scheduletype.manual.tips': 'models.form.scheduletype.manual.tips':
'モデルインスタンスをデプロイするGPU/ワーカーを手動で指定できます。', 'モデルインスタンスをデプロイするGPUを手動で指定できます。',
'models.form.manual.schedule': '手動スケジュール', 'models.form.manual.schedule': '手動スケジュール',
'models.table.gpuindex': 'GPUインデックス', 'models.table.gpuindex': 'GPUインデックス',
'models.table.backend': 'バックエンド', 'models.table.backend': 'バックエンド',
+4 -2
View File
@@ -94,7 +94,8 @@ export default {
'resource.register.maos.support': 'Apple Silicon (M series), macOS 14+', 'resource.register.maos.support': 'Apple Silicon (M series), macOS 14+',
'resource.register.windows.support': 'win 10, win 11', 'resource.register.windows.support': 'win 10, win 11',
'resources.model.instance': 'Model Instance', 'resources.model.instance': 'Model Instance',
'resources.worker.download.privatekey': 'Download Private Key' 'resources.worker.download.privatekey': 'Download Private Key',
'resources.worker': 'Worker'
}; };
// ========== To-Do: Translate Keys (Remove After Translation) ========== // ========== To-Do: Translate Keys (Remove After Translation) ==========
@@ -111,5 +112,6 @@ export default {
// 11. 'resource.register.windows.support': 'win 10, win 11', // 11. 'resource.register.windows.support': 'win 10, win 11',
// 12. 'resources.filter.status': 'Filter by Status', // 12. 'resources.filter.status': 'Filter by Status',
// 13. 'resources.model.instance': 'Model Instance', // 13. 'resources.model.instance': 'Model Instance',
// 14. 'resources.worker.download.privatekey': 'Download Private Key' // 14. 'resources.worker.download.privatekey': 'Download Private Key',
// 15. 'resources.worker': 'Worker',
// ========== End of To-Do List ========== // ========== End of To-Do List ==========
+2 -2
View File
@@ -48,9 +48,9 @@ export default {
'models.form.scheduletype.manual': 'Указать GPU', 'models.form.scheduletype.manual': 'Указать GPU',
'models.form.scheduletype.gpuType': 'Указать тип GPU', 'models.form.scheduletype.gpuType': 'Указать тип GPU',
'models.form.scheduletype.auto.tips': 'models.form.scheduletype.auto.tips':
'Автоматическое развертывание инстансов модели на подходящие GPU/воркеры в зависимости от текущих ресурсов.', 'Автоматическое развертывание инстансов модели на подходящие GPU в зависимости от текущих ресурсов.',
'models.form.scheduletype.manual.tips': 'models.form.scheduletype.manual.tips':
'Позволяет вручную указать GPU/воркеры для развертывания инстансов модели.', 'Позволяет вручную указать GPU для развертывания инстансов модели.',
'models.form.manual.schedule': 'Ручное распределение', 'models.form.manual.schedule': 'Ручное распределение',
'models.table.gpuindex': 'Индекс GPU', 'models.table.gpuindex': 'Индекс GPU',
'models.table.backend': 'Бэкенды', 'models.table.backend': 'Бэкенды',
+3 -2
View File
@@ -92,9 +92,10 @@ export default {
'resource.register.maos.support': 'Apple Silicon (серия M), macOS 14+', 'resource.register.maos.support': 'Apple Silicon (серия M), macOS 14+',
'resource.register.windows.support': 'Windows 10, Windows 11', 'resource.register.windows.support': 'Windows 10, Windows 11',
'resources.model.instance': 'Модель экземпляра', 'resources.model.instance': 'Модель экземпляра',
'resources.worker.download.privatekey': 'Скачать приватный ключ' 'resources.worker.download.privatekey': 'Скачать приватный ключ',
'resources.worker': 'Worker'
}; };
// ========== To-Do: Translate Keys (Remove After Translation) ========== // ========== To-Do: Translate Keys (Remove After Translation) ==========
// 1. 'resources.worker': 'Worker',
// ========== End of To-Do List ========== // ========== End of To-Do List ==========
+4 -4
View File
@@ -10,7 +10,7 @@ export default {
'clusters.edit.cluster': '编辑 {cluster}', 'clusters.edit.cluster': '编辑 {cluster}',
'clusters.provider.custom': '自定义', 'clusters.provider.custom': '自定义',
'clusters.button.register': '注册集群', 'clusters.button.register': '注册集群',
'clusters.button.addNodePool': '添加 Worker Pool', 'clusters.button.addNodePool': '添加节点池',
'clusters.button.add.credential': '添加 {provider} 凭证', 'clusters.button.add.credential': '添加 {provider} 凭证',
'clusters.credential.title': '凭证', 'clusters.credential.title': '凭证',
'clusters.credential.token': '访问令牌', 'clusters.credential.token': '访问令牌',
@@ -23,7 +23,7 @@ export default {
'clusters.workerpool.volumes': '存储卷', 'clusters.workerpool.volumes': '存储卷',
'clusters.workerpool.format': '文件系统格式', 'clusters.workerpool.format': '文件系统格式',
'clusters.workerpool.size': '容量(GiB', 'clusters.workerpool.size': '容量(GiB',
'clusters.workerpool.title': 'Worker Pools', 'clusters.workerpool.title': '节点池',
'clusters.workerpool.cloudOptions': '添加云配置', 'clusters.workerpool.cloudOptions': '添加云配置',
'clusters.workerpool.volumes.add': '添加存储卷', 'clusters.workerpool.volumes.add': '添加存储卷',
'clusters.create.provider.self': '自建环境', 'clusters.create.provider.self': '自建环境',
@@ -36,11 +36,11 @@ export default {
'clusters.create.noImages': '无可用的镜像', 'clusters.create.noImages': '无可用的镜像',
'clusters.create.noInstanceTypes': '无可用的实例类型', 'clusters.create.noInstanceTypes': '无可用的实例类型',
'clusters.create.noRegions': '无可用的区域', 'clusters.create.noRegions': '无可用的区域',
'clusters.workerpool.batchSize.desc': 'Worker 池中同时创建的 worker 数量', 'clusters.workerpool.batchSize.desc': '节点池中同时创建的节点数量',
'clusters.create.addworker.tips': 'clusters.create.addworker.tips':
'在执行以下命令之前,请确保已满足 <a href={link} target="_blank">{label}</a> 的先决条件。', '在执行以下命令之前,请确保已满足 <a href={link} target="_blank">{label}</a> 的先决条件。',
'clusters.create.addCommand.tips': 'clusters.create.addCommand.tips':
' 在需要添加的 Worker 上运行以下命令,将其加入到集群中', ' 在需要添加的节点上运行以下命令,将其加入到集群中',
'clusters.create.register.tips': 'clusters.create.register.tips':
' 在需要添加的 Kubernetes 集群上运行以下命令,将其中的节点加入到集群中', ' 在需要添加的 Kubernetes 集群上运行以下命令,将其中的节点加入到集群中',
'cluster.create.checkEnv.tips': '使用以下命令检查环境是否准备妥当', 'cluster.create.checkEnv.tips': '使用以下命令检查环境是否准备妥当',
+1 -1
View File
@@ -1,6 +1,6 @@
export default { export default {
'dashboard.title': '概览', 'dashboard.title': '概览',
'dashboard.workers': 'Workers', 'dashboard.workers': '节点',
'dashboard.models': '模型', 'dashboard.models': '模型',
'dashboard.totalgpus': 'GPUs', 'dashboard.totalgpus': 'GPUs',
'dashboard.allocategpus': '已分配 GPU 数量', 'dashboard.allocategpus': '已分配 GPU 数量',
+1 -1
View File
@@ -21,7 +21,7 @@ export default {
'menu.login': '登录', 'menu.login': '登录',
'menu.usage': '使用量', 'menu.usage': '使用量',
'menu.404': '404', 'menu.404': '404',
'menu.resources.workers': 'Workers', 'menu.resources.workers': '节点',
'menu.resources.gpus': 'GPUs', 'menu.resources.gpus': 'GPUs',
'menu.resources.modelfiles': '模型文件', 'menu.resources.modelfiles': '模型文件',
'menu.accessControl': '访问控制', 'menu.accessControl': '访问控制',
+5 -6
View File
@@ -16,7 +16,7 @@ export default {
'models.form.partialoffload.tips': 'models.form.partialoffload.tips':
'启用 CPU 卸载时,如果 GPU 资源不足,则模型的一部分层将被卸载到 CPU 上,在没有 GPU 可用时,会使用纯 CPU 推理。', '启用 CPU 卸载时,如果 GPU 资源不足,则模型的一部分层将被卸载到 CPU 上,在没有 GPU 可用时,会使用纯 CPU 推理。',
'models.form.distribution.tips': 'models.form.distribution.tips':
'允许在单个 Worker 资源不足时,将部分计算卸载到一个或多个远程 Worker。', '允许在单个节点资源不足时,将部分计算卸载到一个或多个远程节点',
'models.openinplayground': '在 Playground 中打开', 'models.openinplayground': '在 Playground 中打开',
'models.instances': '实例', 'models.instances': '实例',
'models.table.replicas.edit': '调整副本数', 'models.table.replicas.edit': '调整副本数',
@@ -49,13 +49,12 @@ export default {
'models.form.scheduletype.manual': '指定 GPU', 'models.form.scheduletype.manual': '指定 GPU',
'models.form.scheduletype.gpuType': '指定 GPU 类型', 'models.form.scheduletype.gpuType': '指定 GPU 类型',
'models.form.scheduletype.auto.tips': 'models.form.scheduletype.auto.tips':
'自动根据当前资源情况部署模型实例到合适的 GPU/Worker。', '自动根据当前资源情况部署模型实例到合适的 GPU。',
'models.form.scheduletype.manual.tips': 'models.form.scheduletype.manual.tips': '手动调度可指定模型实例部署的 GPU。',
'手动调度可指定模型实例部署的 GPU/Worker。',
'models.form.manual.schedule': '手动调度', 'models.form.manual.schedule': '手动调度',
'models.table.gpuindex': 'GPU 序号', 'models.table.gpuindex': 'GPU 序号',
'models.table.backend': '后端', 'models.table.backend': '后端',
'models.table.acrossworker': '跨 Worker 推理', 'models.table.acrossworker': '跨节点推理',
'models.table.cpuoffload': 'CPU 卸载', 'models.table.cpuoffload': 'CPU 卸载',
'models.table.layers': '层', 'models.table.layers': '层',
'models.form.backend': '后端', 'models.form.backend': '后端',
@@ -90,7 +89,7 @@ export default {
'models.form.backend.mindie': 'models.form.backend.mindie':
'用于非 GGUF 格式模型,仅支持昇腾 910B 和 310P。', '用于非 GGUF 格式模型,仅支持昇腾 910B 和 310P。',
'models.form.search.gguftips': 'models.form.search.gguftips':
'当 macOS 或 Windows 作 Worker 时勾选 GGUF(搜索语音模型时取消勾选)', '当 macOS 或 Windows 作节点时勾选 GGUF(搜索语音模型时取消勾选)',
'models.form.button.addlabel': '添加标签', 'models.form.button.addlabel': '添加标签',
'models.filter.category': '按类别筛选', 'models.filter.category': '按类别筛选',
'models.list.more.logs': '查看更多', 'models.list.more.logs': '查看更多',
+5 -5
View File
@@ -7,12 +7,12 @@ export default {
'noresult.deployments.subTitle': 'noresult.deployments.subTitle':
'您还没有部署任何模型,点击下方按钮即可开始。', '您还没有部署任何模型,点击下方按钮即可开始。',
'noresult.gpus.title': '当前未检测到 GPU 设备', 'noresult.gpus.title': '当前未检测到 GPU 设备',
'noresult.gpus.subTitle': '请确认 Worker 状态是否正常。', 'noresult.gpus.subTitle': '请确认节点状态是否正常。',
'noresult.gpus.nofound': '未找到匹配的 GPU 设备', 'noresult.gpus.nofound': '未找到匹配的 GPU 设备',
'noresult.workers.title': '暂无 Worker', 'noresult.workers.title': '暂无节点',
'noresult.workers.subTitle': '当前集群中没有任何 Worker。', 'noresult.workers.subTitle': '当前集群中没有任何节点',
'noresult.workers.nofound': '未找到匹配的 Worker', 'noresult.workers.nofound': '未找到匹配的节点',
'noresult.workers.button.add': '前往添加 Worker', 'noresult.workers.button.add': '前往添加节点',
'noresult.modelfiles.title': '暂无模型文件', 'noresult.modelfiles.title': '暂无模型文件',
'noresult.modelfiles.subTitle': '尚未添加任何模型文件。', 'noresult.modelfiles.subTitle': '尚未添加任何模型文件。',
'noresult.modelfiles.nofound': '未找到匹配的模型文件', 'noresult.modelfiles.nofound': '未找到匹配的模型文件',
+14 -13
View File
@@ -1,10 +1,11 @@
export default { export default {
'resources.title': '资源', 'resources.title': '资源',
'resources.button.create': '添加 Worker', 'resources.button.create': '添加节点',
'resources.button.edit': '编辑 Worker', 'resources.button.edit': '编辑节点',
'resources.button.edittags': '编辑标签', 'resources.button.edittags': '编辑标签',
'resources.button.update': '更新标签', 'resources.button.update': '更新标签',
'resources.nodes': '节点', 'resources.nodes': '节点',
'resources.worker': '节点',
'resources.table.hostname': '主机名', 'resources.table.hostname': '主机名',
'resources.table.key.tips': '存在相同的 key.', 'resources.table.key.tips': '存在相同的 key.',
'resources.form.label': '标签', 'resources.form.label': '标签',
@@ -12,15 +13,15 @@ export default {
'resources.form.advanced': '高级', 'resources.form.advanced': '高级',
'resources.form.enablePartialOffload': '允许 CPU 卸载', 'resources.form.enablePartialOffload': '允许 CPU 卸载',
'resources.form.placementStrategy': '放置策略', 'resources.form.placementStrategy': '放置策略',
'resources.form.workerSelector': 'Worker 选择器', 'resources.form.workerSelector': '节点选择器',
'resources.form.enableDistributedInferenceAcrossWorkers': 'resources.form.enableDistributedInferenceAcrossWorkers':
'允许跨 Worker 分布式推理', '允许跨节点分布式推理',
'resources.form.spread.tips': 'resources.form.spread.tips':
'使得集群整体的资源在所有 Worker 之间分配得相对均匀。可能会在单个 Worker 上产生较多资源碎片。', '使得集群整体的资源在所有节点之间分配得相对均匀。可能会在单个节点上产生较多资源碎片。',
'resources.form.binpack.tips': 'resources.form.binpack.tips':
'优先考虑整体集群的资源最大化利用,减少 GPU/Worker 上的资源碎片。', '优先考虑整体集群的资源最大化利用,减少 GPU/节点 上的资源碎片。',
'resources.form.workerSelector.description': 'resources.form.workerSelector.description':
'系统在部署模型实例时,会根据预定义的标签来选择最符合要求的 Worker。', '系统在部署模型实例时,会根据预定义的标签来选择最符合要求的节点。',
'resources.table.ip': 'IP', 'resources.table.ip': 'IP',
'resources.table.cpu': 'CPU', 'resources.table.cpu': 'CPU',
'resources.table.memory': '内存', 'resources.table.memory': '内存',
@@ -38,14 +39,14 @@ export default {
'resources.table.total': '总量', 'resources.table.total': '总量',
'resources.table.used': '已用', 'resources.table.used': '已用',
'resources.table.allocated': '已分配', 'resources.table.allocated': '已分配',
'resources.table.wokers': 'workers', 'resources.table.wokers': '节点',
'resources.table.unified': '统一内存', 'resources.table.unified': '统一内存',
'resources.worker.linuxormaxos': 'Linux 或 macOS', 'resources.worker.linuxormaxos': 'Linux 或 macOS',
'resources.worker.add.step1': 'resources.worker.add.step1':
'获取 Token<span class="note-text">(在 Server 上运行)</span>', '获取 Token<span class="note-text">(在 Server 上运行)</span>',
'resources.worker.add.step2': '注册 Worker', 'resources.worker.add.step2': '注册节点',
'resources.worker.add.step2.tips': '(在需要添加的 Worker 上运行。)', 'resources.worker.add.step2.tips': '(在需要添加的节点上运行。)',
'resources.worker.add.step3': '成功后,刷新 Worker 列表即可看到新的 Worker', 'resources.worker.add.step3': '成功后,刷新节点列表即可看到新的节点。',
'resources.worker.container.supported': '不支持 macOS 和 Windows', 'resources.worker.container.supported': '不支持 macOS 和 Windows',
'resources.worker.current.version': '当前版本为 {version}', 'resources.worker.current.version': '当前版本为 {version}',
'resources.worker.select.command': '选择一个标签生成命令并使用复制按钮复制', 'resources.worker.select.command': '选择一个标签生成命令并使用复制按钮复制',
@@ -65,7 +66,7 @@ export default {
'默认存储目录为 <span class="desc-block">/var/lib/gpustack/cache</span>,或使用 <span class="desc-block">--cache-dir</span>(优先)、<span class="desc-block">--data-dir</span> 指定的目录。', '默认存储目录为 <span class="desc-block">/var/lib/gpustack/cache</span>,或使用 <span class="desc-block">--cache-dir</span>(优先)、<span class="desc-block">--data-dir</span> 指定的目录。',
'resources.modelfiles.retry.download': '重新下载', 'resources.modelfiles.retry.download': '重新下载',
'resources.modelfiles.storagePath.holder': '等待下载完成...', 'resources.modelfiles.storagePath.holder': '等待下载完成...',
'resources.filter.worker': '按 Worker 筛选', 'resources.filter.worker': '按节点筛选',
'resources.filter.source': '按来源筛选', 'resources.filter.source': '按来源筛选',
'resources.filter.status': '按状态筛选', 'resources.filter.status': '按状态筛选',
'resources.modelfiles.delete.tips': '同时从磁盘删除文件', 'resources.modelfiles.delete.tips': '同时从磁盘删除文件',
@@ -78,7 +79,7 @@ export default {
'resources.register.worker.step3': 'resources.register.worker.step3':
'点击页签<span class="bold-text">通用</span>。', '点击页签<span class="bold-text">通用</span>。',
'resources.register.worker.step4': 'resources.register.worker.step4':
'选择服务角色 <span class="bold-text">Worker</span>。', '选择服务角色 <span class="bold-text">节点</span>。',
'resources.register.worker.step5': 'resources.register.worker.step5':
'输入 <span class="bold-text">Server URL</span>{url}。', '输入 <span class="bold-text">Server URL</span>{url}。',
'resources.register.worker.step6': 'resources.register.worker.step6':
+2 -2
View File
@@ -1,4 +1,4 @@
import jdenticon from 'jdenticon'; import { update } from 'jdenticon';
import React, { useEffect, useRef } from 'react'; import React, { useEffect, useRef } from 'react';
interface IdenticonProps { interface IdenticonProps {
@@ -13,7 +13,7 @@ const Identicon: React.FC<IdenticonProps> = ({
const icon = useRef<any>(null); const icon = useRef<any>(null);
useEffect(() => { useEffect(() => {
jdenticon?.update(icon.current, 'value'); update(icon.current, value);
}, [value]); }, [value]);
return ( return (
+13 -1
View File
@@ -107,7 +107,19 @@ export const getGpuColor = (gpuType: string) => {
return 'default'; return 'default';
}; };
export const customIcons = ['∑', '∏', '∫', '∂', '∞', 'θ', '∆', '∇']; export const customIcons = [
'∑',
'∏',
'∫',
'∂',
'∞',
'π',
'θ',
'∆',
'∇',
'≤',
'≥'
];
export const backendFields = [ export const backendFields = [
'description', 'description',
@@ -35,6 +35,16 @@ export default [
}), }),
group: 'clusters.create.provider.cloud' group: 'clusters.create.provider.cloud'
}, },
{
label: 'AWS',
locale: false,
disabled: true,
value: ProviderValueMap.AWS,
key: ProviderValueMap.AWS,
icon: icons.AWS,
description: 'cluster.provider.comingsoon',
group: 'clusters.create.provider.cloud'
},
{ {
label: 'Alibaba Cloud', label: 'Alibaba Cloud',
locale: false, locale: false,
@@ -54,15 +64,5 @@ export default [
icon: icons.TencentCloud, icon: icons.TencentCloud,
description: 'cluster.provider.comingsoon', description: 'cluster.provider.comingsoon',
group: 'clusters.create.provider.cloud' group: 'clusters.create.provider.cloud'
},
{
label: 'AWS',
locale: false,
disabled: true,
value: ProviderValueMap.AWS,
key: ProviderValueMap.AWS,
icon: icons.AWS,
description: 'cluster.provider.comingsoon',
group: 'clusters.create.provider.cloud'
} }
]; ];
@@ -67,7 +67,7 @@ const useClusterColumns = (
render: (value: number) => <span>{value}</span> render: (value: number) => <span>{value}</span>
}, },
{ {
title: 'Workers', title: intl.formatMessage({ id: 'resources.nodes' }),
dataIndex: 'workers', dataIndex: 'workers',
span: 3, span: 3,
render: (value: number, record: ClusterListItem) => ( render: (value: number, record: ClusterListItem) => (
@@ -122,7 +122,7 @@ const usePoolsColumns = (
) )
}, },
{ {
title: 'Workers', title: intl.formatMessage({ id: 'resources.nodes' }),
dataIndex: 'replicas', dataIndex: 'replicas',
span: 6, span: 6,
key: 'replicas', key: 'replicas',
+2 -2
View File
@@ -118,7 +118,7 @@ const TargetForm: React.FC<TargetFormProps> = forwardRef((props, ref) => {
rules={[ rules={[
{ {
required: true, required: true,
message: getRuleMessage('select', 'worker', false) message: getRuleMessage('select', 'resources.worker')
} }
]} ]}
> >
@@ -133,7 +133,7 @@ const TargetForm: React.FC<TargetFormProps> = forwardRef((props, ref) => {
} }
}} }}
maxTagCount={1} maxTagCount={1}
label="Worker" label={intl.formatMessage({ id: 'resources.worker' })}
options={workerOptions} options={workerOptions}
showCheckedStrategy="SHOW_CHILD" showCheckedStrategy="SHOW_CHILD"
getPopupContainer={(triggerNode) => triggerNode.parentNode} getPopupContainer={(triggerNode) => triggerNode.parentNode}
+2 -2
View File
@@ -40,7 +40,7 @@ const Workers: React.FC = () => {
} = useTableFetch<ListItem>({ } = useTableFetch<ListItem>({
fetchAPI: queryWorkersList, fetchAPI: queryWorkersList,
deleteAPI: deleteWorker, deleteAPI: deleteWorker,
contentForDelete: 'worker', contentForDelete: 'resources.worker',
watch: true, watch: true,
API: WORKERS_API API: WORKERS_API
}); });
@@ -240,7 +240,7 @@ const Workers: React.FC = () => {
/> />
]} ]}
header={{ header={{
title: 'Workers', title: intl.formatMessage({ id: 'resources.nodes' }),
style: { style: {
paddingInline: 'var(--layout-content-header-inlinepadding)' paddingInline: 'var(--layout-content-header-inlinepadding)'
}, },
@@ -286,7 +286,7 @@ const useFilesColumns = (props: {
} }
}, },
{ {
title: 'Worker', title: intl.formatMessage({ id: 'resources.worker' }),
dataIndex: 'worker_name', dataIndex: 'worker_name',
ellipsis: { ellipsis: {
showTitle: false showTitle: false
@@ -73,7 +73,7 @@ const useGPUColumns = (props: {
) )
}, },
{ {
title: 'Worker', title: intl.formatMessage({ id: 'resources.worker' }),
dataIndex: 'worker_name', dataIndex: 'worker_name',
ellipsis: { ellipsis: {
showTitle: false showTitle: false
@@ -60,7 +60,8 @@ const renderGpuIndexs = (gpuIndexes: number[]) => {
const distributeCols: ColumnProps[] = [ const distributeCols: ColumnProps[] = [
{ {
title: 'Worker', title: 'resources.worker',
locale: true,
key: 'worker_name', key: 'worker_name',
style: { style: {
wordBreak: 'break-word' wordBreak: 'break-word'
@@ -310,7 +311,7 @@ const useInstanceColumns = (props: {
) )
}, },
{ {
title: 'Worker', title: intl.formatMessage({ id: 'resources.worker' }),
dataIndex: 'worker_name', dataIndex: 'worker_name',
render: (text: string, record: ListItem) => ( render: (text: string, record: ListItem) => (
<AutoTooltip ghost>{text}</AutoTooltip> <AutoTooltip ghost>{text}</AutoTooltip>
+1 -1
View File
@@ -29,7 +29,7 @@ const Resources = () => {
const items: TabsProps['items'] = [ const items: TabsProps['items'] = [
{ {
key: 'workers', key: 'workers',
label: 'Workers', label: 'resources.nodes',
children: <Workers /> children: <Workers />
}, },
{ {