मैं अपने ExtJS एप्लिकेशन को विभिन्न भाषाओं में अनुवाद करना चाहता हूं। मेरी समस्या यह है कि मैं एक्स्टजेएस एमवीसी फ्रेमवर्क का उपयोग कर रहा हूं, और मेरी अधिकांश जेएस फाइलें फ्रेमवर्क द्वारा गतिशील रूप से डाउनलोड की जाती हैं।ExtJS एमवीसी, गतिशील लोडिंग और i18n
आदर्श समाधान (जिसे मैंने सोचा था) Ext.Loader (या मेरे Ext.app.Aplication) में एक अतिरिक्त विकल्प होगा जो भाषा का उपयोग करने के लिए परिभाषित करेगा, और इसके आधार पर स्वचालित रूप से डाउनलोड करने के लिए मेरी "a.MyClass.js" लोड करने के बाद "a.MyClass.fr.js" जैसी फ़ाइल (जिसमें एक Ext.apply होगा, मेरे स्ट्रिंग संसाधनों को ओवरराइड करना होगा)। फिलहाल यह एक्स्टजेएस ढांचे में उपलब्ध नहीं है।
वैकल्पिक समाधान जो मैं देख सकता हूं, सर्वर-साइड पर एक चाल करना है। सबसे पहले, भाषा पर सेट करने के लिए, ग्राहक पर एक कुकी बनाई जाएगी। सर्वर-साइड पर, मैं जेएस फाइलों के सभी अनुरोधों को पकड़ सकता हूं, फिर यदि कोई कुकी सेट की गई है (उदाहरण के लिए = 'fr'), तो मैं अनुरोधित जेएस फ़ाइल (MyClass.js) को अपने i18n के दोस्त (MyClass) के साथ जोड़ दूंगा .fr.js) गतिशील रूप से सर्वर पर और परिणाम लौटाएं। यह काम करेगा, लेकिन यह वास्तव में मुश्किल है क्योंकि यह अन्य चीजों का मतलब है (कैशिंग ...)।
हो सकता है कि सबसे अच्छा तरीका पहले व्यवहार मैं ExtJS ढांचा अपने आप में वर्णित ...
आपको क्या लगता है लागू करने के लिए है? मैं इसे करने का वास्तव में साफ और साफ तरीका ढूंढ रहा हूं! धन्यवाद :)
थेंक्स जेसी, प्रोटोटाइप का अच्छा दृष्टिकोण, कोड को पढ़ने में खुशी देता है और अभी भी एक सरल अनुवाद दृष्टिकोण प्रदान करता है! – Paul
सुरुचिपूर्ण समाधान के लिए धन्यवाद। यदि [Ext.ux.Cache] का उपयोग करें (https://market.sencha.com/extensions/ext-ux-cache) कि विपक्ष पेशेवरों को बदल सकता है – Pencroff