Skip to content

Conversation

@cajieh
Copy link
Contributor

@cajieh cajieh commented Feb 2, 2026

Description: This PR adds the missing translations for version 4.21.

Adding latest translations from Memsource project https://cloud.memsource.com/web/project2/show/BR9Gy6Rw7ZXW0Ok5ljAW91

Summary by CodeRabbit

Localization Updates

  • Documentation
    • Expanded translation support across Japanese, Korean, Spanish, French, and Chinese locales with refined and improved UI labels.
    • Added new localized messaging for volume attribute operations and related status notifications.
    • Enhanced consistency and accuracy of existing translations throughout the interface.

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 2, 2026
@openshift-ci-robot
Copy link
Contributor

@cajieh: This pull request references Jira Issue OCPBUGS-73871, which is invalid:

  • expected the bug to target either version "4.22." or "openshift-4.22.", but it targets "4.21.z" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Adding latest translations from Memsource project https://cloud.memsource.com/web/project2/show/BR9Gy6Rw7ZXW0Ok5ljAW91

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 2, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 2, 2026

📝 Walkthrough

Walkthrough

This PR updates localization files across multiple frontend packages including console-app, console-shared, dev-console, knative-plugin, metal3-plugin, operator-lifecycle-manager, topology, and public locales. Changes span Japanese, Korean, Spanish, French, and Chinese translations. Key additions include new VolumeAttributesClass-related translation entries and contact mail UI copy. Several translations receive phrasing refinements, capitalization corrections, and terminology adjustments. Some localization entries are removed to reflect UI changes. No exported entity declarations or control logic are modified—all changes are strictly localization content updates.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title references a Jira issue (OCPBUGS-73871) and indicates this is a routine i18n upload/download task for version 4.21/281, which accurately describes the content—localization file updates across multiple packages and languages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot requested review from jhadvig and rawagner February 2, 2026 12:21
@openshift-ci openshift-ci bot added component/core Related to console core functionality component/dev-console Related to dev-console approved Indicates a PR has been approved by an approver from all required OWNERS files. component/helm Related to helm-plugin component/insights Related to insights plugin component/knative Related to knative-plugin component/metal3 Related to metal3-plugin component/olm Related to OLM component/shared Related to console-shared component/topology Related to topology kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated labels Feb 2, 2026
@cajieh
Copy link
Contributor Author

cajieh commented Feb 2, 2026

/jira refresh

@openshift-ci-robot openshift-ci-robot added jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. and removed jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Feb 2, 2026
@openshift-ci-robot
Copy link
Contributor

@cajieh: This pull request references Jira Issue OCPBUGS-73871, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @XiyunZhao

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested a review from XiyunZhao February 2, 2026 12:23
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 2, 2026
@openshift-ci-robot
Copy link
Contributor

