![]() | |
| | #1 (permalink) |
| Yönetim Kurulu Üyelik Tarihi: 01/2008 Yer: İstanbul
Mesaj: 254
|
Qt Designer ile birlikte kurulan Linguist adlı programı çalıştırıyoruz. Daha sonra File > Open menüsünden Qt' nin kurulu olduğu dizindeki translations klasöründen qt_untranslated.ts adlı dosyayı seçip açıyoruz. Diyelim ki lineEdit e sağ tıklayınca gelen menüdeki yazıları Türkçe yapmak istiyoruz. Yapmamız gereken aşağıdaki resimdeki gibi QLineEdit i seçmek ve altındakileri tıklayıp sağ kısımdaki Translation bölümüne & karakterini koyduktan sonra karşılığını yazmak. & karakterini olmayanlarda aynı durum söz konusu değildir. Onların karşılıklarını direk yazabilirsiniz. ![]() Dil çalışmamızı ayrı bir dosya olarak save_as kısmından kaydedebiliriz. Eğer dil dosyasını kaydedersek daha sonra üzerinde istediğimiz kısımları da istediğimiz dilde çeviri için düzenleyebiliriz. qm dosyası üzerinde oynama yapılamaz. Şimdi aşağıdaki resimdeki yönergeleri yaparak .qm adlı dosyayı oluşturalım : ![]() Evet geriye bir tek .qm dosyasını arayüze uygulamak kaldı. qt_turkce.qm diye dosyayı oluşturduğunuzu varsayıyorum : app = QtGui.QApplication(sys.argv) kodundan hemen sonra aşağıdaki tarzda kodlarımızı yazıyoruz : 1. yol : (C:\ dizinine qt_turkce.qm diye dosyayı oluşturduğunuzu varsayıyorum.) Kod: tr_yukle = QtCore.QTranslator()
tr_yukle.load("C:/qt_turkce.qm")
app.installTranslator(tr_yukle)
Kod: dizin_pyw = os.path.realpath(__file__)
# En sondaki nokta karakterini arayıp konumunu buluyoruz.
dizin = dizin_pyw.rfind('.')
# dizin - 6 ile .pyw den önceki kısım ne kadarlık karakterse / karaktere kadar olan kısımı alıyoruz.
dizin = dizin_pyw[: dizin - 6]
# Eğer C:\ şeklinde bulduysa C:/ bu hâle getiriyoruz.
# Gerçi bu hâle getirmesek de düzgün çalışıyor. (Linux'ta denemedim)
if dizin.find('\\'):
# Eğer .pyw dosyamızın olduğu yerde bir klasöre atacaksak onu burada ekliyoruz.
dizin = dizin.replace('\\', '/') + "ts/"
# Qt dil dönüştürücünü tr_yukle değişkenine atama yapıyoruz.
tr_yukle = QtCore.QTranslator()
# Eğer buradaki gibi (dizin + "dosya_adi.qm") şeklinde yapmazsanız, qm dosyasını yüklenmez.
# Ya bu tarzda yapın veya 1. yolu deneyin.
tr_yukle.load(dizin + "qt_turkce.qm")
# qm dosyasımı arayüze yüklüyoruz.
app.installTranslator(tr_yukle)
İlk Hâli : ![]() Sonuç : ![]() Kod: # -*- coding: utf-8 -*-
import sys, os
from PyQt4 import QtCore, QtGui
class turkce:
def __init__(self, ui):
self.ui = ui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(QtCore.QSize(QtCore.QRect(0,0,300,300).size()).expandedTo(MainWindow.minimumSizeHint()))
MainWindow.setMinimumSize(QtCore.QSize(300,300))
MainWindow.setMaximumSize(QtCore.QSize(300,300))
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.lineEdit = QtGui.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(30,90,241,31))
self.lineEdit.setObjectName("lineEdit")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtGui.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "lineEdit - Türkçe Menü", None, QtGui.QApplication.UnicodeUTF8))
app = QtGui.QApplication(sys.argv)
"""
dizin_pyw = os.path.realpath(__file__)
dizin = dizin_pyw.rfind('.')
dizin = dizin_pyw[: dizin - 6]
if dizin.find('\\'):
dizin = dizin.replace('\\', '/') + "ts/"
"""
tr_yukle = QtCore.QTranslator()
tr_yukle.load("C:\qt_turkce.qm")
app.installTranslator(tr_yukle)
window = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
__________________ Güzel gören güzel düşünür, güzel düşünen hayatından lezzet alır. (Said Nursi) Java Tutorial:http://java.sun.com/docs/books/tutor.../download.html |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| PhotoShop Dökümanlarını Türkçeleştirme | C-Nem | Beyin Fırtınası | 23 | 03/02/2007 12:25 |
| PHP doc. türkçeleştirme çalışması | Yns | PHP | 6 | 10/05/2005 23:58 |
| Forumu Türkçeleştirme hakkında | o-z-a-n | Ceviz.net Hakkında | 0 | 07/01/2005 17:17 |
| Program Arayüzü | ab | Photoshop / Corel / PSP | 15 | 09/08/2002 12:27 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |