gnome-ceviri-nasil



Asagida taslak bir metin hazirladim, bunu okuyup fikirlerinizi
iletirseniz yarina tamamlayip Erhan'a web sayfasina eklemesi icin
gonderecegim. 

Ceviri programlari ile alakali belge biraz bekleyecek, gene taslak bir
seyler hazirlarim ama oncelikle bitirmem gereken ceviriler var.

-- 
Baris.
Public Key:
<http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x22E4CF47>
GiriÅ

Bu belge Gnome Projesi yerelleÅtirme ÃalÄÅmalarÄna katÄlabilmeniz iÃin yardÄmcÄ bilgileri iÃerir. 
Bu belge sayesinde, yerelleÅtirme ÃalÄÅmalarÄ iÃin temel bilgieri ÃÄrenebilir, ve hatasÄz Ãeviriler
yapabilmek iÃin gerekli koÅullarÄ toplu bir halde bulabilirsiniz.

PO dosya
GiriÅ

Gnome Projesi iÃerisindeki uygulamalar kaynak kodunda deÄiÅiklik yapmadan ve kolay bir Åekilde
Ãevirilebilmek iÃin GNU kÃtÃphanelerinden _gettext_ kÃtÃphanesini kullanÄr. Gettext kÃtÃphanesi
programcÄlarÄn kod iÃerisinde Ãevirisi yapÄlmasÄ gereken metinleri iÅaretleyebilmelerini, ve bu 
iÅaretlenen metinlerin ayrÄ bir dosya iÃerisinde saklanabilmelerini saÄlar. Bu kolaylÄk Ängilizce ya da
farklÄ dillerde yazÄlmÄÅ programlarÄn diÄer dillere sadece bir dosyayÄ dÃzenleyerek Ãevirilebilmesini
saÄlar. 

Gettext kullanan bir uygulama kaynak kodu iÃinde iÅaretlenen metinleri MO (makine nesnesi) 
dosyasÄndan alÄr. MO dosyalarÄ PO (uyarlanabilen nesne) dosyalarÄndan derlenmiÅ ikili (binary) dosyalardÄr. 
DÃz metin halindeki PO dosyalarÄ Ãeviricilerin herhangi bir metin dÃzenleyicisi ile daha sonra MO dosyasÄna
derlenmek Ãzere oluÅturabilecekleri dosyalardÄr. 

YapÄsÄ

PO dosyalarÄ iÅaretlenmiÅ metinlerin _xgettext_ aracÄ ile ayÄklanmasÄ yolu ile oluÅturulabilen dÃz metin 
dosyalarÄdÄr. Bir po dosyasÄ iÃindeki girdinin (iÅaretlenmiÅ metinin) yapÄsÄ aÅaÄÄdaki gibidir:

boÅ satÄr
#  Ãevirici iÃin aÃÄklamalar
#. otomatik oluÅturulan aÃÄklamalar
#: cevirinin kod iÃinde bulunduÄu yerler...
#, imler...
msgid ÃevirilmemiÅ dizgi
msgstr ÃevirilmiÅ dizgi

Ãrnek: 

#: lib/error.c:116
msgid "Unknown system error"
msgstr "Bilinmeyen sistem hatasÄ"

PO dosya imleri

PO dosyalarÄ her girdi sonrasÄ girdi ile alakalÄ olarak imler iÃerir. Bu imler Ãevirinin iÅlenmesi ile ilgili
Ãnemli bilgiler iÃerir. Gettext kÃtÃphanesindeki belli baÅlÄ iki im ve aÃÄklamalarÄ ÅÃyledir: 

fuzzy (bulanÄk imi)

BulanÄk imi Ãevirinin, Ãeviren tarafÄndan tam olarak kestirilememesi, tereddÃtte kalÄnmasÄ halinde 
kullanÄlmasÄ gereken, ya da uygulanamanÄn iÃindeki metinlerin deÄiÅmesi sonucu araÃlar tarafÄndan 
otomatik olarak atan imdir. BulanÄk imleri bulunan girdiler Ãeviri olarak gÃsterilmezler, ve Ãeviri 
istatistiklerinde bulanÄk olarak belirtilirler. 

c-format
no-c-format

