<fmt:setLocale> टैग का उपयोग दिए गए लोकेल को लोकेल कॉन्फ़िगरेशन चर में संग्रहीत करने के लिए किया जाता है।
विशेषताएं
<fmt:setLocale> टैग में निम्नलिखित विशेषताएं होती हैं:
| विशेषता | विवरण | आवश्यक | डिफ़ॉल्ट |
|---|---|---|---|
| value | ISO-639 भाषा कोड और ISO-3166 देश कोड को दर्शाने वाला दो-भाग कोड निर्दिष्ट करता है। | हाँ | en_US |
| variant | ब्राउज़र-विशिष्ट संस्करण | नहीं | कोई नहीं |
| scope | लोकेल कॉन्फ़िगरेशन चर का स्कोप | नहीं | Page |
उदाहरण
रिसोर्स बंडल्स में लोकेल-विशिष्ट ऑब्जेक्ट्स होते हैं। रिसोर्स बंडल्स में कुंजी/मान जोड़े होते हैं। जब आपके प्रोग्राम को लोकेल-विशिष्ट रिसोर्स की आवश्यकता होती है, तो आप सभी लोकेल के लिए कुंजियों को सामान्य रखते हैं लेकिन लोकेल के लिए विशिष्ट अनुवादित मान रख सकते हैं। रिसोर्स बंडल्स लोकेल-विशिष्ट सामग्री प्रदान करने में मदद करते हैं।
एक Java रिसोर्स बंडल फ़ाइल में कुंजी-से-स्ट्रिंग मैपिंग की एक श्रृंखला होती है। हम जिस विधि पर ध्यान केंद्रित करते हैं उसमें java.util.ListResourceBundle क्लास का विस्तार करने वाली संकलित Java क्लासेस बनाना शामिल है। आपको इन क्लास फ़ाइलों को संकलित करना होगा और उन्हें अपने वेब एप्लिकेशन के क्लासपाथ में उपलब्ध कराना होगा।
आइए एक डिफ़ॉल्ट रिसोर्स बंडल को परिभाषित करें:
package com.tutorialspoint; import java.util.ListResourceBundle; public class Example_En extends ListResourceBundle { public Object[][] getContents() { return contents; } static final Object[][] contents = { {"count.one", "One"}, {"count.two", "Two"}, {"count.three", "Three"}, }; }
आइए अब स्पेनिश लोकेल के लिए एक और रिसोर्स बंडल परिभाषित करें:
package com.tutorialspoint; import java.util.ListResourceBundle; public class Example_es_ES extends ListResourceBundle { public Object[][] getContents() { return contents; } static final Object[][] contents = { {"count.one", "Uno"}, {"count.two", "Dos"}, {"count.three", "Tres"}, }; }
उपरोक्त क्लासेस Example.class और Example_es_ES.class को संकलित करें और उन्हें अपने वेब एप्लिकेशन के CLASSPATH में उपलब्ध कराएं। अब आप तीन संख्याओं को प्रदर्शित करने के लिए निम्नलिखित JSTL टैग्स का उपयोग कर सकते हैं:
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %> <%@ taglib uri = "https://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %> <html> <head> <title>JSTL fmt:setLocale टैग</title> </head> <body> <fmt:bundle basename = "com.tutorialspoint.Example"> <fmt:message key = "count.one"/><br/> <fmt:message key = "count.two"/><br/> <fmt:message key = "count.three"/><br/> </fmt:bundle> <!-- लोकेल बदलें --> <fmt:setLocale value = "es_ES"/> <fmt:bundle basename = "com.tutorialspoint.Example"> <fmt:message key = "count.one"/><br/> <fmt:message key = "count.two"/><br/> <fmt:message key = "count.three"/><br/> </fmt:bundle> </body> </html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा:
One Two Three Uno Dos Tres