iOS ve Flutter placeholder kontrol aracı

Bir kaynak metni ve çevirilerini yapıştırın: araç düşürülen, yeniden adlandırılan, türü ya da yeri değişen placeholder'ları işaretler. Apple formatları (%@, %1$@, %lld) ve Flutter ICU mesajları desteklenir. Araç ücretsizdir, kayıt istemez ve metniniz tarayıcınızdan çıkmaz.

Placeholder'ları karşılaştırın

Denetlenecek çeviriler

Tarayıcınızda karşılaştırılır: hiçbir şey yüklenmez.

Kopyala-yapıştır yapmadan her çeviriyi dışa aktarmadan önce denetleyin

LocalePilot, tüm çevirilerinizin placeholder'larını kaynağınkilerle (%@, %1$@, %lld, ICU) otomatik olarak karşılaştıran, bunları bir QA merkezinde listeleyen ve engelleyici bir sorun düzeltilene kadar dışa aktarmayı durduran bir masaüstü uygulamasıdır. macOS sürümü son aşamada; çıkıştan haberdar olmak için e-posta adresinizi bırakın.

Aracın karşılaştırdıkları

  • Apple formatları: %@, %1$@, %d, %ld, %lld, %.2f, %u, %i ve %s, konum konum. %% metindir.
  • Flutter ICU placeholder'ları: {name}, plural ve select dallarının içi dahil.

%e veya %x gibi nadir dönüşümler, "20%en" gibi bir metin hata sanılmasın diye bilerek yok sayılır.

En sık yapılan hatalar

  • Düşürülen bir belirteç: uygulama çökmez, ama ad veya sayı ekranda görünmez.
  • Değişen bir tür: %lld yerine %@ yazılırsa tam sayı nesne olarak okunur ve uygulama çökebilir.
  • Konum belirtmeden değişen sıra: yeniden sıralamak için her argümanı numaralandırın (%1$@, %2$@); numaralı ve numarasızı karıştırmak tanımsız davranıştır.
  • Fransızcada "20 % de remise": yüzde işaretinden önceki boşluk yüzünden % d bir belirteç olarak okunur. İşareti ikileyin: %%. Türkçede yüzde işareti sayıdan önce gelir ama kural aynıdır: %%%lld.
  • Yeniden adlandırılan bir ICU placeholder'ı: {count} ifadesinin {nombre} olması, Flutter'da tüm locale'lerin API'sini değiştirir.

Bu durumlar iOS format belirteçleri rehberinde ve ICU placeholder'ları rehberinde ayrıntılı olarak anlatılıyor.

Aracın sınırları

Araç anlamı değerlendirmez, yalnızca placeholder'ları karşılaştırır: argümanlar numaralandırılmamışken yer değiştiren iki %@ belirtecini ya da kötü çevrilmiş bir cümleyi algılamaz. ICU kesme işareti kaçışını (Flutter'ın use-escaping seçeneği) yorumlamaz: '{' bir süslü parantez olarak okunur. Bir seferde tek bir metni karşılaştırır; dosyanın tamamı için ARB eksik anahtar kontrol aracını ya da her anahtarı kontrol eden bir düzenleyici kullanın.

Sık sorulan sorular

Hangi iOS format belirteçleri tanınıyor?

%@, %1$@ (ve diğer konumlar), %d, %ld, %lld, %.2f, %u, %i, %s; %% metin olarak ele alınır. %e veya %x gibi nadir dönüşümler bilerek yok sayılır.

"20 % de remise" (Fransızca) neden işaretleniyor?

Bir format metninde "% d" geçerli bir belirteçtir (boşluk bir printf bayrağıdır), bu yüzden "%lld % de remise" tek bir argüman için iki belirteç içerir. "%lld %% de remise" yazın. Türkçede yüzde işaretini sayıdan önce yazarken de kural aynıdır: "%%%lld indirim".

Bir çeviride argümanların sırasını değiştirebilir miyim?

Evet, her argümanı numaralandırarak: cümlenin neresinde durursa dursun %1$@ birinci, %2$@ ikinci argümandır. Bir metinde ya tüm argümanlar numaralı olur ya da hiçbiri.

Araç Flutter ICU mesajlarını da kontrol ediyor mu?

Evet: süslü parantez içindeki placeholder'lar, plural ve select dallarının içindekiler dahil, kaynağınkilerle karşılaştırılır.

Metnim bir sunucuya gönderiliyor mu?

Hayır. Bazıları henüz yayınlanmamış olabilecek metinleriniz sayfanın içinde karşılaştırılır ve hiçbir yere gönderilmez.

LocalePilot'tan farkı ne?

Bu araç bir seferde tek bir metni karşılaştırır. LocalePilot ise macOS sürümü son aşamada olan bir masaüstü uygulamasıdır: ARB, .strings ve .xcstrings dosyalarınızdaki her anahtarı karşılaştırır ve engelleyici bir sorun varsa dışa aktarmayı durdurur.

Çıkıştan haberdar olun

LocalePilot son aşamada. Çıktığında haber almak için e-posta adresinizi bırakın.

  • macOS 12 veya üstü · Ollama ya da LM Studio isteğe bağlı
  • Uygulama arayüzü İngilizce, Fransızca, İspanyolca, İtalyanca ve Portekizce.