Skip to content

[i18n | localization]: Missing messagebundle translations in 2.15.x #13587

@codefactor

Description

@codefactor

Bug Description

In the 2.15.x release line (2.15.0 through 2.15.4), three i18n keys are defined and actively used in the JavaScript layer (i18n-defaults.js) but their translations are completely missing from all locale messagebundle JSON files. This causes the English fallback text "Cancel" to appear regardless of the user's locale. The missing translations only show up for mobile users who try to change the input suggestion, and the "Cancel" text shows up for all languages. This does not happen for latest 2.16 version.

The affected keys are:

  • INPUT_SUGGESTIONS_CANCEL_BUTTON (used in Input.js)
  • MULTICOMBOBOX_DIALOG_CANCEL_BUTTON (used in MultiComboBox.js)
  • COMBOBOX_DIALOG_CANCEL_BUTTON (used in ComboBox.js)

In dist/generated/i18n/i18n-defaults.js (2.15.4), these are defined as:

const INPUT_SUGGESTIONS_CANCEL_BUTTON = { key: "INPUT_SUGGESTIONS_CANCEL_BUTTON", defaultText: "Cancel" };
const MULTICOMBOBOX_DIALOG_CANCEL_BUTTON = { key: "MULTICOMBOBOX_DIALOG_CANCEL_BUTTON", defaultText: "Cancel" };
const COMBOBOX_DIALOG_CANCEL_BUTTON = { key: "COMBOBOX_DIALOG_CANCEL_BUTTON", defaultText: "Cancel" };

The components import and use them:

// Input.js
return Input_1.i18nBundle.getText(INPUT_SUGGESTIONS_CANCEL_BUTTON);
// ComboBox.js
return ComboBox_1.i18nBundle.getText(COMBOBOX_DIALOG_CANCEL_BUTTON);
// MultiComboBox.js
return MultiComboBox_1.i18nBundle.getText(MULTICOMBOBOX_DIALOG_CANCEL_BUTTON);

But messagebundle_zh_CN.json, messagebundle_fr.json, and all other non-English locale bundles do not contain these keys. The translations only appear starting in 2.16.0.

Affected Component

Input, ComboBox, MultiComboBox

Expected Behaviour

When a user opens a suggestions popover / combo box dialog on mobile in a non-English locale (e.g., Chinese), the Cancel button should display the localized text (e.g., "取消" for Chinese). Instead, it always shows the English "Cancel".

The .properties source files and the generated .json messagebundle files for all locales in 2.15.x should include translations for these three keys, consistent with how they are already translated in 2.16.x.

Isolated Example

N/A - this is a locale resource packaging issue, not a runtime logic issue. Reproducible by inspecting the installed @ui5/webcomponents@2.15.4 package:

Steps to Reproduce

  1. Install @ui5/webcomponents@2.15.4 (or any 2.15.x)
  2. Use an <ui5-input> with suggestions enabled, or a <ui5-combobox>, or <ui5-multi-combobox> on a mobile viewport
  3. Set the document language to Chinese (lang="zh-CN") or any non-English locale
  4. Open the suggestions/combo dialog
  5. Observe the Cancel button displays "Cancel" in English instead of the expected localized text

Log Output, Stack Trace or Screenshots

No response

Priority

Medium

UI5 Web Components Version

2.15.4

Browser

Chrome

Operating System

No response

Additional Context

  • The translations for these keys exist in 2.16.0+ (messagebundle_zh_CN.json contains "INPUT_SUGGESTIONS_CANCEL_BUTTON": "取消", etc.)
  • Versions 2.16.0, 2.16.1, and 2.16.2 have a critical security vulnerability, making 2.16.3 the minimum safe version in that line
  • Consumers pinned to ~2.15.0 cannot resolve this issue without a major version bump
  • Request: Please backport the missing translations to a 2.15.5 patch release, or at minimum confirm whether a 2.15.5 with this fix is planned

SAP internal reference: JIRA RCM-159975

Organization

SuccessFactors

Declaration

  • I’m not disclosing any internal or sensitive information.

Metadata

Metadata

Assignees

Labels

Type

No fields configured for Bug.

Projects

Status
Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions