PackagePackagetypeA library you install and call yourself.See every one →What this type is →by SAPby SAPoriginPublished by SAP itself. A visible facet, never an input to a reading — a dormant official plugin reads exactly like a dormant independent one.See every one →

@sap-ux/i18n

A library that reads and writes the i18n bundles of a UI5 or CAP project from Node code, the i18n.properties file of a UI5 app and the i18n folder of a CAP project alike.

A tool that edits an application's texts has to open two different things: the i18n.properties file of a UI5 app, and the i18n folder a CAP project's CDS environment points at. This package opens both, through the four functions its README documents: getPropertiesI18nBundle and getCapI18nBundle return a bundle, createPropertiesI18nEntries and createCapI18nEntries add entries to one, and the CAP calls take the project root and the CDS i18n settings as arguments rather than working them out themselves. Nothing in it serves a text at request time, so it answers the file half of localization and not the runtime half that @sap/cds and the UI5 resource bundle answer. Its own README sends a project that wants higher-level APIs to its sibling @sap-ux/project-access.

Facts

Latestv1.0.6ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
LocalizationUI5CAPLocalizationcapabilityServing labels, messages and translated content per user locale, including translatable model elements and per-tenant text overrides.
Serves

Who is behind it

Austin DevineAustin DevinePersonMaintains this
In the atlas: maintains 7, contributes to 25
@devinea
SAPSAPOrganisationMaintains this
In the atlas: maintains 137, wrote 14
@SAP
maintainersAndis RedmansPersonContributes to this
In the atlas: contributes to 13
@815are
Cian MorrinPersonContributes to this
In the atlas: contributes to 15
@cianmSAP
Donal Tobin (SAP)PersonContributes to this
In the atlas: contributes to 13
@donal-tobin-sap
fionan-SAPPersonContributes to this
In the atlas: contributes to 14
@fionan-SAP
Dominik HeimPersonContributes to this
In the atlas: contributes to 25
@heimwege
Klaus KellerPersonContributes to this
In the atlas: contributes to 15
@Klaus-Keller
Maruf RasullyPersonContributes to this
In the atlas: contributes to 12
@marufrasully
Vilim MikicPersonContributes to this
In the atlas: contributes to 16
@mikicvi-SAP
mmilko01PersonContributes to this
In the atlas: contributes to 12
@mmilko01
Nafees AhmedPersonContributes to this
In the atlas: contributes to 11
@nahmed22
11 contributors

What it declares

Every artifact

Type
Package
Origin
By SAP
Runtime
Node.js

As a package

Where it runs
does not say
Distributed through
npm

Connections1

Install

npm add @sap-ux/i18n

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from SAP/open-ux-tools under Apache-2.0, read
SAP/open-ux-tools/packages/i18n/README.mdOn GitHub

Changelog Github repo

@sap-ux/i18n

Package containing low level APIs and utility functions for working with i18n of a project. For more convenient high level APIs on i18n, check @sap-ux/project-access

Installation

Npm npm install --save @sap-ux/i18n

Yarn yarn add @sap-ux/i18n

Pnpm pnpm add @sap-ux/i18n

Usage

Read i18n bundle from a CAP project
import { getCapI18nBundle } from '@sap-ux/i18n';
import { join } from 'path';

/**
 * Sample CDS environment
 **/
const env = Object.freeze({
    i18n: {
        folders: ['_i18n', 'i18n', 'assets/i18n'],
        default_language: 'en'
    }
});
const PROJECT_ROOT = 'absolute/path/to/project';
const filePaths = [join(PROJECT_ROOT, 'srv', 'service.cds')];
const bundle = await getCapI18nBundle(PROJECT_ROOT, env, filePaths);

For detailed example usage check unit test of getCapI18nBundle

Read i18n properties file of a project
import { getPropertiesI18nBundle } from '@sap-ux/i18n';
import { join } from 'path';
import { getWebappPath } from '@sap-ux/project-access';

const PROJECT_ROOT = 'absolute/path/to/project';
const i18nFilePath = join(await getWebappPath(PROJECT_ROOT), 'i18n', 'i18n.properties');
const bundle = await getPropertiesI18nBundle(i18nFilePath);

For detailed example usage check unit test of getPropertiesI18nBundle

Write to i18n file of a CAP project
import { createCapI18nEntries } from '@sap-ux/i18n';
import { join } from 'path';

const newEntries = [
    {
        key: 'NewKey',
        value: 'New Value'
    }
];
/**
 * Sample CDS environment
 **/
