कस्टम अनुवाद
From LimeSurvey Manual
परिचय
LimeSurvey 5.4.0 से, आप अपने डेटाबेस तक सीधी पहुँच के साथ सभी शामिल भाषाओं की सभी स्ट्रिंग के लिए अपना स्वयं का अनुवाद रख सकते हैं।
यदि कोई मौजूदा अनुवाद आपकी व्यावसायिक आवश्यकताओं के अनुकूल नहीं है, तो इस प्रणाली का उपयोग किया जा सकता है।
इसे केवल विशेष मामलों के लिए रखा जाना चाहिए, क्योंकि LimeSurvey के मूल भाग में टेक्स्ट में किए गए बदलावों के लिए आपके डेटाबेस में दोबारा बदलाव करना होगा।
इसके अलावा, आप इस विधि का उपयोग सर्वेक्षण की थीम से संबंधित स्ट्रिंग का अनुवाद करने के लिए भी कर सकते हैं।
डेटाबेस अनुवाद कैसे काम करते हैं
डेटाबेस अनुवादों के लिए, LimeSurvey Yii फ्रेमवर्क के CDbMessageSource से प्रेरित एक विधि का उपयोग करता है।
- SourceMessage टेबल lime_source_message->message में स्ट्रिंग खोजें और id प्राप्त करें : lime_source_message->id
- यदि मौजूद हो, तो Message टेबल lime_message->translation में वर्तमान भाषा lime_message->language और वर्तमान id lime_message->id के लिए संबंधित अनुवाद खोजें
LimeSurvey po फ़ाइल से अनुवादों की सरणी बनाता है (इस फ़ाइल को अपडेट करने की जानकारी के लिए LimeSurvey का अनुवाद देखें), और उसके बाद उसे डेटाबेस के सभी अनुवादों के साथ मर्ज करता है।
इसके बाद, डेटाबेस के अनुवाद, यदि मौजूद हों, तो हमेशा वही लौटाए जाते हैं।
अंग्रेज़ी और फ़्रेंच में “सबमिट” बटन का उदाहरण
आप अपने सभी सर्वेक्षणों (किसी विशेष थीम के साथ) में सबमिट बटन के लिए _सबमिट_ के बजाय _Validate_ दिखाना चाहते हैं। यदि आप केवल थीम अपडेट करके gT('Submit') को gT('Validate') से बदल देते हैं, तो यह सभी भाषाओं में हमेशा _Validate_ ही दिखाएगा।
सभी थीम वाले सभी सर्वेक्षणों के लिए
- सोर्स मैसेज बनाएँ
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - ID जाँचें (यदि यह पहला है : ID 1 है) और इसे अगले निर्देश में उपयोग करें
- संबंधित अनुवाद बनाएँ :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
स्ट्रिंग को खाली स्ट्रिंग से न बदलें, अन्यथा अनुवाद मूल अंग्रेज़ी वाक्य पर वापस लौट जाएगा। आपको कम से कम एक स्पेस अवश्य डालना होगा।
अपनी स्वयं की थीम का उपयोग करना (अनुशंसित समाधान)
यह विधि आपके अपने टेम्पलेट वाले समाधान का उपयोग करती है; यह अन्य सभी भाषाओं के लिए भी डिफ़ॉल्ट स्ट्रिंग को अपडेट करती है।
- थीम एडिटर में नेविगेशन वाला भाग चुनें
Template:GT("Submit")खोजें (navigator.twig में)- इसे
Template:GT("Validate")से बदलें - सोर्स मैसेज बनाएँ
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - ID जाँचें (यदि यह पहला है : ID 1 है) और इसे अगले निर्देश में उपयोग करें
- संबंधित अनुवाद बनाएँ :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
कृपया ध्यान दें
lime_source_message में category फ़ील्ड एक खाली स्ट्रिंग ('') होनी चाहिए, NULL नहीं। यदि category बिल्कुल मेल नहीं खाती, तो gT() को सोर्स मैसेज नहीं मिलेगा और आपका अनुवाद लागू नहीं होगा। थीम से संबंधित स्ट्रिंग के अनुवाद जोड़ते समय यह विशेष रूप से महत्वपूर्ण है।