Better Translateالرئيسية
GitHub
البدء
  • المقدمة
  • المهمة
  • التثبيت
  • CLI
  • المهارات
  • RTL
  • سجل التغييرات
المحولات
  • الأساس
  • React
  • Expo
  • Astro
  • MD & MDX
  • Next.js
  • TanStack Router

Expo

Expo يستخدم نفس محوّل React المستخدم في الويب.

لا يوجد حزمة منفصلة باسم @better-translate/react-native.

1. تثبيت الحزم

npm install @better-translate/core @better-translate/react

2. إنشاء المترجم

أنشئ lib/i18n.ts:

ts
1import { configureTranslations } from "@better-translate/core";23const en = {4  home: {5    title: "Hello from Expo",6  },7} as const;89const es = {10  home: {11    title: "Hola desde Expo",12  },13} as const;1415export const translator = await configureTranslations({16  availableLocales: ["en", "es"] as const,17  defaultLocale: "en",18  fallbackLocale: "en",19  messages: { en, es },20});

3. تغليف التطبيق

أنشئ أو حدّث App.tsx:

tsx
1import { BetterTranslateProvider } from "@better-translate/react";23import { HomeScreen } from "./components/home-screen";4import { translator } from "./lib/i18n";56export default function App() {7  return (8    <BetterTranslateProvider translator={translator}>9      <HomeScreen />10    </BetterTranslateProvider>11  );12}

4. استخدام الترجمات في شاشة

أنشئ components/home-screen.tsx:

tsx
1import { Button, Text, View } from "react-native";23import { useTranslations } from "@better-translate/react";45import { translator } from "../lib/i18n";67export function HomeScreen() {8  const { locale, setLocale, t } = useTranslations<typeof translator>();910  return (11    <View style={{ gap: 12, padding: 24 }}>12      <Text>{t("home.title")}</Text>13      <Button14        title={locale === "en" ? "Spanish" : "English"}15        onPress={() => setLocale(locale === "en" ? "es" : "en")}16      />17    </View>18  );19}

النموذج الذهني

  • @better-translate/core تمتلك بيانات الترجمة
  • @better-translate/react يمنح Expo الـ provider والـ hook

هذا هو الإعداد الكامل لمعظم تطبيقات Expo.

توليد ملفات اللغة تلقائياً

بدلاً من كتابة كل ترجمة يدوياً، استخدم CLI لاستخراج النصوص وتوليد ملفات اللغة: دليل CLI

أمثلة

  • expo-example