Skip to content

Let the platform take care of internationalization! ...and reduce your bundle.js

License

Notifications You must be signed in to change notification settings

fabriciovergara/react-native-localizable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);