Bu im genelde az raslanÄlan ancak Ãeviri aÃÄsÄndan Ãnemli bir imdir. c-format, ÃntanÄmlÄ olarak tÃm 
girdiler iÃin geÃerlidir. Metin'in c dizgi biÃimi halinde olduÄu anlamÄna gelir. C dizgi biÃimi iÃerisinde
dizgi iÃin %s, tam sayÄ iÃin %d, reel sayÄ iÃin %f gibi kodlar bulunduran bir yapÄdÄr. no-c-format iÃeren
bir girdi bu kodlarÄn iÅleme koyulmayacaÄÄnÄ yani %s kodunun % ve s karakterlerini belirttiÄini anlatÄr.


Ämler hakkÄnda daha geniÅ bilgileri gettext belgelerinden edinebilirsiniz.

ÃoÄul biÃimleri

Gettext 0.10.36 sÃrÃmÃyle birlikte, birden fazla ÃoÄul hal iÃeren diller iÃin "plural forms" eklenmiÅtir. 
TÃrkÃe'de sadece bir adet ÃoÄul hal olmasÄ birden fazla ÃoÄul hal Ãevirisi yapmayÄ gerektirmez, ancak biÃim
bÃtÃnlÃÄÃ iÃin diÄer ÃoÄul hallerinde birinci ile aynÄ olmasÄ gerekir. Ãrnek bir girdi aÅaÄÄdaki gibidir:

boÅ satÄr
#  Ãevirici iÃin aÃÄklamalar
#. otomatik oluÅturulan aÃÄklamalar
#: cevirinin kod iÃinde bulunduÄu yerler...
#, imler...msgid untranslated-string-singular
msgid_plural ÃevirilmemiÅ ÃoÄul hal iÃeren dizgi
msgstr[0] ilk durum iÃin Ãeviri
...
msgstr[N] n'nci durum iÃin Ãeviri

TÃrkÃe iÃin Ãrnek:

#: src/msgcmp.c:338 src/po-lex.c:699
#, c-format
msgid "found %d fatal error"
msgid_plural "%d Ãnemli hata bulundu"
msgstr[0] "%d Ãnemli hata bulundu"
msgstr[1] "%d Ãnemli hata bulundu"

PO dosyasÄnÄn yapÄsÄnÄ bilmek Ãeviri iÃin gÃzel bir arkaplan bilgisi oluÅturur. Her ne kadar Ãeviri programlarÄ 
Ãeviriciler iÃin sadece Ãeviriyi yazmaya kadar iÅi kolaylaÅtÄrsalarda bazen Ãeviri programÄnÄ kullanmadan 
bir metin dÃzenleyici ile PO dosyasÄnda deÄiÅiklik yapmak gerekebilir. Bunu doÄru ve eksiksiz yapabilmek 
iÃin yukarÄda anlatÄlan bilgiler ÃoÄu zaman olacaktÄr. 

Her uygulama iÃin PO dosyalarÄnÄn Ãevirilmek iÃin hazÄrlanmÄÅ POT (PO Åablomu) dosyasÄ vardÄr. POT dosyasÄ
yeni metinler iÃin msgtr kÄsmÄ boÅ olan bir PO dosyasÄndan ibarettir.

- Ãeviri iÃin POT dosyasÄ edinmek
Ãeviri yapabilmek iÃin Ãncelikle Ãevirilecek uygulanaman POT dosyasÄ elde edilmelidir. POT dosyasÄ bir Ãok 
yardÄmcÄ uygulama ile uygulamanÄn kaynak kodlarÄndan edinilebinir. Ancak gnome iÃin standart kullanÄlan
araclar _intltool_ araÃlarÄdÄr. 

Uygulama Kaynak KodlarÄndan

intltool araÃlarÄ Gnome CVS aÄacÄ altÄnda ya da farklÄ daÄÄtÄmlar iÃin paketlerini bulabileceÄiniz bir perl 
betiÄidir. (script) Ãeviri iÃin POT dosyasÄ oluÅturmak iÃin Ãncelikle gnome cvs aÄacÄndan en son kaynak 
kodlarÄnÄ Ãekmelisiniz. Bunun iÃin paket_ismi yerine ÃevireceÄiniz paketin ismini yazarak aÅaÄÄdaki komutlarÄ 
kullanabilirsiniz: 

% export CVSROOT=:pserver:anonymous anoncvs gnome org:/cvs/gnome
% cvs login 
Åifre iÃin Enter'a basÄn
% cvs -z3 up paket_ismi

