История изменений
Исправление proud_anon, (текущая версия) :
В эмбедах большие ограничения по объему памяти. Поэтому надо выдергивать только те глифы, которые реально используются. Хочу запилить в конверторе опцию вида «выдернуть язык ХХХ».
Хмм… А это для какого-то конкретного эмбеда или вообще? Потому что я пытаюсь представить себе ситуацию, где это может быть нужно.
Если нужен вывод определённых фраз и слов, то можно взять те глифы, которые используются в этих фразах и словах. Если есть строго ограниченный ввод данных пользователем, то ответственные за локализацию интерфейса на определённый язык будут определять, что конкретно нужно. А если нужно разрешить пользователю писать любые тексты, но только на определённом языке, то тут всё сложно.
Например, заглавное сообщение этого топика написано на русском языке, но в нём, помимо кириллицы, «реально используются» латинские буквы, пунктуация (включая «
и »
), а движок сайта добавил ещё 🔖︎ (он стоит перед тегами) и ★. Ещё там могли быть 🦄 или ( ͡° ͜ʖ ͡°), например.
Если всё-таки надо сделать, то, как я понимаю, лучше exemplar characters в CLDR решений не придумано. Подробно про каждое поле написано вот здесь. Но сам я с exemplars никогда не работал, так что больше я ничего не знаю. Только обычно прежде чем парсить CLDR руками, нужно посмотреть, нет ли чего-то подходящего в ICU.
Исходная версия proud_anon, :
В эмбедах большие ограничения по объему памяти. Поэтому надо выдергивать только те глифы, которые реально используются. Хочу запилить в конверторе опцию вида «выдернуть язык ХХХ».
Хмм… А это для какого-то конкретного эмбеда или вообще? Потому что я пытаюсь представить себе ситуацию, где это может быть нужно.
Если нужен вывод определённых фраз и слов, то можно взять те глифы, которые используются в этих фразах и словах. Если есть строго ограниченный ввод данных пользователем, то ответственные за локализацию интерфейса на определённый язык будут определять, что конкретно нужно. А если нужно разрешить пользователю писать любые тексты, но только на определённом языке, то тут всё сложно.
Например, заглавное сообщение этого топика написано на русском языке, но в нём, помимо кириллицы, «реально используются» латинские буквы, пунктуация (включая «
и »
), а движок сайта добавил ещё 🔖︎ (он стоит перед тегами) и ★. Ещё там могли быть 🦄 или ( ͡° ͜ʖ ͡°), например.
Если всё-таки надо сделать, то, как я понимаю, лучше exemplar characters в CLDR решений не придумано. Подробно про каждое поле написано вот здесь. Но сам я с exemplars никогда не работал, так что больше я ничего не знаю.