Ku qorista codsi luqado badan ku hadla afka Dhaladka React
Meelaynta badeecadu aad bay muhiim ugu tahay shirkadaha caalamiga ah ee sahaminta wadamo iyo gobolo cusub. Sidoo kale, deegaan ayaa looga baahan yahay codsiyada mobaylada. Haddii horumariye bilaabo balaadhinta caalamiga ah, waa muhiim in la siiyo dadka isticmaala waddan kale fursad ay kula shaqeeyaan interface-ka afkooda hooyo. Maqaalkan, waxaan ku abuuri doonaa arji React Native anagoo adeegsanayna xirmada falcelin-hooyo-maxaliyeed.
Skillbox waxay ku talinaysaa: Koorso online ah oo waxbarasho "Horumarinta Xirfadda Java". Waxaan xusuusineynaa:dhammaan akhristayaasha "Habr" - qiimo dhimis ah 10 rubles marka la qorayo koorso kasta oo Skillbox ah iyadoo la adeegsanayo koodhka xayeysiinta "Habr".
Qalabka iyo xirfadaha
Si aad u fahamto maqaalkan, waxaad u baahan tahay xirfado aasaasi ah oo la shaqaynta React Native. Si aad naftaada u barato habaynta mishiinka shaqada, waad awoodaa isticmaal tilmaamaha rasmiga ah.
Waxaan u baahan doonaa noocyadan qalabka software:
Node v10.15.0
npm 6.4.1
dunta 1.16.0
falcelin-dhaladeed 0.59.9
falcelin-hooyo-maxaliyeed 1.1.3
i18n-js 3.3.0
Bilaabashada
Waxaan abuuri doonaa codsi taageera Ingiriisi, Faransiis iyo Carabi. Marka hore waxaan abuurnaa mashruuc cusub anagoo adeegsanayna react-native-cli. Si tan loo sameeyo, waxaad u baahan tahay inaad tan ku qorto terminalka:
$ jawaab celin-hooyo int af-badan
$ cd luuqado badan
Ku darida maktabadaha lagama maarmaanka ah
Tallaabada ugu horreysa waa in lagu rakibo react-native-localize adiga oo ku qoraya kuwa soo socda:
$ yarn ku dar falcelin-hooyo-maxaliyeed
Maktabadda falcelinta-hooyo-maxaliyeed waxay siinaysaa horumariyaha marin u helka sifooyinka luuqadaha badan. Laakiin waxay u baahan tahay hal maktabad oo kale - i18n.
Maqaalkani wuxuu qeexayaa isticmaalka I18n.js si loogu turjumo JavaScript.
$ yarn ku dar i18n-js
Hagaag, maadaama i18n-js aanu bixin kaydin ama xusuusin, waxaan soo jeedinayaa isticmaalka lodash.memoize tan:
$ yarn ku dar lodash.memoize
La shaqaynta tarjumaada
Si codsigu u awoodo inuu la shaqeeyo luqado kale, marka hore waxaad u baahan tahay inaad abuurto tusaha tarjumaada gudaha src, ka dibna seddex fayl JSON ah luqad kasta.
1. en.json ee Ingiriisiga;
2. fr.json ee Faransiis;
3. ar.json Carabi.
Faylashani waxay ka kooban yihiin walxo JSON oo leh furayaal iyo qiimayaal. Furaha ayaa isku mid noqon doona luqad kasta. Waxa loo isticmaalaa arjiga si uu u muujiyo macluumaadka qoraalka.
Qiimaha waa qoraalka u baahan in la tuso isticmaalaha.
Luqadda Ingiriisiga:
{"hello": "Hello aduunka!"}
Faransiis
{"hello": "Salutu le Monde!"}
ΠΡΠ°Π±ΡΠΊΠΈΠΉ
{"hello": "Ψ£ΩΩΨ§Ω Ψ¨Ψ§ΩΨΉΨ§ΩΩ "}
Waxaad ku dari kartaa luqado kale si la mid ah.
Koodhka ugu muhiimsan
Halkaa marka ay marayso, waxaad u baahan tahay inaad furto faylka App.js oo aad ku darto soo dejinta:
import React from "react";
import * as RNLocalize from "react-native-localize";
import i18n from "i18n-js";
import memoize from "lodash.memoize"; // Use for caching/memoize for better performance
import {
I18nManager,
SafeAreaView,
ScrollView,
StyleSheet,
Text,
View
} from "react-native";
Taas ka dib, hawlaha kaalmaynta iyo joogtada ah ayaa lagu daraa kuwaas oo waxtar yeelan doona hadhow.
Habka handleLocalizationChange() waxa uu hawlgeliyaa setI18nConfig() iyo forceUpdate(). Tani waxay lagama maarmaan u tahay aaladaha Android maadaama qaybta ay tahay in la sameeyo si isbeddelada loo dareemo.
Markaa waxaad u baahan tahay inaad ka saarto dhegeysiga habka componentWillUnmount().
Ugu dambayntii, render() waxa ay ku soo celisaa hello adiga oo isticmaalaya tarjumaadda() oo ku daraysa halbeeg muhiim ah. Tallaabooyinkan ka dib, codsigu wuxuu awood u yeelan doonaa inuu "fahmo" luqadda loo baahan yahay oo uu ku muujiyo farriimaha dhexdiisa.
Bilaabista codsiga
Hadda waa waqtigii la hubin lahaa sida turjumaada u shaqeyso.
Marka hore, waxaan ku bilownaa arjiga jilbaha ama emulatorka anagoo ku qorna
Carabi sidaas oo kale ayaynu ku samaynaa, wax farqi ahi ma jiro.
Ilaa hadda aad u wanaagsan.
Laakiin maxaa dhacaya haddii aad doorato luqad aan toos ahayn oo aan arjiga ku jirin turjumaad?
Waxaa soo baxday in hawsha FindBestLanguage ay tahay in laga bixiyo tarjumaadda ugu wanaagsan dhammaan kuwa la heli karo. Natiijo ahaan, luqadda caadiga ah ayaa la soo bandhigi doonaa.
Waxaan ka hadleynaa dejinta telefoonka. Tusaale ahaan, emulator-ka iOS-ka waxaad ka arki kartaa siday u kala horreeyaan luqadaha.
Haddii luqadda la xushay aysan ahayn luqadda la door bidayo, helBestAvailableLanguage waxay soo celisaa iyada oo aan la qeexin si luqadda caadiga ah loo muujiyo.
Gunno
react-native-localize waxay leedahay API oo bixisa marin u helka tiro badan oo canaasiir luqadeed ah. Kahor intaadan bilaabin shaqada, Way mudan tahay in la hubiyo dukumentiyada.
natiijooyinka
Codsiga waxaa lagu samayn karaa luqado badan iyadoon wax dhibaato ah jirin. React-native-localize waa door weyn oo kuu ogolaanaya inaad ballaariso saldhigga isticmaale ee abkaaga.