Kaynak kodlarÄnÄ edindikten sonra paket_ismi/po dizinine girmelisiniz. Burada _intltool-update -p_ komutunu
kullanarak paket_ismi.pot dosyasÄnÄ oluÅturabilirsiniz. EÄer daha Ãnceden bir Ãeviri var ise, mevcut Ãeviriyi
en son pot dosyasÄ ile birleÅtirmek, dolayÄsÄyla sadece yeni dizgileri eklemek iÃin _intltool-update tr_ komutunu
kullanabilirsiniz. Bu komut ile tr.po dosyasÄ yeniden oluÅacaktÄr. 

Durum SayfasÄndan

Gnome Ãeviri TakÄmÄ uygulama kaynak kodlarÄndan POT dosyasÄ edinmeyi kolaylaÅtÄrmak iÃin durum sayfasÄ 
Ãzerinde gÃnlÃk olarak POT dosyalarÄnÄ oluÅturmaktadÄr. Bu sayede kaynak kodlarÄnÄ indirmeden sadece POT 
dosyasÄnÄ durum sayfasÄnda paket isminin Ãzerine tÄklayarak indirebilirsiniz. Durum sayfasÄna 
<http://gnome.uzem.itu.edu.tr/durum> adresinden ulaÅabilirsiniz. 

Ãeviri ProgramlarÄ

PO dosyalarÄnÄ dÃzenlemek iÃin birÃok program yazÄlmÄÅtÄr bunlar arasÄndan KDE iÃin Kbabel, Gnome iÃin 
Gtranslator ve Windows ortamÄ iÃin POEdit en Ãok bilinenleridir. Bu programlarÄ aÅaÄÄdaki adreslerden 
indirebilirsiniz: 

Kbabel: <http://i18n.kde.org/tools/kbabel/>
GTranslator: <http://gtranslator.sourceforge.net/>
PoEdit: <http://poedit.sourceforge.net/>

ProgramlarÄn kullanÄÅlarÄ ile ilgili daha detaylÄ bilgisi Ãeviri ProgramlarÄ adlÄ belgede ya da programlarÄn kendi 
belgelerinde bulabilirsiniz.


Ãeviri yaparken dikkat edilecek noktalar

HatÄrlatÄcÄ (mnemonic) ÄÅareti

HatÄrlatÄcÄ TuÅ uygulama arabirimlerinde gÃrdÃÄÃnÃz, altÄ Ãizgili harf ile belirtilen ve Meta tuÅu ile kullanÄlan 
tuÅtur. Bu tuÅ belirtilirken GTK kÃtÃphanesi karekterin ÃnÃne altÃizgi("_") kullanÄmÄnÄ gerektirir. Ãeviri yaparken 
altÃizgi Ãeviride de belirtilmelidir. Ãeviri yaparken genellikle aynÄ karakteri kullanmak, eÄer o karakterden 
Ãeviride bulunmuyorsa ilk harfin baÅÄna alt Ãizgi eklemek en doÄrusudur. Bir dizgi iÃinde birden daha fazla alt 
Ãizgi bulunamaz. 

Ãrnek: 
#: src/main.c:284
msgid "_About"
msgstr "_HakkÄnda"

Åemalar DosyasÄ Metinlerinin Ãevirisi

Gnome uygulamalarÄn yapÄlandÄrmalarÄnÄ dÃzenlemek iÃin Windows'taki Registry benzeri bir yapÄ kullanmaktadÄr. 
Bu yapÄyÄ kullanabilmek iÃin uygulamalar .schemas uzantÄlÄ ve yapÄlandÄrma ile ilgili bilgileri iÃeren bir XML 
dosyasÄnÄ sisteme yÃklerler. Bu dosyalar yapÄlandÄrma ile ilgili aÃÄklamalarÄ iÃerir. Bu dosyalarÄn Ãevirilmesi 
konusunda dikkat etmek gereken en Ãnemli husus, aÃÄklamalarda anahtar deÄerlerini Ãevirmeden bÄrakmaktÄr. 
ÃÃnkà bu deÄerler dilden dile deÄiÅmez, ve orjinal halinde belirtildiÄinin dÄÅÄnda kullanÄldÄÄÄnda ÃalÄÅmazlar. PO 
dosyasÄnda bir girdinin Åema dosyasÄ olup olmadÄÄÄnÄ, metnin bulunduÄu dosyanÄn adÄna bakarak anlayabilirsiniz. 
EÄer dosya .schemas dosyasÄ ise burada genellikle tÄrnak iÃinde bulunan kelimeleri Ãevirmeden bÄrakmak gerekir.

