ui5-i18n-excel-converter
A command-line tool that exports a UI5 app's i18n properties files to an Excel sheet of keys and languages for translators and imports the translated sheet back into the files.
export converts the files in the i18n folder (default ./webapp/i18n) to one Excel file with the keys and the languages, the translators put the translated texts in the cells, and import reads the sheet and updates the properties files. The README gives its purpose as easing communication with the business side about translations of the UI5 application texts, especially when there are many languages, and shows the two commands as i18n:export and i18n:import scripts in the app's package.json. It moves localizationLocalizationServing labels, messages and translated content per user locale, including translatable model elements and per-tenant text overrides.SAP only texts between files and a spreadsheet and does not translate them. It installs as a development dependency.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1, contributes to 1@jchirkmaintainer
Before choosing this
Signals
ActivityQuietRelease and repository quiet for 39 months
Both observable publication channels have been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.
What it declares
Every artifact
- Type
- CLI
- Origin
- Independently maintained
As a CLI
- Distributed through
- npm
Connections
Serving labels, messages and content per user locale
Download
Install
npm add ui5-i18n-excel-converterDerived from the package name. No recipe recorded; the README has the configuration.
README
quoted from jchirk/ui5-i18n-excel-converter under GPL-3.0, readui5-i18n-excel-converter
CLI tool to convert i18n files to Excel and the other way
Motivation
The purpose of this tool is to easily communicate with the business part regarding the translations of the UI5 application texts (i18n), especially when there are a lot of different languages.
The tool will generate the Excel file with the keys and the languages. The translators just have to put the translated texts on the corresponding cells. Then the tool will import from the Excel file all the translations into the i18n files.
Installation
Install with npm
npm install --save-dev ui5-i18n-excel-converter
Quick start
Install the tool with npm (see Installation).
Add these scipts to your package.json file :
{
...
"scripts": {
"i18n:export": "ui5-i18n-excel-converter export", // i18n -> Excel
"i18n:import": "ui5-i18n-excel-converter import" // Excel -> i18n
}
}
You can tweak these scripts using the options in Usage.
Usage
Usage: ui5-i18n-excel-converter [options] [command]
CLI tool to convert i18n files to Excel and the other way
Options:
-h, --help display help for command
Commands:
export [options] [i18n_folder] [excel_file] convert properties files to Excel
import [options] [excel_file] [i18n_folder] import data from Excel file and update the i18n properties files (if the file doesn't exist it will be created)
help [command] display help for command
Export
Usage: ui5-i18n-excel-converter export [options] [i18n_folder] [excel_file]
convert properties files to Excel
Arguments:
i18n_folder i18n folder (default: "./webapp/i18n")
excel_file excel file
Options:
-v, --verbose display logs (default: false)
-h, --help display help for command
Import
Usage: ui5-i18n-excel-converter import [options] [excel_file] [i18n_folder]
import data from Excel file and update the i18n properties files (if the file doesn't exist it will be created)
Arguments:
excel_file excel file (default: "./<project_name>.xlsx")
i18n_folder i18n folder (default: "./webapp/i18n")
Options:
-v, --verbose display logs (default: false)
-d, --delete delete properties keys if not present in excel file (default: false)
-h, --help display help for command
Acknowledgements
Contributing
Contributions are always welcome!
Please create a pull request on this project.
History
Others providing
Compare all 15 on the Localization page →- abap_btocs_deeplabap_btocs_deeplA plugin for the B-Tocs ABAP SDK that lets an SAP ABAP server translate with DeepL through an SM59 RFC destination, using a DeepL API key, with a demo program for the first call.independent, abapDeepL translation plugin for the B-Tocs ABAP SDKfrom ABAP
- abap_btocs_libtrlabap_btocs_libtrlA plugin for the B-Tocs ABAP SDK that lets an SAP ABAP server translate with LibreTranslate through an SM59 RFC destination, against an instance hosted on-premise, on a hyperscaler, on SAP BTP or as SaaS.independent, abapLibreTranslate plugin for the B-Tocs ABAP SDKfrom ABAP
- SAP Translation HubSAP Translation HubSAP's translation service for software texts and documents, drawing on repositories of verified and company translations and on machine translation by SAP's neural MT or large language models.sap official, btpTranslation service for software texts and documentsfrom BTP/BAIP
- com.sap.cds:cds-services-bomcom.sap.cds:cds-services-bomThe Maven bill of materials for CAP Java, pinning every com.sap.cds module in a release, from the API and core runtime to the Spring Boot starters and the CQN engine, to the same version.sap official, capMaven bill of materials pinning CAP Java module versionsfrom CAP
- ABAP_DeepL_clientABAP_DeepL_clientAn ABAP client for the DeepL translation service, so text can be sent for translation from inside the system rather than through a tool outside it.independent, abapABAP client for the DeepL translation servicefrom ABAP
- LISALISAAn MCP server that lets an AI client read and write the translations of ABAP repository objects through three tools, backed by an ABAP HTTP service on SAP's XCO i18n APIs.independent, abapMCP server for reading and writing ABAP object translationsfrom ABAP
- @concircle/i18n-ai-translator@concircle/i18n-ai-translatorA CLI that translates a UI5 app's i18n.properties with OpenAI and writes the language files back, masking placeholders, applying a glossary and caching what has been translated.independent, ui5CLI translating UI5 i18n.properties files with OpenAIfrom UI5
- ABAP_TRANSLATION_HUBABAP_TRANSLATION_HUBA report that pushes an ABAP object list to SAP Translation Hub and pulls the finished translations back, meant to run as a job after the evaluation job has finished.independent, abapReport pushing ABAP objects to SAP Translation Hub and backfrom ABAP
- abap-form-translatorabap-form-translatorA runtime translation layer for Smartform and Adobe form labels, matching structure fields against a table maintained in a RAP Fiori app, so a label changes without SE63 or a transport.independent, abapRuntime translation layer for SAP form labels, kept in a tablefrom ABAP
- ZOTR_UTILITYZOTR_UTILITYA small ABAP framework that reads language-dependent texts from SAP's online text repository through inheritance and named constants rather than a direct API call with a string alias.independent, abapABAP framework reading texts from SAP's online text repositoryfrom ABAP
- ZABAP_TRANSLATIONSZABAP_TRANSLATIONSAn ABAP tool that exports the texts of a package or program to an Excel file and imports them back in bulk once translated, covering eight object types from programs and classes to domain values.independent, abapExcel export and import of ABAP package or program textsfrom ABAP
- @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, capCAP Node.js runtimefrom CAP
- @sap-ux/i18n@sap-ux/i18nA 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.sap official, ui5Reader and writer for i18n bundles of UI5 or CAP projectsfrom UI5
- XLF TranslatorXLF TranslatorTakes an uploaded XLIFF file and makes every entry that carries a translation element editable in the page, aimed mainly at the ABAP Cloud content the Maintain Translation app generates.independent, abapEditor for the translations in an uploaded XLIFF filefrom ABAP
Details
Sources
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
History in the atlas
- Listed on bestofui5.org and absent from the atlas. Its README names the UI5 application texts and the webapp/i18n folder, so it passes the scope rule; the one capability on the UI5 door that holds it is localization.
- First seen.
For your agent
- Ref
artifact:jchirk-ui5-i18n-excel-converter- JSON
- /artifacts/jchirk-ui5-i18n-excel-converter.json
- MCP
- Connecting an agent