diff --git a/with-i18next/.gitignore b/with-i18next/.gitignore new file mode 100644 index 00000000..d16e1efb --- /dev/null +++ b/with-i18next/.gitignore @@ -0,0 +1,36 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo diff --git a/with-i18next/App.js b/with-i18next/App.js new file mode 100644 index 00000000..dc7339b8 --- /dev/null +++ b/with-i18next/App.js @@ -0,0 +1,91 @@ +import { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { + FlatList, + Modal, + SafeAreaView, + StyleSheet, + Text, + TouchableOpacity, + View, +} from "react-native"; +import { LanguageList, resources } from "./modules/i18next"; +import { changeLanguage } from "i18next"; + +export default function App() { + const { t } = useTranslation(); + const [isLngSwitchActive, setIsSwitchActive] = useState(false); + return ( + + setIsSwitchActive(false)} + > + + ( + { + changeLanguage(item); + setIsSwitchActive(false); + }} + > + + {LanguageList[item].nativeName} + + + )} + /> + + + {t("fact")} + setIsSwitchActive(true)} + > + {t("change-language")} + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: "center", + alignItems: "center", + backgroundColor: "#191266", + }, + button: { + backgroundColor: "#6258e8", + padding: 10, + borderRadius: 3, + }, + buttonText: { + color: "white", + fontSize: 16, + }, + text: { + marginBottom: 100, + fontSize: 18, + color: "white", + }, + languagesList: { + flex: 1, + justifyContent: "center", + padding: 10, + backgroundColor: "#6258e8", + }, + + languageButton: { + padding: 10, + borderBottomColor: "#dddddd", + borderBottomWidth: 1, + }, + lngName: { + fontSize: 16, + color: "white", + }, +}); diff --git a/with-i18next/README.md b/with-i18next/README.md new file mode 100644 index 00000000..569f6615 --- /dev/null +++ b/with-i18next/README.md @@ -0,0 +1,29 @@ +# With-i18next + +

+ + Supports Expo iOS + + Supports Expo Android + + Supports Expo Web +

