|
ИСХОДНИК ПРОГРАММЫ
. : Локализация приложений : .
Исходник программы, показывающей пример локализации 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
Скачивания: 21
|
|
|
Скачать (40 Кб) Регистрация >> |
|