Я хочу локализовать числа, написав их по локали, и в итоге использовал ICU4J. Я преуспел во многих регионах, но, похоже, не справился с некоторыми, такими как грузинский, турецкий или арабский.
ULocale locale = new ULocale("Tr"); //Turkish
Double d = Double.parseDouble(input);
NumberFormat formatter = new RuleBasedNumberFormat(locale, RuleBasedNumberFormat.SPELLOUT);
String result = formatter.format(d);
Когда я отлаживаю набор правил внутри объекта форматирования, он кажется пустым и печатается на английском языке (я думаю, по умолчанию).
На веб-сайте ICU написано, что: ICU предоставляет правила написания чисел для нескольких локалей, но не для всех локалей, которые поддерживает ICU, и не для всех предопределенных типов правил. Кроме того, в версии 2.6 известно, что некоторые из представленных правил неполны.
Но похоже, что собственная демонстрационная страница ICU может сделать это и для этих локалей (http://demo.icu-project.org/icu4jweb/numero.jsp)
Я также могу найти файлы .res в icu5j-53.1.jar в моей папке .m2 (\icu4j-53.1\com \ibm\icu\impl\data\icudt53b\rbnf)
Буду признателен за любую помощь в том, как демонстрационная страница может это сделать и почему я не могу?