Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SAPUI5 i18n Manager and Inline ViewerNew to Visual Studio Code? Get it now.
SAPUI5 i18n Manager and Inline Viewer

SAPUI5 i18n Manager and Inline Viewer

ActiveClientMods

|
1 install
| (0) | Free
Helps to keep your i18n keys up to date and also visualizes them.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SAPUI5 i18n Manager and Inline Viewer

Work with SAPUI5 i18n resource bundles without leaving your view or controller. The extension reads your .properties files and shows the actual translated text right where the keys are used, warns about keys that don't exist yet, and adds them for you with a single click.

Features

  • Inline translations — the resolved text is rendered next to every {i18n>key} binding and getText("key") lookup via inlay hints. getText is detected on any receiver, so calls through a controller reference in a plain helper module (e.g. parentController.getText("key")) are covered too.
  • Hover popovers — hover an i18n key to see its translation and which bundle file it came from.
  • Go to definition — Ctrl/Cmd+click an i18n key to jump to where it is defined in the resolved bundle (target language preferred, base as fall-back).
  • Diagnostics
    • In source files: keys that are used but missing from every bundle.
    • In .properties files: unused keys (defined but never referenced), empty values (a forgotten translation, reported per language file), duplicate keys within a file, and — when a target language is set — keys not translated in that language (reported in the base bundle).
  • Quick Fixes — “Add '<key>' to i18n properties” on a missing key, and “Remove unused/duplicate i18n key” in bundles.
  • i18n Keys side bar — a dedicated view listing every key with its value per language, usage locations, and warning badges for keys that need attention.
  • Configurable language — pick which translation is displayed (i18n_de.properties, i18n_fr.properties, …) with base-bundle fall-back.
  • Status bar — a 🌐 i18n: N indicator (click to reload); a SAPUI5 i18n output channel logs what was discovered.

Supported files: .xml (including .view.xml and .fragment.xml), .js, .ts (including .controller.ts), .mjs, and .cjs.

Settings

Setting Default Description
sapui5-i18n.targetLanguage "" Language suffix to display, e.g. de loads i18n_de.properties. Empty uses i18n.properties.
sapui5-i18n.propertiesGlob **/i18n*.properties Glob used to discover the resource bundles.
sapui5-i18n.sourceGlob **/*.{xml,js,ts,mjs,cjs} Glob for source files that reference keys (drives unused detection & the tree).
sapui5-i18n.enableInlayHints true Show the resolved translation inline.
sapui5-i18n.enableDiagnostics true Master switch for all diagnostics.
sapui5-i18n.checkUnusedKeys true Warn about keys defined but never referenced.
sapui5-i18n.checkEmptyValues true Warn about keys with an empty value.
sapui5-i18n.checkDuplicateKeys true Warn about keys defined twice in one file.
sapui5-i18n.checkMissingTranslations true Warn (in the base bundle) about keys not translated in the target language.
sapui5-i18n.maxHintLength 40 Truncate inline hints after this many characters (0 disables).

Commands

  • SAPUI5 i18n: Reload translation files — re-scan the workspace bundles.

Development

This project uses Bun exclusively for package management and scripts.

bun install            # install dependencies
bun run check-types    # tsc --noEmit
bun run lint           # eslint
bun run compile        # type-check, lint and bundle with esbuild
bun run test           # compile + run the VS Code test suite
bun run vsce:package   # build a .vsix (bundled, --no-dependencies)
bun run vsce:publish   # publish to the VS Code Marketplace
bun run ovsx:publish   # publish to Open VSX

Press F5 in VS Code to launch the extension in an Extension Development Host.

Architecture

  • src/core/* — pure, vscode-free logic (properties parsing, key scanning, language resolution); unit tested in isolation.
  • src/i18nModel.ts — aggregates every relevant bundle into one lookup with target-language precedence and base-bundle fall-back.
  • src/providers/* — the hover, inlay-hint, diagnostics and quick-fix providers.
  • src/extension.ts — activation and wiring (providers, commands, file watchers).

Tests

  • Unit tests cover the pure parsing/scanning core.
  • Integration / E2E tests run inside a real Extension Host against the sample app in test-fixtures/sample-workspace and exercise diagnostics, hovers, inlay hints, the quick fix, and language switching.

Continuous integration (type-check, lint, bun audit, headless tests) runs via .github/workflows/ci.yml.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft