export default { 'clusters.title': 'Cluster', 'clusters.table.provider': 'Provider', 'clusters.table.deployments': 'Deployments', 'clusters.button.add': 'Add Cluster', 'clusters.button.addCredential': 'Add Cloud Credential', 'clusters.button.editCredential': 'Edit Cloud Credential', 'clusters.filterBy.cluster': 'Filter by cluster', 'clusters.add.cluster': 'Add {cluster} Cluster', 'clusters.edit.cluster': 'Edit {cluster}', 'clusters.provider.custom': 'Custom', 'clusters.button.register': 'Register Cluster', 'clusters.button.addNodePool': 'Add Worker Pool', 'clusters.button.add.credential': 'Add {provider} Credential', 'clusters.credential.title': 'Cloud Credential', 'clusters.credential.token': 'Access Token', 'clusters.workerpool.region': 'Region', 'clusters.workerpool.zone': 'Zone', 'clusters.workerpool.instanceType': 'Instance Type', 'clusters.workerpool.replicas': 'Replicas', 'clusters.workerpool.batchSize': 'Batch Size', 'clusters.workerpool.osImage': 'OS Image', 'clusters.workerpool.volumes': 'Volumes', 'clusters.workerpool.format': 'Format', 'clusters.workerpool.size': 'Size (GiB)', 'clusters.workerpool.title': 'Worker Pools', 'clusters.workerpool.cloudOptions': 'Add Cloud Options', 'clusters.workerpool.volumes.add': 'Add Volume', 'clusters.create.provider.self': 'Self-Hosted', 'clusters.create.provider.cloud': 'Cloud Provider', 'clusters.create.steps.selectProvider': 'Select Provider', 'clusters.create.configBasic': 'Basic Configuration', 'clusters.create.execCommand': 'Execute Command', 'clusters.create.supportedGpu': 'Supported GPUs', 'clusters.create.skipfornow': 'Skip for Now', 'clusters.create.noImages': 'No images available', 'clusters.create.noInstanceTypes': 'No instance types available', 'clusters.create.noRegions': 'No regions available', 'clusters.workerpool.batchSize.desc': 'Number of workers created simultaneously in the Worker pool', 'clusters.create.addworker.tips': 'Please make sure the prerequisites for {label} are met before executing the following command.', 'clusters.create.addCommand.tips': 'On the Worker that needs to be added, run the following command to join it to the cluster.', 'clusters.create.register.tips': 'On the Kubernetes cluster that needs to be added, run the following command to join its nodes to the cluster.', 'cluster.create.checkEnv.tips': 'Use the following command to check if the environment is ready.', 'cluster.provider.comingsoon': 'Coming soon', 'clusters.addworker.nvidiaNotes-01': 'If multiple outbound IPs exist, specify the one you want the worker to use. Please double-check with hostname -I | xargs -n1.', 'clusters.addworker.nvidiaNotes-02': 'If a model directory already exists on the worker, you can specify the path to mount it.', 'clusters.addworker.hygonNotes': `If /opt/hyhal or /opt/dtk does not exist, create symbolic links pointing to the corresponding Hygon installation paths, for example: ln -s /path/to/hyhal /opt/hyhal ln -s /path/to/dtk /opt/dtk.`, 'clusters.addworker.corexNotes': `If the /usr/local/corex directory does not exist, create a symbolic link to the Iluvatar SDK installation path: ln -s /path/to/corex /usr/local/corex.`, 'clusters.addworker.metaxNotes': `If the /opt/mxdriver or /opt/maca directory does not exist, create a symbolic link to the MetaX driver and SDK installation path: ln -s /path/to/mxdriver /opt/mxdriver ln -s /path/to/maca /opt/maca.`, 'clusters.addworker.cambriconNotes': `If the /usr/local/neuware directory does not exist, create a symbolic link to the Cambricon installation path: ln -s /path/to/neuware /usr/local/neuware.`, 'clusters.addworker.hygonNotes-02': 'If device detection fails, try removing --env ROCM_SMI_LIB_PATH=/opt/hyhal/lib.', 'clusters.addworker.selectCluster': 'Select Cluster', 'clusters.addworker.selectCluster.tips': 'For non-Docker clusters, please register clusters or manage worker pools from the Clusters page.', 'clusters.addworker.selectGPU': 'Select GPU Vendor', 'clusters.addworker.checkEnv': 'Check Environment', 'clusters.addworker.specifyArgs': 'Specify Arguments', 'clusters.addworker.runCommand': 'Run Command', 'clusters.addworker.specifyWorkerIP': 'Worker IP', 'clusters.addworker.detectWorkerIP': 'Auto-detect Worker IP', 'clusters.addworker.specifyWorkerAddress': 'Worker External Address', 'clusters.addworker.detectWorkerAddress': 'Worker External Address', 'clusters.addworker.detectWorkerAddress.tips': 'Defaults to Worker IP if not specified.', 'clusters.addworker.externalIP.tips': 'If running in a VPC or private network, please specify the Worker external address reachable by the GPUStack Server.', 'clusters.addworker.enterWorkerIP': 'Enter worker IP', 'clusters.addworker.enterWorkerIP.error': 'Please enter the worker IP.', 'clusters.addworker.enterWorkerAddress': 'Enter worker external address', 'clusters.addworker.enterWorkerAddress.error': 'Please enter the worker external address.', 'clusters.addworker.extraVolume': 'Additional Volume Mount', 'clusters.addworker.cacheVolume': 'Model Cache Volume Mount', 'clusters.addworker.cacheVolume.tips': 'If you want to customize the model cache directory, you can specify the path to mount it.', 'clusters.addworker.configSummary': 'Configuration Summary', 'clusters.addworker.gpuVendor': 'GPU Vendor', 'clusters.addworker.workerIP': 'Worker IP', 'clusters.addworker.workerExternalIP': 'Worker External Address', 'clusters.addworker.notSpecified': 'Not Specified', 'clusters.addworker.autoDetect': 'Auto', 'clusters.addworker.extraVolume.holder': 'e.g. /data/models (path must start with /). Use commas to separate multiple paths.', 'clusters.addworker.cacheVolume.holder': 'e.g. /data/cache (path must start with /)', 'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device', 'clusters.button.genToken': 'Need to create a new token? Click here.', 'clusters.addworker.amdNotes-01': `If the /opt/rocm directory does not exist, please create a symbolic link pointing to the ROCm installed path: ln -s /path/to/rocm /opt/rocm.`, 'clusters.addworker.message.success_single': '{count} new worker has been added to the cluster.', 'clusters.addworker.message.success_multiple': '{count} new workers have been added to the cluster.', 'clusters.create.serverUrl': 'GPUStack Server URL', 'clusters.create.workerConfig': 'Worker Configuration', 'clusters.addworker.containerName': 'Worker Container Name', 'clusters.addworker.containerName.tips': 'Specify a name for the worker container.', 'clusters.addworker.dataVolume': 'GPUStack Data Volume', 'clusters.addworker.dataVolume.tips': 'Specify a data storage path for GPUStack.', 'clusters.table.ip.internal': 'Internal', 'clusters.table.ip.external': 'External', 'clusters.form.serverUrl.tips': 'Specify an externally accessible GPUStack service URL if the worker cannot access GPUStack Server directly.', 'clusters.form.setDefault': 'Set as Default', 'clusters.form.setDefault.tips': 'Default for deployment.', 'clusters.addworker.noClusters': 'No available Docker clusters found', 'clusters.create.steps.complete.tips': 'Cluster created successfully!', 'clusters.create.steps.complete': 'Complete', 'clusters.create.steps.configure': 'Configure', 'clusters.create.dockerTips1': 'Next, add worker to this cluster.', 'clusters.create.dockerTips2': 'You can also skip this step and add them later from the cluster list.', 'clusters.create.k8sTips1': 'Next, register existing Kubernetes cluster.', 'clusters.create.k8sTips2': 'You can also skip this step and register it later from the cluster list.', 'clusters.addworker.theadNotes': 'If the /usr/local/PPU_SDK directory does not exist, please create a symbolic link pointing to the T-Head PPU SDK installed path: ln -s /path/to/PPU_SDK /usr/local/PPU_SDK.', 'clusters.addworker.theadNotes-02': 'T-Head PPU uses the Container Device Interface (CDI) for device injection and requires the /var/run/cdi directory to be available for CDI generation.', 'clusters.addworker.nvidiaNotes': 'The built-in inference backends in GPUStack v2.1 require CUDA 12.6+. Please ensure your NVIDIA driver version is 560 or newer.', 'clusters.volume.title': 'Volume Mounts', 'clusters.volume.name': 'Volume Name', 'clusters.volume.mountPath': 'Container Path', 'clusters.volume.mountPath.format': 'Path must start with /', 'clusters.volume.readOnly': 'Read Only', 'clusters.volume.sourceType': 'Source Type', 'clusters.volume.sourceType.hostPath': 'Host Path', 'clusters.volume.sourceType.pvc': 'Persistent Volume Claim (PVC)', 'clusters.volume.sourceType.configMap': 'ConfigMap', 'clusters.volume.hostPath.path': 'Host Path', 'clusters.volume.hostPath.type': 'Path Type', 'clusters.volume.hostPath.type.directory': 'Directory', 'clusters.volume.hostPath.type.directoryOrCreate': 'Directory (create if not exists)', 'clusters.volume.hostPath.type.file': 'File', 'clusters.volume.hostPath.type.fileOrCreate': 'File (create if not exists)', 'clusters.volume.hostPath.type.socket': 'Socket', 'clusters.volume.hostPath.type.charDevice': 'Character Device', 'clusters.volume.hostPath.type.blockDevice': 'Block Device', 'clusters.volume.pvc.claimName': 'PVC Name', 'clusters.volume.pvc.readOnly': 'Read Only', 'clusters.volume.configMap.name': 'ConfigMap Name', 'clusters.volume.configMap.optional': 'Optional', 'clusters.volume.add': 'Add Volume Mount' };