react-native-i18n/README.md

43 lines
1.2 KiB
Markdown
Raw Normal View History

2015-06-14 15:09:32 +00:00
# react-native-i18n
2015-06-14 15:12:16 +00:00
Integrates [I18n.js](https://github.com/fnando/i18n-js) with React Native. Uses the device's locale as default.
2015-06-14 15:09:32 +00:00
## Installation
`$ npm install react-native-i18n --save`
Add `RNI18n.xcodeproj` to **Libraries** and add `libRNI18n.a` to **Link Binary With Libraries** under **Build Phases**. [More info and screenshots about how to do this is available in the React Native documentation](http://facebook.github.io/react-native/docs/linking-libraries.html).
## Usage
```js
var I18n = require('react-native-i18n');
2015-06-14 15:12:16 +00:00
var Demo = React.createClass({
2015-06-14 15:09:32 +00:00
render: function() {
return (
<Text>{I18n.t('greeting')}</Text>
)
}
});
I18n.translations = {
en: {
greeting: 'Hi!'
},
fr: {
greeting: 'Bonjour!'
}
}
```
2015-06-14 15:12:16 +00:00
This will render `Hi!` for devices with the English locale, and `Bonjour!` for devices with the French locale.
2015-06-14 15:20:57 +00:00
For more info about I18n.js methods (`localize`, `pluralize`, etc) and settings see [its documentation](https://github.com/fnando/i18n-js#setting-up).
2015-06-14 15:09:32 +00:00
### Device's locale
You can get the device's locale with the `RNI18n` native module:
```js
var deviceLocale = require('react-native').NativeModules.RNI18n.locale
```