Bu bölümde Lazarus ile çok dilli bir uygulama geliştiriyoruz
Dil uygulamasına kaldığımız yerden devam ediyoruz.
Uygulamanın birinci sürümünden dil.tar.gz ve locale.tar.gz kütüklerini indirelim.
Sağ tıklayıp çıkar diyoruz. Açıldıktan sonra locale kütüğüne sağ tıklayıp kes diyoruz.
dil klasörünü açıyoruz. ana.pas gibi kaynak kütükleri görebilirsiniz. Sağ tıklayıp yapıştır diyoruz.
Böylece locale dizinini dil dizinin altına taşımış olduk.
Lazarus’u başlattıktan sonra Dosya->Aç yolunu takip ediyoruz ve dil klasörünü açıyoruz.
Buradan dil.lpr kütüğünü seçiyoruz ve Aç düğmesine basıyoruz. Gelen ekranda Projeyi Aç seçeneğini seçiyoruz.
F12 tuşuna basarak kaynak ve form görünümü arasında geçiş yapabilirsiniz. F11 tuşu ile nesne denetçisini gösterebilirsiniz.
F12 tuşuna basarak form görünümünü açıyorum. Formu köşelerinden tutup sürükleyerek genişletebiliriz. Çünkü 5 tane düğme ekleyeceğiz.
Standard bölümünden bir tane düğme ekliyorum.
F11 nesne denetçisini açarak başlık Caption olarak Türkçe yazıyoruz. Yüksekliği Height 45 , genişliği ise Width 240 yapalım. Yazı tipi büyüklüğünü Font → Size ise 15 yapalım.
Sonra düğmenin üzerine sağ tıklayıp kopyala diyelim. Formun üzerinde bir yere sağ tıklayıp yapıştır diyelim.
Bu şekilde toplam 5 düğme olana kadar yapıştıralım.
Diğer düğmelerin isimleri sırasıyla Azeri Türkçesi, İngilizce, Arapça ve Göster olacak. Nesne denetçisinden düğmelerin başlığını Caption değiştirebilirsiniz.
Düğmeleri çoğalttıktan sonra gene Standard bölümünden üzerinde kalem simgesi bulunan bir yazı kutusu Memo ekliyoruz.
Memo1 in satırlar Lines özelliğini seçip ... düğmesine tıklıyoruz. Buradan Temizle düğmesine basıyoruz ve tamam diyoruz.
Bileşenleri hizaladıktan sonra formumuzun görünümü aşağıdaki gibi oldu.
Dosya->Kaydet yolunu takip ederek uygulamayı kaydedebiliriz.
Şimdi F12 tuşuna basarak kaynak görünümünü açalım.
implementation bölümünden sonra {$R *.lfm} ifadesinin altına aşağıdaki bölümü ekleyelim.
resourcestring
zengintuccar='Abdullah baba gerçekten zengin bir tüccardı.';
bagdat='Halife Harun Reşid zamanında Bağdat''ta yaşıyordu';
Tekrar F12 tuşu ile formu gösterelim. Eğer nesne denetçisi gözükmüyorsa F11 ile açalım.
Göster düğmesini seçip nesne denetçisinden Olaylar tıklandığında OnClick yanındaki ... tıklayalım.
procedure TForm1.Button5Click(Sender: TObject);
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(zengintuccar);
Memo1.Lines.Add(bagdat);
end;
Yukarıdaki satırları ekleyelim. Burada düğme ismi sizde Button4 olabilir. Önemli olan begin ve end arasını eklemek.
Göster düğmesine tıkladığımız zaman yazı kutusunun satırlarını siliyor. Oluşturduğumuz cümleleri buraya ekliyor.
Bu aşamada F9 tuşu ile uygulamayı çalıştırıp deneyebilirsiniz. Uygulamayı kaydedebilirsiniz.
Yazı kutusunun Memo1 yazı tipi büyüklüğünü dilerseniz nesne denetçisinden Font->Size 15 olarak ayarlayabilirsiniz.
Tekrar F12 ile form görünümüne geçiş yapıyoruz. Türkçe düğmesini seçip olaylar tıklama olayına yazıyoruz.
procedure TForm1.Button1Click(Sender: TObject);
begin
SetDefaultLang('tr');
end;
Bunu diğer diller için de yazalım. Tek farklılık burada az en ar gibi iki haneli dil kodunu değiştireceğiz.
Örneğin Azeri dili düğmesine tıklanınca begin end arasına yazmamız yeterli olacaktır.
SetDefaultLang('az');
F12 ile kaynak görünümü açtıktan sonra uses kısmına virgülle ayırarak LCLTranslator ekliyoruz.
Bu aşamada F9 tuşu ile uygulamayı çalıştıralım.
Türkçe seçip göster tuşuna basınız. İngilizce tuşuna basar basmaz pencere başlığının Languages olduğunu görebilirsiniz.
Bu da uygulamamızın doğru çalıştığını gösteriyor.
Eksik çevirileri tamamlayabiliriz.
Uç birim kullanarak yerel ‘locale’ dizinine geliyoruz.
cp dil.pot dil.po
ile bu kütüğü kopyalıyoruz.
Uç birimden
poedit dil.po
komutunu vererek kütüğü açıyoruz.
Burada PoEdit dil ayarlı değil diyor.
Burada eklediğimiz çevirilerin geldiğini görebilirsiniz.
Dili Türkçe olarak seçiyoruz.
Tamam dedikten sonra Kaydet diyoruz.
Uç birimden bu sefer İngilizce çeviri kütüğünü açalım.
poedit dil.en.po
Burada dikkat ederseniz, sadece ilk yaptığımız çeviriler var.
Çeviri->Pot dosyasından güncelle yolunu takip ederek dil.pot kütüğünü seçiyorum.
Gördüğünüz gibi çeviriler geldi.
Şimdi çevirileri yapalım ve kütüğü kaydedelim.
Çevirileri ekledikten sonra F9 ile uygulamayı tekrar çalıştıralım.
İngilizce düğmesine tıkladıktan sonra Show düğmesine tıklarsanız uygulamanın ara biriminin artık İngilizce olduğunu görebilirsiniz.
Uygulamanın kaynak kodunu ve çalıştırılabilir kütüklerini buradan indirebilirsiniz.
Eğer isterseniz aynı dersin daha uzun sürümünü indirebilirsiniz.
Yorumlar