From 4998f5ed044373cc4473e15b4360c3865124c858 Mon Sep 17 00:00:00 2001 From: Matteo Mazzarolo Date: Thu, 18 Aug 2016 14:50:08 +0200 Subject: [PATCH] Updated manual install --- README.md | 40 +++++++++++++--------------------------- 1 file changed, 13 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index e33fff7..dc7a3e0 100644 --- a/README.md +++ b/README.md @@ -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 getPackages() { + return Arrays.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