Lingvit

Native mobile translation for React Native & Expo

Empower your React Native and Expo mobile apps with instant translation. @lingvit/react-native caches strings locally, handles network dropouts gracefully, and switches languages on the fly.

What gets translated

  • iOS and Android native platforms
  • Expo managed and bare workflows
  • AsyncStorage and MMKV persistent caching
  • Real-time in-app language switching without app reload
  • Fail-open behavior during network loss
  • React Navigation screen titles and tab labels
  • Push notification string translation
  • TypeScript autocomplete and type safety

Setup guide

  1. Install dependencies

    Install @lingvit/react-native and AsyncStorage.

    npm install @lingvit/react-native @react-native-async-storage/async-storage
  2. Configure LingvitProvider

    Wrap your root component with the provider in App.tsx.

    import { LingvitProvider } from '@lingvit/react-native';
    
    export default function App() {
      return (
        <LingvitProvider projectKey="lng_pk_...">
          <Navigation />
        </LingvitProvider>
      );
    }
  3. Translate strings with useLingvit()

    Use the hook or <Trans> component inside your screens.

    import { useLingvit } from '@lingvit/react-native';
    
    export function HomeScreen() {
      const { t } = useLingvit();
      return <Text>{t('Discover new products')}</Text>;
    }

Frequently asked questions

Does it work in Expo managed workflow?

Yes. @lingvit/react-native contains no native custom C++/Obj-C code and runs smoothly in Expo Go and EAS builds.

Is offline caching supported?

Yes. Strings are persisted in AsyncStorage (or optional MMKV storage) and are available instantly upon app launch.

Can I translate React Navigation titles?

Yes. useLingvit() can be used inside screenOptions and tabBarLabel render props.

How does it handle RTL layouts?

It integrates with I18nManager to adjust layout direction automatically when switching between LTR and RTL locales.

Start translating your React Native & Expo site

A monthly word generation allowance for new translations. Cached delivery uses no extra allowance.