İçeriğe atla

i18n anahtar farkı

İki yerelleştirme JSON dosyasını karşılaştırın ve her birinde eksik olan çeviri anahtarlarını listeleyin.

Giriş
JSON B (çevrilmiş dosya)
Çıkış

i18n anahtar farkı

Temel yerelleştirme dosyanızı JSON A olarak ve çevrilmiş dosyayı JSON B olarak yapıştırın; bu araç, her ikisini de nokta gösterimli anahtar yollarına ("nav.home", "errors.notFound") düzleştirir ve ardından tam olarak nerede ayrıldıklarını bildirir. Bir çeviri dosyası kaynağının gerisinde kaldığı an için oluşturulmuştur: yeni bir ekran bir avuç dize gönderir, birisi İngilizce kopyayı doğrudan düzenler veya bir yerel ayar aylar önce makine tarafından çevrilmiş ve bir daha asla ziyaret edilmemiştir.

Neyin bildirileceğini seçin: B'de eksik olan anahtarlar (kaynağa eklendi ancak hiçbir zaman çevrilmedi), A'da eksik olan anahtarlar (kaldırıldığından beri geride kalan bir özellikten kalan dizeler) veya aynı anda her ikisi. Dördüncü mod olan "çevrilmemiş", her iki dosyada da aynı bayt değerlerine sahip anahtarları listeler; gerçek bir çeviri kaynakla yalnızca tesadüfen eşleştiğinden, bir dizenin çevrilmek yerine kopyalandığı güçlü bir sinyaldir. İç içe geçmiş nesneler, dosyanın ne kadar derine gittiğine bakılmaksızın yinelemeli olarak yürütülür; Gerçek yerelleştirme dosyaları nesneler arasında yuvalandığından ve dizileri numaralı anahtarlar aracılığıyla değil, opak veriler (çoğul formlar, sıralı listeler) olarak ele aldığından, diziler indekslenmek yerine tam değerler olarak karşılaştırılır.

Çıktı, her satırda bir yol olacak şekilde düz bir liste olarak veya çeviriler sürüklendiğinde yapıyı başarısızlığa uğratan bir komut dosyasına veya CI kontrolüne beslenmeye hazır JSON olarak gelir. Çıktının üzerindeki çizelge, hangi rapor modunun seçildiğine bakılmaksızın her zaman resmin tamamını gösterir - A'da kaç tuş var, B'de kaç tane var ve her iki tarafta kaç tane eksik - böylece ayrıntıyı okumadan önce bir bakışta sürüklenmeyi yakalayabilirsiniz. Her iki dosyadaki geçersiz JSON, ayrıştırıcının kendi mesajından alıntı yapılarak ada göre bildirilir; böylece hangi dosyayı düzelteceğinizi hemen bilirsiniz.

Her şey tarayıcınızda yerel olarak çalışır: her iki dosya da cihazınızda ayrıştırılır ve karşılaştırılır ve hiçbir zaman hiçbir yere yüklenmez; bu, yerelleştirme dosyalarının genellikle piyasaya sürülmeden önce yayınlanmamış özellik adlarını ve dahili terminolojiyi taşıması nedeniyle önemlidir. Bir çevirmenin çekme isteğini incelemek, yayınlanmadan önce bir yerel ayarı denetlemek veya bir yeniden düzenleyicinin sessizce bıraktığı her dizeyi bulmak için bunu kullanın.

FAQ

Karşılaştırma için "anahtar" olarak neler sayılır?
JSON'daki her yaprak değeri, tam nokta yolu ile adreslenir; {"nav":{"home":"Home"}} gibi iç içe geçmiş bir nesne, "nav.home" anahtarını üretir. Diziler, indekslenmiş anahtarlara bölünmek yerine tam değerler olarak karşılaştırılır.
"Çevrilmemiş" mod gerçekte neyi algılar?
Her iki dosyada da aynı değerde bulunan anahtarlar. Çevrilmemiş olması muhtemel dizeleri işaretler, ancak her iki dilde de yasal olarak aynı olan kısa bir değer (bir marka adı, bir sayı) da görünecektir; bunu garantili bir gözden kaçırma olarak değil, kontrol edilecek bir ipucu olarak değerlendirin.
Bir anahtar bir dosyada bir nesneyi, diğerinde ise düz bir dizeyi tutarsa ne olur?
Her bir taraf bağımsız olarak düzleştirilir, böylece uyumsuzluk doğal olarak ortaya çıkar: nesnenin kendi iç içe geçmiş anahtarları dize tarafında eksik olarak görünür ve dizenin anahtarı nesne tarafında eksik olarak görünür.
Dosya boyutunda bir sınır var mı?
Çoğu aracın paylaştığı 10 MB çıkış sınırının ötesinde sabit bir sınır yoktur. İşleme cihazınızda gerçekleştirilir, böylece binlerce anahtar içeren büyük kataloglar bile milisaniyeler içinde karşılaştırılır.
Yerelleştirme dosyalarım herhangi bir yere yüklendi mi?
Hayır. Hem JSON A hem de JSON B tamamen tarayıcınızda ayrıştırılır ve karşılaştırılır; her iki dosya da cihazınızdan ayrılmaz.