[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Yerellestirmenin teknigi



Tekrar Merhaba, 

ikinci soruya dikkat etmemişim, özür. onu da bildiğim kadarıyla
cevaplayayım.  


#include <stdio.h>
#include <libintl.h>
#include <locale.h>

int main(void) {
	char domain[] = "test";
	bindtextdomain(domain, "./locale");
	textdomain(domain);
	setlocale(LC_ALL, (char*) getenv("LANG"));
	printf("%s\n", gettext("Hello"));
	return 0;
}



gibi basit bir C kodu yazıyoruz ve test.c olarak kaydediyoruz. ardından

make test 

komutunu vererek bunu derliyoruz. Sonra

xgettext -n test.c -o test.po 

komutu ile test.po isminde bir dosya oluştuğunu görüyoruz. Bunu bir
editörle açtığınızda üst kısımda çevirenle ilgili bilgilerin
girilebildiği bir bölüm olduğunu görüyoruz. Burada mecburi olan
değişiklik charset kısmanda. CHARSET yazan yeri silip yerine UTF-8
yazabiliriz mesela. Ardından aşağı kısımda

msgid "Hello"
msgstr ""

Gibi birşey göreceğiz, burada xgettext aracı, koddaki gettext
çağrılarına bakarak kullanılan ileti id'lerini oluşturuyor, msgstr ile
de bizden karşılıklarını istiyor. Örneğin;

msgstr "" satırını msgstr "Merhaba" olarak değiştirelim. Ve dosyayı
kaydedip çıkalım.

sonra;

msgfmt -o test.mo test.po

komutuyla test.mo dosyamızı oluşturalım. Derlenmiş ikili (binary)
dosyanın olduğu dizinde locale/tr/LC_MESSAGES/ dizinlerini oluşturup
test.mo dosyasını oraya atalım. 

Şimdi ./test dediğimizde (eğer Türkçe ayarlarınız yapılmışsa) Merhaba
yazacaktır. Yapılmamışsa;

$ LANG=en_EN ./test

komutunu verdiğinizde Hello yazacak,

$ LANG=tr_TR ./test

yazdığınızda ise Merhaba yazacaktır.

Kolay gelsin.


Murat Erozlu <erozlum@gmail.com> writes:

> Merhabalar,
>
> KDE'de (ya da gnome'da ama daha cok KDE'de) yerellestirmenin teknik
> olarak nasil calistigi hakkinda bir belge nereden bulabilirim?
> www.kde.org.tr'yi biraz inceledim "Ceviri Nasil Yapilir?" diye bir
> belge var burada, kisaca .pot nedir, .po nedir, bu dosyalarla ne
> yapilir, kime gonderilir falan gibi birkac temel bilgi var fakat
> KDE'nin hangi .po dosyasini ne sekilde kullandigi hakkinda birsey
> bulamadim.
>
> Sunun icin merak ediyorum, yeni bir projeye baslamak istesem, bu
> projeye .po dosyalarini kullandirmak icin ne yapmam lazim? Nasil
> yapmam lazim? Ya da bu .po dosyalari sadece birilerine gonderiliyoda o
> insanlar bunlari alip baska birsey mi yapiyor? Yapiyorsa ne yapiyor?
>
> Tesekkurler,
>
> Murat Erozlu
>

-- 
Cafer "0x0cfb" Simsek
http://cafer.org



Reply to: