-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(i18n): Add i18n functionality on top of KF 1.3
* Add system language selection with hard-coded values * Add volume table with es2020 * Add validations customizations for cpu,ram, etc. * Add kubecost service and processing info * Add i18n to previous components * Add check for kubecost error response * Custom URL functionality * Volume table and make i18n Co-authored-by: Skye Turriff <turriff.skye@gmail.com> Co-authored-by: saffaalvi <alvi118@uwindsor.ca> Co-authored-by: Wendy Gaultier <wvgaultier@gmail.com>
- Loading branch information
1 parent
0d3f2bc
commit 813f13a
Showing
83 changed files
with
2,391 additions
and
344 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
192 changes: 192 additions & 0 deletions
192
frontend/common/kubeflow-common-lib/projects/kubeflow/src/assets/en.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,192 @@ | ||
{ | ||
"jupyter": { | ||
"formAdvancedOptions": { | ||
"miscSettings": "Miscellaneous Settings", | ||
"miscSettingsDesc": "Other possible settings to be applied to the Notebook Server.", | ||
"enableSharedMemory": "Enable Shared Memory", | ||
"systemLanguage": "System Language", | ||
"lblEnglish": "English", | ||
"lblFrench": "French" | ||
}, | ||
"formAffinityTolerations": { | ||
"affinityTolerations": "Affinity / Tolerations", | ||
"affinityTolerationsDesc": "Configure the Notebook's Affinity and Tolerations.", | ||
"affinityConfig": "Affinity Config", | ||
"tolerationsGroup": "Tolerations Group" | ||
}, | ||
"formConfiguration": { | ||
"configurations": "Configurations", | ||
"configurationDesc": "Extra layers of configurations that will be applied to the new Notebook. (e.g. Insert credentials as Secrets, set Environment Variables.)" | ||
}, | ||
"formDataVolumes": { | ||
"dataVolumes": "Data Volumes", | ||
"dataVolumesDesc": "Configure the Volumes to be mounted as your Datasets.", | ||
"addVolumeCaps": "ADD VOLUME" | ||
}, | ||
"formGpus": { | ||
"gpusDesc": "Specify the number and Vendor of GPUs that will be assigned to the Notebook Server's Container.", | ||
"numGpus": "Number of GPUs", | ||
"gpuVendor": "GPU Vendor", | ||
"errorGpuVendorNotFound": "No {{vendoruiName}} GPU found installed in the cluster.", | ||
"errorGpuVendorRequired": "You must also specify the GPU Vendor for the assigned GPUs", | ||
"warningSelectGpu": "Selecting 1 GPU will automatically set 4 CPUs and 96Gi of memory." | ||
}, | ||
"formImage": { | ||
"txtImage": "Select the base software you want installed in your server. If you choose a custom image, it must be available in the DAaaS container registry.", | ||
"txtImageLink": "Here's some more information to help you select an image for your requirements.", | ||
"customImage": "Custom Image", | ||
"imageDocker": "Docker Image", | ||
"customImagePhl": "Provide a custom Image", | ||
"imagePullPolicy": "Image pull policy", | ||
"optAlways": "Always", | ||
"optIfNotPresent": "IfNotPresent", | ||
"optNever": "Never", | ||
"errorImageRequired": "Please provide and Image to use", | ||
"serverType": "Server Type", | ||
"useJupyterLabBasedServer": "Use JupyterLab based server", | ||
"useGroupOneBasedServer": "Use Group One based server", | ||
"useGroupTwoBasedServer": "Use Group Two based server" | ||
}, | ||
"formName": { | ||
"nameDesc": "Specify the name of the Notebook Server and the Namespace it will belong to." | ||
}, | ||
"formSpecs": { | ||
"cpuRam": "CPU / RAM", | ||
"cpuRequested": "Requested CPUs", | ||
"cpuDesc": "Specify the total amount of CPU and RAM reserved by your Notebook Server. For CPU-intensive workloads, you can choose more than 1 CPU (e.g. 1.5).", | ||
"cpuLimit": "CPU limit", | ||
"memoryLimit": "Memory limit in Gi", | ||
"memoryRequested": "Requested memory in Gi", | ||
"errorCpuRequired": "Specify number of CPUs", | ||
"errorCpuNumber": "Must be a number", | ||
"errorCpuMin": "Specify at least {{min}} CPUs", | ||
"errorCpuMax": "Can't exceed {{max}} CPUs", | ||
"errorCpuMaxLimit": " with {{gpu}} GPU(s) selected", | ||
"errorRamRequired": "Specify amount of memory (e.g. 2Gi)", | ||
"errorRamMin": "Specify at least {{min}}Gi of memory", | ||
"errorRamMax": "Can't exceed {{max}}Gi of memory", | ||
"errorRamMaxLimit": " with {{gpu}} GPU(s) selected" | ||
}, | ||
"formWorkspaceVolume": { | ||
"workspaceVolume": "Workspace Volume", | ||
"workspaceVolumeDesc": "Configure the Volume to be mounted as your personal Workspace.", | ||
"ckbNoPersistent": "Don't use Persistent Storage for User's home", | ||
"msgNoPersistent": "Your workspace will not be persistent. You will lose all data in it, if your notebook is terminated for any reason." | ||
}, | ||
"volume": { | ||
"optNew": "New", | ||
"optExisting": "Existing", | ||
"errorMountedVolume": "The volume is already mounted to another notebook and cannot be currently selected", | ||
"sizeInGi": "Size in Gi", | ||
"mode": "Mode", | ||
"mountPoint": "Mount Point" | ||
}, | ||
"resourceForm": { | ||
"msgDefaultStorageClass": "No default Storage Class is set. Can't create new Disks for the new Notebook. Please use an Existing Disk." | ||
}, | ||
"dialog": { | ||
"deleteDialogTitle": "Are you sure you want to delete this notebook server? {{name}}", | ||
"deleteDialogMessage": "Warning: Your data might be lost if the notebook server is not backed by persistent storage", | ||
"stopDialogTitle": "Are you sure you want to stop this notebook server? {{name}}", | ||
"stopDialogMessage": "Warning: Your data might be lost if the notebook server is not backed by persistent storage" | ||
}, | ||
"index": { | ||
"notebookServers": "Notebook Servers", | ||
"newServersCaps": "NEW SERVER", | ||
"cpus": "CPUs", | ||
"memory": "Memory", | ||
"connectTooltip": "Connect to this notebook server", | ||
"deleteTooltip": "Delete this notebook server", | ||
"prepareDeleteNotebook": "Preparing to delete the Notebook...", | ||
"prepareStopServer": "Preparing to stop the Notebook Server...", | ||
"startNotebookServer": "Start this notebook server", | ||
"stopNotebookServer": "Stop this notebook server", | ||
"startingNotebookServer": "Starting Notebook server '{{notebookName}}'...", | ||
"startingNotebookServerMsg":"Starting the Notebook Server...", | ||
"stoppingNotebookServer": "Stopping Notebook server '{{notebookName}}'..." | ||
}, | ||
"backend": { | ||
"status": { | ||
"errorEvent": "An error has occured. Check 'kubectl describe pod' for more information", | ||
"noPodsRunning": "No Pods are currently running for this Notebook Server.", | ||
"notebookStopping": "Notebook Server is stopping.", | ||
"notebookDeleting": "Deleting this notebook server", | ||
"running": "Running", | ||
"schedulingPod": "Scheduling the Pod", | ||
"waitingStatus": "Current status is waiting. Check 'kubectl describe pod' for more information" | ||
} | ||
}, | ||
"volumeTable": { | ||
"notebookVolumes": "Notebook Volumes", | ||
"attached": "Attached", | ||
"deleteDialogMessage": "Warning: All data in this volume will be lost.", | ||
"prepareDeleteVolume": "Preparing to delete the Volume...", | ||
"unattached": "Unattached", | ||
"toolTipDeleting": "Deleting", | ||
"tooltipDeleteVolume": "Delete Volume '{{name}}'", | ||
"usedBy": "Used By", | ||
"lblNone": "(none)" | ||
}, | ||
"costTable": { | ||
"cost": "Cost", | ||
"costDescription": "Approximate cost of notebook server resources over the last 24 hours – summed values may not match total due to rounding", | ||
"compute": "Compute", | ||
"gpus": "GPUs", | ||
"storage": "Storage", | ||
"total": "Total", | ||
"errMessage": "Failed to retrieve cost information" | ||
} | ||
}, | ||
"common": { | ||
"deleteCaps": "DELETE", | ||
"cancelCaps": "CANCEL", | ||
"createCaps": "CREATE", | ||
"connectCaps": "CONNECT", | ||
"name": "Name", | ||
"type": "Type", | ||
"age": "Age", | ||
"size": "Size", | ||
"stopCaps": "STOP", | ||
"status": "Status", | ||
"dismissCaps": "DISMISS", | ||
"optNone": "None", | ||
"optReadWriteOnce": "ReadWriteOnce", | ||
"optReadOnlyMany": "ReadOnlyMany", | ||
"optReadWriteMany": "ReadWriteMany", | ||
"launchCaps": "LAUNCH", | ||
"stoppingCaps": "STOPPING", | ||
"deletingCaps": "DELETING", | ||
"image": "Image", | ||
"gpus": "GPUs", | ||
"volumes": "Volumes" | ||
}, | ||
"commonProject": { | ||
"advancedOptions": { | ||
"advancedOptions": "Advanced options", | ||
"hideAdvancedOptions": "Hide advanced options" | ||
}, | ||
"errorNegative": "Cannot be negative.", | ||
"namespaceSelect": { | ||
"selectNamespace": "Select Namespace" | ||
}, | ||
"namespaceInput": { | ||
"namespace": "Namespace", | ||
"nameCannotBeEmpty": "Name cannot be empty", | ||
"nameTooLong": "Name is too long", | ||
"nameAlreadyExists": "Notebook server '{{name}}' already exists", | ||
"namePattern": "Name must consist of lowercase alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character" | ||
}, | ||
"backend": { | ||
"error": "An error occured: {{errorMsg}}", | ||
"clientError": "Client error: {{errorMsg}}", | ||
"errorConnectBackend": "Could not connect to the backend.", | ||
"errorUnexpected": "Unexpected error encountered", | ||
"errorOccured": "An error occured. Original message: {{errorMsg}}" | ||
}, | ||
"validation": { | ||
"invalidVolumeSize": "Invalid volume size: Should be an integer, or integer followed by a valid unit", | ||
"invalidMemorySize": "Invalid memory size: Should be an integer, or fixed-point integer followed by a valid unit", | ||
"invalidCpuLimit": "Invalid cpu limit: Should be a fixed-point integer or an integer followed by 'm'" | ||
} | ||
} | ||
} |
Oops, something went wrong.