@stringpush/react-native
v0.3.1
Published
React Native runtime bindings (no overlay) for @stringpush/runtime-core
Downloads
375
Readme
@stringpush/react-native
React Native runtime-only bindings for @stringpush/runtime-core. Loads manifest + CDN bundles and exposes t() — no in-context overlay on native views.
Install
pnpm add @stringpush/react-native @stringpush/runtime-core react react-nativeUsage
import { TranslationProvider, useTranslation } from "@stringpush/react-native";
import { Text, View } from "react-native";
export function App() {
return (
<TranslationProvider
applicationId="<from admin>"
environment="staging"
locale="en"
apiKey="trt_…"
apiBaseUrl="https://api.platform.stringpush.com"
>
<Greeting />
</TranslationProvider>
);
}
function Greeting() {
const { t, isReady, locale, setLocale } = useTranslation();
if (!isReady) {
return <Text>Loading translations…</Text>;
}
return (
<View>
<Text>{t("common.greeting")}</Text>
<Text onPress={() => void setLocale("fr")}>Locale: {locale}</Text>
</View>
);
}TranslationProvider mirrors @stringpush/react: { t, locale, setLocale, isReady } from useTranslation().
Overlay scope
| Surface | Package |
|---------|---------|
| Native Text / View | @stringpush/react-native (this package) — read-only runtime |
| WebView screen | @stringpush/sdk inside react-native-webview — full overlay + edit mode |
Translators editing copy in-context use the WebView path or admin web. Native chrome strings are managed via admin publish workflow.
Optional caching
The runtime uses fetch for manifest and bundles. You may pass a custom fetch implementation that reads/writes @react-native-async-storage/async-storage for offline bundles — not included in v1. See @stringpush/runtime-core fixtures/README.md for HTTP contract shapes.
Metro
The package ships ESM/CJS builds with a react-native export field. No native modules — pure JavaScript.
Related
Report vulnerabilities to [email protected].
