Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  1 748

•  TDictionary Custom Sort  4 301

•  Fast Watermark Sources  3 987

•  3D Designer  6 156

•  Sik Screen Capture  4 235

•  Patch Maker  4 783

•  Айболит (remote control)  4 710

•  ListBox Drag & Drop  3 826

•  Доска для игры Реверси  90 939

•  Графические эффекты  5 027

•  Рисование по маске  4 070

•  Перетаскивание изображений  3 391

•  Canvas Drawing  3 723

•  Рисование Луны  3 497

•  Поворот изображения  3 035

•  Рисование стержней  2 647

•  Paint on Shape  2 036

•  Генератор кроссвордов  2 818

•  Головоломка Paletto  2 223

•  Теорема Монжа об окружностях  2 937

 

 

Архив исходников

   
  Базы данных
  Графика & Мультимедиа
  Сети & Интернет
  Система
  Разное
   

Ссылки и Баннеры ...

 

Delphi Sources

Delphi Sources

 




 

ИСХОДНИК ПРОГРАММЫ

 

. : Локализация приложений : .

 

Delphi - Перевод программ на другие языки через dxGetText - Translations

Исходник программы, показывающей пример локализации Delphi приложений, поддерживающей несколько языков перевода используя бесплатный модуль gnugettext.pas.

Для перевода используется набор модулей, который помогает вводить переводы для строк, извлеченных из программы с помощью бесплатной библиотеки dxGetText.

Сообщения и весь отображаемый текст (заголовки, метки и содержимое радиогрупп и т.п.) отображаются на выбранном языке. Выбор языка в радиогруппе создается динамически, поэтому дополнительные языки могут быть добавлены простым путем добавления наборов переводов (файлы .po и .mo) для других языков (папка /locale/xx/Lc_messages). «xx» в структуре папок - это двухбуквенный идентификатор языка («fr», «de» и «es» для начальных значений). Данные идентификаторы языка и языки имена определены в стандарте ISO 639.1.

Несколько примечаний об элементах многоязычной поддержки:

  • Используйте бесплатную программу PoEdit для переводов строк в файлах default.po (по одному файлу на язык, каждый в отдельной папке).
  • Добавьте gettext ('xxx') для перевода всех строк констант 'xxx'. Используйте _('xxx') в качестве псевдонима ярлыка для gettext.
  • Установите DXGettext, чтобы добавить опцию создания «шаблона» в контекстное меню папки. Он просканирует файлы .pas, .dfm, .dpr, .res в этой папке, чтобы создать файл «default.po» из большинства строк, найденных в этих файлах.
  • Определите папки для переводов в папке проекта: имена папок по умолчанию «project/locale/xx/LC_Messages/», где «xx» - это двухбуквенный идентификатор языка.
  • Скопируйте default.po из шага 4 в каждую папку на конкретном языке, определенную в шаге 5 (после первоначального запуска используйте параметр «объединить»).
  • Запустите poEdit для файла, чтобы вручную перевести строки. Дважды щелкните файл .po, чтобы запустить poEdit. Чтобы избежать сообщения об ошибке, на вкладке «каталог / настройки / проекты» укажите название проекта / версии. Выберите строку в верхнем окне, введите перевод в окне внизу формы. Убедитесь, что опция разделителя строк «Windows» отмечена в разделе «Файл / Настройки / Редактор», и вы сможете настроить редактирование с помощью Блокнота.
  • После закрытия PoEdit создаст файл .mo, используемый во время выполнения.
  • Чтобы избежать повторного ввода переводов после внесения изменений в программу, новый файл .po можно объединить со старым, щелкнув правой кнопкой мыши старый файл .po и выбрав опцию «Объединить».
  • Насколько можно судить, poEdit не позволяет удалять строки, поэтому для такой очистки можно использовать Блокнот.
  • Наконец, когда вы будете готовы к распространению программы, щелкните правой кнопкой мыши «Вставить переводы» в контекстном меню исполняемого файла, чтобы встроить файлы переводов .mo в этот файл.

Файл ISO639V1.txt, включенный в архив, имеет около 200 кодов и языковых имен. После загрузки списка в LanguageTable он используется для отображения названий найденных языков.

Просмотры: 1 311
Дата: 26.06.2021, Автор: Gary Darby
Скачивания: 21
Написать сообщение:

 

Скачать (40 Кб)     Регистрация >>

 

© 2004-2024 "DS"

Соглашение пользователя / Реклама / Карта сайта             Created by BrokenByte Software