Skip to content
Let the platform take care of internationalization! ...and reduce your bundle.js
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
android
example
ios
.gitignore
.npmignore
LICENSE
README.md
index.d.ts
index.js
package.json

README.md

react-native-localizable

Decrease your bundle.js size by using translation directly from native layer as native app :)

Instalation

npm install --save react-native-localizable
react-native link react-native-localizable

Instalation Android

@Override
protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        new RNLocalizablePackage(R.string.class) // << Add your application R.string here!
    );
}

On strings.xml

<resources>
    <string name="STRING_FROM_NATIVE">Hello from the NATIVE side, I must've called a thousand time...</string>
</resources>

Instalation iOS

Create Localizable.strings file as a normal iOS application.

On Localizable.strings

"STRING_FROM_NATIVE" = "Hello from the NATIVE side, I must've called a thousand time...";

App side

Javascript:

    import Localizable from 'react-native-localizable';
    console.log(Localizable.STRING_FROM_NATIVE);

Typescript:

   import Localizable from 'react-native-localizable';
   
   interface Strings {
       STRING_FROM_NATIVE: string
   }
   
   const strings = Localizable as String;
   console.log(strings.STRING_FROM_NATIVE);
You can’t perform that action at this time.