en çevirdiğiniz kaynak yerel ayarıdır ve çevrilmeden bırakılan herhangi bir yerel ayar buna geri döner.
Uygulamanızda iki tür çevrilebilir metin vardır ve her ikisi de aynı locales/ kataloğundan geçer:
- Manifest etiketleri — nesne ve alan adları, görünüm başlıkları, menü öğeleri ve uygulamanızın üst verilerinde (metadata) tanımlanan diğer dizeler.
- Ön bileşen dizeleri — React ön bileşenlerinizin render ettiği UI metni.
Ön bileşen dizelerini işaretleme
Çeviri yardımcılarınıtwenty-sdk/front-component içinden içe aktarın:
Ne zaman hangisi kullanılmalı
Trans— JSX içindeki statik metin. Değişkelerin yerleştirilmesi içinmessagevevaluesprop’larını kullanın (Trans message="Hi {name}" values={{ name }}); çocukların içine doğrudan yerleştirme statik olarak çıkarılamaz.useTranslate().t— bir bileşen içindeki dinamik dizeler. Kullanıcı dili değiştirdiğinde yeniden render edilir. Render içinde bunu tercih edin.t(...)(doğrudan içe aktarılır) — bileşen render’ının içinde olmasına gerek olmadan, event handler’lar, yardımcı fonksiyonlar ve modül kapsamı dahil her yerde kullanılabilen erken çeviri.msg(...)— veri olarak (sabitler, yapılandırma) bildirilen dizeler için ertelenmiş bir tanımlayıcı. Bunu daha sonrat(descriptor)ile çözün.
Bağlam
Aynı kaynak dize farklı şekilde çevrildiğinde bunları ayırt etmek içincontext geçirin:
Çıkarma ve çeviri
extract komutunu uygulama dizininizden çalıştırın:t()/msg()/Trans
dizelerini, kaynak dizeyi anahtar olarak kullanarak locales/\<locale>.json içine toplar. Çevirileri doldurun:
{name} gibi yer tutucular çalışma zamanında değiştirilir — bunları çeviride koruyun. Boş bırakılan herhangi bir dize, kaynak metne geri döner.
Nasıl çalışır
twenty dev:build, katalogları derler ve geçerli kullanıcı için doğru dili sunar:
manifest etiketleri sunucu tarafında çözülür ve ön bileşen
katalogları her bileşen paketine gömülür. Çalışma zamanında bir bileşen, yereli yürütme bağlamından (ana makinenin geçerli dili) okur
ve her dizeyi kataloğuna göre çözer; bir çeviri eksik olduğunda
kaynak metne geri döner. Ana makinede dilin değiştirilmesi, Trans ve
useTranslate().t dizelerini canlı olarak yeniden render eder.
Kataloglar build zamanında derlendiği için, bir çeviriyi güncellemek
twenty dev:build’i yeniden çalıştırmayı (ve yeniden dağıtmayı) gerektirir; bu, diğer herhangi bir değişiklikle aynıdır.
Çeviriler
twenty dev:build (ve twenty apply) tarafından derlenir. Sürekli
twenty dev izlemesi kaynak dizeleri gösterir, bu yüzden yerelleştirilmiş çıktıyı tek seferlik bir build ile test edin.Trans metin alt öğeleri birden fazla satıra yayılabilir — boşluklar, JSX’in boşlukları daraltma biçimiyle aynı şekilde daraltılır; bu nedenle her ikisi de Welcome back anahtarına dönüştürülür: