Magento2 स्थानीयकरण जावास्क्रिप्ट


16

इसी तरह का सवाल यहां पहले से ही पूछा गया था: Magento 2 जावास्क्रिप्ट पाठ अनुवाद , लेकिन Magento ने बीटा संस्करण में इस अनुवाद तकनीक को अपडेट किया।

मैं जावास्क्रिप्ट द्वारा उपयोग किए गए अनुवादों को कैसे जोड़ या अपडेट कर सकता हूं?

मुझे लगा कि मैगेंटो स्थिर फ़ोल्डर में 'js-translation.json' नामक एक फ़ाइल बनाता है। यदि मैं इस फ़ाइल को सीधे संपादित करता हूं, तो मैं देखता हूं कि मेरे अनुवाद अपडेट किए गए हैं। लेकिन यह फ़ाइल कहाँ बनाई गई है, और मैं अनुवाद कैसे जोड़ सकता हूं ताकि जब यह उत्पन्न हो जाए तो Magento अपने आप इसे js-transl.json में जोड़ देगा?

अपडेट करें

इस प्रश्न का सही उत्तर अभी भी नहीं दिया गया है, बिलकुल Mage2.PRO ने मुझे सही दिशा की ओर इशारा किया है, यह पूर्ण उत्तर नहीं है। मेरा js-translation.json जनरेट होने के बाद भी खाली है।

उदाहरण के लिए, मुझे Add To Cart बटन का अनुवाद करना पसंद है। इस बटन में तीन राज्य हैं, Add To Cart, Add ... और जोड़ा गया ... मैं इन शब्दों का अनुवाद कैसे कर सकता हूं? एक और उदाहरण, 'आपके पास खरीदारी के लिए कोई सामान नहीं है।' मिनीकार्ट में पाठ। मुझे लगता है कि इन सभी वाक्यांशों को js-translation.json से अनुवादित किया जाना चाहिए, लेकिन उन्हें कहाँ जोड़ना है ताकि ये फ़ाइल इन अनुवादों से भर जाए?


मैं इस बारे में 100% निश्चित नहीं हूं लेकिन मुझे लगता है कि mage2.pro द्वारा प्रदान किया गया उत्तर सही है। यदि आपके पास js फ़ाइलों में से एक में उदाहरण के लिए है, तो $.mage.__('Add To Cart')यह स्वचालित रूप से setup:static-content:deployकमांड द्वारा उठाया जाएगा । एकमात्र कैच यह है कि आपको लोकेल फाइल में टेक्स्ट के लिए एक अलग अनुवाद करना होगा। जिन पाठों का अनुवाद एक ही पाठ के रूप में होता है, उन्हें बिना किसी कारण के आकार में वृद्धि नहीं करने के लिए json फ़ाइल में नहीं जोड़ा जाता है।
मेरियस

जवाबों:


10

यकीन नहीं होता कि आपने पहले ही इसका पता लगा लिया, लेकिन मुझे लगा कि मैं फिर भी इसका जवाब दूंगा।

मुझे लगता है कि अन्य उत्तर सही दिशा में जा रहे हैं।

मान लें कि आपके पास पहले से ही अनुवाद स्थापित हैं, यदि नहीं तो कृपया:

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

तो, सबसे पहले, कृपया कैश साफ़ करें (जैसा कि अन्य ने भी सुझाव दिया है):

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

दूसरी बात, कृपया अपना पब / स्टेटिक फ़ोल्डर साफ़ करें:

rm -rf pub/static/*/

फिर हम स्थैतिक-सामग्री को पुन: प्राप्त करते हैं: (मैं अन्य उत्तरों में लैंगकोड से चूक गया ..)

bin/magento setup:static-content:deploy nl_NL - सुनिश्चित करें कि आप लैंगकोड जोड़ें

अब जाँच करें कि क्या कोई js-translation.json बनाया गया था:

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

सबसे अधिक संभावना है कि आपको js-translation.jsonफ़ाइलों की एक सूची मिलेगी । कृपया इन फ़ाइलों की जाँच करें और यदि वे खाली हैं या उन्हें कुछ पसंद है तो उन्हें हटा दें []


1
धन्यवाद टिमोन, यह वास्तव में जाने का रास्ता है! मैंने कुछ समय पहले खुद ही इसका पता लगा लिया था, लेकिन यहाँ अभी तक उत्तर पोस्ट नहीं किया। यह सवाल का एक बड़ा अतिरिक्त है।
सिल्वन

@Silvan मेरे इंस्टॉलेशन में फ़ाइल js-translation.json में पहले से ही मेरे लोकेल में अनुवादित कुछ वाक्यांश हैं लेकिन अभी भी वाक्यांश अनुवादित नहीं हो रहे हैं, क्या मुझे उन्हें इस फ़ाइल में मैन्युअल रूप से जोड़ना चाहिए?
लुइस गार्सिया

मैं इसकी अनुशंसा नहीं करूंगा, क्योंकि js- अनुवाद फ़ाइल wil को अगली बार जब आप स्थैतिक फ़ाइल परिनियोजित करते हैं, को ओवरराइट कर दिया जाएगा। उस स्थिति में आपको हर बार वाक्यांशों को मैन्युअल रूप से जोड़ना चाहिए जो आपने एक तैनाती की थी। क्या ये वाक्यांश भाषा पैक में मौजूद हैं?
सिलवान

1

.Csv फ़ाइलों में अनुवाद जोड़ने का प्रयास करें, फिर सुनिश्चित करें कि अगले चरण निष्पादित किए गए हैं:

  1. कैश स्टोरेज फ्लश किया जाना चाहिए (मूल रूप से var / cache और var / view_preprocessed फ़ोल्डरों को क्लियर किया जाना चाहिए)
  2. स्टेटिक फाइलों को फिर से तैयार किया जाना चाहिए (पब / स्टैटिक के अंदर सभी फोल्डर को हटाएं और बिन / मैग्नेटो सेटअप को चलाएं: स्टैटिक-कंटेंट: परिनियोजित)

0

सभी कैश और delele पब / स्थिर फ़ोल्डर सामग्री निकालें।

अपनी रूट डायरेक्टरी में जाएं और कमांड के नीचे दौड़ें: -

php bin / magento सेटअप: स्थिर-सामग्री: परिनियोजित

उम्मीद है आपकी समस्या का समाधान हो जाएगा।


ArkadiyCh ने मुझे कैश और रेडिप्लॉय स्टैटिक फ़ाइलों को हटाने के लिए भी कहा, दुर्भाग्य से यह मेरी समस्या को ठीक नहीं करता है।
सिलवान

0

मुझे एक ही समस्या थी जैसे "$ .mage में। वाक्यांशों का अनुवाद नहीं कर सकता है ।__ ('XXX')" जब phtml में वाक्यांश सही काम करता है। तो, समाधान सरलता से सरल था।

$ t (...) और $ .mage केवल फ़ाइलें * .js का विश्लेषण करता है

नतीजतन यह जेएस-अनुवाद शब्दकोश में नहीं आता है।

तो जब phtml फ़ाइलों में एक खंड स्क्रिप्ट प्रदान करते हैं, तो आपको सीधे पहले से अनुवादित वाक्यांशों को रैपर के साथ सम्मिलित करना चाहिए __('Translated phrase')

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.