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

•  DeLiKaTeS Tetris (Тетрис)  167

•  TDictionary Custom Sort  3 341

•  Fast Watermark Sources  3 095

•  3D Designer  4 851

•  Sik Screen Capture  3 350

•  Patch Maker  3 555

•  Айболит (remote control)  3 665

•  ListBox Drag & Drop  3 018

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

•  Графические эффекты  3 948

•  Рисование по маске  3 253

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

•  Canvas Drawing  2 761

•  Рисование Луны  2 586

•  Поворот изображения  2 194

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

•  Paint on Shape  1 569

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

•  Головоломка Paletto  1 769

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

 

 

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

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

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

 

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 014
Дата: 26.06.2021, Автор: Gary Darby
Скачивания: 18
Написать сообщение:

 

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

 

© 2004-2024 "DS"

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