Skip to content

CONSOLE-5428: i18next-cli migration follow up - #16864

Merged
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
logonoff:i18n
Jul 28, 2026
Merged

CONSOLE-5428: i18next-cli migration follow up#16864
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
logonoff:i18n

Conversation

@logonoff

@logonoff logonoff commented Jul 27, 2026

Copy link
Copy Markdown
Member

Analysis / Root cause:

follow ups to #16796

Solution description:

Summary by CodeRabbit

  • New Features
    • Improved localization across API event titles, activity labels, modal/overlay controls, resource stub pages, and error messaging.
    • Added automated extraction of translation keys from console extension definitions.
  • Bug Fixes
    • Corrected pluralization entries for item/task as well as Cron Job and Worker Node counts.
  • Documentation
    • Updated i18n instructions to use the CLI-based extraction workflow and removed obsolete steps.
  • Chores
    • Migrated i18n scripts from the prior parser to the newer i18next-cli lint/extract flow.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 27, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This pull request explicitly references no jira issue.

Details

In response to this:

Analysis / Root cause:

follow ups to #16796

Solution description:

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.

@logonoff logonoff changed the title NO-JIRA: Fix "items" not being pluralized in quick starts page CONSOLE-5428: i18next-cli migration follow up Jul 27, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@logonoff: This pull request references CONSOLE-5428 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Analysis / Root cause:

follow ups to #16796

Solution description:

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.

@logonoff

Copy link
Copy Markdown
Member Author

/label px-approved
/label docs-approved

@openshift-ci
openshift-ci Bot requested review from cajieh and rhamilto July 27, 2026 20:54
@openshift-ci openshift-ci Bot added component/core Related to console core functionality component/sdk Related to console-plugin-sdk approved Indicates a PR has been approved by an approver from all required OWNERS files. px-approved Signifies that Product Support has signed off on this PR kind/demo-plugin Related to dynamic-demo-plugin docs-approved Signifies that Docs has signed off on this PR kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated labels Jul 27, 2026
@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b0a92b04-5b51-475b-9ad4-e0d5bb037546

📥 Commits

Reviewing files that changed from the base of the PR and between b86b8e2 and 5031502.

⛔ Files ignored due to path filters (1)
  • dynamic-demo-plugin/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (13)
  • dynamic-demo-plugin/README.md
  • dynamic-demo-plugin/i18next-parser.config.js
  • dynamic-demo-plugin/i18next.config.ts
  • dynamic-demo-plugin/locales/en/plugin__console-demo-plugin.json
  • dynamic-demo-plugin/locales/en/plugin__console-plugin-template.json
  • dynamic-demo-plugin/package.json
  • dynamic-demo-plugin/src/components/APIServerEvents.tsx
  • dynamic-demo-plugin/src/components/ClusterOverview/Activity.tsx
  • dynamic-demo-plugin/src/components/ErrorBoundary/DemoErrorBoundary.tsx
  • dynamic-demo-plugin/src/components/Modals/ModalPage.tsx
  • dynamic-demo-plugin/src/components/stubPages.tsx
  • dynamic-demo-plugin/src/i18n.ts
  • frontend/i18n-scripts/README.md
💤 Files with no reviewable changes (4)
  • frontend/i18n-scripts/README.md
  • dynamic-demo-plugin/locales/en/plugin__console-plugin-template.json
  • dynamic-demo-plugin/i18next-parser.config.js
  • dynamic-demo-plugin/src/i18n.ts
🚧 Files skipped from review as they are similar to previous changes (9)
  • dynamic-demo-plugin/README.md
  • dynamic-demo-plugin/src/components/ErrorBoundary/DemoErrorBoundary.tsx
  • dynamic-demo-plugin/package.json
  • dynamic-demo-plugin/src/components/APIServerEvents.tsx
  • dynamic-demo-plugin/src/components/stubPages.tsx
  • dynamic-demo-plugin/src/components/ClusterOverview/Activity.tsx
  • dynamic-demo-plugin/locales/en/plugin__console-demo-plugin.json
  • dynamic-demo-plugin/i18next.config.ts
  • dynamic-demo-plugin/src/components/Modals/ModalPage.tsx

Walkthrough

The PR migrates dynamic-demo-plugin internationalization to i18next-cli, adds console-extension key extraction, translates plugin UI components, updates English catalogs, and changes console-app pluralization keys.

Changes

Internationalization migration

