منبع اصلی نوشتار زیر در این لینک قرار دارد

ترجمه ی پارسی در برنامه های PyQt

درود دوستان . در این پست ترجمه ی رابط گرافیکی کاربر 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

برنامه با موفقیت ترجمه شد  موفق باشید دوستان :)



برچسب ها : , , , , , ,