#java #properties #resourcebundle
#java #свойства #resourcebundle
Вопрос:
Я занимаюсь интернационализацией на Java.
Я создал два файла: MessageBundle_en_US.properties
и MessageBundle_en_IN.properties
.
MessageBundle_en_US.properties
:
greeting=Hello, how are you?
MessageBundle_en_IN.properties
greeting=Halo, apa
И, наконец, вот основной класс:
import java.util.*;
public class InternationalizationDemo {
public static void main(String[] args) {
ResourceBundle bundle =
ResourceBundle.getBundle("MessageBundle", Locale.US);
System.out.println(
"Message in "
Locale.US
": "
bundle.getString("greeting")
);
//changing the default locale to indonasian
Locale.setDefault(new Locale("in", "ID"));
bundle = ResourceBundle.getBundle("MessageBundle");
System.out.println(
"Message in "
Locale.getDefault()
": "
bundle.getString("greeting")
);
}
}
И я получаю следующую ошибку stacktrace:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name MessageBundle, locale en_US
at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2055)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1689)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1593)
at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556)
at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:932)
at provame.InternationalizationDemo.main(InternationalizationDemo.java:8)
Обновить
Я нашел причину, по которой он не смог увидеть файл, прежде всего, вам нужно поместить *properties file в тот же каталог, что и основной класс, как предложили добрые люди в комментариях, и вы должны настроить вызов файла таким образом:
projectName/propertiesFileName
Это было все.
Комментарии:
1. Разместили ли вы свои
*.properties
файлы в том же каталоге ,InternationalizationDemo.java
что и ?
Ответ №1:
- Поместите ваши
*.properties
файлы в ту же папку, что иInternationalizationDemo.java
- Переименовать:
MessageBundle_en_IN.properties
в:MessageBundle_in_ID.properties