Я работаю над побочным проектом, который включает в себя сортировку японских и тайских строк. Когда я тестировал сортировку в Javascript на стороне клиента, я смог использовать a.localeCompare(b, "languageCode")
, который работал. Когда я попробовал ту же логику в Node, она не сработала, потому что Node Объект INTL ограничен английским языком по умолчанию.
Я хочу настроить свою сборку узла, как описано в приведенной выше ссылке, и наткнулся на модуль узла ICU4C-data., который, как я понимаю, содержит полный набор данных ICU. Я играл с разными флагами сборки, такими как указанный в (разреженном) README: --icu-data-dir=node_modules/icu4c-data
, но безрезультатно — независимо от того, какие флаги я устанавливал, я не могу получить функция сравнения INTL Collator, чтобы получить ожидаемые результаты. Есть ли очевидный флаг, который мне не хватает, или ключевое предположение, в котором я ошибаюсь?
Вот несколько важных заметок/ресурсов:
- Конечной целью является сопоставление тайского и японского языков. Если есть другой подход, использующий Node для реализации этого, я открыт для предложений.
- Сопоставление должно быть выполнено в узле
- Я буду полагаться на Array.prototype .sort() - в основном ищет компаратор
- Использование Node 0.12 с поддержкой ECMA
- Моя первая настройка сборки Node (~ 1 месяц опыта)