MVVMCROSS tegeleb keelefaili värskendustega, kasutades konkreetsel viisil ühekordset sidumist, eriti keelefailide staatilise tekstiga tegelemisel. Siin on üksikasjalik seletus selle toimimise kohta:
Ülevaade ühekordse sidumise kohta MVVMcrossis
Ühekordne sidumine MVVMcrossis on sidumisrežiim, mis edastab väärtused vaatemodelist vaatesse. See ülekanne toimub ainult siis, kui siduv allikas on seatud, ja see ei jälgi aktiivselt ViewModeli muutuste sõnumeid ega sündmusi. Kui esialgne ülekanne on lõpule viidud, ei tee köitmine värskendusi, välja arvatud juhul, kui sidumisallikas ise lähtestatakse [1].
Keelefaili värskenduste käitlemine
Keelefailide ühekordse sidumise kasutamisel seab MVVMCross teksti tavaliselt ühe keele valimisel. Selle põhjuseks on asjaolu, et kasutajatel on tavaline, et valib rakenduse alguses keele ja on haruldane, et nad seda sageli muudavad. Kui keelt tuleb aga dünaamiliselt värskendada, ei piisa ainult ühekordsest köitmisest, kuna see ei värskenda teksti automaatselt, kui keel muutub.
Dünaamilised keeleuuendused
Dünaamiliste keelevärskenduste käsitlemiseks peate tavaliselt rakendama täiendavat loogikat. See võib hõlmata sidumisallika lähtestamist, kui keel muutub või kasutab teistsugust köitmisrežiimi, mis toetab värskendusi, näiteks kahesuunalist sidumist, ehkki see on staatilise teksti puhul vähem levinud.
MVVMCROSS.PLUGIN.RESSXLOCALIGIATSIOON
Keelefailide haldamiseks pakub MVVMcross pistikprogrammi `mvvmcross.plugin.resxlocalization`, mis võimaldab teil stringe salvestada erinevate keelte jaoks. See pistikprogramm aitab hallata lokaliseeritud stringe ja seda saab integreerida rakenduse ROK -i konteineriga, et võimaldada juurdepääsu lokaliseeritud ressurssidele ViewModelsist ja vaadetest [4].
Selle pistikprogrammiga dünaamiliseks värskendamiseks peaksite rakendama loogikat, mis värskendab kasutajaliidese, kui keel muutub. See võib hõlmata kasutajaliidese elementide tekstiomaduste käsitsi värskendamist või dünaamilisema sidumisviisi kasutamist, mis reageerib keelemuutustele.
Järeldus
Ehkki ühekordne köide sobib algselt keelefailidest staatilise teksti seadmiseks, nõuab dünaamiliste keeleuuenduste käitlemine täiendavaid rakendamise etappe. MVVMCROSS pakub tööriistu nagu resxlokalisatsioon "pistikprogrammi lokaliseeritud ressursside haldamiseks, kuid peate rakendama loogikat kasutajaliidese värskendamiseks, kui keel muutub.
Kokkuvõtlikult ei ole MVVMcrossi ühekordne köitmine loodud keelevärskenduste automaatselt haldamiseks, kuid õige täiendava loogika ja pistikprogrammide abil saate oma rakenduses saavutada dünaamilise keeletoe.
Tsitaadid:[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://www.mvvmcross.com/documentation/fundamentals/value-onverters
[3] https://www.mvvmcross.com/mvvmcross-5-release/
]
[5] https://stackoverflow.com/questions/17156368/
]
[7] https://www.mvvmcross.com/documentation/plugins/jsonlocalisatsioon
[8] https://www.mvvmcross.com/documentation/fundamentals/linking
[9] https://www.mvvmcross.com/blog/