Skip to content

fix(ui): add missing i18n keys and fix mistyped key references - #30572

Merged
karanh37 merged 4 commits into
open-metadata:mainfrom
karanh37:fix/missing-i18n-locale-keys
Jul 28, 2026
Merged

fix(ui): add missing i18n keys and fix mistyped key references#30572
karanh37 merged 4 commits into
open-metadata:mainfrom
karanh37:fix/missing-i18n-locale-keys

Conversation

@karanh37

@karanh37 karanh37 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Problem

Several t() calls reference translation keys that don't exist in the locale files. i18next then renders the raw key string (e.g. message.no-test-case-found) in the UI instead of a translated label. Found by scanning all t('literal.key') usages against en-us.json.

Changes

1. Fix references that were typos for / better served by an existing key (no new key added):

broken reference corrected to
message.entity-fetch-error server.entity-fetch-error
message.unexpected-error server.unexpected-error
message.no-application-schema-found server.no-application-schema-found
message.no-entity-available label.no-entity-available
message.paste-odps-yaml-here server.paste-odps-yaml-here
message.please-select-user-first message.select-user-first
label.user-verified-successfully message.user-verified-successfully
label.no-glossary-found message.no-entity-found-for-name
label.no-tags label.no-entity

2. Add 27 genuinely-missing keys to en-us.json (label.*, message.*, server.api-error), each referenced by unconditional (non-embedded) product code. Interpolation vars ({{entity}}, {{field}}, {{appName}}, {{pipelineName}}) preserved to match the call sites. Real translations provided for all supported locales (not English placeholders).

Verification

  • yarn check-i18n passes.
  • Every added key is referenced by product code in this repo.

🤖 Generated with Claude Code

Greptile Summary

Corrects invalid i18n key references and adds missing translations across supported locales.

  • Repoints UI translation calls to existing keys in the correct namespaces.
  • Adds 27 missing English keys with corresponding translations for every supported locale.
  • Updates affected unit-test expectations and expands the Domain Playwright impact rule to include Reindex coverage.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
openmetadata-ui/src/main/resources/ui/src/locale/languages/en-us.json Adds the missing canonical English translation keys referenced by UI code.
openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json Replaces synchronized English placeholders with French translations, resolving the previous localization finding.
openmetadata-ui/src/main/resources/ui/src/components/Entity/EntityExportModalProvider/EntityExportModalProvider.component.tsx Corrects generic export-error references to use the existing server translation namespace.
.github/playwright/impact-map.json Adds the Reindex project to the Domain and Data Product impact rule.

Reviews (7): Last reviewed commit: "Merge branch 'main' into fix/missing-i18..." | Re-trigger Greptile

@karanh37
karanh37 requested a review from a team as a code owner July 28, 2026 10:07
Copilot AI review requested due to automatic review settings July 28, 2026 10:07
@github-actions

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