Ãrnek: 
#: applets/clock/clock.schemas.in.h:15
msgid ""
"This key specifies the format used by the clock applet when the format key "
"is set to \"custom\". You can use conversion specifiers understood by "
"strftime() to obtain a specific format."
msgstr ""
"Bu anahtar format anahtarÄ \"custom\"a ayarlÄ olduÄunda saat uygulamacÄÄÄnda "
"kullanÄlacak olan biÃimi belirtir. strftime() tarafÄndan algÄlanabilen "
"biÃim belirteÃlerini bir biÃim belirtmek iÃin kullanabilirsiniz."


C-format BiÃimi

Gettext kÃtÃphanesi dÃz metinlerin Ãevirisine izin verdiÄi gibi c-format biÃimindeki metinlerin de Ãevirilmesini 
saÄlamÄÅtÄr. c-format biÃimi deÄiÅkenler iÃeren metin ÅablomlarÄdÄr ve normal metinlerden farklÄ olarak sadece % 
ile baÅlayan kodlar iÃerirler. % ile baÅlayan kodlarÄn Ãeviri iÃinde de aynen bulunmasÄ zorunludur. AÅaÄÄdaki bir 
kaà Ãrnek kodlarÄn kullanÄmÄ ve yerlerini Ãeviri iÃinde dÃzenlemeyi gÃstermektedir:

msgid "%d folder and %d file have been deleted. (%s)"
msgstr "%d klasÃr ve %d dosya silindi. (%s)"

Bu Ãrnekte %d ve %s kodlarÄ orjinal metinde kullanÄldÄÄÄ sÄrada kullanÄlmÄÅtÄr.

mstid "%d folder and %d file have been deleted from folder %s"
mstid "%3$s klasÃrÃnden %2$d dosya ve %1$d klasÃr silindi"

Bu Ãrnekte kodlarÄn sÄralarÄ deÄiÅtirilmiÅtir. SÄra deÄiÅtirilirken Ãnce % karakteri sonra kullanÄlacak kodun metin 
iÃindeki sÄrasÄ daha sonra $ iÅareti ve kodun tÃrà yazÄlÄr. %3$s kodu, orjinal metinde 3. sÄradaki kod olan %s'yi 
belirtir. 

no-c-format imi bulunan PO dosyasÄ girdileri kodlarÄ derlemez o yÃzden % karakterleri metnin bir parÃasÄ olarak 
gÃrÃlmelidir. EÄer no-c-format flagÄ bulunmuyorsa yÃzde iÅaretini belirtmek iÃin iki kere yazmak gerekir. 
Ãrnek:

#, c-format
msgid "%d% completed"
msgstr "%%%d tamamlandÄ"

Yeni SatÄr Karakteri

Ãeviriler iÃinde, Ãzellikle konsola yazÄlacak olan metinler iÃin satÄr sonlarÄnda yeni satÄr karakteri (\n) bulunur. 
Bu karakterler Ãeviride de aynÄ miktarda bulunmalÄdÄr. Orjinal metinin Ãevirisi daha kÄsa olsa bile boÅ satÄrlara 
\n eklenerek sayÄ tamamlanmalÄdÄr. 

UTF-8 KodlamasÄ

Gnome Ãevirilerinde kullanÄlan PO dosyalarÄ UTF-8 kodlanmalÄdÄr. ÃevirdiÄiniz dosyanÄn UTF-8 kodlu olup olmadÄÄÄnÄ 
_file_ aracÄ ile kontrol edebilirsiniz. EÄer UTF-8 kodlu deÄil ise _iconv -from dosya_kodlamasÄ -to utf-8_ komutu 
ile Ãevirimi yapabilirsiniz. AraÃlar hakkÄnda daha detaylÄ bilgiyi yardÄmlardan ya da kÄlavuz sayfalarÄndan 
ÃÄrenebilirsiniz.

Son Kontrol

Ãeviri bitip CVS'e gÃnderilmek Ãzere gÃndermeden Ãnce dosya Ãzerinde son kontrolleri yapmalÄsÄnÄz. Bu kontrolleri 
_msgfmt_ adlÄ araà ile yapmanÄz mÃmkÃn. DosyayÄ gÃndermeden Ãnce aÅaÄÄdaki komutun hata belirtmediÄinden emin 
olun:

msgfmt -c -v --check-accelerators=_


Attachment: signature.asc
Description: This is a digitally signed message part



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