Layer / File(s) Summary
i18next-cli extraction setup
dynamic-demo-plugin/i18next.config.ts, dynamic-demo-plugin/package.json, dynamic-demo-plugin/README.md, frontend/i18n-scripts/README.md
Adds i18next-cli extraction configuration and console-extension key handling, updates the package script and dependency, and updates i18n documentation.
Dynamic plugin localized UI
dynamic-demo-plugin/src/components/..., dynamic-demo-plugin/locales/en/*
Replaces hardcoded dynamic plugin UI strings with translations and updates English catalog keys, wording, and pluralization entries.
Console-app pluralization references
frontend/packages/console-app/locales/en/console-app.json, frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx
Changes item and task count keys to base and explicit plural forms and updates extraction hints.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested labels: jira/severity-low

Suggested reviewers: rhamilto, cajieh

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers root cause and solution, but most required template sections are missing or empty. Add the missing sections: screenshots, test setup, test cases, browser conformance, additional info, and reviewers/assignees.
✅ Passed checks (14 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise, Jira-prefixed, and matches the i18next-cli migration follow-up.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed No Ginkgo test titles were added or modified in the PR; the touched files are docs, i18n config, locales, and app components only.
Test Structure And Quality ✅ Passed No Ginkgo test code was changed; the modified tests are standard testing/Jest files, so the Ginkgo-specific review is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the diff only tweaks existing Playwright specs and assertions, so MicroShift compatibility isn’t newly impacted.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the changed files are i18n/component updates and contain no SNO assumptions or skip logic.
Topology-Aware Scheduling Compatibility ✅ Passed Only i18n/UI locale files and translation wiring changed; no deployment manifests, operator controllers, or scheduling constraints were modified.
Ote Binary Stdout Contract ✅ Passed No changed process-level code writes to stdout; the only added logging is console.error/console.warn in a CLI plugin, which goes to stderr.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Only a README was changed; no new Ginkgo tests or network code was added.
No-Weak-Crypto ✅ Passed The patch adds i18n migrations only; no diff hunks contain weak crypto, custom crypto, or secret/token comparisons.
Container-Privileges ✅ Passed No changed files are manifests, and the PR diff adds none of the flagged privilege settings (privileged, hostPID/network/IPC, allowPrivilegeEscalation, SYS_ADMIN, runAsUser:0).
No-Sensitive-Data-In-Logs ✅ Passed Only new logs are parse warnings in i18next.config.ts, and they reference local translation labels from console-extensions.json, not secrets or PII.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@logonoff

Copy link
Copy Markdown
Member Author

/label plugin-api-changed

@openshift-ci

openshift-ci Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@logonoff: The label(s) plugin-api-changed cannot be applied or removed, because you are not in one of the allowed teams and are not an allowed user. Consider assigning one of the following members: jhadvig,vojtechszocs,spadgett

Details

In response to this:

/label plugin-api-changed

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md`:
- Line 117: Correct the deprecated tooling reference in the release note by
changing `i8next-parser` to `i18next-parser`; leave the surrounding migration
guidance unchanged.
- Around line 136-137: Update the i18n configuration example’s defaultNS field
to use a quoted, valid placeholder namespace such as “plugin__my-plugin” instead
of an inline comment, so the example can be copied as valid TypeScript.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: e13db201-2d9f-4d95-9a7e-f2f086db8115

📥 Commits

Reviewing files that changed from the base of the PR and between 3f46861 and ab8b2d2.

📒 Files selected for processing (7)
  • dynamic-demo-plugin/i18next.config.ts
  • frontend/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md
  • frontend/packages/console-dynamic-plugin-sdk/scripts/package-definitions.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsPlugin.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/lib-webpack.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • dynamic-demo-plugin/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/lib-webpack.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsPlugin.ts
  • frontend/i18next.config.ts

Comment thread frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md Outdated
Comment thread frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md Outdated
@logonoff
logonoff force-pushed the i18n branch 2 times, most recently from eb0f264 to ff5927f Compare July 27, 2026 21:36

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md`:
- Line 136: Update the defaultNS example in the internationalization
configuration to use the documented double-underscore namespace convention,
changing the value from plugin_my-swanker-plugin to plugin__my-swanker-plugin so
it matches the extension translation keys and the convention used elsewhere in
the release notes.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5a181515-1d38-45f2-9c58-93ad37bd4d1d

📥 Commits

Reviewing files that changed from the base of the PR and between ab8b2d2 and eb0f264.

📒 Files selected for processing (7)
  • dynamic-demo-plugin/i18next.config.ts
  • frontend/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md
  • frontend/packages/console-dynamic-plugin-sdk/scripts/package-definitions.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsPlugin.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/lib-webpack.ts
🚧 Files skipped from review as they are similar to previous changes (6)
  • dynamic-demo-plugin/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/scripts/package-definitions.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/lib-webpack.ts
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsPlugin.ts
  • frontend/i18next.config.ts

Comment thread frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md Outdated
@logonoff
logonoff force-pushed the i18n branch 3 times, most recently from 3c25a30 to 6e51756 Compare July 27, 2026 21:40
@logonoff

Copy link
Copy Markdown
Member Author

@coderabbitai resume

@coderabbitai

coderabbitai Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Reviews resumed.

@logonoff
logonoff force-pushed the i18n branch 2 times, most recently from 670c63c to 91bc23f Compare July 28, 2026 02:50

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsI18nextCliPlugin.ts`:
- Around line 41-50: Update the placeholder extraction logic in the parse
callback to validate the entire placeholder with one strict allow-list regex
that captures the namespace and key, rejecting extra delimiters, trailing
content, and other malformed values before pushing to extracted. Replace the
broad /^%(.+)%$/ match and subsequent split logic while preserving valid
namespace~key registration.
- Around line 31-36: Update the readFile error handling in the paths mapping
within ConsoleExtensionsI18nextCliPlugin so only ENOENT errors return the empty
manifest fallback and warning; rethrow permission, directory, transient I/O, and
all other errors so extraction fails rather than silently omitting keys.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a905e746-bd27-4384-a634-bf2b82cbfa7b

📥 Commits

Reviewing files that changed from the base of the PR and between 91bc23f and a44179f.

📒 Files selected for processing (7)
  • dynamic-demo-plugin/i18next.config.ts
  • frontend/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md
  • frontend/packages/console-dynamic-plugin-sdk/scripts/package-definitions.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsI18nextCliPlugin.ts
  • frontend/packages/console-dynamic-plugin-sdk/src/lib-webpack.ts
🚧 Files skipped from review as they are similar to previous changes (5)
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • dynamic-demo-plugin/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.23.md
  • frontend/i18next.config.ts
  • frontend/packages/console-dynamic-plugin-sdk/scripts/package-definitions.ts

Comment on lines +31 to +36
const files = await Promise.all(
paths.map((path) =>
readFile(path, 'utf-8').catch(() => {
console.warn(chalk.yellowBright(`Warning: Could not read file at ${path}. Skipping.`));
return '{}';
}),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not turn every read failure into an empty manifest.

Permission, directory, and transient I/O errors currently allow extraction to succeed with missing keys. Catch only ENOENT when absent files are intentionally optional; rethrow other errors.

Proposed adjustment
-        readFile(path, 'utf-8').catch(() => {
+        readFile(path, 'utf-8').catch((error) => {
+          if (error?.code !== 'ENOENT') {
+            throw error;
+          }
           console.warn(chalk.yellowBright(`Warning: Could not read file at ${path}. Skipping.`));
           return '{}';
📝 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
const files = await Promise.all(
paths.map((path) =>
readFile(path, 'utf-8').catch(() => {
console.warn(chalk.yellowBright(`Warning: Could not read file at ${path}. Skipping.`));
return '{}';
}),
const files = await Promise.all(
paths.map((path) =>
readFile(path, 'utf-8').catch((error) => {
if (error?.code !== 'ENOENT') {
throw error;
}
console.warn(chalk.yellowBright(`Warning: Could not read file at ${path}. Skipping.`));
return '{}';
}),
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsI18nextCliPlugin.ts`
around lines 31 - 36, Update the readFile error handling in the paths mapping
within ConsoleExtensionsI18nextCliPlugin so only ENOENT errors return the empty
manifest fallback and warning; rethrow permission, directory, transient I/O, and
all other errors so extraction fails rather than silently omitting keys.

Comment on lines +41 to +50
const extracted: { key: string }[] = [];

try {
parse(
content,
(_key, value) => {
if (typeof value === 'string') {
const match = value.match(/^%(.+)%$/);
if (match && match[1]) {
extracted.push({ key: match[1] });

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Validate the complete placeholder before registering it.

^%(.+)%$ accepts malformed values such as %ns~key%extra%, while split('~', 2) silently truncates values such as %ns~a~b%. Parse namespace and key with one strict allow-list regex and reject malformed placeholders.

As per path instructions, validate trust-boundary formats with an allow-list rather than a broad .+ matcher.

Also applies to: 62-68

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@frontend/packages/console-dynamic-plugin-sdk/src/i18n/ConsoleExtensionsI18nextCliPlugin.ts`
around lines 41 - 50, Update the placeholder extraction logic in the parse
callback to validate the entire placeholder with one strict allow-list regex
that captures the namespace and key, rejecting extra delimiters, trailing
content, and other malformed values before pushing to extracted. Replace the
broad /^%(.+)%$/ match and subsequent split logic while preserving valid
namespace~key registration.

Source: Path instructions

Directly write the legacy i18n strings into the t function instead of having the CLI produce the new string format

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@dynamic-demo-plugin/i18next.config.ts`:
- Around line 20-35: Update the placeholder extraction in the JSON parsing
callback to accept only values containing exactly two non-empty components
separated by “~”, using allow-list validation for the namespace and key formats.
Reject placeholders with additional separators instead of passing them to the
extracted list, so the later fullKey.split('~', 2) in the extraction loop cannot
truncate malformed values.

In `@dynamic-demo-plugin/locales/en/plugin__console-demo-plugin.json`:
- Around line 2-5: Update the `_other` translation entries for `"{{count}} Cron
Job_other"` and `"{{count}} Worker Node_other"` to use plural wording, while
leaving the `_one` entries singular and preserving the existing count
interpolation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 0cff7a63-825f-4e51-bfcb-7370be8b0c5c

📥 Commits

Reviewing files that changed from the base of the PR and between a44179f and b86b8e2.

⛔ Files ignored due to path filters (1)
  • dynamic-demo-plugin/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (15)
  • dynamic-demo-plugin/README.md
  • dynamic-demo-plugin/i18next-parser.config.js
  • dynamic-demo-plugin/i18next.config.ts
  • dynamic-demo-plugin/locales/en/plugin__console-demo-plugin.json
  • dynamic-demo-plugin/locales/en/plugin__console-plugin-template.json
  • dynamic-demo-plugin/package.json
  • dynamic-demo-plugin/src/components/APIServerEvents.tsx
  • dynamic-demo-plugin/src/components/ClusterOverview/Activity.tsx
  • dynamic-demo-plugin/src/components/ErrorBoundary/DemoErrorBoundary.tsx
  • dynamic-demo-plugin/src/components/Modals/ModalPage.tsx
  • dynamic-demo-plugin/src/components/stubPages.tsx
  • dynamic-demo-plugin/src/i18n.ts
  • frontend/i18n-scripts/README.md
  • frontend/packages/console-app/locales/en/console-app.json
  • frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx
💤 Files with no reviewable changes (4)
  • dynamic-demo-plugin/i18next-parser.config.js
  • dynamic-demo-plugin/locales/en/plugin__console-plugin-template.json
  • dynamic-demo-plugin/src/i18n.ts
  • frontend/i18n-scripts/README.md
🚧 Files skipped from review as they are similar to previous changes (9)
  • frontend/packages/console-app/src/components/quick-starts/utils/quick-start-context.tsx
  • dynamic-demo-plugin/README.md
  • dynamic-demo-plugin/src/components/ErrorBoundary/DemoErrorBoundary.tsx
  • frontend/packages/console-app/locales/en/console-app.json
  • dynamic-demo-plugin/src/components/APIServerEvents.tsx
  • dynamic-demo-plugin/src/components/ClusterOverview/Activity.tsx
  • dynamic-demo-plugin/package.json
  • dynamic-demo-plugin/src/components/stubPages.tsx
  • dynamic-demo-plugin/src/components/Modals/ModalPage.tsx

Comment thread dynamic-demo-plugin/i18next.config.ts
Comment thread dynamic-demo-plugin/locales/en/plugin__console-demo-plugin.json Outdated
@logonoff

Copy link
Copy Markdown
Member Author

/pipeline required
/verified by @logonoff

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-gcp-console
/test e2e-playwright

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 28, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This PR has been marked as verified by @logonoff.

Details

In response to this:

/pipeline required
/verified by @logonoff

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

openshift-ci-robot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@logonoff: This pull request references CONSOLE-5428 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Analysis / Root cause:

follow ups to #16796

Solution description:

Summary by CodeRabbit

  • New Features
  • Improved localization across API event titles, activity labels, modal/overlay controls, resource stub pages, and error messaging.
  • Added automated extraction of translation keys from console extension definitions.
  • Bug Fixes
  • Corrected pluralization entries for item/task as well as Cron Job and Worker Node counts.
  • Documentation
  • Updated i18n instructions to use the CLI-based extraction workflow and removed obsolete steps.
  • Chores
  • Migrated i18n scripts from the prior parser to the newer i18next-cli lint/extract flow.

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.

@vojtechszocs

Copy link
Copy Markdown
Contributor

/lgtm

@logonoff

Copy link
Copy Markdown
Member Author

/test analyze backend frontend images okd-scos-images

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 28, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage.

@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: logonoff, vojtechszocs

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

1 similar comment
@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: logonoff, vojtechszocs

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

@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@logonoff: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-playwright 5031502 link false /test e2e-playwright

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 1a14384 into openshift:main Jul 28, 2026
10 of 11 checks passed
@logonoff
logonoff deleted the i18n branch July 28, 2026 17:17
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/sdk Related to console-plugin-sdk docs-approved Signifies that Docs has signed off on this PR jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/demo-plugin Related to dynamic-demo-plugin 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. px-approved Signifies that Product Support has signed off on this PR verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants