Информация в данной статье актуальна только для СТАРЫХ версий IDE, до RAD Studio 2009!
(В современных версиях IDE юникод полностью поддерживается автоматически)
В случаях, когда язык по умолчанию в системе отличается от юникодного языка, может возникнуть проблема с поддержкой юникодных языков под Delphi или C++Builder. TsiLang поддерживает юникод достаточно хорошо, но необходимо выполнить ряд дополнительных настроек для корректного отображения и редактирования таких языков.
Для начала необходимо настроить Fonts и Charsets в Translation Editor. Для этого необходимо:
- Удостовериться, что операционная система поддерживает редактирование нужного языка, например в Блокноте.
- Открыть TsiLang Translation Editor (двойной щелчок на TsiLang).
- Выбрать секцию Fonts в Дереве Переводов и установить шрифт, поддерживающий необходимый язык. Обычно, Tahoma поддерживает большинство языков.
- Переключиться в секцию Charsets в Дереве и установить подходящий скрипт (Charset) для языка.
- Выбрать в меню Tools->Default Languages и добавить настройки для необходимого языка в список настроек по умолчанию. Например, как показано на рисунке ниже:

Шрифты по умолчанию.
- После этого Вы сможете редактировать и видеть данные языки в Translation Editor.
К сожалению, не все элементы управления Delphi поддерживают отображение языков, в зависимости от установленного шрифта и скрипта. Многие элементы отображаются, только используя системные настройки для default locale. Для решения этой проблемы можно воспользоваться одним из нижеследующих:
- Установить этот язык как язык по умолчанию. (Иногда может понадобиться также, установить его в опции «Language for non-Unicode programs» панели управления.)
- Использовать Unicode VCL вместо стандартных. Unicode элементы управления, такие как TMS Unicode Component Pack или LMD ElPack поддерживаются TsiLang.
- Заменить стандартные VCL элементы, которые являются просто суперклассами для стандартных элементов Windows (TButton, TCheckbox и прочие) на элементы управления, которые рисуются, используя Font и Charset. Например, TButton может быть заменен на TBitBtn. Также может понадобиться добавить owner-draw функциональность в элементы, аналогов для которых не найти в стандартной поставке, к примеру TComboBox. В данном случае необходимо отрисовывать каждый пункт списка самостоятельно в событии OnDrawItem и использовать настройки для Font и Charsets для отрисовки текста.
Третий способ самый сложный, тогда как первые два — наиболее простые.
Домашняя страница TsiLang Components Suite: https://www.tsilang.ru.
Скачать последнюю версию можно с https://www.tsilang.ru/download-tsilang-components-suite/
Эта статья в PDF формате доступна здесь: adding_support_for_far_east_or_other_unicode_languages_ru.pdf.