При разработке приложений на Delphi 6, процесс локализации включает в себя извлечение строк для перевода. Однако, существуют строки, которые не должны подвергаться переводу, так как это может привести к проблемам. Одной из таких строк является TDBGrid.Columns[x].FieldName.
Вопрос пользователя заключается в том, как исключить определенные строки из файла .pot, который содержит все строки для перевода. В частности, пользователь столкнулся с трудностями при использовании файла ggexclude.cfg, где пытался указать строки для исключения, но без успеха. Пример из файла ggexclude.cfg:
Пользователь предполагает, что проблема может заключаться в том, что в файле .dfm парсер не понимает, что указанные строки являются частью объекта TColumn.
Предложенные альтернативные решения включают использование инструмента msgmkignore для автоматического создания файла autogenignore.po, который затем необходимо пересмотреть и отредактировать вручную. Также упоминается, что в документации к ggexclude.cfg указано, что нельзя исключать отдельные элементы коллекций, например, свойства TDBGrid.Columns. В качестве альтернативы предлагается исключить всю коллекцию TDBGrid.Columns, однако это может привести к потере других важных свойств, таких как Title.Caption.
Подтвержденный ответ
Для решения проблемы с исключением нежелательных строк из процесса локализации в Delphi 6, можно использовать следующие шаги:
Попробуйте использовать инструмент msgmkignore для автоматического создания файла autogenignore.po, который затем нужно будет пересмотреть и отредактировать вручную.
Внимательно изучите документацию к ggexclude.cfg, чтобы понять, какие строки и элементы можно исключить.
Если исключение отдельных элементов коллекции невозможно, рассмотрите возможность исключения всей коллекции, однако будьте готовы к потенциальным потерям других важных свойств.
В случае необходимости, рассмотрите возможность модификации инструмента dxgettext для добавления дополнительных возможностей исключения.
Альтернативный код
В документации к ggexclude.cfg приведены примеры использования секций для исключения различных элементов, включая папки, файлы, классы и свойства. Пример использования секции для исключения свойств класса:
[exclude-form-class-property]
TDBGrid.Columns
Однако, следует помнить о том, что исключение всей коллекции TDBGrid.Columns приведет к потере всех свойств этой коллекции, включая нежелательные и желательные.
Заключение
Процесс локализации в Delphi 6 может быть сложным, особенно когда речь идет об исключении определенных строк. Важно тщательно планировать процесс локализации и использовать все доступные инструменты и настройки для достижения желаемого результата.
Вопрос касается метода исключения определённых строк из процесса локализации в среде разработки Delphi 6, чтобы избежать их перевода, что может быть неприемлемо.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.