Koodiga seotud toote tekst tähendab, et kasutajale nähtavad stringid, mida teie toode saadab, asuvad hoidlas ühe tõe allikana, mitte disaini failis, mida inimene käsitsi sammu peal hoiab. globalize.now on koodiga seotud toote teksti haldussüsteem, millel on lokaliiseerimine sisseehitatud: tekst on ühe allikaga koodihoidlas ja selle lokaliiseerimine on sama operatsioon, mitte eraldi üleandmine.
See on nüüd olulisem kui kolm aastat tagasi, sest tekst on lõpetanud muutumise ainult siis, kui kirjanik seda muudab.
Mis on koodiga seotud toote tekst?
Koodiga seotud toote tekst on arhitektuur, mitte kirjutamise protsess: heakskiidetud sõnastus ja saadetud sõnastus on sama artefakt, mida hoitakse hoidlas, ja iga muutus sellele saabub diff-ina.
Erinevus on kõige lihtsamini näha selles, mida iga lähenemine saab jälgida. Tööruumis hoitav toote tekst hoiab sõnastust koodist väljaspool ja sõltub sellest, et keegi selle sisse lükkab või tagasi tõmbab, kui kumbki pool liigub. See on hea koht otsustamaks, mida nupp peaks ütlema. See ei suuda strukturaalselt märgata, et nupp ütleb nüüd midagi muud, sest sündmus, mis selle muutis, oli commit ja tööruum ei näinud kunagi committi.
Koodiga seotud süsteem pöörab selle ümber. Töö ühik on diff ja küsimus, millele see saab vastata, on see, mis tegelikult meeskonnad raskustesse ajab: string just muutus – kas see oli kavas?
Ükski sellest ei ole argument selle kohta, kus kirjutamine toimub. Kirjanikud saavad kõikjal mustandeid teha. See on argument selle kohta, milline tekst on tõeline, kui kaks ei nõustu.
Mis on koopia triiv?
Koopia triiv on kasutajale nähtava teksti lahknemine selle heakskiidetud allikast pindade ja aja jooksul, ilma ühe tõe allikata, millest lahkneda.
Kolm ebaõnnestumist aetakse omavahel segamini ja need vajavad erinevaid parandusi:
- String, mida kunagi ei kodeeritud, on hardcoded string. See on nähtamatu teie kataloogile ja tõlkele, kuid sõnastus võib olla täiesti õige. Käsitlesime seda mustrit artiklis miks AI kodeerimisriistad jätkavad hardcoded stringide lisamist.
- Kataloogid, mis eksisteerivad ja lähevad üksteisest välja sünkis, on sünkroonimata locale failid. Allikas on korras; tuletatud koopiad on aegunud.
- Koopia triiv ei ole kumbki. String on kodeeritud, failid on sünkis ja sõnastus ise on muutunud ilma otsuseta – nii et turundusleht lubab "Alusta tasuta prooviversiooni", sihtleht ütleb "Proovi tasuta" ja toote nupp loeb "Alusta".
Triiv on kallis, sest midagi ei ole katki. Ükski ehitus ei ebaõnnestu, ükski test ei lähe punaseks, ükski tõlge ei puudu. Toode lihtsalt räägib kolme häälega ja keegi ei saa osutada hetkele, mil see algas. Määratleme termini täielikult artiklis koopia triiv: mis see on, mis selle põhjustab ja kuidas seda vältida.
Miks AI kodeerimisagendid põhjustavad koopia triivi?
Kodeerimisagendid muudavad sõnastust, mida neilt ei palutud muuta, sest lähedase stringu ümberkirjutamine on eristamatu komponendi korrastamisest.
Paluge agendil lisada laadimise olek ja see võib ka lühendada silti, pealkirja väiketähtedeks muuta või vahetada "Logi sisse" "Logi sisse" vastu, kui see failis on. Iga muudatus on iseenesest kaitstavav. Ükski neist ei olnud taotletud ja ükski neist ei ole märgitud koopia muudatusena, sest tööriistale on see stringi literaal JSX atribuudis nagu iga teine.
Kogukonna vastus seni on olnud reeglite fail – AGENTS.md, .cursorrules, "UI koopia poliitika" plokk viips. Need aitavad ja neid tasub omada. Kuid konventsioon ei ole kontroll. See vähendab, kui sageli agent teie teksti ümber kirjutab; see ei ütle teile, millal ta seda tegi.
Kus asub toote tekst tegelikult enamikus meeskondades?
Neljal kohal korraga, igaühel erinev omanik ja erinev muutmise tee.
On turundusleht, tavaliselt CMS-is. On sihtleht, mida sageli eraldi hallatakse ja kõige kiiremini uuendatakse, sest see on asi, mida aktiivselt katsetatakse. On stringid toote sees, mis on hajutatud komponentide vahel. Ja on locale failid, mis on toote stringide järeltulija ja kõigist kolmest aegunud.
Iga üks neist pindadest võib olla sisemiselt järjepidev, samas kui toode tervikuna ei ole. See on probleemi tegelik kuju ja see on põhjus, miks selle käsitlemine ainult toote teksti probleemina on puudulik.
Kuidas hoida UI teksti järjepidevana koodihoidla ulatuses?
Tee hoidla tõe allikaks ja tee string ülevaadatavaks ühikuks – kõik muu järgneb neist kahest sammust.
Praktikas tähendab see kolme asja. Iga kasutajale nähtav string asub ühes kataloogis, mitte komponentides sisseehitatud. Komponendid viitavad võtmele, mitte literaalile, nii et sama sõnastus ei saa eksisteerida kahes kohas ja vaikselt lahkneda. Ja muutus kataloogis ilmub diff-is, kus ülevaataja näeb seda nagu iga teist muutust.
Viimane punkt on see, mis teeb tööd. Teksti järjepidevust käsitletakse tavaliselt distsipliini probleemina – meeskonnal on vaja stiilijuhist, keegi peab meeles pidama. Kui sõnastus on diff-is, lakkab see sõltumast mälust. See muutub nähtavaks ülevaatuse ajal, mis on ainus hetk, mil keegi usaldusväärselt vaatab.
Meeskonnad, kes saadavad AI kodeerimisriistu, satuvad sellega varem ja raskemini kokku, mistõttu kirjutame sellest arendajatele ja inimestele, kes ehitavad AI riistu kasutades spetsiaalselt.
Miks on teksti järjepidevus ja lokaliiseerimine sama probleem?
Mõlemad ebaõnnestuvad samal põhjusel: puudub kokkulepitud allikas, millega olla järjepidev või millest tõlkida.
Meeskond, kes ei saa öelda, milline kolmest sõnastusest on heakskiidetud, ei saa ka ühtegi neist õigesti lokaliseerida. Saada kõik kolm tõlkesse ja saad kolm tõlget, igas keeles, ja vastuolu korrutatakse nüüd teie lokaale arvu asemel, et seda sisaldada inglise keeles. See on mehhanism, mis on enamiku taga, mis näeb välja nagu halb tõlke kvaliteet – allikas oli juba ebaselge.
Käivita see teistpidi ja kaks probleemi langevad kokku üheks. Kui iga string on ühe allikaga ja kodeeritud, on tõlge selle kataloogi tuletatud artefakt. Puudub eraldi projekt, millel on oma koopia tõest, sest tõest on ainult üks koopia. See on see, mida "lokaliiseerimine sisseehitatud" tähendab arhitektuuriliselt: mitte et me ka tõlkimist teeme, vaid et tõlge on sama operatsioon, mis sooritatakse samal objektil. Kirjutasime selle ümberkorraldamise kohta artiklis mida AI-ga kirjutatud kood lokaliseerimisele tegi.
Mis on toote väline tekst?
See on osa, mida kategooria ei ole lahendanud ja me ei pretendeeri vastupidisele: teksti standardiseerimine turunduse, sihtlehe ja toote vahel ühe süsteemina on see, mille poole me ehitame, mitte midagi, mida saate täna sisse lülitada.
Siin on põhjus, miks see on lahendamata. Iga olemasolev tööriist selles ruumis omab ühte pinda. Toote teksti riistad omavad stringid rakenduse sees. Sisuplatvormid omavad turundusleht. Kumbki ei näe teist, nii et fraas lehel, mis kasutajat omandas, ja fraas ekraanil, mis teda kasutusse võtab, hoitakse erinevate inimeste poolt erinevates riistad ilma mehhanismita, mis kunagi märkaks, et nad ei nõustu.
Vastuse kuju järgneb juba kirjeldatud arhitektuurist. Kui heakskiidetud sõnastus asub ühes kohas ja iga pind viitab sellele võtme abil, mitte seda uuesti öeldes, siis sihtleht ja toote nupp on sama string ja selle muutmine on üks otsus, mitte kolm. Sinna jõudmine on globalize.now teekaarti punkt. Selle nüüd täpselt nimetamine tundub parem kui teesklemine, et see juba saadab.
Kuidas erineb see disaini failil ehitatud koopia tööriistast?
Erinevus on arhitektuuriline, mitte kategooriline – mõlemad on teksti haldussüsteemid ja nad ei nõustu selle kohta, kus tõde asub.
| Dimensioon | Disaini failiga esimene | Koodiga seotud |
|---|---|---|
| Tõe allikas | Tööruum väljaspool koodi | Hoidla |
| Kuidas see sammu peal jääb | Inimene sünkroniseerib selle | Automaatne ühendamisel |
| Kaetud pinnad | Üks | Pindade vahel *(ehitamine poole) |
| Mida see saab jälgida | Muudatused, mis on tehtud tööruum | Diff, mis stringi muutis |
Kaks vaatlust, mida tasub kuupäevastada, sest müüja olek liigub. 2026-08-29 seisuga dittowords.com/llms.txt tagastab 404, mis tähendab, et juhtiv tsitaat selles kategoorias ei oma masinloetavat üksuse faili. Ja samal kuupäeval kirjeldab Ditto oma lokaliseerimise toote lehekülg variandi lisamist iga keele jaoks ja tõlgete eelvaatamist kujunduses – see ei pretendeeri tõlgete tootmisele. See on õmblus: tööriist võib omada sõnastust ja siiski keele töö kellelegi teisele üle anda.
Me ei konkureeri ka tõlkemootoritega ega käitusaja i18n teekogudega. Need on erinevad kihid ja nad jäävad sinna, kus nad on.
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