This PR cannot be merged until the following are addressed on its linked issue:

  • No GitHub issue is linked. Link an issue in the Development section of the PR (or add Fixes #12345 to the description). For a same-org cross-repo issue, add Fixes open-metadata/<repo>#123 to the description.

The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically.

Maintainers can bypass this check by adding the skip-pr-checks label.

@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs UI UI specific issues labels Jul 28, 2026

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Comment thread openmetadata-ui/src/main/resources/ui/src/pages/TagsPage/tagFormFields.tsx Outdated
Comment thread openmetadata-ui/src/main/resources/ui/src/locale/languages/fr-fr.json Outdated
Copilot AI review requested due to automatic review settings July 28, 2026 10:37
@karanh37
karanh37 force-pushed the fix/missing-i18n-locale-keys branch from a2adf08 to 1c59b53 Compare July 28, 2026 10:37

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs and removed safe to test Add this label to run secure Github workflows on PRs labels Jul 28, 2026
@karanh37
karanh37 force-pushed the fix/missing-i18n-locale-keys branch from 1c59b53 to 1178601 Compare July 28, 2026 11:00
Copilot AI review requested due to automatic review settings July 28, 2026 11:00
@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs and removed safe to test Add this label to run secure Github workflows on PRs labels Jul 28, 2026

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@karanh37
karanh37 force-pushed the fix/missing-i18n-locale-keys branch from 1178601 to 16aa76d Compare July 28, 2026 11:19
Copilot AI review requested due to automatic review settings July 28, 2026 11:19

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs and removed safe to test Add this label to run secure Github workflows on PRs labels Jul 28, 2026
Several t() calls referenced translation keys that do not exist in the
locale files, so they rendered the raw key string in the UI.

- Add 27 genuinely-missing keys to en-us.json with proper translations
  for all supported locales (label.*, message.*, server.api-error).
- Fix references that were typos for / better served by an existing key:
  message.entity-fetch-error -> server.entity-fetch-error
  message.unexpected-error -> server.unexpected-error
  message.no-application-schema-found -> server.no-application-schema-found
  message.no-entity-available -> label.no-entity-available
  message.paste-odps-yaml-here -> server.paste-odps-yaml-here
  message.please-select-user-first -> message.select-user-first
  label.user-verified-successfully -> message.user-verified-successfully
  label.no-glossary-found -> message.no-entity-found-for-name
  label.no-tags -> label.no-entity

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 28, 2026 11:28
@karanh37
karanh37 force-pushed the fix/missing-i18n-locale-keys branch from 16aa76d to 5642108 Compare July 28, 2026 11:28
@github-actions github-actions Bot added safe to test Add this label to run secure Github workflows on PRs and removed safe to test Add this label to run secure Github workflows on PRs labels Jul 28, 2026

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added the safe to test Add this label to run secure Github workflows on PRs label Jul 28, 2026

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 28, 2026 12:45
@github-actions github-actions Bot removed the safe to test Add this label to run secure Github workflows on PRs label Jul 28, 2026

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added the safe to test Add this label to run secure Github workflows on PRs label Jul 28, 2026
@sonarqubecloud

Copy link
Copy Markdown

@karanh37
karanh37 added this pull request to the merge queue Jul 28, 2026
Merged via the queue into open-metadata:main with commit d5d45ae Jul 28, 2026
75 of 78 checks passed
@karanh37
karanh37 deleted the fix/missing-i18n-locale-keys branch July 28, 2026 16:46
@gitar-bot

gitar-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown
Code Review ✅ Approved 2 resolved / 2 findings

Adds 27 missing internationalization keys and corrects mistyped translation references across UI components and locale files, resolving the empty-state and tag-form localization findings.

✅ 2 resolved
Bug: no-entity-available key needs {{entity}} arg not passed in tagFormFields

📄 openmetadata-ui/src/main/resources/ui/src/pages/TagsPage/tagFormFields.tsx:46
tagFormFields.tsx:46 now calls t('label.no-entity-available') with no interpolation argument, but that key's value is "No {{entity}} available". i18next will render the literal placeholder "{{entity}}" in the UI. The other call site (AddDomainForm.component.tsx:783) correctly passes { entity: t('label.icon-plural') }. Pass an entity argument here too, e.g. t('label.no-entity-available', { entity: t('label.icon-plural') }).

Bug: Glossary empty-state renders dangling 'found for ' with no name

📄 openmetadata-ui/src/main/resources/ui/src/pages/Glossary/GlossaryLeftPanel/GlossaryLeftPanel.component.tsx:143-147
message.no-entity-found-for-name is defined as "No {{entity}} found for {{name}}" in every locale, but this call only passes entity and omits name. i18next renders the missing variable as an empty string, producing broken UI text like "No Glossary found for " (with a trailing space) instead of the previous clean "No glossary found". Either pass a name value or switch to a key that has no {{name}} placeholder (e.g. label.no-entity with entity: t('label.glossary'), matching the tag change in this same PR).

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar | Powered by Gitar — free for open source

karanh37 added a commit that referenced this pull request Jul 29, 2026
* fix(ui): add missing i18n keys and fix mistyped key references

Several t() calls referenced translation keys that do not exist in the
locale files, so they rendered the raw key string in the UI.

- Add 27 genuinely-missing keys to en-us.json with proper translations
  for all supported locales (label.*, message.*, server.api-error).
- Fix references that were typos for / better served by an existing key:
  message.entity-fetch-error -> server.entity-fetch-error
  message.unexpected-error -> server.unexpected-error
  message.no-application-schema-found -> server.no-application-schema-found
  message.no-entity-available -> label.no-entity-available
  message.paste-odps-yaml-here -> server.paste-odps-yaml-here
  message.please-select-user-first -> message.select-user-first
  label.user-verified-successfully -> message.user-verified-successfully
  label.no-glossary-found -> message.no-entity-found-for-name
  label.no-tags -> label.no-entity

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci(playwright): provision Reindex lane for Domain impact rule

The Domain/DataProduct impact rule selects '**/*Domain*.spec.ts', which
matches Features/SearchSeparation/DomainRenamePrefixCascade.spec.ts. That
spec is only collectable under the 'Reindex' project, so selecting it
without provisioning that lane makes the shard planner fail with
"selectors matched no runnable tests". Add Reindex to the rule's projects.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
(cherry picked from commit d5d45ae)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs UI UI specific issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants