i18n nyckel diff
Jämför två lokaliserings-JSON-filer och lista översättningsnycklarna som saknas i varje.
i18n nyckel diff
Klistra in din baslokaliseringsfil som JSON A och den översatta filen som JSON B, och det här verktyget plattar ut båda till nyckelsökvägar med punktnoter - "nav.home", "errors.notFound" - och rapporterar sedan exakt var de avviker. Den är byggd för det ögonblick en översättningsfil hamnar bakom sin källa: en ny skärm skickar en handfull strängar, någon redigerar den engelska kopian direkt, eller en lokal översatts för flera månader sedan och aldrig återbesöks.
Välj vad du vill rapportera: nycklar saknas från B (läggs till i källan men har aldrig översatts), nycklar som saknas från A (överblivna strängar en funktion som sedan tagits bort) eller båda på en gång. Ett fjärde läge, "oöversatt", listar nycklar som finns i båda filerna med byte-identiska värden - en stark signal som en sträng kopierades över snarare än översatt, eftersom en riktig översättning bara matchar källan av en slump. Kapslade objekt går rekursivt oavsett hur djupt filen går; arrayer jämförs som hela värden snarare än indexerade till, eftersom verkliga lokaliseringsfiler kapslar genom objekt och behandlar arrayer som ogenomskinliga data (pluralformer, ordnade listor), inte genom numrerade nycklar.
Utdata kommer som en vanlig lista, en sökväg per rad eller som JSON, redo att matas in i ett skript eller en CI-kontroll som misslyckas med en build när översättningar driver. Sammanställningen ovanför utgången visar alltid hela bilden oavsett vilket rapportläge som är valt - hur många nycklar är i A, hur många är i B och hur många som saknas på båda sidor - så att du kan fånga driften med en blick innan du läser detaljerna. Ogiltig JSON i någon av filerna rapporteras med namnet, med citation av parserns eget meddelande, så att du omedelbart vet vilken fil du ska fixa.
Allt körs lokalt i din webbläsare: båda filerna analyseras och jämförs på din enhet och laddas aldrig upp någonstans, vilket spelar roll eftersom lokaliseringsfiler ofta har outgivna funktionsnamn och intern terminologi innan en lansering. Använd den för att granska en översättares pull-begäran, granska en lokalitet före en release eller hitta varje sträng som en refactor tyst tappade.