Files
gitbook/docs/api/i18n.md
T
2016-10-03 00:59:26 +02:00

45 lines
1008 B
Markdown

# Internationalize your plugin
GitBook has built-in support for internationalization. Plugins can register new languages and provide the right messages for different languages.
### Register locale and messages
The first step is to register messages for a language:
```js
module.exports = GitBook.createPlugin({
init: (dispatch, getState, { I18n }) => {
dispatch(I18n.registerLocale('en-US', {
MY_PLUGIN_MESSAGE: 'Hello World'
}));
}
});
```
### Render a message in a component
`GitBook.connect` adds a `i18n` prop to access the internationalization:
```js
const GitBook = require('gitbook-core');
const { React } = GitBook;
const MyButton = React.createClass({
propTypes: {
i18n: GitBook.Shapes.i18n
},
render() {
const { i18n } = this.props;
return (
<GitBook.Button>
{i18.t('MY_PLUGIN_MESSAGE')}
</GitBook.Button>
);
}
});
module.exports = GitBook.connect(MyButton);
```