Updated manual install

This commit is contained in:
Matteo Mazzarolo 2016-08-18 14:50:08 +02:00 committed by GitHub
parent 26d6091093
commit 4998f5ed04
1 changed files with 13 additions and 27 deletions

View File

@ -1,9 +1,7 @@
# react-native-i18n
Integrates [I18n.js](https://github.com/fnando/i18n-js) with React Native. Uses the device's locale as default.
## Installation
## Automatic install
`$ npm install react-native-i18n --save`
After installing the npm package you need to link the native modules.
@ -11,23 +9,20 @@ If you're using React-Native < 0.29 install [rnpm](https://github.com/rnpm/rnpm)
If you're using React-Native >= 0.29 just link the library with the command `react-native link`.
You can do so using [rnpm](https://github.com/rnpm/rnpm).
Or you can do it manually as follows:
### iOS
If you're having any issue you can also try to install the library manually as follows.
## Manual install
## iOS
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-ios.html#content).
### Android
Add `react-native-i18n` to your `./android/settings.gradle` file as follows:
```
include ':app', ':react-native-i18n'
project(':react-native-i18n').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-i18n/android')
```
Include it as dependency in `./android/app/build.gradle` file:
```
dependencies {
...
@ -35,36 +30,29 @@ dependencies {
}
```
Finally, you need to add the package within the `ReactInstanceManager` of your MainActivity (`./android/app/src/main/java/your/bundle/MainActivity.java`):
Finally, you need to add the package to your MainApplication (`./android/app/src/main/java/your/bundle/MainApplication.java`):
```java
import com.i18n.reactnativei18n.ReactNativeI18n; // <---- import this one
import com.i18n.reactnativei18n.ReactNativeI18n; // <-- Add to ReactNativeI18n to the imports
...
@Override
protected void onCreate(Bundle savedInstanceState) {
...
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
.addPackage(new ReactNativeI18n()) // <---- add this line
.build();
...
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
...
new ReactNativeI18n(), // <-- Add it to the packages list
...
);
}
...
```
After that, you will need to recompile your project with `react-native run-android`.
## Usage
```javascript
import I18n from 'react-native-i18n'
@ -112,9 +100,7 @@ I18n.translations = {
For a device with a `en_GB` locale this will return `Hi from the UK!'`, for a device with a `en_US` locale it will return `Hi!`.
### Device's locale
You can get the device's locale with the `RNI18n` native module:
```js
import ReactNativeI18n from 'react-native-i18n'
const deviceLocale = ReactNativeI18n.locale