@startupjs/babel-plugin-i18n-extract

0.55.8 • Public • Published

@startupjs/babel-plugin-i18n-extract

Babel Plugin for i18n Automation

This is a Babel plugin that automates i18n tasks by extracting translation keys and default values from your source code. It processes files with the following extensions: js, jsx, ts, tsx, mjs, cjs, web.js, web.jsx, web.ts, web.tsx, web.mjs, and web.cjs.

Installation

To use this plugin, first install it as a dependency:

npm install --save-dev @startupjs/babel-plugin-i18n-extract

Then, add the plugin to your Babel configuration:

{
  "plugins": ["@startupjs/babel-plugin-i18n-extract"]
}

Usage

This plugin looks for the t function imported from the following libraries:

  • startupjs
  • startupjs/i18n
  • @startupjs/i18n

The t function is used to mark strings for translation. It should be called with two string literal arguments: the translation key and the default value.

For example:

import { observer, t } from 'startupjs';

export default observer(function App() {
  return <span>{t('key', 'defaultValue')}</span>;
});

During the build process, the plugin will extract the keys and default values and save them in a translations.json file.

Configuration Options

The plugin accepts an optional collectTranslations configuration option:

{
  "plugins": [
    ["@startupjs/babel-plugin-i18n-extract", { "collectTranslations": true }]
  ]
}

When collectTranslations is set to true, the plugin will merge the translations from different file extensions (web, android, ios) into a single translation object.

Tests

The plugin includes tests to ensure it works correctly. The __tests__/translations.spec.js file checks if the generated translations.json file matches the expected content. The __tests__/index.spec.js file contains various test cases to ensure the plugin behaves as expected.

To run the tests, simply execute:

npm test

License

This plugin is licensed under the MIT License.

Package Sidebar

Install

npm i @startupjs/babel-plugin-i18n-extract

Weekly Downloads

280

Version

0.55.8

License

MIT

Unpacked Size

9.47 kB

Total Files

3

Last publish

Collaborators

  • cray0000
  • yska
  • zag2art
  • fctsvirus
  • maestro.sc
  • byshock