Localization

Serving labels, messages and translated content per user locale, including translatable model elements and per-tenant text overrides.

Overview

InCAPassessed
SAP SHIPS
Node.js →

@sap/cds Resolves i18n bundles per request and serves localized entities and translated model annotations.

Java →

com.sap.cds:cds-services-bom Localizes ServiceException and Messages API text to the client's locale, and integrates with Spring's resource bundle support to resolve the translated strings.

Not covered: At texts the project already holds: the bundles and the .texts rows are translated by the project, a preserved locale with no translation falls back to en, and producing the translations is what SAP Translation Hub does on BTP. For data, localized on a sub element of a structure is ignored, an entity whose keys are associations cannot use it, and on SQLite the views exist only for the locales listed in the configuration.

SourceLocalization, i18nchecked
THE COMMUNITY ADDS

No community artifact is documented here.

InABAPassessed

In ABAP a translation belongs to a repository object: the texts of a program, class, message class, data element or domain are translated per language in the system and travel by transport. ZABAP_TRANSLATIONS exports them to a spreadsheet and back, and the DeepL clients by Christian Günter and B-Tocs translate text from ABAP code.

SAP SHIPS

SE63 translates short texts, long texts and forms in the system, object by object or from worklists set up in LXE_MASTER, and its proposal pool keeps short text translations consistent.

Not covered: At a translator working in the editor: the page checked describes worklists and a proposal pool, and no machine translation.

THE COMMUNITY ADDS

Machine translation called from ABAP code by Christian Günter's DeepL client, a spreadsheet round trip in ZABAP_TRANSLATIONS, an XLIFF editor in XLF Translator, and an AI client reading and writing object translations through LISA.

InBTP/BAIPassessed

On BTP localization includes producing the translations: an application's software texts go to a platform service, SAP Translation Hub, which returns translations from verified multilingual data, a company's own language data or machine translation.

SAP SHIPS

SAP ships translation of an application's texts on BTP as SAP Translation Hub, which translates the software texts of ABAP extensions and BTP apps through its UI-based workflow or through software translation APIs an application integrates.

Not covered: At software texts in one of the supported formats, from files, Git repositories or ABAP systems; SAP's neural machine translation and LLM-based translation are named for Git and file projects.

The SAP Translation Hub record carries a notice that the service, in the region marked "Neo", is being removed from the Eligible Cloud Services List on December 31, 2028.

THE COMMUNITY ADDS

No community artifact is documented here.

InUI5assessed

In UI5 the texts are files the app ships: an i18n.properties per locale, read through a resource bundle or bound in a view as {i18n>KEY}, with the locale coming from the client. The question the door adds is who keeps those files in step with the views that reference them, which is a tooling job rather than a runtime one.

SAP SHIPS

SAPUI5 ships the resource bundle: .properties files per locale in the app, read through sap/base/i18n/ResourceBundle or bound to control properties through a resource model, so the same app runs in another language without a code change.

Not covered: At the texts the app already carries. Producing the translations is what SAP Translation Hub does on BTP, and keeping the bundle files themselves in step with the views that reference them is left to tooling, where @sap-ux/i18n sits.

THE COMMUNITY ADDS

Command-line tools that machine-translate the properties files or round-trip them through a spreadsheet, such as i18n-ai-translator and ui5-i18n-excel-converter.

Artifacts15

Group by15 of 15 artifacts
ArtifactSignals
Apps2
ABAP_TRANSLATION_HUBReport pushing ABAP objects to SAP Translation Hub and back
Signals
Quiet
ZABAP_TRANSLATIONSExcel export and import of ABAP package or program texts
Signals
none
CLI tools2
@concircle/i18n-ai-translatorCLI translating UI5 i18n.properties files with OpenAI
Signals
none
ui5-i18n-excel-converterCLI converting UI5 i18n properties files to Excel and back
Signals
Quiet
MCP servers1
LISAMCP server for reading and writing ABAP object translations
Signals
Functional boundary
Packages8
@sap-ux/i18nReader and writer for i18n bundles of UI5 or CAP projects
Signals
none
@sap/cdsCAP Node.js runtime
Signals
none
abap_btocs_deeplDeepL translation plugin for the B-Tocs ABAP SDK
Signals
Quiet
abap_btocs_libtrlLibreTranslate plugin for the B-Tocs ABAP SDK
Signals
Quiet
ABAP_DeepL_clientABAP client for the DeepL translation service
Signals
Quiet
abap-form-translatorRuntime translation layer for SAP form labels, kept in a table
Signals
none
com.sap.cds:cds-services-bomMaven bill of materials pinning CAP Java module versions
Signals
none
ZOTR_UTILITYABAP framework reading texts from SAP's online text repository
Signals
none
Services1
SAP Translation HubTranslation service for software texts and documents
Signals
none
Web tools1
XLF TranslatorEditor for the translations in an uploaded XLIFF file
Signals
Functional boundary

Content1

Group by
Piece, what it offers
ISO content for common CAP types
SAP Community, DJ Adams, BlogThe reasoningRunnable code
Core changed

Details

Coverage
statecore only, CAP
assessed
state in ABAPcore and community, assessed
state in BTP/BAIPcore only, assessed
state in UI5core and community, assessed
also inABAP, BTP/BAIP, UI5
SourceLocalization, i18nchecked SourceLocalized Datachecked SourceLocalized Datachecked SourceLocalization / i18n (Node.js) — capirechecked SourceLocalization / i18n (Node.js) — capirechecked
For your agent