const env = Object.freeze({
    i18n: {
        folders: ['_i18n', 'i18n', 'assets/i18n'],
        default_language: 'en'
    }
});
const PROJECT_ROOT = 'absolute/path/to/project';
const cdsFilePath = join(PROJECT_ROOT, 'src', 'service.cds')
const result = await createCapI18nEntries(PROJECT_ROOT, cdsFilePath, newEntries, env);

For detailed example usage check unit test of createCapI18nEntries

Write to i18n properties file of a project
import { createPropertiesI18nEntries } from '@sap-ux/i18n';
import { join } from 'path';
import { getWebappPath } from '@sap-ux/project-access';

const newEntries = [
    {
        key: 'NewKey',
        value: 'New Value'
    }
];
const PROJECT_ROOT = 'absolute/path/to/project';
const i18nFilePath = join(getWebappPath(PROJECT_ROOT), 'i18n', 'i18n.properties');

const result = await createPropertiesI18nEntries(i18nFilePath, newEntries, PROJECT_ROOT);

For detailed example usage check unit test of createPropertiesI18nEntries

For more available APIs, check in /src/index

Keywords

i18n CAP i18n UI5 i18n

Apache-2.0, read

History

Latest

v1.0.6

Dependencies 2

Notes
Patch Changes
Dependency Updates
  • Upgrade vscode-languageserver-textdocument 1.0.12 → 1.0.15, vscode-languageserver-types 3.18.0 → 3.18.4, @vscode-logging/logger 2.0.9 → 2.0.10 [35f731a]
