मैंने कभी भी CI_Language का उपयोग नहीं किया है, लेकिन ऐसा लगता है कि अनुवाद करने के लिए भाषा सरणी का उपयोग किया जाता है।
इस प्रकार विधि का अत्यधिक सरल उदाहरण:
$trans = array(
'MAIN_TITLE' => 'Title Here'
);
echo $trans['MAIN_TITLE'];
व्यक्तिगत तौर पर मैं यह वास्तव में कष्टप्रद है क्योंकि आप फिर उन दृश्यों को उपयोगी पाठ के बजाय सरणी कुंजी नाम से भरा हैं संपादित किए जा रहे हैं। जो कभी-कभी काफी परेशान हो सकता है। उल्लेख नहीं है कि आपको याद रखना होगा कि कौन सी कुंजी कई स्थानों पर उनका उपयोग कर रहे हैं, तो किन तारों से संबंधित है।
मैं Gettext का उपयोग करता हूं जो मुझे बहुत आसान लगता है। आपको केवल अनुवाद विधि के साथ अपने तारों को लपेटना होगा: _()
। फिर एक बार जब आप अपने ऐप के साथ काम कर लेंगे, तो आप PoEdit खोलें और नई भाषा फ़ाइल बनाएं। PoEdit मेरी सभी स्रोत फ़ाइलों को पार्स करेगा जो इस <?php echo _('Title here') ?>
की तरह लपेटकर तारों की तलाश में हैं और उन्हें .po भाषा फ़ाइल में डालें। फिर आप स्ट्रिंग द्वारा स्ट्रिंग जा सकते हैं और PoEdit के भीतर आसानी से टेक्स्ट का अनुवाद कर सकते हैं। इसका लाभ यह है कि आपके पास PoEdit के भीतर स्रोत अनुवाद है, कुछ अर्थहीन सरणी कुंजी नाम के बजाय फ़ाइल
यह सब मेरे जीवन को बहुत आसान बनाता है जिसमें मैं प्रत्येक शुक्रवार को एक क्लिक के साथ अपनी भाषा फ़ाइलों को अपडेट कर सकता हूं । कोई भी नया या संशोधित अनुवाद स्वचालित रूप से मेरी भाषा फ़ाइल में जोड़ा जाएगा, और किसी भी अप्रयुक्त अनुवाद स्वचालित रूप से हटा दिए जाएंगे। मैं फ़ाइलों को अनुवाद के लिए अपनी 3 अंतरराष्ट्रीय शाखाओं में भेजता हूं, और मेरे परिवर्तन और अद्यतन भाषा फाइलें सोमवार सुबह
आपके उत्तर के लिए धन्यवाद, मार्क। बहुत ही सराहनीय। Gettext का उपयोग कर आपका दृष्टिकोण दिलचस्प है! मैं काफी कुछ करने के बारे में सोच रहा हूं, लेकिन एक डेटाबेस संस्करण जो भारी कैश किया जाएगा और इसके बजाय अनुरोध पर अपडेट किया जाएगा। – Industrial
हालांकि इस मुद्दे के विभिन्न दृष्टिकोणों पर और उदाहरण देखने के लिए वाकई अच्छा लगेगा, यह नहीं कह रहा कि आपका समाधान खराब है! – Industrial
आप कुछ अतिरिक्त विचारों के लिए ZF को डाउनलोड करना और Zend_Translate के लिए विभिन्न एडेप्टर देख सकते हैं: http://framework.zend.com/manual/en/zend.translate.adapter.html। वे सभी लोकप्रिय स्थानीयकरण विधियों को बहुत अधिक कवर करते हैं – Mark