/ i18n

React Native properties and methods related to the language of the device

React Native properties and methods related to the language of the device


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


On Android

  • Android SDK Build-tools 25.0.3


Using yarn

$ yarn add react-native-languages

Using npm

$ npm i -S react-native-languages


Using react-native-cli

$ react-native link react-native-languages

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 {

  // ...

  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 i18next

Browse the files in the /example directory.