Workspace Updates
  • @sap-ux/text-document-utils 1.0.3 → 1.0.4
  1. v1.0.5

    Features 1, Fixes

    Notes
    Patch Changes
    Release Date

    2026-10-06

    Features
    • export capPropertiesPath and getCapI18nFiles functions. [4d2a60a]
  2. v1.0.4

    Dependencies 1

    Notes
    Patch Changes
    Workspace Updates
    • @sap-ux/text-document-utils 1.0.2 → 1.0.3
  3. v1.0.3

    Dependencies 1

    Notes
    Patch Changes
    Workspace Updates
    • @sap-ux/text-document-utils 1.0.1 → 1.0.2
  4. v1.0.2

    Dependencies 1

    Notes
    Patch Changes
    Dependency Updates
    • Bulk upgrade of minor dependencies and devDependencies [5ce779c]
  5. v1.0.1

    Fixes 2

    Notes

    Released: 2026-06-03T14:58:37Z

    Patch Changes
    • 21a3de7: FIX: TypeScript type errors in test files (ESM migration follow-up)
    • Updated dependencies [21a3de7]
      • @sap-ux/text-document-utils@1.0.1
  6. v1.0.0dated in the atlas

    Breaking 1, Fixes 1

    Notes

    Released: 2026-05-30T20:54:07Z

    Major Changes
    • 32609a7: # Migration to ECMAScript Modules (ESM)

      Packages in the SAP Open UX Tools monorepo have been migrated from CommonJS (CJS) to ECMAScript Modules (ESM) with NodeNext module resolution.

      '@sap-ux/backend-proxy-middleware-cf' is experimental and will remain at major version 0. '@sap-ux/generator-odata-downloader' is a top level yeoman generator and will remain as CJS until validation as ESM is done.

      What Changed

      • Module System: Most packages now use native ESM ("type": "module" in package.json)
      • TypeScript Configuration: Updated to module: "NodeNext" and moduleResolution: "NodeNext"
      • Import Statements: All relative imports now include explicit .js extensions (per ESM spec)
      • Build Output: Generated JavaScript files are now ESM modules
      • Node.js Requirement: Minimum Node.js version remains >=22.x
      Jest Configuration (for Testing)

      If your project tests code that imports these packages, update your Jest configuration:

      export default {
          extensionsToTreatAsEsm: ['.ts'],
          transform: {
              '^.+\\.ts$': ['ts-jest', { useESM: true }]
          }
      };

      And run Jest with: NODE_OPTIONS='--experimental-vm-modules' jest

    Patch Changes
    • Updated dependencies [32609a7]
      • @sap-ux/text-document-utils@1.0.0
  7. v0.4.0

    Features 1, Fixes 1

    Notes

    Released: 2026-05-15T08:12:20Z

    Minor Changes
    • 72695e5: chore: drop Node 20 support as it is no longer maintained
    Patch Changes
    • Updated dependencies [72695e5]
      • @sap-ux/text-document-utils@0.4.0
  8. v0.3.12

    Fixes 2

    Notes

    Released: 2026-05-14T11:45:51Z

    Patch Changes
    • 50a8ba5: chore: fresh release after workflow updates
    • Updated dependencies [50a8ba5]
      • @sap-ux/text-document-utils@0.3.5
  9. v0.3.11

    Fixes 1

    Notes

    Released: 2026-04-30T14:23:24Z

    Patch Changes
    • Updated dependencies [c160401]
      • @sap-ux/text-document-utils@0.3.4
  10. v0.3.10

    Fixes 1

    Notes

    Released: 2026-03-26T12:07:04Z

    Patch Changes
    • a41533f: chore(i18n): upgrade vscode-languageserver-textdocument 1.0.11 → 1.0.12
  11. v0.3.9

    Fixes 1

    Notes

    Released: 2026-02-23T22:35:31Z

    Patch Changes
    • fd8de2b: fix(deps): update dependency jsonc-parser to v3.3.1
  12. v0.3.8

    Fixes 1

    Notes

    Released: 2026-02-23T19:07:48Z

    Patch Changes
    • cc1c422: fix(deps): update dependency npm-run-all2 to v8
  13. v0.3.7

    Fixes 1

    Notes

    Released: 2025-12-18T21:05:02Z

    Patch Changes
    • a9471d0: fix sonar issues
  14. v0.3.6

    Fixes 2

    Notes

    Released: 2025-12-15T10:50:50Z

    Patch Changes
    • 4ecfbe2: Chore - upgrade eslint devDependenies, convert to flat config and fix lint issues.
    • Updated dependencies [4ecfbe2]
      • @sap-ux/text-document-utils@0.3.3
  15. v0.3.5

    Fixes 2

    Notes

    Released: 2025-11-05T06:53:42Z

    Patch Changes
    • cfe9c13: Add deep link to package and changelog to README.md
    • Updated dependencies [cfe9c13]
      • @sap-ux/text-document-utils@0.3.2
  16. v0.3.4

    Fixes 1

    Notes

    Released: 2025-10-06T17:09:01Z

    Patch Changes
    • 43a2446: chore: fix Sonar issues
  17. v0.3.3

    Fixes 1

    Notes

    Released: 2025-08-13T10:00:10Z

    Patch Changes
    • Updated dependencies [c7db726]
      • @sap-ux/text-document-utils@0.3.1
  18. v0.3.2

    Fixes 1

    Notes

    Released: 2025-07-30T19:33:46Z

    Patch Changes
    • 009143e: fix: resolve i18n key
  19. v0.3.1

    Fixes 1

    Notes

    Released: 2025-06-24T07:18:46Z

    Patch Changes
    • f9ea9e3: feat: Enhance ADP FLP configuration generator
  20. v0.3.0

    Features 1, Fixes 1

    Notes

    Released: 2025-05-14T22:35:53Z

    Minor Changes
    • a28357d: chore - drop node18 support as it is out of maintenance
    Patch Changes
    • Updated dependencies [a28357d]
      • @sap-ux/text-document-utils@0.3.0
  21. v0.2.3

    Fixes 1

    Notes

    Released: 2025-03-04T08:55:15Z

    Patch Changes
    • cf05ceb: Update vscode-languageserver-textdocument dependency
  22. v0.2.2

    Fixes 1

    Notes

    Released: 2025-02-27T14:15:03Z

    Patch Changes
    • 4b8577f: fix: usage of static webapp path
  23. v0.2.1

    Fixes 1

    Notes

    Released: 2025-02-05T17:08:20Z

    Patch Changes
    • 78bc772: Introduce ADP FLP config generator
  24. v0.2.0

    Features 1

    Notes

    Released: 2024-08-30T06:05:30Z

    Minor Changes
    • df29368: Methods createCapI18nEntries, getCapI18nFolder - handle absolute path to cds file instead of relative path
  25. v0.1.1

    Fixes 2

    Notes

    Released: 2024-08-07T11:06:05Z

    Patch Changes
    • ac22b7e: feat: new package for text document utility functions and types
    • Updated dependencies [ac22b7e]
      • @sap-ux/text-document-utils@0.2.0
  26. v0.1.0

    Breaking 1, Features 1

    Notes

    Released: 2024-07-05T15:03:05Z

    Minor Changes
    • c2359077: [BREAKING CHANGE] Change TypeScript transpile target to ES2021 to align with NodeJS 18+
  27. v0.0.7

    Fixes 1

    Notes

    Released: 2024-05-31T13:42:35Z

    Patch Changes
    • f80a4256: chore - upgrade jest 29.7.0 - change in src to check object is defined before accessing it.
  28. v0.0.6

    Fixes 1

    Notes

    Released: 2024-04-15T19:27:29Z

    Patch Changes
    • 03167a06: add utility method to extract mustache key
  29. v0.0.5

    Fixes 1

    Notes

    Released: 2024-03-18T10:40:39Z

    Patch Changes
    • cc95c0a8: Fix infinite loop when comment on last line of properties file
  30. v0.0.4

    Fixes 1

    Notes

    Released: 2024-02-27T22:07:50Z

    Patch Changes
    • c15435b6: fix: remove engines pnpm from package.json
  31. v0.0.3

    Fixes 1

    Notes

    Released: 2024-02-19T10:29:40Z

    Patch Changes
    • 76ce5c2f: fix: expose getI18nPropertiesPaths and export types for browser in @sap-ux/i18n
