Где находится правило написания (RuleBasedNumberFormat) библиотеки ICU?

Я использую ICU, чтобы преобразовать число в строку, например:
"сто тридцать четыре" // 134, используя en_US,
стандартное правило написания для моей локали (vi_VN) кажется неправильным
15 становятся «mười năm» вместо «mười lăm» и многие другие неправильные,
поэтому мне нужно отредактировать правило, но я не знаю, где это изменить


person Nhu Phuong    schedule 04.08.2011    source источник
comment
Я могу отформатировать число с правилом напрямую, используя C++ API, но мне нужно внести изменения в правило в файле icudt48l.dat, поэтому мне нужно знать, где его редактировать.   -  person Nhu Phuong    schedule 04.08.2011


Ответы (1)


Данные ICU поступают из CLDR. Сообщите об ошибке в CLDR, http://cldr.unicode.org. Если у вас возникнут проблемы, дайте мне знать. .

В идеале вы должны загрузить исходный код CLDR и восстановить данные ICU из CLDR. CLDR использует несколько иной формат правил.

Но, если вы хотите сделать патч, вы можете загрузить ICU из Subversion, и данные будут находиться в каталоге icu/source/data/translit.

Надеюсь, это поможет, и, пожалуйста, сообщите об ошибке в CLDR. Нет причин сообщать об ошибке в отделение интенсивной терапии, отделение интенсивной терапии подберет исправленные данные автоматически.

(Я работаю как в ICU, так и в CLDR)

person Steven R. Loomis    schedule 05.08.2011
comment
Спасибо за указание на CLDR, я сначала протестирую правило, а потом отправлю запрос на изменение в CLDR. - person Nhu Phuong; 06.08.2011
comment
@NhuPhuong на самом деле здесь есть тестовое приложение: st.unicode.org/cldr-apps/numbers .jsp - person Steven R. Loomis; 13.09.2013
comment
хороший сайт ^^, действительно полезно - person Nhu Phuong; 14.09.2013