Skip to content

A Babel transform plugin to replace strings with their translations.

License

Notifications You must be signed in to change notification settings

vimeo/babel-plugin-transform-i18n

Repository files navigation

babel-plugin-transform-i18n Build Status Coverage npm Gitter

A Babel transform plugin to replace strings with their translations.

Example

.babelrc

{
    "plugins": [
        ["transform-i18n", {
            "dictionary": {
                "Hello": "Bonjour",
                "Hello, {name}!": "Bonjour, {name}!"
            }
        }]
    ]
}

In

const name = 'Brad';
const hello = t('Hello');
const helloWithName = t('Hello, {name}!', {
    name
})

Out

const name = 'Brad';
const hello = 'Bonjour';
const helloWithName = 'Bonjour, ' + name + '!';

Installation

npm install babel-plugin-transform-i18n

Usage

Via .babelrc

{
    "plugins": [
        ["transform-i18n", {
            "functionName": "t",
            "dictionary": {}
        }]
    ]
}

Via Node API

require('babel-core').transform('code', {
    plugins: [
        ['transform-i18n', {
            functionName: 't',
            dictionary: {}
        }]
    ]
});

Options

There are two options available, both are optional:

dictionary

A mapping of the strings passed to the translation function to their translated versions. If no dictionary is passed, calls to the translation function will be replaced with the original string.

functionName

The name of the function that wraps the strings. Defaults to t.

About

A Babel transform plugin to replace strings with their translations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published