Я экспериментирую с интернационализацией, создав программу Hello World, которая использует файлы свойств + ResourceBundle для получения разных строк.Как правильно хранить и извлекать интернационализированные строки в файлах свойств?
В частности, у меня есть файл «messages_en_US.properties», в котором хранится «hello.world = Hello World!», Который отлично работает.
У меня тогда есть файл «messages_ja_JP.properties», с которым я пробовал всевозможные вещи, но он всегда отображается как некоторый тип искаженной строки при печати на консоли или в Swing. Очевидно, что проблема заключается в чтении содержимого в строку Java, поскольку строка Java в японском языке, введенная непосредственно в исходный код, может печатать в порядке.
Что я пробовал:
- .properties файл в UTF-8 кодировке с японской строки как есть для значения. Что-то, что я читаю, указывает, что Java ожидает, что файл свойств будет в исходной кодировке системы ...? Это не сработало.
- Файл в кодировке по умолчанию (ISO-8859-1) и значение, сохраненное как экранированный Unicode, созданный программой native2ascii, включенной в Java. Пробовал с исходным файлом в различных японских кодировках ... SHIFT-JIS, EUC-JP, ISO-2022-JP.
Edit:
Я действительно понял это, когда я печатаю это, но я полагал, что я отправлю его в любом случае, и ответить на него в случае, если это помогает любому.
Хмм, только для этого требуется, чтобы я создал функциональность, чтобы зеркально отразить способность фабричных методов ResourceBundle получить точное имя файла на основе локали, вместо того, чтобы просто дать ему базовое имя и дать ему понять остальное , получить входной поток и т. д. – ColinD 2008-10-12 02:17:30