Welcome, Guest. Please login or register.
Did you miss your activation email?
08 February, 2012, 11:05:24 am
Home Help Search Login Register

Lazarus and FreePascal

Erişim

Stats

Members
  • Total Members: 1207
  • Latest: yuksek
Stats
  • Total Posts: 326
  • Total Topics: 83
  • Online Today: 17
  • Online Ever: 53
  • (22 October, 2011, 06:01:43 pm)
Users Online
Users: 0
Guests: 14
Total: 14
+  Linux Programlama
|-+  Forum
| |-+  Linux ve Programlama Araçları
| | |-+  Kitaplık Kullanımı
| | | |-+  Gettext Kullanımı
« previous next »
Pages: [1] Go Down Print
Author Topic: Gettext Kullanımı  (Read 3082 times)
alivardar
Administrator
Full Member
*****
Posts: 138


View Profile WWW
« on: 11 November, 2009, 03:07:27 pm »

Gettext Desteği

Geliştirilen projlerinizde çoklu dil desteğinin olmasını isterseniz. Bu işlemler motor ile son derce zahmetsizdir. Bunun için yeni bir proje oluşturulurken öncelikle "Use GNU gettext for internationalization" seçeneğinin "Yes" olması gerekmektedir. bu tek başına yeterli değildir en azından bir adet dil dosyasının eklenmiş olması gerekmektedir.Dil dosyasını eklemek için menüden  "Project -> Files" seçilerek  "Miscellaneous files" altına "po/tr.po" biçiminde Türkçe diline ait olan destek eklenir. Eklem sırasında po dizini mevcut değil oluşturmak istermisiniz sorusuna evet denilerek devam edilmesi gerekir. "Files" ekranından çıkıldığı anda proje tekrardan configure edilir. Proje dizini içine po dizini ve intl dizinlerini uygulama kendisi ekleyecektir. Bu aşamdan sonra projemizin derleme sırasında dil desteğini otomatik olarak düzenlemesi sağlanmış oldu. Ancak henüz her şey tamamlanmadı. Uygulamanın kodları içine de bir takım eklemeler yapmamız gerekmektedir. Menü içinden Projects->Make a dist package seçildiği takdirde projeye ait gerekli tüm dosyalar uyarlanacaktır. RPM veya tar.gz olarak kullanıma hazır hale getirilecektir. Bu aşamada projeye ait olan dosyaların gmo dosyalarının üretilmesi ve po dizini içine yerleştirilmesi gerekir aksi takdirde hata verecektir. Aynı zamanda po dizini içinde Makevars dosyasinin po dizini içinde oluşturulması gerekecektir. Bunun için po dizini içinde aşağıdaki satırı yazmak yeterli olacaktır.
# cp Makevars.template Makevars

Uygulama içinde kullanım aşağıdaki Örnek bir kullanımda main dosyasını aşağıdaki şekilde düzenlemesi gerekmektedir.


#include <stdio.h>
#include <libintl.h>
#include <locale.h>
#define _(c) gettext(c)
#define progname "deneme"
int main()
{
setlocale(LC_ALL, "");
bindtextdomain( progname, "/usr/share/locale");
textdomain(progname);
const char *name = _("deneme");
const char *author = _("ali vardar");
printf("+ program %s, (c) by %s\n", name, author);
return 0;
}


po ve POT dosyaları po dizini içinde kullanıma ve çevrimlere hazır şekilde bulunacaktır. Projenin dağıtım paketlerinin oluşturulması sırasında po dosyaları yenilenecektir. Menüden "Make dist package" komutu verildiği zaman gmo dosyalarınıda arayacaktır.
Logged
Pages: [1] Go Up Print 
« previous next »
Jump to:  

Forum / Destek

GPL Applications

TinyPortal v1.0 beta 4 © Bloc


Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!