आप डिफ़ॉल्ट Locale
Locale.setDefault
के साथ डिफ़ॉल्ट सेट कर सकते हैं।
जावा वर्चुअल मशीन के इस उदाहरण के लिए डिफ़ॉल्ट लोकेल सेट करता है। यह मेजबान लोकेल को प्रभावित नहीं करता है।
Locale.setDefault(new Locale("es", "ES"));
निम्नलिखित संसाधन फ़ाइलों के साथ परीक्षण:
test.properties
message=Yes
test_es_ES.properties
message=Sí
यहाँ मेरी मुख्य कार्य है, मेरे डिफ़ॉल्ट स्थान (en_US) करने के लिए कोई परिवर्तन नहीं:
public static void main(String[] args)
{
ResourceBundle test = ResourceBundle.getBundle("test");
System.out.println(test.getString("message"));
}
आउटपुट:
Yes
यहाँ मेरी मुख्य कार्य अपने परीक्षण वातावरण में होने वाले बदलाव के साथ है, (es_ES):
public static void main(String[] args)
{
Locale.setDefault(new Locale("es", "ES"));
ResourceBundle test = ResourceBundle.getBundle("test");
System.out.println(test.getString("message"));
}
आउटपुट:
Sí
यह जब एक JUnit परीक्षण मामले के लिए आवेदन किया काम करना चाहिए।
हां, और? आप कौन सा कोड चलाते हैं जो लोकेल निर्भर है? – fge
मुझे आपके द्वारा बिल्कुल सही अर्थ नहीं मिला। मेरे पास कुछ अपवाद संदेश हैं जिन्हें जांचने की आवश्यकता है। मैंने एक अलग संसाधन फ़ाइल बनाई है, हालांकि, यह लिंक नहीं हो रहा है .. – user3453784
एचएमवेल, शायद इस मामले में आप [इस परियोजना] (https://github.com/fge/msg-simple) पर एक नज़र रखना चाहते हैं ; यह आपको स्थानीय संदेशों को आसानी से प्राप्त करने की अनुमति देता है – fge