درود دوستان . در این پست ترجمه ی رابط گرافیکی کاربر PyQt به پارسی رو آموزش می دم . در ویندوز بعد از نصب بسته ی پایکیوت نرم افزاری بنام زبان شناس (Linguist) هم روی سیستم نصب می شه . از توی منوی استارت همونجا که پای کیوت قرار داره قابل دسترسیه . Linguist کارش اینه که لغات درون برنامه مون رو همراه ترجمشون می پذیره و در یه فایل ایکس ام ال با فرمت ts خروجی می ده. این فایل باید به پسوند qm تبدیل بشه . من روی ویندوز با زبان شناس کار نکردم ولی تویراهنمای ویندوز زبان شناس اشاره شده که qm هم پشتیبانی می شود
و اما روی لینوکس تبدیل ts به qm براحتی با نصب یه بسته از سافت وار سنتر قابل انجامه. بسته ی Qt4 linguist tools رو با حجم ۸۰۰ کیلوبایت نصب کنید .
خب حالا اپلیکشن ما باید چیزی شبیه این باشه :
from PyQt4 import QtCore, QtGui import sys class MainWindow(QtGui.QMainWindow): def __init__(self,parent=None): QtGui.QMainWindow.__init__(self,parent) label = QtGui.QLabel(self.tr("Hello World!")) self.setCentralWidget(label) self.setWindowTitle(self.tr("Title")) if __name__=="__main__": app = QtGui.QApplication(sys.argv) translator = QtCore.QTranslator() translator.load("Persian.qm") app.installTranslator(translator) window = MainWindow() window.show() app.exec_()
و فایل ts رو می شه دستی برای برنامه هامون ویرایش کنیم – اسم فایل رو هم Persian.ts می ذارم
<!DOCTYPE TS> <TS version="2.0" language="Persian"> <context> <name>MainWindow</name> <message> <source>Title</source> <translation>عنوان</translation> </message> <message> <source>Hello World!</source> <translation>سلام جهان !</translation> </message> </context> </TS>
حالا فایل ts رو به qm تبدیل می کنم و تمام . توی ترمینال با تایپ ذستور lrelease فایل ساخته می شه . این دستور ۲تا آرگومان می گیره . آرگومان اول آدرس فایل ts و دومی آدرس ذخیره ی qm:
برای من :
lrelease /home/iraj/Desktop/Persian.ts home/iraj/Desktop/Persian.qm
برنامه با موفقیت ترجمه شد موفق باشید دوستان