Müüme tõlkeinfrastruktuuri. Meie enda turundussait töötab viies lokaalis. Kui auditeerisime tegelikult serveeritavat JSON-it, ei olnud esimene probleem tooni küsimus. See oli üks vale märk saksakeelse liitsõna sees, mis esmapilgul peaaegu õige tundus: ladina tähe asemel oli kirillitsa täht. Sõna nägi välja nagu sõnastikukirje, kuni vaatasite koodipunkti. Kui meie enda tõlked on katki, miks peaks keegi toodet usaldama?
Viis viga, mis poleks kunagi tohtinud tootmisse jõuda
Kirillitsa saksakeelses kasutajaliidese tekstis. Ühes sõnastikureas oli kord segatud kirjasüsteeme: järelliide nägi välja nagu ladina „ar“, kuid üks täht ei olnud seda. Emakeelsed lugejad märkavad seda kohe. Õigekirjakontroll mitte.
**The string:** …"Übersetzungsglossар"… (Cyrillic "р" in the compound)
**What it should be:** "Übersetzungsglossar"
**Why it matters:** It reads as corrupted text. It signals automated output nobody proofread in the target language.
Registri ümberpöördumine saksa ja prantsuse keeles. Sait on arendajatele mõeldud tööriist. Toon peaks vastama sellele, kuidas insenerid toote kasutajaliideses tegelikult kirjutavad. Olime saatnud kõikjal formaalse pöördumise de ja fr. See pole pisiasi. See tähendab, et vaikimisi tõlketee valis kogu kasutajaliidese jaoks vale registri, mitte ainult mõne erandliku stringi puhul.
**The string:** "… wie Sie …" / "vous pouvez …"
**What it should be:** informal "du" / "tu" voice for product and FAQ
**Why it matters:** Every screen sounded like enterprise procurement, not like the product we sell to vibe coders.
Väljamõeldud valuuta. Ingliskeelses tekstis olid dollarid. Saksa keeles näidati eurosid koos kuupõhise märgendiga. Me ei esita riigiti erinevaid arveid. JSON jättis mulje, et esitame.
**The string:** "20 €/Monat" (and similar) next to "$20/mo" elsewhere
**What it should be:** one USD amount, formatted per locale via code (e.g. Intl), not hand-invented symbols in JSON
**Why it matters:** Pricing trust. Mixed symbols read as either a bug or a hidden price change.
„Coding’u“ valesõbrad. Kolmes keeles tõlgiti „coding environment“ sõnaga, mis tähendab kodeerimiskeskkonna asemel kodeeringukeskkonda. KKK ütles inimestele, et nad võivad jääda oma „kodeeringukeskkonda“. See on toote kontekstis igas mõttes vale.
**The string:** Spanish "codificación", Italian "codifica", German "Codierung" in the wrong sense
**What it should be:** development environment wording (e.g. entorno de desarrollo / ambiente di sviluppo / Entwicklungsumgebung)
**Why it matters:** It is a semantic bug. It reads like we do not understand our own domain.
„Ship“ tähendas postisaadetise saatmist. Saksa- ja itaaliakeelsetes stringides kasutati tegusõnu, mida seostatakse pakkide, mitte tarkvara väljalaskmisega. Sama ingliskeelne lähtetekst, vale tähendusväli. Selle põhjustasid parandamata masintõlke soovitused, mitte teadlik stiilivalik.
**The string:** parcel-shipping verbs applied to "ship your app"
**What it should be:** release / deploy / deliver software wording
**Why it matters:** Developer trust. One wrong verb tells the reader the copy was never read by a developer in that language.
Miks automaatselt genereeritud tõlked triivivad
See ei ole tõlkijatevastane kriitika. Suur osa saidist ei läbinud stringi kaupa kunagi inimese ülevaatust. Üldotstarbelised mudelid kalduvad formaalse registri poole, sest just selline on avatud veebis leiduv mahukas kakskeelne tekst. Samuti ajavad need lähedased homograafid eri kirjasüsteemides segi, kui eesmärk on „usutavad märgid“, mitte „õige kirjasüsteem“. Ilma sõnastikuta triivib sõnavalik kõrvutiste võtmete vahel. Ilma valuutareeglita mõtleb mudel välja usutavaid kohalikke sümboleid. Ilma domeenikontrollita lähevad encoding ja coding segamini. See ongi tõrkemuster, mida me aitame kokku suruda. Meie enda sait lasi selle siiski läbi, kuni auditeerisime seda nii, nagu teeks seda klient.
Mida me pärast puhastust ehitasime
Ühekordsed tekstiparandused ei ole süsteem. Püsiv osa on väike poliitikafail, mida kogu tiim – ja iga tulevane automaattõlke partii – saab käsitleda reeglina, ning kontrollskript, mida saame enne ühendamist käivitada.
Poliitika. i18n/LOCALIZATION_POLICY.md määrab lokaali kaupa registri, JSON-is ainult USD-põhise hinnastuse, laensõnade otsused (näiteks vibe coders inglise keeles hoidmise), coding’u ja encoding’u valesõprade reeglid ning tekstisiseste literaalide tüpograafia. See on meelega lühike. Kui reeglit pole kirja pandud, ei tuleta mudel seda järjepidevalt.
## Currency
- USD only in all locales. Use {monthlyPrice} and {overageRate} placeholders…
## False friends
- Coding environment is not encoding: Spanish desarrollo / Italian sviluppo / German Entwicklung…
Kontroll. scripts/verify-translations.sh otsib ladina tähestikuga lokaalifailidest kirillitsat, eurosümboleid, vanu valesõprade alamstringe ning hinnastuse kohatäidete vastavust messages/en.json-ga. Valikulised kontrollid kasutavad ripgrep’i, kui see on paigaldatud. Skript seab miinimumtaseme, mitte ülempiiri. See on olemas selleks, et „parandasime selle üks kord“ ei laguneks järgmise massmuudatuse käigus vaikselt.
Kood, mitte rohkem JSON-i oletusi. Tsentraliseerisime kuvatavad USD-summad lib/pricing.ts-s ning ühendasime formatUsdPerMonth ja formatUsdOveragePer1k avalehe ja KKK-ga, et lokaalifailid ei hakkaks numbreid ise välja mõtlema. Viga ei olnud ainult valedes stringides. Viga oli selles, et enne skaleerimist polnud paigas poliitikat ega vormindajat.
Mida oma tehisintellekti abil tehtava i18n-i jaoks üle võtta
Kui genereerite tõlkeid mudeliga, on register kõige suurema varieeruvusega seadistus. Lukustage see lokaali kaupa enne uute keelte lisamist. Lukustage valuuta koodis, mitte tekstis. Lukustage bränditerminid ja arendajate žargoon. Käivitage automaatsed kontrollid, mis katkestavad partii, mitte ärge lootke, et „vaatame hiljem silmaga üle“. Hiljem ei tehta seda kunagi sama kvaliteedilävega nagu esimest läbimist.
Selle auditi taga oleva arhitektuuriloo kohta lugege Kuidas lokaliseerida tehisintellekti loodud rakendust ning tööriistade võrdlust globalize.now vs Lokalise vs Crowdin. Kui seadistate i18n-i oma hoidlas ja soovite samu kaitsepiirdeid, ühendage hoidla globalize.now-s – teisendus käivitatakse rakenduses ühe korra; npx skills add globalize-now/globalize-skills on meie dokumenteeritud lähtekoht oskustele, mis paigaldatakse teie koodi kõrvale. Aus lõpp: kasutasime oma toodet ise, leidsime inetud vead, kirjutasime poliitika ja lisasime värava. Just seda taset tahame näha iga mitmekeelse lansseerimise puhul.
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