You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by nv...@apache.org on 2021/08/12 15:19:17 UTC

[cloudstack] branch main updated: Add missing labels (#5305)

This is an automated email from the ASF dual-hosted git repository.

nvazquez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 28e70c0  Add missing labels (#5305)
28e70c0 is described below

commit 28e70c0a2a709c10edeba01e04d9eb606cf4c1f8
Author: davidjumani <dj...@gmail.com>
AuthorDate: Thu Aug 12 20:48:57 2021 +0530

    Add missing labels (#5305)
---
 ui/public/locales/en.json                        | 93 ++++++++++++------------
 ui/src/config/section/infra/secondaryStorages.js | 16 ++--
 2 files changed, 56 insertions(+), 53 deletions(-)

diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json
index bc295cc..ea92f04 100644
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@ -24,8 +24,8 @@
 "error.release.dedicate.pod": "Failed to release dedicated pod",
 "error.release.dedicate.zone": "Failed to release dedicated zone",
 "error.session.expired": "Your session has expired.",
-"error.unable.to.reach.management.server": "Unable to reach Management Server",
 "error.unable.to.proceed": "Unable to proceed. Please contact your administrator",
+"error.unable.to.reach.management.server": "Unable to reach Management Server",
 "error.unresolved.internet.name": "Your internet name cannot be resolved.",
 "firewall.close": "Firewall",
 "force.delete.domain.warning": "Warning: Choosing this option will cause the deletion of all child domains and all associated accounts and their resources.",
@@ -73,10 +73,10 @@
 "label.action.attach.iso.processing": "Attaching ISO....",
 "label.action.bulk.delete.egress.firewall.rules": "Bulk delete egress firewall rules",
 "label.action.bulk.delete.firewall.rules": "Bulk delete firewall rules",
-"label.action.bulk.delete.load.balancer.rules": "Bulk delete load balancer rules",
-"label.action.bulk.delete.templates": "Bulk delete templates",
 "label.action.bulk.delete.isos": "Bulk delete ISOs",
+"label.action.bulk.delete.load.balancer.rules": "Bulk delete load balancer rules",
 "label.action.bulk.delete.portforward.rules": "Bulk delete Port Forward rules",
+"label.action.bulk.delete.templates": "Bulk delete templates",
 "label.action.bulk.release.public.ip.address": "Bulk release Public IP Addresses",
 "label.action.cancel.maintenance.mode": "Cancel Maintenance Mode",
 "label.action.cancel.maintenance.mode.processing": "Cancelling Maintenance Mode....",
@@ -89,10 +89,10 @@
 "label.action.copy.iso.processing": "Copying ISO....",
 "label.action.copy.template": "Copy Template",
 "label.action.copy.template.processing": "Copying Template....",
+"label.action.create.snapshot.from.vmsnapshot": "Create Snapshot from VM Snapshot",
 "label.action.create.template.from.vm": "Create Template from VM",
 "label.action.create.template.from.volume": "Create Template from Volume",
 "label.action.create.template.processing": "Creating Template....",
-"label.action.create.snapshot.from.vmsnapshot": "Create Snapshot from VM Snapshot",
 "label.action.create.vm": "Create VM",
 "label.action.create.vm.processing": "Creating VM....",
 "label.action.create.volume": "Create Volume",
@@ -212,6 +212,7 @@
 "label.action.get.diagnostics": "Get Diagnostics Data",
 "label.action.image.store.read.only": "Make Image store read-only",
 "label.action.image.store.read.write": "Make Image store read-write",
+"label.action.import.export.instances":"Import-Export Instances",
 "label.action.iso.permission": "Update ISO Permissions",
 "label.action.iso.share": "Update ISO Sharing",
 "label.action.list.nexusvswitch": "List Nexus 1000v",
@@ -219,7 +220,6 @@
 "label.action.lock.account.processing": "Locking account....",
 "label.action.manage.cluster": "Manage Cluster",
 "label.action.manage.cluster.processing": "Managing Cluster....",
-"label.action.import.export.instances":"Import-Export Instances",
 "label.action.migrate.instance": "Migrate Instance",
 "label.action.migrate.instance.processing": "Migrating Instance....",
 "label.action.migrate.router": "Migrate Router",
@@ -276,9 +276,9 @@
 "label.action.template.share": "Update Template Sharing",
 "label.action.unmanage.cluster": "Unmanage Cluster",
 "label.action.unmanage.cluster.processing": "Unmanaging Cluster....",
-"label.action.unmanage.virtualmachine": "Unmanage VM",
 "label.action.unmanage.instance": "Unmanage Instance",
 "label.action.unmanage.instances": "Unmanage Instances",
+"label.action.unmanage.virtualmachine": "Unmanage VM",
 "label.action.update.offering.access": "Update Offering Access",
 "label.action.update.os.preference": "Update OS Preference",
 "label.action.update.os.preference.processing": "Updating OS Preference....",
@@ -594,18 +594,18 @@
 "label.configure.ovs": "Configure Ovs",
 "label.configure.sticky.policy": "Configure Sticky Policy",
 "label.configure.vpc": "Configure VPC",
-"label.confirmacceptinvitation": "Please confirm you wish to join this project",
-"label.confirmation": "Confirmation",
-"label.confirmdeclineinvitation": "Are you sure you want to decline this project invitation?",
-"label.confirmpassword": "Confirm Password",
-"label.confirmpassword.description": "Please type the same password again",
 "label.confirm.delete.egress.firewall.rules": "Please confirm you wish to delete the selected egress firewall rules",
 "label.confirm.delete.firewall.rules": "Please confirm you wish to delete the selected firewall rules",
+"label.confirm.delete.isos": "Please confirm you wish to delete the selected isos",
 "label.confirm.delete.loadbalancer.rules": "Please confirm you wish to delete the selected load balancing rules",
 "label.confirm.delete.portforward.rules": "Please confirm you wish to delete the selected port-forward rules",
 "label.confirm.delete.templates": "Please confirm you wish to delete the selected templates",
-"label.confirm.delete.isos": "Please confirm you wish to delete the selected isos",
 "label.confirm.release.public.ip.addresses": "Please confirm you wish to release the selected public IP addresses",
+"label.confirmacceptinvitation": "Please confirm you wish to join this project",
+"label.confirmation": "Confirmation",
+"label.confirmdeclineinvitation": "Are you sure you want to decline this project invitation?",
+"label.confirmpassword": "Confirm Password",
+"label.confirmpassword.description": "Please type the same password again",
 "label.congratulations": "Congratulations!",
 "label.connectiontimeout": "Connection Timeout",
 "label.conservemode": "Conserve mode",
@@ -613,11 +613,12 @@
 "label.console.proxy.vm": "Console Proxy VM",
 "label.continue": "Continue",
 "label.continue.install": "Continue with installation",
+"label.controlnodes": "Control nodes",
 "label.copied.clipboard": "Copied to clipboard",
 "label.copy": "Copy",
 "label.copy.clipboard": "Copy to clipboard",
-"label.copy.text": "Copy Text",
 "label.copy.setting.success": "Copy success, Please replace theme setting in public/config.js",
+"label.copy.text": "Copy Text",
 "label.copyid": "Copy ID",
 "label.copying.iso": "Copying ISO",
 "label.corrections.saved": "Corrections saved",
@@ -668,9 +669,9 @@
 "label.customdisksize": "Custom Disk Size",
 "label.customunconstrained": "Custom Unconstrained",
 "label.daily": "Daily",
+"label.dark.mode": "Dark mode",
 "label.dashboard": "Dashboard",
 "label.dashboard.endpoint": "Dashboard endpoint",
-"label.dark.mode": "Dark mode",
 "label.data.disk": "Data Disk",
 "label.data.disk.offering": "Data Disk Offering",
 "label.date": "Date",
@@ -743,8 +744,8 @@
 "label.deny": "Deny",
 "label.deployasis":"Read VM settings from OVA",
 "label.deploymentplanner": "Deployment planner",
-"label.description": "Description",
 "label.desc.importexportinstancewizard": "Import and export instances to/from an existing VMware cluster.",
+"label.description": "Description",
 "label.destcidr": "Destination CIDR",
 "label.destination": "Destination",
 "label.destinationphysicalnetworkid": "Destination physical network ID",
@@ -764,9 +765,9 @@
 "label.directdownload": "Direct Download",
 "label.disable.autoscale": "Disable Autoscale",
 "label.disable.host": "Disable Host",
-"label.disable.storage": "Disable Storage Pool",
 "label.disable.network.offering": "Disable network offering",
 "label.disable.provider": "Disable provider",
+"label.disable.storage": "Disable Storage Pool",
 "label.disable.vnmc.provider": "Disable VNMC provider",
 "label.disable.vpc.offering": "Disable VPC offering",
 "label.disable.vpn": "Disable Remote Access VPN",
@@ -865,8 +866,8 @@
 "label.enable.network.offering": "Enable network offering",
 "label.enable.provider": "Enable provider",
 "label.enable.s3": "Enable S3-backed Secondary Storage",
-"label.enable.swift": "Enable Swift",
 "label.enable.storage": "Enable Storage Pool",
+"label.enable.swift": "Enable Swift",
 "label.enable.vnmc.device": "Enable VNMC device",
 "label.enable.vnmc.provider": "Enable VNMC provider",
 "label.enable.vpc.offering": "Enable VPC offering",
@@ -900,6 +901,7 @@
 "label.esphash": "ESP Hash",
 "label.esplifetime": "ESP Lifetime (second)",
 "label.esppolicy": "ESP policy",
+"label.esx.host": "ESX/ESXi Host",
 "label.event": "Event",
 "label.event.archived": "Event(s) Archived",
 "label.event.deleted": "Event(s) Deleted",
@@ -1310,14 +1312,13 @@
 "label.manage": "Manage",
 "label.manage.resources": "Manage Resources",
 "label.manage.vpn.user": "Manage VPN Users",
-"label.managedstate": "Managed State",
 "label.managed.instances": "Managed Instances",
+"label.managedstate": "Managed State",
 "label.management": "Management",
 "label.management.ips": "Management IP Addresses",
 "label.management.server": "Management Server",
 "label.management.servers": "Management Servers",
 "label.managementservers": "Number of Management Servers",
-"label.controlnodes": "Control nodes",
 "label.max.primary.storage": "Max. primary (GiB)",
 "label.max.secondary.storage": "Max. secondary (GiB)",
 "label.maxcpu": "Max. CPU Cores",
@@ -1641,8 +1642,8 @@
 "label.portforwarding": "Port Forwarding",
 "label.portforwarding.rule": "Port Forwarding Rule",
 "label.powerflex.gateway": "Gateway",
-"label.powerflex.gateway.username": "Gateway Username",
 "label.powerflex.gateway.password": "Gateway Password",
+"label.powerflex.gateway.username": "Gateway Username",
 "label.powerflex.storage.pool": "Storage Pool",
 "label.powerstate": "Power State",
 "label.preferred": "Prefered",
@@ -1833,9 +1834,9 @@
 "label.reservedsystemnetmask": "Reserved system netmask",
 "label.reservedsystemstartip": "Start Reserved system IP",
 "label.reset": "Reset",
-"label.reset.to.default": "Reset to default",
 "label.reset.ssh.key.pair": "Reset SSH Key Pair",
 "label.reset.ssh.key.pair.on.vm": "Reset SSH Key Pair on VM",
+"label.reset.to.default": "Reset to default",
 "label.reset.vpn.connection": "Reset VPN connection",
 "label.resetvm": "Reset VM",
 "label.resource": "Resource",
@@ -1860,21 +1861,21 @@
 "label.rolename": "Role",
 "label.roles": "Roles",
 "label.roletype": "Role Type",
-"label.rootdisk": "ROOT disk",
-"label.rootdisksize": "Root disk size (GB)",
 "label.root.certificate": "Root certificate",
 "label.root.disk.offering": "Root Disk Offering",
 "label.root.disk.size": "Root disk size (GB)",
+"label.rootdisk": "ROOT disk",
 "label.rootdiskcontrollertype": "Root disk controller",
 "label.rootdiskcontrollertypekvm": "Root disk controller",
-"label.routerip": "IPv4 address for Router in Shared Network",
-"label.routeripv6": "IPv6 address for Router in Shared Network",
+"label.rootdisksize": "Root disk size (GB)",
 "label.router.health.check.last.updated": "Last updated",
 "label.router.health.check.name": "Check name",
 "label.router.health.check.success": "Success",
 "label.router.health.checks": "Health Checks",
 "label.router.vm.scaled.up": "Router VM Scaled Up",
 "label.routercount": "Total of Virtual Routers",
+"label.routerip": "IPv4 address for Router in Shared Network",
+"label.routeripv6": "IPv6 address for Router in Shared Network",
 "label.routerrequiresupgrade": "Upgrade is required",
 "label.routertype": "Type",
 "label.routing.host": "Routing Host",
@@ -1882,10 +1883,12 @@
 "label.rule.number": "Rule Number",
 "label.rules": "Rules",
 "label.rules.file": "Rules File",
-"label.rules.file.to.import": "Rule defintions CSV file to import",
 "label.rules.file.import.description": "Click or drag rule defintions CSV file to import",
+"label.rules.file.to.import": "Rule defintions CSV file to import",
 "label.run.proxy.locally": "Run proxy locally",
 "label.running": "Running VMs",
+"label.s2scustomergatewayid": "Site to Site customer gateway ID",
+"label.s2svpngatewayid": "Site to Site VPN gateway ID",
 "label.s3.access.key": "Access Key",
 "label.s3.bucket": "Bucket",
 "label.s3.connection.timeout": "Connection Timeout",
@@ -1907,8 +1910,8 @@
 "label.save.new.rule": "Save new Rule",
 "label.save.setting": "Save setting",
 "label.saving.processing": "Saving....",
-"label.scale.vm": "Scale VM",
 "label.scale.up.policy": "SCALE UP POLICY",
+"label.scale.vm": "Scale VM",
 "label.scaledown.policy": "ScaleDown Policy",
 "label.scaleup.policy": "ScaleUp Policy",
 "label.schedule": "Schedule",
@@ -1994,8 +1997,6 @@
 "label.shrinkok": "Shrink OK",
 "label.shutdown.provider": "Shutdown provider",
 "label.simplified.chinese.keyboard": "Simplified Chinese keyboard",
-"label.s2scustomergatewayid": "Site to Site customer gateway ID",
-"label.s2svpngatewayid": "Site to Site VPN gateway ID",
 "label.site.to.site.vpn": "Site-to-site VPN",
 "label.site.to.site.vpn.connections": "Site-to-site VPN Connections",
 "label.size": "Size",
@@ -2087,10 +2088,10 @@
 "label.stop.lb.vm": "Stop LB VM",
 "label.stopped": "Stopped VMs",
 "label.storage": "Storage",
+"label.storage.migration.required": "Storage Migration Required",
 "label.storage.tags": "Storage Tags",
 "label.storage.traffic": "Storage Traffic",
 "label.storageid": "Primary Storage",
-"label.storage.migration.required": "Storage Migration Required",
 "label.storagemotionenabled": "Storage Motion Enabled",
 "label.storagepolicy": "Storage policy",
 "label.storagepool": "Storage Pool",
@@ -2139,6 +2140,8 @@
 "label.tcp": "TCP",
 "label.tcp.proxy": "TCP Proxy",
 "label.template": "Select a template",
+"label.template.select.existing": "Select an existing template",
+"label.template.temporary.import": "Use a temporary template for import",
 "label.templatebody": "Body",
 "label.templatedn": "Select Template",
 "label.templatefileupload": "Local file",
@@ -2151,8 +2154,6 @@
 "label.templatesubject": "Subject",
 "label.templatetotal": "Template",
 "label.templatetype": "Template Type",
-"label.template.temporary.import": "Use a temporary template for import",
-"label.template.select.existing": "Select an existing template",
 "label.tftp.dir": "TFTP Directory",
 "label.tftpdir": "Tftp root directory",
 "label.theme.alert": "The settings panel is only visible in the development environment, please save for the changes to take effect.",
@@ -2245,8 +2246,8 @@
 "label.usageinterface": "Usage Interface",
 "label.usagename": "Usage Type",
 "label.usageunit": "Unit",
-"label.use.local.timezone": "Use Local Timezone",
 "label.use.kubectl.access.cluster": "<code><b>kubectl</b></code> and <code><b>kubeconfig</b></code> file to access cluster",
+"label.use.local.timezone": "Use Local Timezone",
 "label.use.vm.ip": "Use VM IP:",
 "label.use.vm.ips": "Use VM IPs",
 "label.used": "Used",
@@ -2278,7 +2279,6 @@
 "label.vcenter.username": "vCenter Username",
 "label.vcenterdatacenter": "vCenter Datacenter",
 "label.vcenterdatastore": "vCenter Datastore",
-"label.esx.host": "ESX/ESXi Host",
 "label.vcenterpassword": "vCenter Password",
 "label.vcenterusername": "vCenter Username",
 "label.vcipaddress": "vCenter IP Address",
@@ -2347,7 +2347,6 @@
 "label.vnmc.devices": "VNMC Devices",
 "label.volgroup": "Volume Group",
 "label.volume": "Volume",
-"label.volumeid": "Volume",
 "label.volume.details": "Volume details",
 "label.volume.empty": "No data volumes attached to this VM",
 "label.volume.ids": "Volume ID's",
@@ -2357,6 +2356,7 @@
 "label.volumechecksum.description": "Use the hash that you created at the start of the volume upload procedure",
 "label.volumefileupload": "Local file",
 "label.volumegroup": "Volume Group",
+"label.volumeid": "Volume",
 "label.volumeids": "Volumes to be deleted",
 "label.volumelimit": "Volume Limits",
 "label.volumename": "Volume Name",
@@ -2399,6 +2399,9 @@
 "label.vspherestoragepolicy": "vSphere Storage Policy",
 "label.vswitch.name": "vSwitch Name",
 "label.vswitch.type": "vSwitch Type",
+"label.vswitch.type.nexusdvs": "Cisco Nexus 1000v Distributed Virtual Switch",
+"label.vswitch.type.vmwaredvs": "VMware vNetwork Distributed Virtual Switch",
+"label.vswitch.type.vmwaresvs": "VMware vNetwork Standard Virtual Switch",
 "label.vswitchguestname": "Guest Traffic vSwitch Name",
 "label.vswitchguesttype": "Guest Traffic vSwitch Type",
 "label.vswitchpublicname": "Public Traffic vSwitch Name",
@@ -2673,15 +2676,15 @@
 "message.confirm.destroy.kubernetes.cluster": "Please confirm that you want to destroy this Kubernetes cluster.",
 "message.confirm.destroy.router": "All services provided by this virtual router will be interrupted. Please confirm that you want to stop this router. Please confirm that you would like to destroy this router",
 "message.confirm.disable.host": "Please confirm that you want to disable the host",
-"message.confirm.disable.storage": "Please confirm that you want to disable the storage pool",
 "message.confirm.disable.network.offering": "Are you sure you want to disable this network offering?",
 "message.confirm.disable.provider": "Please confirm that you would like to disable this provider",
+"message.confirm.disable.storage": "Please confirm that you want to disable the storage pool",
 "message.confirm.disable.vnmc.provider": "Please confirm you would like to disable the VNMC provider.",
 "message.confirm.disable.vpc.offering": "Are you sure you want to disable this VPC offering?",
 "message.confirm.enable.host": "Please confirm that you want to enable the host",
-"message.confirm.enable.storage": "Please confirm that you want to enable the storage pool",
 "message.confirm.enable.network.offering": "Are you sure you want to enable this network offering?",
 "message.confirm.enable.provider": "Please confirm that you would like to enable this provider",
+"message.confirm.enable.storage": "Please confirm that you want to enable the storage pool",
 "message.confirm.enable.vnmc.provider": "Please confirm you would like to enable the VNMC provider.",
 "message.confirm.enable.vpc.offering": "Are you sure you want to enable this VPC offering?",
 "message.confirm.force.update": "Do you want to make a force update?",
@@ -2740,10 +2743,10 @@
 "message.creating.secondary.storage": "Creating secondary storage",
 "message.creating.systemvm": "Creating system VMs (this may take a while)",
 "message.creating.zone": "Creating zone",
-"message.datacenter.description": "Name of the datacenter on vCenter",
-"message.datastore.description": "Name of the datastore on vCenter",
 "message.data.migration": "Data Migration",
 "message.data.migration.progress": "Data Migration between image stores",
+"message.datacenter.description": "Name of the datacenter on vCenter",
+"message.datastore.description": "Name of the datastore on vCenter",
 "message.dedicate.zone": "Dedicating zone",
 "message.dedicated.zone.released": "Zone dedication released",
 "message.dedicating.cluster": "Dedicating Cluster...",
@@ -2780,6 +2783,7 @@
 "message.desc.create.ssh.key.pair": "Please fill in the following data to create or register a ssh key pair.<br><br>(1) If public key is set, CloudStack will register the public key. You can use it through your private key.<br><br>(2) If public key is not set, CloudStack will create a new SSH Key pair. In this case, please copy and save the private key. CloudStack will not keep it.<br>",
 "message.desc.created.ssh.key.pair": "Created a SSH Key Pair.",
 "message.desc.host": "Each cluster must contain at least one host (computer) for guest VMs to run on, and we will add the first host now. For a host to function in CloudStack, you must install hypervisor software on the host, assign an IP address to the host, and ensure the host is connected to the CloudStack management server.<br/><br/>Give the host's DNS or IP address, the user name (usually root) and password, and any labels you use to categorize hosts.",
+"message.desc.importexportinstancewizard": "This feature only applies Cloudstack VMware clusters. By choosing to Manage an instance, CloudStack takes over the orchestration of that instance. The instance is left running and not physically moved. Unmanaging instances, removes CloudStack ability to mange them (but they are left running and not destroyed)",
 "message.desc.primary.storage": "Each cluster must contain one or more primary storage servers, and we will add the first one now. Primary storage contains the disk volumes for all the VMs running on hosts in the cluster. Use any standards-compliant protocol that is supported by the underlying hypervisor.",
 "message.desc.reset.ssh.key.pair": "Please specify a ssh key pair that you would like to add to this VM. Please note the root password will be changed by this operation if password is enabled.",
 "message.desc.secondary.storage": "Each zone must have at least one NFS or secondary storage server, and we will add the first one now. Secondary storage stores VM templates, ISO images, and VM disk volume snapshots. This server must be available to all hosts in the zone.<br/><br/>Provide the IP address and exported path.",
@@ -2964,7 +2968,6 @@
 "message.guestnetwork.state.shutdown": "Indicates the network configuration is being destroyed",
 "message.host.dedicated": "Host Dedicated",
 "message.host.dedication.released": "Host dedication released",
-"message.desc.importexportinstancewizard": "This feature only applies Cloudstack VMware clusters. By choosing to Manage an instance, CloudStack takes over the orchestration of that instance. The instance is left running and not physically moved. Unmanaging instances, removes CloudStack ability to mange them (but they are left running and not destroyed)",
 "message.info.cloudian.console": "Cloudian Management Console should open in another window",
 "message.installwizard.click.retry": "Click the button to retry launch.",
 "message.installwizard.copy.whatisacluster": "A cluster provides a way to group hosts. The hosts in a cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the same shared storage. Virtual machine instances (VMs) can be live-migrated from one host to another within the same cluster, without interrupting service to the user. A cluster is the third-largest organizational unit within a CloudStack™; deployment. Clusters are contained within pods, an [...]
@@ -3032,11 +3035,11 @@
 "message.migrate.instance.select.host": "Please select a host for migration",
 "message.migrate.instance.to.host": "Please confirm that you want to migrate instance to another host.",
 "message.migrate.instance.to.ps": "Please confirm that you want to migrate instance to another primary storage.",
-"message.migrate.router.confirm": "Please confirm the host you wish to migrate the router to:",
-"message.migrate.systemvm.confirm": "Please confirm the host you wish to migrate the system VM to:",
 "message.migrate.lb.vm.to.ps": "Please confirm that you want to migrate LB VM to another primary storage.",
+"message.migrate.router.confirm": "Please confirm the host you wish to migrate the router to:",
 "message.migrate.router.to.ps": "Please confirm that you want to migrate router to another primary storage.",
 "message.migrate.system.vm.to.ps": "Please confirm that you want to migrate system VM to another primary storage.",
+"message.migrate.systemvm.confirm": "Please confirm the host you wish to migrate the system VM to:",
 "message.migrate.volume": "Please confirm that you want to migrate volume to another primary storage.",
 "message.migrate.volume.failed": "Migrating volume failed",
 "message.migrate.volume.processing": "Migrating volume...",
@@ -3100,8 +3103,8 @@
 "message.pod.dedication.released": "Pod dedication released",
 "message.portable.ip.delete.confirm": "Please confirm you want to delete Portable IP Range",
 "message.processing.complete": "Processing complete!",
-"message.protocol.description": "For XenServer, choose NFS, iSCSI, or PreSetup. For KVM, choose NFS, SharedMountPoint, RDB, CLVM or Gluster. For vSphere, choose NFS, PreSetup (VMFS or iSCSI or FiberChannel or vSAN or vVols) or DatastoreCluster. For Hyper-V, choose SMB/CIFS. For LXC, choose NFS or SharedMountPoint. For OVM, choose NFS or ocfs2.",
 "message.project.invite.sent": "Invite sent to user; they will be added to the project once they accept the invitation",
+"message.protocol.description": "For XenServer, choose NFS, iSCSI, or PreSetup. For KVM, choose NFS, SharedMountPoint, RDB, CLVM or Gluster. For vSphere, choose NFS, PreSetup (VMFS or iSCSI or FiberChannel or vSAN or vVols) or DatastoreCluster. For Hyper-V, choose SMB/CIFS. For LXC, choose NFS or SharedMountPoint. For OVM, choose NFS or ocfs2.",
 "message.public.traffic.in.advanced.zone": "Public traffic is generated when VMs in the cloud access the internet. Publicly-accessible IPs must be allocated for this purpose. End users can use the CloudStack UI to acquire these IPs to implement NAT between their guest network and their public network.<br/><br/>Provide at least one range of IP addresses for internet traffic.",
 "message.public.traffic.in.basic.zone": "Public traffic is generated when VMs in the cloud access the Internet or provide services to clients over the Internet. Publicly accessible IPs must be allocated for this purpose. When a instance is created, an IP from this set of Public IPs will be allocated to the instance in addition to the guest IP address. Static 1-1 NAT will be set up automatically between the public IP and the guest IP. End users can also use the CloudStack UI to acquire ad [...]
 "message.publicip.state.allocated": "The IP address is in used.",
@@ -3259,6 +3262,7 @@
 "message.success.remove.sticky.policy": "Successfully removed sticky policy",
 "message.success.resize.volume": "Successfully resized volume",
 "message.success.scale.kubernetes": "Successfully scaled Kubernetes cluster",
+"message.success.unmanage.instance": "Successfully unmanaged instance",
 "message.success.update.ipaddress": "Successfully updated IP Address",
 "message.success.update.kubeversion": "Successfully updated Kubernetes supported version",
 "message.success.update.user": "Successfully updated user",
@@ -3268,7 +3272,6 @@
 "message.success.upload.iso.description": "This ISO file has been uploaded. Please check its status in the Images > ISOs menu",
 "message.success.upload.template.description": "This template file has been uploaded. Please check its status at Templates menu",
 "message.success.upload.volume.description": "This Volume has been uploaded. Please check its status in the Volumes menu",
-"message.success.unmanage.instance": "Successfully unmanaged instance",
 "message.suspend.project": "Are you sure you want to suspend this project?",
 "message.sussess.discovering.feature": "Discovered all available features!",
 "message.switch.to": "Switched to",
@@ -3276,8 +3279,8 @@
 "message.template.copy.select.zone": "Please select a zone to copy template.",
 "message.template.copying": "Template is being copied.",
 "message.template.desc": "OS image that can be used to boot VMs",
-"message.template.iso": "Please select a template or ISO to continue",
 "message.template.import.vm.temporary": "If  a temporary template is used, reset VM operation will not work after import.",
+"message.template.iso": "Please select a template or ISO to continue",
 "message.tier.required": "Tier is required",
 "message.tooltip.dns.1": "Name of a DNS server for use by VMs in the zone. The public IP addresses for the zone must have a route to this server.",
 "message.tooltip.dns.2": "A second DNS server name for use by VMs in the zone. The public IP addresses for the zone must have a route to this server.",
diff --git a/ui/src/config/section/infra/secondaryStorages.js b/ui/src/config/section/infra/secondaryStorages.js
index d22564d..0c97225 100644
--- a/ui/src/config/section/infra/secondaryStorages.js
+++ b/ui/src/config/section/infra/secondaryStorages.js
@@ -48,14 +48,6 @@ export default {
   }],
   actions: [
     {
-      api: 'migrateSecondaryStorageData',
-      icon: 'drag',
-      label: 'label.migrate.data.from.image.store',
-      listView: true,
-      popup: true,
-      component: () => import('@/views/infra/MigrateData.vue')
-    },
-    {
       api: 'addImageStore',
       icon: 'plus',
       docHelp: 'installguide/configuration.html#add-secondary-storage',
@@ -65,6 +57,14 @@ export default {
       component: () => import('@/views/infra/AddSecondaryStorage.vue')
     },
     {
+      api: 'migrateSecondaryStorageData',
+      icon: 'drag',
+      label: 'label.migrate.data.from.image.store',
+      listView: true,
+      popup: true,
+      component: () => import('@/views/infra/MigrateData.vue')
+    },
+    {
       api: 'updateImageStore',
       icon: 'stop',
       label: 'label.action.image.store.read.only',