Мне нужна информация о локализации. Я использую .net 2.0 с C # 2.0, который решает большинство проблем, связанных с локализацией. Однако мне нужно вручную нарисовать алфавиты, соответствующие текущей культуре, на одном экране.
Это будет похоже на экран «Контакты» в Microsoft Outlook (представление «Адресные карты» или «Подробное представление адресных карт» в разделе «Контакты»), поэтому для него необходим столбец кнопок справа, по одной для каждого алфавита.
Я пытаюсь подражать этому, но я не хочу просить пользователя выбрать сценарий. Если текущая культура, скажем, китайская, я хочу нарисовать китайский алфавит. Когда пользователь меняет информацию о культуре на английский (и когда он перезапускает приложение), я хочу вместо этого рисовать английские алфавиты. Надеюсь, вы понимаете, куда я иду с этим запросом.
Я могу определить культуру текущего пользователя (Application.CurrentCulture или System.Globalization.CultureInfo.CurrentCulture предоставит информацию, связанную с культурой). У меня также есть все скрипты для рендеринга алфавитов. Однако проблема в том, что я не знаю, как сопоставить информацию о культуре с именем скрипта.
Другими словами, есть ли способ определить имя сценария, соответствующее культуре? Или можно определить диапазон значений символов Unicode, соответствующих культуре? Любой из них позволил бы мне правильно отобразить буквы на кнопке.
Любые предложения или рекомендации по этому поводу действительно приветствуются. Если с моим подходом что-то не так (или с тем, чего я пытаюсь достичь), пожалуйста, укажите на это. Спасибо за ваше время.
PS: я знаю, что самое простое решение - это настроить имя сценария как часть пользовательских настроек или отобразить список языков для выбора пользователя (как контакт в Outlook 2007). Но я просто пытаюсь понять, смогу ли я сделать алфавиты, соответствующие культуре, без необходимости что-либо делать.