@sap-ux/i18n

SAP
esm
@sap-ux/i18n JS library on GitHub @sap-ux/i18n JS library on npm Download @sap-ux/i18n JS library

Library for i18n

Version 0.2.3 License Apache-2.0
@sap-ux/i18n has no homepage
@sap-ux/i18n JS library on GitHub
@sap-ux/i18n JS library on npm
Download @sap-ux/i18n JS library

@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