AnchorDocking - Как подключить русский язык

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Aleh
новенький
Сообщения: 53
Зарегистрирован: 08.08.2016 11:27:45

AnchorDocking - Как подключить русский язык

Сообщение Aleh »

В каталоге c:\lazarus\components\anchordocking\languages\ находятся файлы локализации *.po, в частности anchordockstr.ru.po, и сам Лазарус его как-то использует, так как менюшка и окошко настройки руссифицировано. Но мне в своей программе это сделать не удалось. В общем памагителюдидобрые.
Заранее благодарен за дельный совет!
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3071
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Сообщение Снег Север »

если вас интересует в принципе, как подключать и переключать языки, то вот минидемка
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Aleh
новенький
Сообщения: 53
Зарегистрирован: 08.08.2016 11:27:45

Сообщение Aleh »

Большое спасибо.
Быстро посмотрел демку - есть одна "шероховатость" - "родной" anchordockstr.ru.po она не цепляет, но можно добиться результата объединив multi.ru.po демки и anchordockstr.ru.po.
Как я понял нужно в SetDefaultLang(Lang: string; Dir: string = ''; ForceUpdate: boolean = true) передать так параметры, чтоб "удовлетворить" FindLocaleFileName(LCExt: string; Lang: string; Dir: string): string;
У вас нет необходимых прав для просмотра вложений в этом сообщении.
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

Код: Выделить всё

uses
  ...gettext,Translations...
var
PODirectory, Lang, FallbackLang:String;
...
GetLanguageIDs(Lang, FallbackLang);
PODirectory:='path/to/your/copy/pofiles/'
TranslateUnitResourceStrings('anchordockstr', PODirectory + 'anchordockstr.%s.po', Lang, FallbackLang);
TranslateUnitResourceStrings('lclstrconsts', PODirectory + 'lclstrconsts.%S.po', Lang, FallbackLang);
...
Aleh
новенький
Сообщения: 53
Зарегистрирован: 08.08.2016 11:27:45

Сообщение Aleh »

Всем спасибо!!! Всё работает!
Ответить