Форум сайта python.su
Как изменить язык из нужной мне библиотеки
например:
from tkinter import messagebox messagebox.askyesno("Заголовок","Бажаєте зберегти?")
Офлайн
Судя по всему это стандартный системный вызов окна посему ответ - делать свое собственное окошко с нужными кнопками и надписями.
Офлайн
Офлайн
с gettext не разобралась, все время ошибки пишит, да и откуда там украинскому взяться
свое окно модальное впоследствии все равно пригодится, начала создавать и столкнулась с проблемой , как убрать верхние кнопки в модальном окне “свернуть”, “развернуть”
Офлайн
lubockaТо есть? Вы сами создаете словарь переводов, если хотите там и суахили будет. Не понял ваших претензий к украинчкому
да и откуда там украинскому взяться
Офлайн
Никак не получается самой разобраться с переводом на нужный мне язык стандартных библиотек.
Даю пример. Натыкайте носиком, что надо сделать. плиззззз!
from PyQt5.Qt import * class UkrColorDialog(QColorDialog): def __init__(self, parent=None): super().__init__() class MyWindow(QWidget): def __init__(self): super().__init__() self.initWindow() def initWindow(self): self.fontcolor = UkrColorDialog() layout = QHBoxLayout() layout.addWidget(self.fontcolor) self.setLayout(layout) if __name__ == '__main__': import sys app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_())
Офлайн
lubockaДля этого используют gettext. Тогда во всей программе пишут всё английскими фразами, но в обёртке, которая при выполнении мапится через файл перевода.
очу все слова на английском, чтоб чудесным образом стали на украинском :)
print(_('hello'))
lubockaЭто можно и без gettext заменить. Надо для кнопок свои названия подать, обычно это предусмотрено.
в всплывающем окне отображаются кнопки с надписями “да” , “нет”
Офлайн
py.user.nextесли возможно пример
обычно это предусмотрено.
Отредактировано lubocka (Окт. 16, 2017 12:12:06)
Офлайн
Как-то так:
app = QtGui.QApplication(sys.argv) translator = QtCore.QTranslator() translator.load("перевод.qm") app.installTranslator(translator)
Офлайн
спасибо, но почему-то не срабатывает. Надписи остались английскими.
from PyQt5.Qt import * class MyWindow(QWidget): def __init__(self): super().__init__() self.initWindow() def initWindow(self): self.fontcolor = QColorDialog() layout = QHBoxLayout() layout.addWidget(self.fontcolor) self.setLayout(layout) if __name__ == '__main__': import sys app = QApplication(sys.argv) translator = QTranslator() locale = QLocale.system().name() translator.load( locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(translator) print(locale) # выводит # ru_RU print(QLibraryInfo.location(QLibraryInfo.TranslationsPath)) # выводит # C:/Users/WIN7/AppData/Local/Programs/Python/Python36-32/lib/site-packages/PyQt5/Qt/translations window = MyWindow() window.show() sys.exit(app.exec_())
Офлайн