Magento2 yerelleştirmesi Javascript


16

Burada benzer bir soru zaten sorulmuştu: Magento 2 javascript metin çevirileri , ancak Magento bu çeviri tekniğini beta sürümünde güncelledi.

Javascript tarafından kullanılan çevirileri nasıl ekleyebilir veya güncelleyebilirim?

Magento'nun statik klasörde 'js-translation.json' adlı bir dosya oluşturduğunu anladım. Bu dosyayı doğrudan düzenlersem çevirilerimin güncellendiğini görürüm. Ancak bu dosya nerede oluşturulur ve Magento'nun oluşturulduğunda bunu js-translation.json'a otomatik olarak ekleyebilmesi için nasıl çeviri ekleyebilirim?

Güncelleme

Bu soruya doğru cevap hala verilmiyor, Mage2.PRO bana doğru yönü gösterdi, ancak tam cevap değil. Js-translation.json'um oluşturulduğunda hala boş.

Örneğin, Sepete Ekle düğmesini çevirmeyi seviyorum. Bu düğmenin üç durumu vardır: Sepete Ekle, Ekleniyor ... ve Eklendi ... Bu kelimeleri nasıl çevirebilirim? Başka bir örnek, 'Alışveriş sepetinizde hiç öğe yok.' miniarttaki metin. Tüm bu ifadelerin js-translation.json'dan çevrilmesi gerektiğini düşünüyorum, ancak bu dosya bu çevirilerle doldurulacak şekilde nereye eklenmeli?


Bu konuda% 100 emin değilim ama mage2.pro tarafından verilen cevap doğru olduğunu düşünüyorum. Örneğin bu js dosyalarından birinde varsa $.mage.__('Add To Cart'), setup:static-content:deploykomut tarafından otomatik olarak alınacaktır . Tek yakalama, yerel dosyalarda metin için farklı bir çeviriye sahip olmanız gerektiğidir. Aynı metnin çevirisi olan metinler, neden olmadan boyutu büyütmemek için json dosyasına eklenmez.
— Marius

Yanıtlar:


10

Bunu zaten çözüp çözemediğinizden emin değilim, ama yine de cevap vereceğimi düşündüm.

Diğer cevaplar doğru yönde ilerliyor sanırım.

Çevirilerin zaten yüklü olduğunu varsayarsak, lütfen değilse:

bin/magento i18n:pack -m replace -d source_nl_NL.csv . nl_NL

Her şeyden önce, lütfen önbelleği temizleyin (diğerlerinin de önerdiği gibi):

rm -rf var/cache var/generation var/page_cache var/view_preprocessed

İkinci olarak, lütfen pub / statik klasörünüzü temizleyin:

rm -rf pub/static/*/

Sonra statik içeriği yeniden üretiyoruz : (Diğer cevaplarda langcode'u kaçırdım ..)

bin/magento setup:static-content:deploy nl_NL - Lang kodunu eklediğinizden emin olun

Şimdi herhangi bir js-translation.json oluşturulup oluşturulmadığını kontrol edin:

find pub/static/ -name "js-translation.json"

Büyük olasılıkla js-translation.jsondosyaların bir listesini alırsınız . Lütfen bu dosyaları kontrol edin ve boşsa veya benzer bir şey içeriyorsa silin [].


1
Teşekkürler Timon, bu gerçekten gitmek için bir yol! Bunu bir süre önce kendim anladım, ancak cevabı henüz göndermedim. Bu soruya harika bir ektir.
— Silvan

@Silvan Kurulumumda js-translation.json dosyasında benim yerel ayarımda çevrilmiş bazı ifadeler var, ancak hala çevrilmemiş ifadeler var, bunları bu dosyaya manuel olarak eklemeliyim?
— Luis Garcia

Bunu tavsiye etmem, çünkü statik dosyaları bir sonraki konuşlandırmanızda js-translation dosyasının üzerine yazılır. Bu durumda, her konuşlandırmada ifadeleri manuel olarak eklemeniz gerekir. Bu ifadeler dil paketinde mi mevcut?
— Silvan

1

.Csv dosyalarına çeviri eklemeyi deneyin, ardından sonraki adımların yürütüldüğünden emin olun:

  1. Önbellek Depolaması temizlenmelidir (temel olarak var / cache ve var / view_preprocessed klasörleri temizlenmelidir)
  2. Statik dosyalar yeniden konuşlandırılmalıdır (pub / static içindeki tüm klasörleri silin ve bin / magento kurulumunu çalıştırın: static-content: deploy)

0

Tüm önbelleği kaldırın ve pub / statik klasör içeriğini silin.

Kök dizininize gidin ve aşağıdaki komutu çalıştırın: -

php bin / magento kurulumu: statik içerik: dağıtma

Umarım sorununuz çözülecektir.


ArkadiyCh ayrıca önbelleği kaldırmamı ve statik dosyaları yeniden dağıtmamı söyledi, maalesef bu sorunumu çözmedi.
— Silvan

0

Ben phtml ifade mükemmel çalıştı zaman "$ .mage .__ ('XXX') ifadeler tercüme edilemez gibi aynı sorunu vardı. Yani, çözüm ustaca basitti.

$ t (...) ve $ .mage yalnızca * .js dosyalarını analiz eder

Sonuç olarak js-translation sözlüğüne düşmez.

Bu nedenle, phtml dosyalarında bir bölüm komut dosyası oluştururken, zaten çevrilmiş ifadeleri sarmalayıcılarla doğrudan eklemelisiniz __('Translated phrase').

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.