From 0833cfcaf7143c7a545f181b6afe795bf21aa6e0 Mon Sep 17 00:00:00 2001 From: Timothy Asir Jeyasingh Date: Tue, 29 Aug 2023 13:53:46 +0530 Subject: [PATCH] Support translation for ODF sub tab items Signed-off-by: Timothy Asir Jeyasingh --- locales/en/plugin__odf-console.json | 8 ++++++++ .../ocs/block-pool/BlockPoolDetailsPage.tsx | 6 +++--- .../odf/components/mcg/ObjectBucketClaim.tsx | 6 +++--- .../BackingStoreDetailsPage.tsx | 6 +++--- .../resource-pages/BucketClassDetailsPage.tsx | 6 +++--- .../NamespaceStoreDetailsPage.tsx | 6 +++--- packages/odf/i18n-comments.ts | 9 +++++++++ plugins/odf/console-extensions.json | 20 +++++++++---------- 8 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 packages/odf/i18n-comments.ts diff --git a/locales/en/plugin__odf-console.json b/locales/en/plugin__odf-console.json index 5f7a8ede3..99e548109 100644 --- a/locales/en/plugin__odf-console.json +++ b/locales/en/plugin__odf-console.json @@ -302,6 +302,8 @@ "StorageSystem details": "StorageSystem details", "Edit BlockPool": "Edit BlockPool", "Delete BlockPool": "Delete BlockPool", + "YAML": "YAML", + "Events": "Events", "StorageClasses": "StorageClasses", "Replicas": "Replicas", "Used capacity": "Used capacity", @@ -965,6 +967,12 @@ "If you wish to use the Arbiter stretch cluster, a minimum of 4 nodes (2 different zones, 2 nodes per zone) and 1 additional zone with 1 node is required. All nodes must be pre-labeled with zones in order to be validated on cluster creation.": "If you wish to use the Arbiter stretch cluster, a minimum of 4 nodes (2 different zones, 2 nodes per zone) and 1 additional zone with 1 node is required. All nodes must be pre-labeled with zones in order to be validated on cluster creation.", "Selected nodes are based on the StorageClass <1>{{scName}} and with a recommended requirement of 14 CPU and 34 GiB RAM per node.": "Selected nodes are based on the StorageClass <1>{{scName}} and with a recommended requirement of 14 CPU and 34 GiB RAM per node.", "Selected nodes are based on the StorageClass <1>{{scName}} and fulfill the stretch cluster requirements with a recommended requirement of 14 CPU and 34 GiB RAM per node.": "Selected nodes are based on the StorageClass <1>{{scName}} and fulfill the stretch cluster requirements with a recommended requirement of 14 CPU and 34 GiB RAM per node.", + "Backing Store": "Backing Store", + "Bucket Class": "Bucket Class", + "Namespace Store": "Namespace Store", + "Object Buckets": "Object Buckets", + "Object Bucket Claims": "Object Bucket Claims", + "Topology": "Topology", "x {{ replica, number }} replicas =": "x {{ replica, number }} replicas =", "No StorageClass selected": "No StorageClass selected", "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.": "The Arbiter stretch cluster requires a minimum of 4 nodes (2 different zones, 2 nodes per zone). Please choose a different StorageClass or create a new LocalVolumeSet that matches the minimum node requirement.", diff --git a/packages/ocs/block-pool/BlockPoolDetailsPage.tsx b/packages/ocs/block-pool/BlockPoolDetailsPage.tsx index 902a8b618..834958f67 100644 --- a/packages/ocs/block-pool/BlockPoolDetailsPage.tsx +++ b/packages/ocs/block-pool/BlockPoolDetailsPage.tsx @@ -95,17 +95,17 @@ export const BlockPoolDetailsPage: React.FC = ({ pages={[ { href: '', - name: 'Details', + name: t('Details'), component: BlockPoolDashboard as any, }, { href: 'yaml', - name: 'YAML', + name: t('YAML'), component: YAMLEditorWrapped, }, { href: 'events', - name: 'Events', + name: t('Events'), component: EventStreamWrapped, }, ]} diff --git a/packages/odf/components/mcg/ObjectBucketClaim.tsx b/packages/odf/components/mcg/ObjectBucketClaim.tsx index 315ddd008..bf9118c11 100644 --- a/packages/odf/components/mcg/ObjectBucketClaim.tsx +++ b/packages/odf/components/mcg/ObjectBucketClaim.tsx @@ -435,17 +435,17 @@ export const OBCDetailsPage: React.FC = ({ pages={[ { href: '', - name: 'Details', + name: t('Details'), component: OBCDetails as any, }, { href: 'yaml', - name: 'YAML', + name: t('YAML'), component: YAMLEditorWrapped, }, { href: 'events', - name: 'Events', + name: t('Events'), component: EventStreamWrapped, }, ]} diff --git a/packages/odf/components/resource-pages/BackingStoreDetailsPage.tsx b/packages/odf/components/resource-pages/BackingStoreDetailsPage.tsx index 3ba77be4f..83e23e3f3 100644 --- a/packages/odf/components/resource-pages/BackingStoreDetailsPage.tsx +++ b/packages/odf/components/resource-pages/BackingStoreDetailsPage.tsx @@ -90,17 +90,17 @@ const BackingStoreDetailsPage: React.FC = ({ pages={[ { href: '', - name: 'Details', + name: t('Details'), component: BSDetails, }, { href: 'yaml', - name: 'YAML', + name: t('YAML'), component: YAMLEditorWrapped, }, { href: 'events', - name: 'Events', + name: t('Events'), component: EventStreamWrapped, }, ]} diff --git a/packages/odf/components/resource-pages/BucketClassDetailsPage.tsx b/packages/odf/components/resource-pages/BucketClassDetailsPage.tsx index 32cc2f0b0..1be76c233 100644 --- a/packages/odf/components/resource-pages/BucketClassDetailsPage.tsx +++ b/packages/odf/components/resource-pages/BucketClassDetailsPage.tsx @@ -136,17 +136,17 @@ const BucketClassDetailsPage: React.FC = ({ pages={[ { href: '', - name: 'Details', + name: t('Details'), component: BCDetails, }, { href: 'yaml', - name: 'YAML', + name: t('YAML'), component: YAMLEditorWrapped, }, { href: 'events', - name: 'Events', + name: t('Events'), component: EventStreamWrapped, }, ]} diff --git a/packages/odf/components/resource-pages/NamespaceStoreDetailsPage.tsx b/packages/odf/components/resource-pages/NamespaceStoreDetailsPage.tsx index 79345ba9d..500105ed2 100644 --- a/packages/odf/components/resource-pages/NamespaceStoreDetailsPage.tsx +++ b/packages/odf/components/resource-pages/NamespaceStoreDetailsPage.tsx @@ -91,17 +91,17 @@ const NamespaceStoreDetailsPage: React.FC = ({ pages={[ { href: '', - name: 'Details', + name: t('Details'), component: NSDetails, }, { href: 'yaml', - name: 'YAML', + name: t('YAML'), component: YAMLEditorWrapped, }, { href: 'events', - name: 'Events', + name: t('Events'), component: EventStreamWrapped, }, ]} diff --git a/packages/odf/i18n-comments.ts b/packages/odf/i18n-comments.ts new file mode 100644 index 000000000..b9f4405d5 --- /dev/null +++ b/packages/odf/i18n-comments.ts @@ -0,0 +1,9 @@ +// This file adds comments recognized by the react-i18next-parser so that +// labels declared in console-extensions.json are added to the odf's translation namespace. + +// t('Backing Store') +// t('Bucket Class') +// t('Namespace Store') +// t('Object Buckets') +// t('Object Bucket Claims') +// t('Topology') diff --git a/plugins/odf/console-extensions.json b/plugins/odf/console-extensions.json index 145a989a3..c87777079 100644 --- a/plugins/odf/console-extensions.json +++ b/plugins/odf/console-extensions.json @@ -61,7 +61,7 @@ "id": "odfdashboard", "insertBefore": "persistentvolumes", "section": "storage", - "name": "Data Foundation", + "name": "%plugin__odf-console~Data Foundation%", "href": "/odf/cluster" }, "flags": { @@ -486,7 +486,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "topology", - "name": "Topology", + "name": "%plugin__odf-console~Topology%", "contextId": "odf-dashboard", "before": "systems", "href": "topology", @@ -538,7 +538,7 @@ "insertBefore": "persistentvolumes", "insertAfter": "odfdashboard", "section": "storage", - "name": "Object Storage", + "name": "%plugin__odf-console~Object Storage%", "href": "/odf/object-storage" }, "flags": { @@ -561,7 +561,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "backing-store", - "name": "Backing Store", + "name": "%plugin__odf-console~Backing Store%", "contextId": "odf-object-service", "href": "resource/noobaa.io~v1alpha1~BackingStore", "component": { @@ -576,7 +576,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "bucket-class", - "name": "Bucket Class", + "name": "%plugin__odf-console~Bucket Class%", "contextId": "odf-object-service", "after": "backing-store", "href": "resource/noobaa.io~v1alpha1~BucketClass", @@ -592,7 +592,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "namespace-store", - "name": "Namespace Store", + "name": "%plugin__odf-console~Namespace Store%", "contextId": "odf-object-service", "after": "bucket-class", "href": "resource/noobaa.io~v1alpha1~NamespaceStore", @@ -608,7 +608,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "objectbuckets", - "name": "Object Buckets", + "name": "%plugin__odf-console~Object Buckets%", "contextId": "odf-object-service", "after": "namespace-store", "href": "resource/objectbucket.io~v1alpha1~ObjectBucket", @@ -624,7 +624,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "objectbuckets", - "name": "Object Buckets", + "name": "%plugin__odf-console~Object Buckets%", "contextId": "odf-object-service", "after": "namespace-store", "href": "resource/objectbucket.io~v1alpha1~ObjectBucket", @@ -651,7 +651,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "objectbucketclaims", - "name": "Object Bucket Claims", + "name": "%plugin__odf-console~Object Bucket Claims%", "contextId": "odf-object-service", "after": "objectbuckets", "href": "resource/objectbucket.io~v1alpha1~ObjectBucketClaim", @@ -667,7 +667,7 @@ "type": "odf.horizontalNav/tab", "properties": { "id": "objectbucketclaims", - "name": "Object Bucket Claims", + "name": "%plugin__odf-console~Object Bucket Claims%", "contextId": "odf-object-service", "after": "objectbuckets", "href": "resource/objectbucket.io~v1alpha1~ObjectBucketClaim",