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.