+ +## 📚 Description +This exmaple add a localisation feature to template which enables support for multi-lingual react-native apps. + +## 🚀 How to use + +### 🛠️ Adding new language +if `examples/with-i18next/constants/languages.json` has your desired language already then + + 1. Create a [langauge_code].json file in `constants` folder. e.g. sk.json + 2. Add required keys and its values(translation) to above json.file. + 3. Make sure to add an english fallback key:value in `en.json` +### 🔨 Adding a new key/translation to existing language + 1. If you need to add a new translation in any language, make sure you use a unique key and assign the value to it. + 2. Make sure you add a english translation for same key in `en.json` + +## 📝 Notes + +Follow instructions at https://www.i18next.com/ diff --git a/with-i18next/app.json b/with-i18next/app.json new file mode 100644 index 00000000..cd21df6a --- /dev/null +++ b/with-i18next/app.json @@ -0,0 +1,28 @@ +{ + "expo": { + "name": "with-i18next", + "slug": "with-i18next", + "version": "1.0.0", + "orientation": "portrait", + "icon": "./assets/icon.png", + "userInterfaceStyle": "light", + "newArchEnabled": true, + "splash": { + "image": "./assets/splash-icon.png", + "resizeMode": "contain", + "backgroundColor": "#ffffff" + }, + "ios": { + "supportsTablet": true + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/adaptive-icon.png", + "backgroundColor": "#ffffff" + } + }, + "web": { + "favicon": "./assets/favicon.png" + } + } +} diff --git a/with-i18next/assets/adaptive-icon.png b/with-i18next/assets/adaptive-icon.png new file mode 100644 index 00000000..03d6f6b6 Binary files /dev/null and b/with-i18next/assets/adaptive-icon.png differ diff --git a/with-i18next/assets/favicon.png b/with-i18next/assets/favicon.png new file mode 100644 index 00000000..e75f697b Binary files /dev/null and b/with-i18next/assets/favicon.png differ diff --git a/with-i18next/assets/icon.png b/with-i18next/assets/icon.png new file mode 100644 index 00000000..a0b1526f Binary files /dev/null and b/with-i18next/assets/icon.png differ diff --git a/with-i18next/assets/splash-icon.png b/with-i18next/assets/splash-icon.png new file mode 100644 index 00000000..03d6f6b6 Binary files /dev/null and b/with-i18next/assets/splash-icon.png differ diff --git a/with-i18next/constants/languages.json b/with-i18next/constants/languages.json new file mode 100644 index 00000000..b38e0a1c --- /dev/null +++ b/with-i18next/constants/languages.json @@ -0,0 +1,730 @@ +{ + "ab": { + "name": "Abkhaz", + "nativeName": "аҧсуа" + }, + "aa": { + "name": "Afar", + "nativeName": "Afaraf" + }, + "af": { + "name": "Afrikaans", + "nativeName": "Afrikaans" + }, + "ak": { + "name": "Akan", + "nativeName": "Akan" + }, + "sq": { + "name": "Albanian", + "nativeName": "Shqip" + }, + "am": { + "name": "Amharic", + "nativeName": "አማርኛ" + }, + "ar": { + "name": "Arabic", + "nativeName": "العربية" + }, + "an": { + "name": "Aragonese", + "nativeName": "Aragonés" + }, + "hy": { + "name": "Armenian", + "nativeName": "Հայերեն" + }, + "as": { + "name": "Assamese", + "nativeName": "অসমীয়া" + }, + "av": { + "name": "Avaric", + "nativeName": "авар мацӀ, магӀарул мацӀ" + }, + "ae": { + "name": "Avestan", + "nativeName": "avesta" + }, + "ay": { + "name": "Aymara", + "nativeName": "aymar aru" + }, + "az": { + "name": "Azerbaijani", + "nativeName": "azərbaycan dili" + }, + "bm": { + "name": "Bambara", + "nativeName": "bamanankan" + }, + "ba": { + "name": "Bashkir", + "nativeName": "башҡорт теле" + }, + "eu": { + "name": "Basque", + "nativeName": "euskara, euskera" + }, + "be": { + "name": "Belarusian", + "nativeName": "Беларуская" + }, + "bn": { + "name": "Bengali", + "nativeName": "বাংলা" + }, + "bh": { + "name": "Bihari", + "nativeName": "भोजपुरी" + }, + "bi": { + "name": "Bislama", + "nativeName": "Bislama" + }, + "bs": { + "name": "Bosnian", + "nativeName": "bosanski jezik" + }, + "br": { + "name": "Breton", + "nativeName": "brezhoneg" + }, + "bg": { + "name": "Bulgarian", + "nativeName": "български език" + }, + "my": { + "name": "Burmese", + "nativeName": "ဗမာစာ" + }, + "ca": { + "name": "Catalan; Valencian", + "nativeName": "Català" + }, + "ch": { + "name": "Chamorro", + "nativeName": "Chamoru" + }, + "ce": { + "name": "Chechen", + "nativeName": "нохчийн мотт" + }, + "ny": { + "name": "Chichewa; Chewa; Nyanja", + "nativeName": "chiCheŵa, chinyanja" + }, + "zh": { + "name": "Chinese", + "nativeName": "中文 (Zhōngwén), 汉语, 漢語" + }, + "cv": { + "name": "Chuvash", + "nativeName": "чӑваш чӗлхи" + }, + "kw": { + "name": "Cornish", + "nativeName": "Kernewek" + }, + "co": { + "name": "Corsican", + "nativeName": "corsu, lingua corsa" + }, + "cr": { + "name": "Cree", + "nativeName": "ᓀᐦᐃᔭᐍᐏᐣ" + }, + "hr": { + "name": "Croatian", + "nativeName": "hrvatski" + }, + "cs": { + "name": "Czech", + "nativeName": "česky, čeština" + }, + "da": { + "name": "Danish", + "nativeName": "dansk" + }, + "dv": { + "name": "Divehi; Dhivehi; Maldivian;", + "nativeName": "ދިވެހި" + }, + "nl": { + "name": "Dutch", + "nativeName": "Nederlands, Vlaams" + }, + "en": { + "name": "English", + "nativeName": "English" + }, + "eo": { + "name": "Esperanto", + "nativeName": "Esperanto" + }, + "et": { + "name": "Estonian", + "nativeName": "eesti, eesti keel" + }, + "ee": { + "name": "Ewe", + "nativeName": "Eʋegbe" + }, + "fo": { + "name": "Faroese", + "nativeName": "føroyskt" + }, + "fj": { + "name": "Fijian", + "nativeName": "vosa Vakaviti" + }, + "fi": { + "name": "Finnish", + "nativeName": "suomi, suomen kieli" + }, + "fr": { + "name": "French", + "nativeName": "français, langue française" + }, + "ff": { + "name": "Fula; Fulah; Pulaar; Pular", + "nativeName": "Fulfulde, Pulaar, Pular" + }, + "gl": { + "name": "Galician", + "nativeName": "Galego" + }, + "ka": { + "name": "Georgian", + "nativeName": "ქართული" + }, + "de": { + "name": "German", + "nativeName": "Deutsch" + }, + "el": { + "name": "Greek, Modern", + "nativeName": "Ελληνικά" + }, + "gn": { + "name": "Guaraní", + "nativeName": "Avañeẽ" + }, + "gu": { + "name": "Gujarati", + "nativeName": "ગુજરાતી" + }, + "ht": { + "name": "Haitian; Haitian Creole", + "nativeName": "Kreyòl ayisyen" + }, + "ha": { + "name": "Hausa", + "nativeName": "Hausa, هَوُسَ" + }, + "he": { + "name": "Hebrew (modern)", + "nativeName": "עברית" + }, + "hz": { + "name": "Herero", + "nativeName": "Otjiherero" + }, + "hi": { + "name": "Hindi", + "nativeName": "हिन्दी, हिंदी" + }, + "ho": { + "name": "Hiri Motu", + "nativeName": "Hiri Motu" + }, + "hu": { + "name": "Hungarian", + "nativeName": "Magyar" + }, + "ia": { + "name": "Interlingua", + "nativeName": "Interlingua" + }, + "id": { + "name": "Indonesian", + "nativeName": "Bahasa Indonesia" + }, + "ie": { + "name": "Interlingue", + "nativeName": "Originally called Occidental; then Interlingue after WWII" + }, + "ga": { + "name": "Irish", + "nativeName": "Gaeilge" + }, + "ig": { + "name": "Igbo", + "nativeName": "Asụsụ Igbo" + }, + "ik": { + "name": "Inupiaq", + "nativeName": "Iñupiaq, Iñupiatun" + }, + "io": { + "name": "Ido", + "nativeName": "Ido" + }, + "is": { + "name": "Icelandic", + "nativeName": "Íslenska" + }, + "it": { + "name": "Italian", + "nativeName": "Italiano" + }, + "iu": { + "name": "Inuktitut", + "nativeName": "ᐃᓄᒃᑎᑐᑦ" + }, + "ja": { + "name": "Japanese", + "nativeName": "日本語 (にほんご/にっぽんご)" + }, + "jv": { + "name": "Javanese", + "nativeName": "basa Jawa" + }, + "kl": { + "name": "Kalaallisut, Greenlandic", + "nativeName": "kalaallisut, kalaallit oqaasii" + }, + "kn": { + "name": "Kannada", + "nativeName": "ಕನ್ನಡ" + }, + "kr": { + "name": "Kanuri", + "nativeName": "Kanuri" + }, + "ks": { + "name": "Kashmiri", + "nativeName": "कश्मीरी, كشميري‎" + }, + "kk": { + "name": "Kazakh", + "nativeName": "Қазақ тілі" + }, + "km": { + "name": "Khmer", + "nativeName": "ភាសាខ្មែរ" + }, + "ki": { + "name": "Kikuyu, Gikuyu", + "nativeName": "Gĩkũyũ" + }, + "rw": { + "name": "Kinyarwanda", + "nativeName": "Ikinyarwanda" + }, + "ky": { + "name": "Kirghiz, Kyrgyz", + "nativeName": "кыргыз тили" + }, + "kv": { + "name": "Komi", + "nativeName": "коми кыв" + }, + "kg": { + "name": "Kongo", + "nativeName": "KiKongo" + }, + "ko": { + "name": "Korean", + "nativeName": "한국어 (韓國語), 조선말 (朝鮮語)" + }, + "ku": { + "name": "Kurdish", + "nativeName": "Kurdî, كوردی‎" + }, + "kj": { + "name": "Kwanyama, Kuanyama", + "nativeName": "Kuanyama" + }, + "la": { + "name": "Latin", + "nativeName": "latine, lingua latina" + }, + "lb": { + "name": "Luxembourgish, Letzeburgesch", + "nativeName": "Lëtzebuergesch" + }, + "lg": { + "name": "Luganda", + "nativeName": "Luganda" + }, + "li": { + "name": "Limburgish, Limburgan, Limburger", + "nativeName": "Limburgs" + }, + "ln": { + "name": "Lingala", + "nativeName": "Lingála" + }, + "lo": { + "name": "Lao", + "nativeName": "ພາສາລາວ" + }, + "lt": { + "name": "Lithuanian", + "nativeName": "lietuvių kalba" + }, + "lu": { + "name": "Luba-Katanga", + "nativeName": "" + }, + "lv": { + "name": "Latvian", + "nativeName": "latviešu valoda" + }, + "gv": { + "name": "Manx", + "nativeName": "Gaelg, Gailck" + }, + "mk": { + "name": "Macedonian", + "nativeName": "македонски јазик" + }, + "mg": { + "name": "Malagasy", + "nativeName": "Malagasy fiteny" + }, + "ms": { + "name": "Malay", + "nativeName": "bahasa Melayu, بهاس ملايو‎" + }, + "ml": { + "name": "Malayalam", + "nativeName": "മലയാളം" + }, + "mt": { + "name": "Maltese", + "nativeName": "Malti" + }, + "mi": { + "name": "Māori", + "nativeName": "te reo Māori" + }, + "mr": { + "name": "Marathi (Marāṭhī)", + "nativeName": "मराठी" + }, + "mh": { + "name": "Marshallese", + "nativeName": "Kajin M̧ajeļ" + }, + "mn": { + "name": "Mongolian", + "nativeName": "монгол" + }, + "na": { + "name": "Nauru", + "nativeName": "Ekakairũ Naoero" + }, + "nv": { + "name": "Navajo, Navaho", + "nativeName": "Diné bizaad, Dinékʼehǰí" + }, + "nb": { + "name": "Norwegian Bokmål", + "nativeName": "Norsk bokmål" + }, + "nd": { + "name": "North Ndebele", + "nativeName": "isiNdebele" + }, + "ne": { + "name": "Nepali", + "nativeName": "नेपाली" + }, + "ng": { + "name": "Ndonga", + "nativeName": "Owambo" + }, + "nn": { + "name": "Norwegian Nynorsk", + "nativeName": "Norsk nynorsk" + }, + "no": { + "name": "Norwegian", + "nativeName": "Norsk" + }, + "ii": { + "name": "Nuosu", + "nativeName": "ꆈꌠ꒿ Nuosuhxop" + }, + "nr": { + "name": "South Ndebele", + "nativeName": "isiNdebele" + }, + "oc": { + "name": "Occitan", + "nativeName": "Occitan" + }, + "oj": { + "name": "Ojibwe, Ojibwa", + "nativeName": "ᐊᓂᔑᓈᐯᒧᐎᓐ" + }, + "cu": { + "name": "Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic", + "nativeName": "ѩзыкъ словѣньскъ" + }, + "om": { + "name": "Oromo", + "nativeName": "Afaan Oromoo" + }, + "or": { + "name": "Oriya", + "nativeName": "ଓଡ଼ିଆ" + }, + "os": { + "name": "Ossetian, Ossetic", + "nativeName": "ирон æвзаг" + }, + "pa": { + "name": "Panjabi, Punjabi", + "nativeName": "ਪੰਜਾਬੀ, پنجابی‎" + }, + "pi": { + "name": "Pāli", + "nativeName": "पाऴि" + }, + "fa": { + "name": "Persian", + "nativeName": "فارسی" + }, + "pl": { + "name": "Polish", + "nativeName": "polski" + }, + "ps": { + "name": "Pashto, Pushto", + "nativeName": "پښتو" + }, + "pt": { + "name": "Portuguese", + "nativeName": "Português" + }, + "qu": { + "name": "Quechua", + "nativeName": "Runa Simi, Kichwa" + }, + "rm": { + "name": "Romansh", + "nativeName": "rumantsch grischun" + }, + "rn": { + "name": "Kirundi", + "nativeName": "kiRundi" + }, + "ro": { + "name": "Romanian, Moldavian, Moldovan", + "nativeName": "română" + }, + "ru": { + "name": "Russian", + "nativeName": "русский язык" + }, + "sa": { + "name": "Sanskrit (Saṁskṛta)", + "nativeName": "संस्कृतम्" + }, + "sc": { + "name": "Sardinian", + "nativeName": "sardu" + }, + "sd": { + "name": "Sindhi", + "nativeName": "सिन्धी, سنڌي، سندھی‎" + }, + "se": { + "name": "Northern Sami", + "nativeName": "Davvisámegiella" + }, + "sm": { + "name": "Samoan", + "nativeName": "gagana faa Samoa" + }, + "sg": { + "name": "Sango", + "nativeName": "yângâ tî sängö" + }, + "sr": { + "name": "Serbian", + "nativeName": "српски језик" + }, + "gd": { + "name": "Scottish Gaelic; Gaelic", + "nativeName": "Gàidhlig" + }, + "sn": { + "name": "Shona", + "nativeName": "chiShona" + }, + "si": { + "name": "Sinhala, Sinhalese", + "nativeName": "සිංහල" + }, + "sk": { + "name": "Slovak", + "nativeName": "slovenčina" + }, + "sl": { + "name": "Slovene", + "nativeName": "slovenščina" + }, + "so": { + "name": "Somali", + "nativeName": "Soomaaliga, af Soomaali" + }, + "st": { + "name": "Southern Sotho", + "nativeName": "Sesotho" + }, + "es": { + "name": "Spanish; Castilian", + "nativeName": "español" + }, + "su": { + "name": "Sundanese", + "nativeName": "Basa Sunda" + }, + "sw": { + "name": "Swahili", + "nativeName": "Kiswahili" + }, + "ss": { + "name": "Swati", + "nativeName": "SiSwati" + }, + "sv": { + "name": "Swedish", + "nativeName": "Svenska" + }, + "ta": { + "name": "Tamil", + "nativeName": "தமிழ்" + }, + "te": { + "name": "Telugu", + "nativeName": "తెలుగు" + }, + "tg": { + "name": "Tajik", + "nativeName": "тоҷикӣ, toğikī, تاجیکی‎" + }, + "th": { + "name": "Thai", + "nativeName": "ไทย" + }, + "ti": { + "name": "Tigrinya", + "nativeName": "ትግርኛ" + }, + "bo": { + "name": "Tibetan Standard, Tibetan, Central", + "nativeName": "བོད་ཡིག" + }, + "tk": { + "name": "Turkmen", + "nativeName": "Türkmen, Түркмен" + }, + "tl": { + "name": "Tagalog", + "nativeName": "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔" + }, + "tn": { + "name": "Tswana", + "nativeName": "Setswana" + }, + "to": { + "name": "Tonga (Tonga Islands)", + "nativeName": "faka Tonga" + }, + "tr": { + "name": "Turkish", + "nativeName": "Türkçe" + }, + "ts": { + "name": "Tsonga", + "nativeName": "Xitsonga" + }, + "tt": { + "name": "Tatar", + "nativeName": "татарча, tatarça, تاتارچا‎" + }, + "tw": { + "name": "Twi", + "nativeName": "Twi" + }, + "ty": { + "name": "Tahitian", + "nativeName": "Reo Tahiti" + }, + "ug": { + "name": "Uighur, Uyghur", + "nativeName": "Uyƣurqə, ئۇيغۇرچە‎" + }, + "uk": { + "name": "Ukrainian", + "nativeName": "українська" + }, + "ur": { + "name": "Urdu", + "nativeName": "اردو" + }, + "uz": { + "name": "Uzbek", + "nativeName": "zbek, Ўзбек, أۇزبېك‎" + }, + "ve": { + "name": "Venda", + "nativeName": "Tshivenḓa" + }, + "vi": { + "name": "Vietnamese", + "nativeName": "Tiếng Việt" + }, + "vo": { + "name": "Volapük", + "nativeName": "Volapük" + }, + "wa": { + "name": "Walloon", + "nativeName": "Walon" + }, + "cy": { + "name": "Welsh", + "nativeName": "Cymraeg" + }, + "wo": { + "name": "Wolof", + "nativeName": "Wollof" + }, + "fy": { + "name": "Western Frisian", + "nativeName": "Frysk" + }, + "xh": { + "name": "Xhosa", + "nativeName": "IsiXhosa" + }, + "yi": { + "name": "Yiddish", + "nativeName": "ייִדיש" + }, + "yo": { + "name": "Yoruba", + "nativeName": "Yorùbá" + }, + "za": { + "name": "Zhuang, Chuang", + "nativeName": "Saɯ cueŋƅ, Saw cuengh" + } +} diff --git a/with-i18next/index.js b/with-i18next/index.js new file mode 100644 index 00000000..1d6e981e --- /dev/null +++ b/with-i18next/index.js @@ -0,0 +1,8 @@ +import { registerRootComponent } from 'expo'; + +import App from './App'; + +// registerRootComponent calls AppRegistry.registerComponent('main', () => App); +// It also ensures that whether you load the app in Expo Go or in a native build, +// the environment is set up appropriately +registerRootComponent(App); diff --git a/with-i18next/locale/en.json b/with-i18next/locale/en.json new file mode 100644 index 00000000..2f1e598a --- /dev/null +++ b/with-i18next/locale/en.json @@ -0,0 +1,4 @@ +{ + "fact": "The solar system is about 4.6 billion years old and consists of the Sun, eight planets, moons, asteroids, comets, and other celestial objects. The Sun accounts for 99.86% of the system's mass, providing the gravitational pull that keeps everything in orbit. Earth is the only planet known to support life.", + "change-language": "Change Language" +} diff --git a/with-i18next/locale/es.json b/with-i18next/locale/es.json new file mode 100644 index 00000000..ca3674d2 --- /dev/null +++ b/with-i18next/locale/es.json @@ -0,0 +1,4 @@ +{ + "fact": "El sistema solar tiene aproximadamente 4.6 mil millones de años y consta del Sol, ocho planetas, lunas, asteroides, cometas y otros objetos celestes. El Sol representa el 99.86% de la masa del sistema, proporcionando la gravedad que mantiene todo en órbita. La Tierra es el único planeta conocido con vida.", + "change-language": "Cambiar idioma" +} diff --git a/with-i18next/locale/mr.json b/with-i18next/locale/mr.json new file mode 100644 index 00000000..f6677f90 --- /dev/null +++ b/with-i18next/locale/mr.json @@ -0,0 +1,4 @@ +{ + "fact": "सौरमाला सुमारे ४.६ अब्ज वर्षांपूर्वीची आहे आणि ती सूर्य, आठ ग्रह, चंद्र, लघुग्रह, धूमकेतू आणि इतर आकाशीय वस्तूंनी बनलेली आहे. सौरमालेच्या वस्तुमानापैकी ९९.८६% वस्तुमान सूर्याचं आहे, जे गुरुत्वाकर्षण प्रदान करतं आणि सर्व वस्तू परिभ्रमणात ठेवतं. पृथ्वी जीवन असलेला एकमेव ग्रह आहे.", + "change-language": "भाषा बदला" +} diff --git a/with-i18next/modules/i18next.js b/with-i18next/modules/i18next.js new file mode 100644 index 00000000..d7839f6f --- /dev/null +++ b/with-i18next/modules/i18next.js @@ -0,0 +1,22 @@ +import i18next from "i18next"; +import en from "../locale/en.json"; +import es from "../locale/es.json"; +import mr from "../locale/mr.json"; +import languages from "../constants/languages.json"; +import { initReactI18next } from "react-i18next"; + +export const resources = { + en: { translation: en }, + es: { translation: es }, + mr: { translation: mr }, +}; +export const LanguageList = languages; + +i18next.use(initReactI18next).init({ + compatibilityJSON: "v4", + lng: "mr", + fallbackLng: "en", + resources, +}); + +export default i18next; diff --git a/with-i18next/package.json b/with-i18next/package.json new file mode 100644 index 00000000..c9469f69 --- /dev/null +++ b/with-i18next/package.json @@ -0,0 +1,23 @@ +{ + "name": "with-i18next", + "version": "1.0.0", + "main": "index.js", + "scripts": { + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web" + }, + "dependencies": { + "expo": "~52.0.27", + "expo-status-bar": "~2.0.1", + "i18next": "^24.2.1", + "react": "18.3.1", + "react-i18next": "^15.4.0", + "react-native": "0.76.6" + }, + "devDependencies": { + "@babel/core": "^7.20.0" + }, + "private": true +}