28,990downloads per week, npm
Weekly downloads for @sap-ux/i18n26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 28990.20 Apr – 26 Apr: 201,15527 Apr – 3 May: 171,9484 May – 10 May: 191,09511 May – 17 May: 197,10918 May – 24 May: 219,81925 May – 31 May: 188,6301 Jun – 7 Jun: 188,6598 Jun – 14 Jun: 213,61215 Jun – 21 Jun: 206,08522 Jun – 28 Jun: 182,91729 Jun – 5 Jul: 184,6546 Jul – 12 Jul: 177,80113 Jul – 19 Jul: 185,58820 Jul – 26 Jul: 175,54527 Jul – 2 Aug: 160,1883 Aug – 9 Aug: 162,70610 Aug – 16 Aug: 122,56717 Aug – 23 Aug: 149,19124 Aug – 30 Aug: 160,69431 Aug – 6 Sept: 120,0747 Sept – 13 Sept: 94,39814 Sept – 20 Sept: 112,59021 Sept – 27 Sept: 141,31728 Sept – 4 Oct: 70,5395 Oct – 11 Oct: 47,88212 Oct – 18 Oct: 28,990
Localization
  1. abap_btocs_deeplDeepL translation plugin for the B-Tocs ABAP SDKfrom ABAP
  2. abap_btocs_libtrlLibreTranslate plugin for the B-Tocs ABAP SDKfrom ABAP
  3. SAP Translation HubTranslation service for software texts and documentsfrom BTP/BAIP
  4. com.sap.cds:cds-services-bomMaven bill of materials pinning CAP Java module versionsfrom CAP
  5. ABAP_DeepL_clientABAP client for the DeepL translation servicefrom ABAP
  6. LISAMCP server for reading and writing ABAP object translationsfrom ABAP
  7. @concircle/i18n-ai-translatorCLI translating UI5 i18n.properties files with OpenAIfrom UI5
  8. ABAP_TRANSLATION_HUBReport pushing ABAP objects to SAP Translation Hub and backfrom ABAP
  9. abap-form-translatorRuntime translation layer for SAP form labels, kept in a tablefrom ABAP
  10. ui5-i18n-excel-converterCLI converting UI5 i18n properties files to Excel and backfrom UI5
  11. ZOTR_UTILITYABAP framework reading texts from SAP's online text repositoryfrom ABAP
  12. ZABAP_TRANSLATIONSExcel export and import of ABAP package or program textsfrom ABAP
  13. @sap/cdsCAP Node.js runtimefrom CAP
  14. XLF TranslatorEditor for the translations in an uploaded XLIFF filefrom ABAP

Details

Sources5
npm registrydiscovered herechecked
GitHub APIdiscovered here, SAPchecked
npm registry, @sap-ux/i18nversion, releases, installschecked
github.com/https://github.com/SAP/open-ux-tools.gittree, pushes, contributors, CIchecked
packages/i18n/README.mdquoted, and what the entry declareschecked

Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.

Compatibility and provenance
runtimesnode
latestv1.0.6
first release
releases and cadence31, ~15d median
discovered vianpm registry, GitHub API · SAP
first seen in the atlas
ecosystem and domainui5, developer-experience
Contributors11
History in the atlas1
  1. First seen.
For your agent