Mis Lovable'is mitmekeelseks muutmisel tegelikult juhtub
Paluge Lovable'il lisada uus hinnastuse jaotis. Lovable genereerib komponendi, ühendab selle rakendusega ja avaldab selle. Teie ingliskeelne kasutajaliides on uuendatud. Teie messages.po kataloogid viitavad endiselt sellele, mis seal varem oli. Prantsuskeelsed kasutajad näevad vana teksti. Saksakeelsed kasutajad näevad inglise keelt. Keegi ei märka seda enne, kui päris kasutaja probleemist teatab.
See ei ole Lovable'i viga. Tegemist on struktuurse ebakõlaga. Lovable optimeerib kasutajaliidese kiireks avaldamiseks. i18n nõuab iga kasutajale kuvatava stringi jälgimist igas lokaalikataloogis ja iga muudatuse järel. Need kaks eesmärki on otseses vastuolus.
Ekstraheerimisprobleem on pidev, mitte ühekordne. Iga Lovable'i käivitatud viip võib luua uusi stringe. Iga iteratsioon muudab olemasolevat sisu. Puudub loomulik kontrollpunkt, kus saaksite öelda: „Ekstraheerimine on valmis.“
Miks ilmsed lahendused ei püsi
Kas ühekordne ekstraheerimine lahendab probleemi?
Ei. Pärast Lovable'i esmast build'i saate käivitada stringide ekstraheerimise ja luua puhtad PO-kataloogid. See toimib järgmise viibani. Pärast seda võrdlete käsitsi muudatusi potentsiaalselt kümnete komponentide ja kümnete kataloogide vahel. Kui üks string jääb teie hispaaniakeelsest messages.po kataloogist välja, näevad hispaaniakeelsed kasutajad tõlgitud lehe keskel ingliskeelset teksti – seda nimetatakse segakeelseks kasutajaliideseks ja see on üks usaldust kõige rohkem hävitavaid kogemusi, mida saate pakkuda.
Kas käitusaegsed tõlketööriistad on piisavalt head?
Käitusaegsed tõlkijad, nagu Weglot või JavaScripti kaudu süstitavad tõlkevidinad, lahendavad teistsugust probleemi. Need tõlgivad sisu pärast lehe laadimist, mistõttu näevad kasutajad murdosa sekundist algset keelt, enne kui tõlgitud sisu ilmub. Lisaks kehvale kasutajakogemusele tekitab see mõõdetava kumulatiivse paigutuse nihke (Cumulative Layout Shift) – Core Web Vitalsi näitaja, mida Google lehtede järjestamisel kasutab. Vahetate nähtamatu hooldusprobleemi nähtava jõudlusprobleemi vastu.
Aga kui lihtsalt paluda Lovable'il lokaalifaile uuendada?
Lovable saab teie palvel PO-kataloogidesse kirjutada. Probleem on selles, et peate meeles pidama seda paluda iga stringi puhul, iga viiba järel ja igas lokaalis. Vaimne koormus kasvab iga lisatud keelega. Nelja lokaali korral muutub iga kasutajaliidese viip neljaastmeliseks koordineerimisülesandeks. Just selline hõõrdumine hävitab kiiruse, mille tõttu Lovable'i üldse kasutama hakkasite.
Kuidas Lovable'i i18n-tsükkel tegelikult laguneb
Muster on piisavalt järjepidev, et sellel on äratuntav kuju:
- Esialgne seadistus – Lisate mitmekeelse toe. See töötab. Kõik on tõlgitud. Tunnete end hästi.
- Esimesed väljalasked – Mäletate PO-katalooge käsitsi uuendada. See on tüütu, kuid hallatav.
- Kiiruse faas – Hakkate kiiremini väljastama. PO-kataloogid hakkavad maha jääma. Ütlete endale, et jõuate neile järele.
- Segakeelne tootmine – Mitteingliskeelsete turgude kasutajad hakkavad nägema osaliselt ingliskeelset sisu. Tugipäringud saabuvad. Kulutate terve väljalasketsükli ainult stringide otsimisele.
- Refaktoreerimismaks – Iga uus funktsioon toob nüüd kaasa varjatud i18n-kulu, mida ainult ingliskeelses versioonis ei olnud. Väljalasete tempo langeb.
Refaktoreerimismaksust ei räägi keegi juhendites pealkirjaga „kuidas Lovable'is mitmekeelseks muutuda“. Juhendid näitavad esialgset seadistust. Need ei näita, mis juhtub 12. väljalaskel.
Lahendus: i18n teie Git push'i tsüklisse ühendatuna
Õige arhitektuuriline lahendus on käsitsisammud täielikult eemaldada. Kui tõlked uuenevad iga push'i järel automaatselt, kaob hooldusprobleem. Te ei saa ekstraheerimise käivitamist unustada, kui see käivitub ise.
Töövoog näeb välja selline:
- Ühendage oma Lovable'i projekt GitHubiga. Kasutage vestluse sisestusvälja menüüd +, seejärel GitHubi ja siis käsku Connect project.
- Lisage lovable-i18n-oskus oma tööruumi. Avage Lovable'i tööruumis Skills, seejärel Add ja Import from GitHub ning kleepige
https://github.com/globalize-now/globalize-skills/tree/main/skills/lovable-i18n. Kinnitage. Seda tuleb teha tööruumi kohta üks kord (vajalik on tööruumi omaniku või administraatori õigus). - Paluge Lovable'il see seadistada. Kleepige Lovable'i vestlusse:
Set up i18n for my project using the lovable-i18n skill.. Lovable tuvastab teie stack'i (Vite SPA või TanStack Start), esitab ühe küsimuse (lähtekeel, sihtkeeled, kas lokaali URL-is kasutada või mitte, GitHub Actioni lisamine) ning vaikeseadete kasutamiseks vastakego. See paigaldab Lingui, loob PO-kataloogid asukohtasrc/locales/{locale}/messages.po, ümbritseb stringid<Trans>makrodega ja lisab keelevalija. - Vaadake üle ja ühendage. Lovable sünkroonib GitHubiga; vaadake muudatused üle ja ühendage need vaikeharuga.
- Ühendage hoidla globalize.now'ga. Logige sisse, ühendage hoidla, autoriseerige GitHubi rakendus, valige oma Lovable'i hoidla ja vaikeharu ning valige keeled (üle 50, sh RTL-keeled).
- Jätkake Lovable'is arendamist. Iga push käivitab globalize.now's uuendatud PO-kataloogidega tõlke pull requesti; ühendage see ja rakendus avaldatakse tõlgituna.
Oluline omadus: ühendamise ja sünkroonimise sammud ei nõua pärast seadistamist teilt midagi. Te ei käivita käsku. Te ei kontrolli juhtpaneeli. Te ei kinnita tõlkejärjekorda. Lovable'i genereeritud komponentides olevad uued stringid leitakse push'i käigus, tõlgitakse ja saadetakse pull requestina tagasi enne haru ühendamist. Samm-sammuline seadistus on Lovable'i integratsioonilehel.
Mida see teie Lovable'i töövoo jaoks tähendab
Te ei pea Lovable'i kasutamist lõpetama. Arhitektuur eeldab, et teie kasutajaliides muutub pidevalt – see ongi kogu mõte. Lovable genereerib kasutajaliidese ja käivitab lovable-i18n-oskus; globalize.now tegeleb sünkroonimisega.
Lovable genereerib komponendid ja rakendab oskuse, kui vajate i18n-i. globalize.now jälgib väljundit iga push'i järel. Teie kasutajad näevad alati täielikku ja tõlgitud kasutajaliidest, olenemata sellest, kui kiiresti te väljastate.
globalize.now vibe-koodijate lehel on rohkem teavet selle kohta, kuidas seadistus spetsiaalselt tehisintellekti abil loodud rakenduste puhul töötab. Kui kasutate juba Lovable'iga loodud Next.js-i või Reacti rakendust, kirjeldab arendajate leht tehnilist integratsiooniteed.
Meeskondade jaoks, kes haldavad juba mitut Lovable'i projekti, tähendab globalize.now tööruumipõhine hinnastus, et te ei maksa keele ega stringide ekstraheerimise eest eraldi – sünkroonimise kulu jääb rakenduse kasvades samaks.
Hoolduskoormus on päris ja kasvab. Lisage Lovable'is lovable-i18n-oskus (avage tööruumis Skills, seejärel Add ja Import from GitHub). Vaadake Lovable'i integratsioonijuhendit või globalize.now'd.
globalize.now muudab rakenduse koodis olevad tekstid tõlkeks valmis lokaale failideks ja hoiab neid ajakohasena, kui sa uusi versioone välja lasid.
Proovi globalize.now tasuta