Контекстное меню для QPlaintTextEdit
предоставляется внутренним классом QTextControl
(который также используется другими виджетами, такими как QTextEdit
), и текст каждого пункта меню уже заключен в вызов tr
. Поэтому любые приложения, которые хотят перевести эти строки, просто должны убедиться, что они загружают соответствующий файл перевода для самой библиотеки Qt.
Qt предоставляет файлы перевода для примерно двадцати языков, которые обычно должны устанавливаться вместе с библиотекой Qt. Расположение этих файлов может быть определено программно следующим образом:
>>> from PyQt4 import QtCore
>>> print QtCore.QLibraryInfo.location(QtCore.QLibraryInfo.TranslationsPath)
/usr/share/qt/translations
Если для языка нет файла перевода, его необходимо будет создать из шаблона. Шаблон можно получить, удалив существующий файл перевода с помощью инструмента Qt lconvert
:
lconvert --drop-translations -o qt_xx.ts qt_fr.qm
Подробнее о создании и использовании переводов см. здесь .