5 | | В lcl есть средства для работы с GetText. Кроме этого есть средства для перекодировки строк в gettext-файлах в нужную. К сожалению, в Lazarus 0.9.24 все еще используется ANSI по умолчанию в GUI - переход на юникод уже совершен в 0.9.25, но тот все ещё в разработке. К счастью, в 0.9.24 (точнее в rtl компиллятора fpc 2.2.0, который там используется) в модуле wstringh уже пробиты базовые преобразования для различных вариантов представления юникода, в т.ч. для utf-8 который и требуется. Также имеется достаточно уродливый и сделанный наспех модуль lconv в котором есть перекодировки между utf-8, cp1251 и koi8-r. Кодировки cp866 нет. К сожалению, там все сделано кое-как. В lcl из svn текущей версии лазаруса обнаружились обновленные версии исходников модуля Translate (больше не использует lconv), и модуль lconvencoding - фактически представляющий из себя переписанный по-человечьи lconv - там в нормальной форме прописана работа с огромным множеством кодировок, но cp866 также отсутствует. К счастью, в этом модуле все сделано так, что добавить новую кодировку особого труда не составит. |
| 5 | В lcl есть средства для работы с !GetText. Кроме этого есть средства для перекодировки строк в gettext-файлах в нужную. К сожалению, в Lazarus 0.9.24 все еще используется ANSI по умолчанию в GUI - переход на юникод уже совершен в 0.9.25, но тот все ещё в разработке. К счастью, в 0.9.24 (точнее в rtl компиллятора fpc 2.2.0, который там используется) в модуле wstringh уже пробиты базовые преобразования для различных вариантов представления юникода, в т.ч. для utf-8 который и требуется. Также имеется достаточно уродливый и сделанный наспех модуль lconv в котором есть перекодировки между utf-8, cp1251 и koi8-r. Кодировки cp866 нет. К сожалению, там все сделано кое-как. В lcl из svn текущей версии лазаруса обнаружились обновленные версии исходников модуля Translate (больше не использует lconv), и модуль lconvencoding - фактически представляющий из себя переписанный по-человечьи lconv - там в нормальной форме прописана работа с огромным множеством кодировок, но cp866 также отсутствует. К счастью, в этом модуле все сделано так, что добавить новую кодировку особого труда не составит. |