@cajieh: This pull request references Jira Issue OCPBUGS-73871, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.22.0) matches configured target version for branch (4.22.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @XiyunZhao

Details

In response to this:

Adding latest translations from Memsource project https://cloud.memsource.com/web/project2/show/BR9Gy6Rw7ZXW0Ok5ljAW91

Summary by CodeRabbit

Localization Updates

  • Documentation
  • Expanded translation support across Japanese, Korean, Spanish, French, and Chinese locales with refined and improved UI labels.
  • Added new localized messaging for volume attribute operations and related status notifications.
  • Enhanced consistency and accuracy of existing translations throughout the interface.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🤖 Fix all issues with AI agents
In `@frontend/packages/dev-console/locales/ja/devconsole.json`:
- Line 122: The translation for the JSON key "Argument" is wrong — replace the
value "口論" with the correct UI term "引数" in the devconsole.json entry for
"Argument" so the Japanese string reflects the programming term rather than
"quarrel".

In `@frontend/packages/dev-console/locales/zh/devconsole.json`:
- Line 360: The translation for the JSON key "Request" currently uses "要求" which
is inconsistent with Kubernetes terminology; update the value for the "Request"
key in the devconsole.json locale entry to "请求" so it matches other console
messages (e.g., HPA and resource constraint help text) and maintains consistent
Chinese technical terminology.

In `@frontend/packages/knative-plugin/locales/es/knative-plugin.json`:
- Line 105: The Spanish translation for the "Subscribe" action should be
reflexive; update the JSON entry with key "Subscribe" in knative-plugin.json so
its value becomes "Suscribirse" instead of "Suscribir" to reflect the proper
user-action phrasing.

In `@frontend/public/locales/es/public.json`:
- Line 1146: The Spanish translation for the JSON key "Requested
VolumeAttributesClass" uses a masculine plural adjective ("solicitados") but
needs to be feminine singular; update the value to the correct agreement, e.g.,
change it to "Clase de atributos de volumen solicitada" so the adjective matches
the singular feminine noun "Clase".
- Around line 1132-1137: Remove the extra spaces inside the i18n placeholders
for the two Spanish entries so placeholders render without stray spaces: fix the
value for the key matching VolumeAttributesClass \"{{target}}\" is pending
application. (currently contains \"{{target}} \" ) and the value for the key
matching Your volume settings are being updated from \"{{current}}\" to
\"{{target}}\". This may take a few moments. (currently contains \"{{current}}
\" and \"{{target}} \") — ensure placeholders are exactly {{current}} and
{{target}} with no internal trailing spaces.

In `@frontend/public/locales/fr/public.json`:
- Line 1146: The French translation for the key "Requested
VolumeAttributesClass" has incorrect gender agreement: change the value string
from "Classe d'attributs de volume demandé" to use the feminine past participle
("demandée") so it reads "Classe d'attributs de volume demandée" to agree with
"Classe".
- Around line 1132-1137: The French translation for the key "Your volume
settings are being updated from \"{{current}}\" to \"{{target}}\". This may take
a few moments." still contains the English word "to"; update the value to use
correct French wording, e.g. replace "to" with "à" or "vers" so it reads: "Vos
paramètres de volume sont en cours de mise à jour à partir de \"{{current}}\" à
\"{{target}}\". Cela peut prendre quelques instants." Ensure you update the
exact JSON value for that key ("Your volume settings are being updated from
\"{{current}}\" to \"{{target}}\". This may take a few moments.") in
frontend/public/locales/fr/public.json.

In `@frontend/public/locales/ja/public.json`:
- Around line 1132-1137: The translation for the key "Your volume settings are
being updated from \"{{current}}\" to \"{{target}}\". This may take a few
moments." uses 音量設定 (audio volume) instead of the correct storage term ボリューム設定 —
update that Japanese string to replace 音量設定 with ボリューム設定 so it matches the
storage context and the other entries like "VolumeAttributesClass modification
failed" / "VolumeAttributesClass の変更に失敗しました".
- Around line 1149-1153: The translation for the JSON key "Claim" currently uses
the billing-oriented term "請求"; update this to the Kubernetes-appropriate term
(e.g., "クレーム" or keep "Claim") and confirm with the localization reviewer;
specifically change the value for the "Claim" key (near "PersistentVolumeClaims"
and "No claim") to the agreed term and ensure consistency with other
storage-related keys like "PersistentVolumeClaims".

In `@frontend/public/locales/zh/public.json`:
- Line 1570: Replace the awkward translation for the "Utilized by" key
(currently "被利用") with a more natural UI label; update the JSON entry's value to
"使用者" (or "被使用" if context expects passive phrasing) so the key "Utilized by"
reads naturally in Chinese.

"Arguments": "引数",
"Add argument": "引数の追加",
"Argument": "引数",
"Argument": "口論",
Copy link
Contributor

@coderabbitai coderabbitai bot Feb 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Japanese translation for “Argument” is incorrect.

Line 122 uses “口論” (quarrel). The correct UI term is 引数.

✏️ Proposed fix
-  "Argument": "口論",
+  "Argument": "引数",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Argument": "口論",
"Argument": "引数",
🤖 Prompt for AI Agents
In `@frontend/packages/dev-console/locales/ja/devconsole.json` at line 122, The
translation for the JSON key "Argument" is wrong — replace the value "口論" with
the correct UI term "引数" in the devconsole.json entry for "Argument" so the
Japanese string reflects the programming term rather than "quarrel".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if these CodeRabbit translation suggestions are accurate. I'll check with the translations team later on since they're the experts.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cajieh That's a sensible approach—verifying with the translations team is the right call.

For context, the same file already translates the related key "Arguments" as "引数" (line 121) and "Add argument" as "引数の追加" (line 120), both using the programming term "引数". The flagged entry at line 122 stands out because "口論" typically means "quarrel" or "dispute" rather than a command-line or function argument.

Feel free to confirm with the translations team and update accordingly if needed.

    (\(\
    ( -.-)
    o_(")(")  Curious ears up!

"Resource limit": "资源限值",
"Resource limits control how much CPU and memory a container will consume on a node.": "资源限值控制容器在节点上消耗的 CPU 和内存量。",
"Request": "请求",
"Request": "要求",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Find all "Request" entries in zh locale files
rg -n '"Request"' --glob '**/zh/*.json' -A 1 -B 1

Repository: openshift/console

Length of output: 868


🏁 Script executed:

# Check the full context around line 360 in the devconsole.json file
sed -n '355,365p' frontend/packages/dev-console/locales/zh/devconsole.json

Repository: openshift/console

Length of output: 855


🏁 Script executed:

# Search for related resource request/limit terminology in zh files
rg -i 'request|limit|CPU|memory' frontend/packages/dev-console/locales/zh/devconsole.json | head -30

Repository: openshift/console

Length of output: 3522


Revert "Request" translation to "请求" for resource request terminology.

The translation at line 360 uses "要求" (requirement/demand), but Kubernetes resource requests consistently use "请求" throughout the console codebase—see the HorizontalPodAutoscaler messages and resource constraint help text. "请求" is the standard technical term in Kubernetes Chinese documentation. Revert to maintain terminology consistency and clarity for Chinese users.

🤖 Prompt for AI Agents
In `@frontend/packages/dev-console/locales/zh/devconsole.json` at line 360, The
translation for the JSON key "Request" currently uses "要求" which is inconsistent
with Kubernetes terminology; update the value for the "Request" key in the
devconsole.json locale entry to "请求" so it matches other console messages (e.g.,
HPA and resource constraint help text) and maintains consistent Chinese
technical terminology.

"Create Event Source": "Crear fuente de evento",
"Support": "Soporte",
"Subscribe": "Suscribirse a",
"Subscribe": "Suscribir",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use the reflexive form for the user action "Subscribe".

Line 105 reads as a transitive verb; for a user action button, Spanish typically uses “Suscribirse”.

✏️ Proposed fix
-  "Subscribe": "Suscribir",
+  "Subscribe": "Suscribirse",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Subscribe": "Suscribir",
"Subscribe": "Suscribirse",
🤖 Prompt for AI Agents
In `@frontend/packages/knative-plugin/locales/es/knative-plugin.json` at line 105,
The Spanish translation for the "Subscribe" action should be reflexive; update
the JSON entry with key "Subscribe" in knative-plugin.json so its value becomes
"Suscribirse" instead of "Suscribir" to reflect the proper user-action phrasing.

Comment on lines +1132 to +1137
"VolumeAttributesClass modification failed": "Error en la modificación de VolumeAttributesClass",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "Error al modificar VolumeAttributesClass. No se pudo actualizar la configuración del volumen. Inténtalo de nuevo.",
"VolumeAttributesClass application pending": "Solicitud de VolumeAttributesClass pendiente",
"VolumeAttributesClass modification in progress": "Modificación de VolumeAttributesClass en curso",
"VolumeAttributesClass \"{{target}}\" is pending application.": "Clase de atributos de volumen \"{{target}} \" está pendiente de solicitud.",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "La configuración de volumen se está actualizando desde \"{{current}} \" a \"{{target}} \". Esto puede tardar unos instantes.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Remove trailing spaces inside placeholders.
Lines 1136–1137 include extra spaces within {{target}}/{{current}}, which will render in the UI.

✏️ Suggested fix
-  "VolumeAttributesClass \"{{target}}\" is pending application.": "Clase de atributos de volumen \"{{target}} \" está pendiente de solicitud.",
-  "Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "La configuración de volumen se está actualizando desde \"{{current}} \" a \"{{target}} \". Esto puede tardar unos instantes.",
+  "VolumeAttributesClass \"{{target}}\" is pending application.": "Clase de atributos de volumen \"{{target}}\" está pendiente de solicitud.",
+  "Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "La configuración de volumen se está actualizando desde \"{{current}}\" a \"{{target}}\". Esto puede tardar unos instantes.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"VolumeAttributesClass modification failed": "Error en la modificación de VolumeAttributesClass",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "Error al modificar VolumeAttributesClass. No se pudo actualizar la configuración del volumen. Inténtalo de nuevo.",
"VolumeAttributesClass application pending": "Solicitud de VolumeAttributesClass pendiente",
"VolumeAttributesClass modification in progress": "Modificación de VolumeAttributesClass en curso",
"VolumeAttributesClass \"{{target}}\" is pending application.": "Clase de atributos de volumen \"{{target}} \" está pendiente de solicitud.",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "La configuración de volumen se está actualizando desde \"{{current}} \" a \"{{target}} \". Esto puede tardar unos instantes.",
"VolumeAttributesClass modification failed": "Error en la modificación de VolumeAttributesClass",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "Error al modificar VolumeAttributesClass. No se pudo actualizar la configuración del volumen. Inténtalo de nuevo.",
"VolumeAttributesClass application pending": "Solicitud de VolumeAttributesClass pendiente",
"VolumeAttributesClass modification in progress": "Modificación de VolumeAttributesClass en curso",
"VolumeAttributesClass \"{{target}}\" is pending application.": "Clase de atributos de volumen \"{{target}}\" está pendiente de solicitud.",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "La configuración de volumen se está actualizando desde \"{{current}}\" a \"{{target}}\". Esto puede tardar unos instantes.",
🤖 Prompt for AI Agents
In `@frontend/public/locales/es/public.json` around lines 1132 - 1137, Remove the
extra spaces inside the i18n placeholders for the two Spanish entries so
placeholders render without stray spaces: fix the value for the key matching
VolumeAttributesClass \"{{target}}\" is pending application. (currently contains
\"{{target}} \" ) and the value for the key matching Your volume settings are
being updated from \"{{current}}\" to \"{{target}}\". This may take a few
moments. (currently contains \"{{current}} \" and \"{{target}} \") — ensure
placeholders are exactly {{current}} and {{target}} with no internal trailing
spaces.

"Access modes": "Modos de acceso",
"Volume mode": "Modo de volumen",
"StorageClasses": "StorageClasses",
"Requested VolumeAttributesClass": "Clase de atributos de volumen solicitados",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix number/gender agreement in Spanish translation.
“Clase … solicitados” should be singular feminine.

✏️ Suggested fix
-  "Requested VolumeAttributesClass": "Clase de atributos de volumen solicitados",
+  "Requested VolumeAttributesClass": "Clase de atributos de volumen solicitada",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Requested VolumeAttributesClass": "Clase de atributos de volumen solicitados",
"Requested VolumeAttributesClass": "Clase de atributos de volumen solicitada",
🤖 Prompt for AI Agents
In `@frontend/public/locales/es/public.json` at line 1146, The Spanish translation
for the JSON key "Requested VolumeAttributesClass" uses a masculine plural
adjective ("solicitados") but needs to be feminine singular; update the value to
the correct agreement, e.g., change it to "Clase de atributos de volumen
solicitada" so the adjective matches the singular feminine noun "Clase".

Comment on lines +1132 to +1137
"VolumeAttributesClass modification failed": "La modification de la classe VolumeAttributes a échoué",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "La modification de la classe VolumeAttributes a échoué. Vos paramètres de volume n'ont pas pu être mis à jour. Veuillez réessayer.",
"VolumeAttributesClass application pending": "Application VolumeAttributesClass en attente",
"VolumeAttributesClass modification in progress": "Modification de la classe VolumeAttributes en cours",
"VolumeAttributesClass \"{{target}}\" is pending application.": "Classe d'attributs de volume \"{{target}}\" est en attente de demande.",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "Vos paramètres de volume sont en cours de mise à jour à partir de \"{{current}}\" to \"{{target}}\". Cela peut prendre quelques instants.",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix leftover English in French sentence.
Line 1137 includes “to” which is user-visible and breaks the French translation.

✏️ Suggested fix
-  "Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "Vos paramètres de volume sont en cours de mise à jour à partir de \"{{current}}\" to \"{{target}}\". Cela peut prendre quelques instants.",
+  "Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "Vos paramètres de volume sont en cours de mise à jour à partir de \"{{current}}\" vers \"{{target}}\". Cela peut prendre quelques instants.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"VolumeAttributesClass modification failed": "La modification de la classe VolumeAttributes a échoué",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "La modification de la classe VolumeAttributes a échoué. Vos paramètres de volume n'ont pas pu être mis à jour. Veuillez réessayer.",
"VolumeAttributesClass application pending": "Application VolumeAttributesClass en attente",
"VolumeAttributesClass modification in progress": "Modification de la classe VolumeAttributes en cours",
"VolumeAttributesClass \"{{target}}\" is pending application.": "Classe d'attributs de volume \"{{target}}\" est en attente de demande.",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "Vos paramètres de volume sont en cours de mise à jour à partir de \"{{current}}\" to \"{{target}}\". Cela peut prendre quelques instants.",
"VolumeAttributesClass modification failed": "La modification de la classe VolumeAttributes a échoué",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "La modification de la classe VolumeAttributes a échoué. Vos paramètres de volume n'ont pas pu être mis à jour. Veuillez réessayer.",
"VolumeAttributesClass application pending": "Application VolumeAttributesClass en attente",
"VolumeAttributesClass modification in progress": "Modification de la classe VolumeAttributes en cours",
"VolumeAttributesClass \"{{target}}\" is pending application.": "Classe d'attributs de volume \"{{target}}\" est en attente de demande.",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "Vos paramètres de volume sont en cours de mise à jour à partir de \"{{current}}\" vers \"{{target}}\". Cela peut prendre quelques instants.",
🤖 Prompt for AI Agents
In `@frontend/public/locales/fr/public.json` around lines 1132 - 1137, The French
translation for the key "Your volume settings are being updated from
\"{{current}}\" to \"{{target}}\". This may take a few moments." still contains
the English word "to"; update the value to use correct French wording, e.g.
replace "to" with "à" or "vers" so it reads: "Vos paramètres de volume sont en
cours de mise à jour à partir de \"{{current}}\" à \"{{target}}\". Cela peut
prendre quelques instants." Ensure you update the exact JSON value for that key
("Your volume settings are being updated from \"{{current}}\" to \"{{target}}\".
This may take a few moments.") in frontend/public/locales/fr/public.json.

"Access modes": "Modes d’accès",
"Volume mode": "Mode Volume",
"StorageClasses": "StorageClasses",
"Requested VolumeAttributesClass": "Classe d'attributs de volume demandé",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix gender agreement in French translation.
“Classe … demandé” should be feminine to match “classe”.

✏️ Suggested fix
-  "Requested VolumeAttributesClass": "Classe d'attributs de volume demandé",
+  "Requested VolumeAttributesClass": "Classe d'attributs de volume demandée",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Requested VolumeAttributesClass": "Classe d'attributs de volume demandé",
"Requested VolumeAttributesClass": "Classe d'attributs de volume demandée",
🤖 Prompt for AI Agents
In `@frontend/public/locales/fr/public.json` at line 1146, The French translation
for the key "Requested VolumeAttributesClass" has incorrect gender agreement:
change the value string from "Classe d'attributs de volume demandé" to use the
feminine past participle ("demandée") so it reads "Classe d'attributs de volume
demandée" to agree with "Classe".

Comment on lines +1132 to +1137
"VolumeAttributesClass modification failed": "VolumeAttributesClass の変更に失敗しました",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "VolumeAttributesClass の変更に失敗しました。ボリューム設定を更新できませんでした。再試行してください。",
"VolumeAttributesClass application pending": "VolumeAttributesClass の適用が保留されています",
"VolumeAttributesClass modification in progress": "VolumeAttributesClass の変更が進行中です",
"VolumeAttributesClass \"{{target}}\" is pending application.": "VolumeAttributesClass \"{{target}}\" が適用を保留しています。",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "音量設定を \"{{current}}\" から \"{{target}}\" に更新しています。これには数分かかる場合があります。",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, let's examine the full context of the localization file around the flagged lines
head -n 1150 frontend/public/locales/ja/public.json | tail -n 30

Repository: openshift/console

Length of output: 1737


🏁 Script executed:

# Search for other instances of "ボリューム" (storage volume) in the Japanese localization
rg "ボリューム" frontend/public/locales/ja/public.json

Repository: openshift/console

Length of output: 2721


🏁 Script executed:

# Search for "音量" (audio volume) to see if it's used elsewhere
rg "音量" frontend/public/locales/ja/public.json

Repository: openshift/console

Length of output: 243


🏁 Script executed:

# Search for "VolumeAttributesClass" context in the file
rg -A 2 -B 2 "VolumeAttributesClass" frontend/public/locales/ja/public.json

Repository: openshift/console

Length of output: 2150


Fix mistranslation in VolumeAttributesClass update message

Line 1137 uses 音量設定 (audio volume settings) but should use ボリューム設定 (storage volume settings). The inconsistency is clear—line 1134 correctly translates the same concept as ボリューム設定 in storage context. 音量 doesn't appear anywhere else in the localization file and doesn't fit the VolumeAttributesClass domain.

🔧 Fix
-  "Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "音量設定を \"{{current}}\" から \"{{target}}\" に更新しています。これには数分かかる場合があります。",
+  "Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "ボリューム設定を \"{{current}}\" から \"{{target}}\" に更新しています。これには数分かかる場合があります。",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"VolumeAttributesClass modification failed": "VolumeAttributesClass の変更に失敗しました",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "VolumeAttributesClass の変更に失敗しました。ボリューム設定を更新できませんでした。再試行してください。",
"VolumeAttributesClass application pending": "VolumeAttributesClass の適用が保留されています",
"VolumeAttributesClass modification in progress": "VolumeAttributesClass の変更が進行中です",
"VolumeAttributesClass \"{{target}}\" is pending application.": "VolumeAttributesClass \"{{target}}\" が適用を保留しています。",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "音量設定を \"{{current}}\" から \"{{target}}\" に更新しています。これには数分かかる場合があります。",
"VolumeAttributesClass modification failed": "VolumeAttributesClass の変更に失敗しました",
"VolumeAttributesClass modification failed. Your volume settings could not be updated. Please try again.": "VolumeAttributesClass の変更に失敗しました。ボリューム設定を更新できませんでした。再試行してください。",
"VolumeAttributesClass application pending": "VolumeAttributesClass の適用が保留されています",
"VolumeAttributesClass modification in progress": "VolumeAttributesClass の変更が進行中です",
"VolumeAttributesClass \"{{target}}\" is pending application.": "VolumeAttributesClass \"{{target}}\" が適用を保留しています。",
"Your volume settings are being updated from \"{{current}}\" to \"{{target}}\". This may take a few moments.": "ボリューム設定を \"{{current}}\" から \"{{target}}\" に更新しています。これには数分かかる場合があります。",
🤖 Prompt for AI Agents
In `@frontend/public/locales/ja/public.json` around lines 1132 - 1137, The
translation for the key "Your volume settings are being updated from
\"{{current}}\" to \"{{target}}\". This may take a few moments." uses 音量設定
(audio volume) instead of the correct storage term ボリューム設定 — update that
Japanese string to replace 音量設定 with ボリューム設定 so it matches the storage context
and the other entries like "VolumeAttributesClass modification failed" /
"VolumeAttributesClass の変更に失敗しました".

Comment on lines +1149 to +1153
"Bound": "バウンド",
"Lost": "消失",
"PersistentVolumeClaims": "PersistentVolumeClaims",
"No claim": "要求がありません",
"Claim": "要求",
"Claim": "請求",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Terminology check for “Claim”.
Line 1153 uses “請求”, which is billing-oriented. In K8s storage context, “クレーム” (or keeping “Claim”) is more idiomatic. Please confirm with the localization reviewer.

🔧 Suggested tweak
-  "Claim": "請求",
+  "Claim": "クレーム",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Bound": "バウンド",
"Lost": "消失",
"PersistentVolumeClaims": "PersistentVolumeClaims",
"No claim": "要求がありません",
"Claim": "要求",
"Claim": "請求",
"Bound": "バウンド",
"Lost": "消失",
"PersistentVolumeClaims": "PersistentVolumeClaims",
"No claim": "要求がありません",
"Claim": "クレーム",
🤖 Prompt for AI Agents
In `@frontend/public/locales/ja/public.json` around lines 1149 - 1153, The
translation for the JSON key "Claim" currently uses the billing-oriented term
"請求"; update this to the Kubernetes-appropriate term (e.g., "クレーム" or keep
"Claim") and confirm with the localization reviewer; specifically change the
value for the "Claim" key (near "PersistentVolumeClaims" and "No claim") to the
agreed term and ensure consistency with other storage-related keys like
"PersistentVolumeClaims".

"SubPath": "子路径",
"Permissions": "权限",
"Utilized by": "利用",
"Utilized by": "被利用",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

“Utilized by” translation is awkward/negative.

Line 1570 “被利用” has a negative connotation. For UI labels, “使用者” or “被…使用” is more natural.

✏️ Proposed fix
-  "Utilized by": "被利用",
+  "Utilized by": "使用者",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Utilized by": "被利用",
"Utilized by": "使用者",
🤖 Prompt for AI Agents
In `@frontend/public/locales/zh/public.json` at line 1570, Replace the awkward
translation for the "Utilized by" key (currently "被利用") with a more natural UI
label; update the JSON entry's value to "使用者" (or "被使用" if context expects
passive phrasing) so the key "Utilized by" reads naturally in Chinese.

Copy link
Member

@jhadvig jhadvig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comments, but good to go 👍
/lgtm

{
"Core platform": "コアプラットフォーム",
"PodDisruptionBudget": "PodDisruptionBudget",
"PodDisruptionBudget": "Pod ディスラプション予算",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

its odd that the singular is partially translated but plural is not

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this looks like a gotcha! Should be revert since Resource Kind should not be translated.

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 2, 2026
@krishagarwal278
Copy link
Member

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 2, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 2, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: cajieh, jhadvig, krishagarwal278

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@cajieh
Copy link
Contributor Author

cajieh commented Feb 2, 2026

/verified later @yapei

@cajieh
Copy link
Contributor Author

cajieh commented Feb 2, 2026

/retest

@openshift-ci-robot openshift-ci-robot added verified-later verified Signifies that the PR passed pre-merge verification criteria labels Feb 2, 2026
@openshift-ci-robot
Copy link
Contributor

@cajieh: This PR has been marked to be verified later by @yapei.

Details

In response to this:

/verified later @yapei

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD a637798 and 2 for PR HEAD 3788713 in total

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD c4f8ee0 and 1 for PR HEAD 3788713 in total

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD c99c674 and 0 for PR HEAD 3788713 in total

@openshift-ci-robot
Copy link
Contributor

/hold

Revision 3788713 was retested 3 times: holding

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 3, 2026
@cajieh
Copy link
Contributor Author

cajieh commented Feb 4, 2026

/test e2e-gcp-console

@cajieh
Copy link
Contributor Author

cajieh commented Feb 4, 2026

/unhold

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 4, 2026
@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD d101674 and 2 for PR HEAD 3788713 in total

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD d0bb742 and 1 for PR HEAD 3788713 in total

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD 61387af and 0 for PR HEAD 3788713 in total

@openshift-ci-robot
Copy link
Contributor

/hold

Revision 3788713 was retested 3 times: holding

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 6, 2026
@cajieh
Copy link
Contributor Author

cajieh commented Feb 6, 2026

/unhold
/retest

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 6, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 7, 2026

@cajieh: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 1a2a337 into openshift:main Feb 7, 2026
8 checks passed
@openshift-ci-robot
Copy link
Contributor

@cajieh: Jira Issue OCPBUGS-73871: All pull requests linked via external trackers have merged:

This pull request has the verified-later tag and will need to be manually moved to VERIFIED after testing. Jira Issue OCPBUGS-73871 has been moved to the MODIFIED state.

Details

In response to this:

Description: This PR adds the missing translations for version 4.21.

Adding latest translations from Memsource project https://cloud.memsource.com/web/project2/show/BR9Gy6Rw7ZXW0Ok5ljAW91

Summary by CodeRabbit

Localization Updates

  • Documentation
  • Expanded translation support across Japanese, Korean, Spanish, French, and Chinese locales with refined and improved UI labels.
  • Added new localized messaging for volume attribute operations and related status notifications.
  • Enhanced consistency and accuracy of existing translations throughout the interface.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@cajieh
Copy link
Contributor Author

cajieh commented Feb 9, 2026

/cherry-pick release-4.21

@openshift-cherrypick-robot

@cajieh: new pull request created: #16006

Details

In response to this:

/cherry-pick release-4.21

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/core Related to console core functionality component/dev-console Related to dev-console component/helm Related to helm-plugin component/insights Related to insights plugin component/knative Related to knative-plugin component/metal3 Related to metal3-plugin component/olm Related to OLM component/shared Related to console-shared component/topology Related to topology jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria verified-later

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants