🌍 Get the user preferred languages and use the library of your choice to translate your app
Go to file
kn 2aa017115f Add desktop implementation 2019-01-13 21:31:34 -08:00
.github Rename the package to RNLanguages 2018-04-21 18:38:11 +02:00
android Update AndroidManifest.xml 2018-10-10 11:49:17 +03:00
desktop Add desktop implementation 2019-01-13 21:31:34 -08:00
docs Ship 3.0.0 2018-09-06 15:58:44 +02:00
example Ship 3.0.0 2018-09-06 15:58:44 +02:00
ios Rename the package to RNLanguages 2018-04-21 18:38:11 +02:00
.editorconfig Initial release 2017-08-01 18:44:14 +02:00
.flowconfig Ship 3.0.0 2018-09-06 15:58:44 +02:00
.gitignore Provides a simple i18next example using i18next + react-i18next 2017-09-24 19:58:02 +02:00
.npmignore Provides a simple i18next example using i18next + react-i18next 2017-09-24 19:58:02 +02:00
.prettierignore Use .prettierignore / .prettierrc files 2017-09-12 01:13:17 +02:00
.prettierrc Use .prettierignore / .prettierrc files 2017-09-12 01:13:17 +02:00
README.md Ship 3.0.0 2018-09-06 15:58:44 +02:00
RNLanguages.podspec Ship 3.0.0 2018-09-06 15:58:44 +02:00
index.d.ts Bump version 2019-01-01 16:51:11 +01:00
index.js Ship 3.0.0 2018-09-06 15:58:44 +02:00
package.json Bump version 2019-01-01 16:51:11 +01:00
yarn.lock Ship 3.0.0 2018-09-06 15:58:44 +02:00

README.md

🌍 react-native-languages

Get the user preferred languages and use the library of your choice to translate your app !

npm version npm Platform - Android and iOS MIT styled with prettier

Support

Version React Native Support
3.0.0 0.56.0+
2.0.1 0.48.0 - 0.55.0

Installation

Using yarn

$ npm install --save react-native-languages
# --- or ---
$ yarn add react-native-languages

Linking

Using react-native-cli

$ react-native link react-native-languages

NB: If you use a Cocoapods and have a Podfile, react-native link will only add this library as a dependency, and you'll need to run pod install.

Using CocoaPods (iOS)

# add this line in your Podfile
pod 'RNLanguages', :path => '../node_modules/react-native-languages'
$ pod install

Manual (iOS)

  1. In the XCode's "Project navigator", right click on your project's Libraries folder ➜ Add Files to <...>
  2. Go to node_modulesreact-native-languagesios ➜ select RNLanguages.xcodeproj
  3. Add RNLanguages.a to Build Phases -> Link Binary With Libraries

Manual (Android)

  1. Add the following lines to android/settings.gradle:
include ':react-native-languages'
project(':react-native-languages').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-languages/android')
  1. Add the compile line to the dependencies in android/app/build.gradle:
dependencies {
  // ...
  compile project(':react-native-languages')
}
  1. Add the import and link the package in MainApplication.java:
import com.reactcommunity.rnlanguages.RNLanguagesPackage; // <-- Add the RNLanguages import

public class MainApplication extends Application implements ReactApplication {

  // ...

  @Override
  protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
      new MainReactPackage(),
      // ...
      new RNLanguagesPackage() // <-- Add it to the packages list
    );
  }

  // ...
}

Basic usage

import RNLanguages from 'react-native-languages';

// Current device language
console.log('language', RNLanguages.language);

// User preferred languages (in order)
console.log('languages', RNLanguages.languages);

// Listening for languages changes (on Android)
RNLanguages.addEventListener('change', ({ language, languages }) => {
  // Do languages related things…
});

Add project's supported localizations (iOS)

Example with i18n-js

Browse the files in the /example directory.