आप एक टेम्पलेट ओवरराइड के साथ ऐसा कर सकता है, लेकिन है कि शान से एक उन्नत से टेम्प्लेट में परिवर्तन को संभाल नहीं होगा, और आप यह नया तार डाल ग्रहण सीधे टेम्पलेट में - जो बहु भाषा को आसानी से अनुमति नहीं देगा।
भाषा फ़ाइलों के माध्यम से ऐसा करने का सही तरीका है (जैसा कि adjamaflip द्वारा उल्लिखित है)।
जूमला का मुख्य लॉगिन पृष्ठ 'com_users' घटक के माध्यम से है, हालांकि एचबीटी द्वारा वर्णित 'mod_login' मॉड्यूल भी है। यह प्रक्रिया दोनों के लिए काम करेगी, उनके पास ओवरराइड करने के लिए केवल थोड़ी अलग फाइलें और तार होंगे (आप शायद दोनों को ओवरराइड करना चाहते हैं)।
आप किसी भी घटक या मॉड्यूल के लिए टेम्पलेट्स को देखें, तो आप वे इतनी तरह कोड वर्गों है देखेंगे:
<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?>
<?php echo JText::_('COM_USERS_LOGIN_USERNAME_LABEL') ?>
यह मूलतः कह रहा है 'यहाँ WHATEVERSTRING के लिए अनुवादित पाठ सम्मिलित'। यह अनुवादित पाठ उचित भाषा फ़ाइल में संग्रहीत है, जो 'com_users' घटक के लिए '/language/LANG/LANG.com_users.ini' में होगा, डिफ़ॉल्ट रूप से LANG 'en-GB' है, इसलिए शायद आपके लिए '/language/en-GB/en-GB.com_users.ini' में आप की तरह एक लाइन मिल जाएगा:
COM_USERS_LOGIN_USERNAME_LABEL="User Name"
अब, आप सकता है संपादित करें कि वहीं फाइल। यह आपकी साइट पर सीधे दिखाई देगा, और बहु भाषा को सही तरीके से संभाल देगा।लेकिन फिर, यह अपग्रेड को बहुत अच्छी तरह से नहीं बचाएगा (यदि जूमला एक नया संस्करण जारी करता है जो उस भाषा फ़ाइल को बदलता है, तो यह आपके परिवर्तनों को नकार देगा)।
उन्नयन को संभालने के लिए, उन्होंने भाषा ओवरराइड के लिए जूमला 1.6 में एक नई सुविधा जोड़ा। आप किसी भी भाषा फ़ाइल (किसी भी घटक/मॉड्यूल/आदि) के लिए '/language/overrides/LANG.override.ini' में एक अलग ओवरराइड स्थान में ओवरराइड जोड़ सकते हैं। उदाहरण के लिए, लाइन जोड़ें:
COM_USERS_LOGIN_USERNAME_LABEL="Usr"
अब आपने उस भाषा स्ट्रिंग को ओवरराइड कर दिया है। 'मॉड्यूल_LOGIN_VALUE_USERNAME' आदि के लिए लाइनें जोड़ें, साथ ही आवश्यक लॉगिन मॉड्यूल और अन्य तारों को ओवरराइड करने के लिए।
अब यदि आप जूमला को अपग्रेड करते हैं, तो आपको उन लॉगिन टेम्पलेट्स में कोई भी परिवर्तन मिलेगा, लेकिन आपके टेक्स्ट में बदलाव नहीं आएंगे। आप अपनी साइट द्वारा प्रदान की जाने वाली प्रत्येक भाषा के लिए यह वही प्रक्रिया लागू कर सकते हैं, ओवरराइड खुशी से एक साथ रहेंगे। यह तीसरे पक्ष के घटकों और मॉड्यूल के लिए भी काम करेगा, जब तक कि वे स्ट्रिंग आउटपुट के लिए 'JText :: _()' का उपयोग कर रहे हों - जो उन्हें होना चाहिए।
कौन सा जूमला संस्करण? – udjamaflip
मैं जूमला 1.7 का उपयोग कर रहा हूं। – CrazyMPh