Я использую ICU, чтобы преобразовать число в строку, например:
"сто тридцать четыре" // 134, используя en_US,
стандартное правило написания для моей локали (vi_VN) кажется неправильным
15 становятся «mười năm» вместо «mười lăm» и многие другие неправильные,
поэтому мне нужно отредактировать правило, но я не знаю, где это изменить
Где находится правило написания (RuleBasedNumberFormat) библиотеки ICU?
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
Спасибо за указание на CLDR, я сначала протестирую правило, а потом отправлю запрос на изменение в CLDR.
- person Nhu Phuong; 06.08.2011
@NhuPhuong на самом деле здесь есть тестовое приложение: st.unicode.org/cldr-apps/numbers .jsp
- person Steven R. Loomis; 13.09.2013
хороший сайт ^^, действительно полезно
- person Nhu Phuong; 14.09.2013