Для локализации label в декораторе кнопки в пользовательском интерфейсе (UI) в Python, можно воспользоваться библиотекой PyQt, которая позволяет создавать графические приложения с использованием Qt.
Начнем с создания кнопки с помощью PyQt:
import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton class MyWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(100, 100, 200, 100) self.setWindowTitle('Localization Example') button = QPushButton(self) button.setText('Click me') # На данном этапе текст кнопки не локализован if __name__ == '__main__': app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_())
Теперь, чтобы локализовать текст кнопки, например на русский язык, можно использовать следующий способ:
button.setText('Нажми меня')
Для более сложных приложений и интерфейсов, где требуется многоязычная поддержка, удобно использовать файлы перевода (.ts), которые затем могут быть скомпилированы в .qm файлы.
Пример использования перевода в PyQt:
from PyQt5.QtCore import QTranslator, QLocale # Создаем экземпляр QTranslator translator = QTranslator() # Загружаем файл перевода (.qm) translator.load('myapp_ru_RU.qm') # Устанавливаем перевод app.installTranslator(translator) # Теперь, когда вы устанавливаете текст для кнопки: button.setText(tr('Click me')) # 'Click me' будет переведен на русский язык
При использовании файлов перевода, необходимо создать файл .ts, который содержит все строки, подлежащие переводу, а затем скомпилировать его в .qm файл с помощью утилиты pylupdate5
для извлечения строк и lrelease
для их компиляции.
Данный подход позволяет обеспечить многоязычную поддержку вашего приложения и удобное управление локализованными строками.