Ugrás a tartalomhoz

i18n kulcs diff

Hasonlítsa össze a két lokalizációs JSON-fájlt, és sorolja fel a hiányzó fordítási kulcsokat.

Bemenet
JSON B (lefordított fájl)
Kimenet

i18n kulcs diff

Illessze be az alaphonosítási fájlt JSON A-ként, a lefordított fájlt pedig JSON B-ként, és ez az eszköz leegyenlíti mindkettőt a pontjelölésű kulcsútvonalakra – „nav.home”, „errors.notFound” –, majd jelenti, hogy pontosan hol térnek el. Arra a pillanatra készült, hogy egy fordítási fájl lemarad a forrásától: egy új képernyőn egy maroknyi karakterlánc érkezik, valaki közvetlenül szerkeszti az angol nyelvű példányt, vagy egy területi beállítást hónapokkal ezelőtt gépileg fordítottak le, és soha többé nem látogatták meg.

Válassza ki, hogy mit szeretne jelenteni: a B-ből hiányzó kulcsok (hozzáadva a forráshoz, de soha nem lettek lefordítva), az A-ból hiányzó kulcsok (a megmaradt karakterláncok egy azóta eltávolított funkció, amelyet hátrahagytak), vagy mindkettő egyszerre. A negyedik mód, a „lefordítatlan”, mindkét fájlban található kulcsokat bájt-azonos értékkel sorolja fel – ez egy erős jel, amelyen keresztül egy karakterláncot átmásoltak, nem pedig lefordítottak, mivel a valódi fordítás csak véletlenül egyezik meg a forrással. A beágyazott objektumok rekurzív módon lépkednek, függetlenül attól, hogy milyen mélyre megy a fájl; A tömböket a rendszer egész értékként hasonlítja össze, nem pedig indexelve, mivel a valódi lokalizációs fájlok objektumok között fészkelődnek, és átlátszatlan adatként kezelik a tömböket (többes számú alak, rendezett listák), nem pedig számozott kulcsok révén.

A kimenet egyszerű listaként, soronként egy útvonalként vagy JSON-ként érkezik, amely készen áll arra, hogy egy szkriptbe vagy egy CI-ellenőrzésbe betápláljon, amely nem sikerül a fordítások eltolódása esetén. A kimenet feletti számláló mindig a teljes képet mutatja, függetlenül attól, hogy melyik jelentésmódot választották – hány gomb van A-ban, hány B-ben, és hány hiányzik mindkét oldalon –, így a részlet elolvasása előtt egy pillantással észreveheti a sodródást. Az érvénytelen JSON-t bármelyik fájlban név szerint jelentik, idézve az elemző saját üzenetét, így azonnal tudni fogja, melyik fájlt kell javítani.

Minden helyileg fut a böngészőben: mindkét fájlt elemzi és összehasonlítja az eszközön, és soha nem töltik fel sehova, ami számít, mivel a lokalizációs fájlok gyakran kiadatlan funkcióneveket és belső terminológiát hordoznak az indítás előtt. Használja a fordító lekérési kérelmének áttekintésére, egy területi beállítás ellenőrzésére a kiadás előtt, vagy minden karakterlánc megkeresésére, amelyet a refaktor csendesen eldobott.

Gyakori kérdések

Mi számít "kulcsnak" az összehasonlításhoz?
A JSON-ban minden levélértéket a teljes pont elérési útja címez – egy beágyazott objektum, például a {"nav":{"home":"Home"}} a "nav.home" kulcsot hozza létre. A tömbök teljes értékként kerülnek összehasonlításra, nem pedig indexelt kulcsokra bontva.
Mit észlel valójában a "lefordítatlan" mód?
Mindkét fájlban azonos értékű kulcsok. Valószínűleg lefordítatlan karakterláncokat jelöl meg, de megjelenik egy rövid érték is, amely mindkét nyelven törvényszerűen azonos (márkanév, szám) – tekintse az ellenőrzéshez vezető leadként, ne pedig garantált kihagyásként.
Mi történik, ha egy kulcs egy objektumot tartalmaz az egyik fájlban, és egy egyszerű karakterláncot a másikban?
Mindegyik oldal egymástól függetlenül van lelapítva, így a felületek természetesen nem illeszkednek egymáshoz: az objektum saját beágyazott kulcsai hiányzónak tűnnek a karakterlánc oldalán, a karakterlánc kulcsa pedig hiányzónak az objektum oldalán.
Van korlátozás a fájl méretére?
Nincs rögzített korlát a legtöbb eszközön megosztott 10 MB kimeneti korláton túl. A feldolgozás az eszközön fut, így még a több ezer kulcsot tartalmazó nagy katalógusok is ezredmásodpercek alatt kerülnek összehasonlításra.
Fel vannak töltve valahova a lokalizációs fájljaim?
Nem. Mind a JSON A, mind a JSON B elemzése és összehasonlítása teljes egészében a böngészőben történik – egyik fájl sem hagyja el az eszközt.