Scroll to navigation

XGETTEXT(1) Kullanıcı Komutları XGETTEXT(1)

İSİM

xgettext - gettext dizgelerini kaynak dosyasından seçer

KULLANIM

[SEÇENEK] [GİRDİ-DOSYASI]...

AÇIKLAMA

Belirtilen GİRDİ-DOSYAlarından dönüştürülebilecek dizgeleri çekip alır.

Uzun seçenekler için zorunlu olan girdiler kısa seçenekler için de zorunludur. Aynı şey isteğe bağlı girdilerde de geçerlidir.

Girdi dosyasının yeri:

Girdi dosyaları

Girdi dosyalarının listesini DOSYA’dan okur.

Girdi dosyalarının arama yoluna DİZİN’i ekler.

Girdi dosyası ‘-‘ ise, standart girdi okunur.

Çıktı dosyasının yeri:

Çıktı olarak İSİM.po kullanılır (messages.po yerine).

Çıktı belirtilen DOSYA’ya yazılır.

Çıktı dosyaları belirtilen DİZİN içine yerleştirilir.

Çıktı dosyası ‘-‘ ise, çıktı standart çıktıya yazılır.

Girdi dosyası dil seçimi:

Dosya İSİM ile belirtilen dilde yorumlanır. Desteklenen diller: C, C++, ObjectiveC, PO, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Smalltalk, Java, JavaProperties, C#, awk, YCP, Tcl, Perl, PHP, Ruby, GCC-source, NXStringTable, RST, RSJ, Glade, Lua, JavaScript, Vala, Desktop.

--language=C++ için kısaltma.

Öntanımlı olarak, dil kullanılan dosya uzantısından saptanmaya çalışılır.

Girdi dosyasının yorumlanması:

Girdi dosyalarını karakter kodlaması. Bu seçenek yalnızca, bazı çevrilmemiş ileti dizgeleri veya bunlara karşılık gelen yorumlar ASCII olmayan karakterler içeriyorsa gereklidir. Bu seçeneğe bakılmaksızın, Tcl ve Glade girdi dosyalarının her zaman UTF-8 olduğu varsayılır.

Öntanımlı olarak, girdi dosyalarının karakter kodlamasının ASCII olduğu varsayılır.

İşlem kipi:

İletileri mevcut dosya ile birleştirir.

DOSYA’daki girdiler kullanılmaz. DOSYA PO veya POT dosyası olmalıdır.

YAFTA ile başlayan ve çıktı dosyasındaki anahtar sözcük satırlarından önceki yorum bloklarını yerleştirir. YAFTA olmaksızın, çıktı dosyasındaki anahtar sözcük satırlarından önceki tüm yorum blokları yerleştirilecektir.

Çıkarılması gereken yorum bloklarının anahtar sözcük satırlarına bitişik olması gerektiği unutulmamalıdır. Aşağıdaki C kaynak kodu ele alınırsa:

/* Bu ilk yorum.  */
gettext ("foo");
/* Bu ikinci yorum: çıkarılmayacak  */
gettext (

"bar"); gettext (
/* Bu üçüncü yorum. */
"baz");

Yorum satırı ile üstteki anahtar sözcük arasında boş satır olduğundan, ikinci yorum satırı çıkarılmayacaktır.

İletiler (msgid ve msgid_plural) üzerinde belirtilen sözdizimsel sınamaları yapar. Desteklenen sınamalar şunlardır:

ASCII yerine Unicode üç nokta karakteri tercih edilir.

Üç nokta karakterinden önce boşluk karakterlerine izin verilmez.

ASCII "’’ yerine Unicode tırnak karakterleri tercih edilir.

ASCII * veya - yerine Unicode madde imi karakterleri tercih edilir.

Seçeneğin tüm girdi dosyaları üzerinde etkisi vardır. Belirli bir dizge için denetimleri etkinleştirmek veya devre dışı bırakmak için, onu kaynak dosyada bir xgettext: özel yorumu ile işaretleyebilirsiniz. Örneğin, --check=space-elipsis seçeneğini belirtirseniz, ancak belirli bir dizgedeki denetimi bastırmak istiyorsanız, aşağıdaki yorum eklenmelidir:

/* xgettext: no-space-ellipsis-check */
gettext ("Üç noktadan önce boşluk bırakmak istiyoruz ...");

xgettext: yorumun ardından virgülle ayrılmış bayraklar gelebilir. Olası bayraklar ’[no-]SINAMA-check’ biçimindedir; burada SINAMA, geçerli bir sözdizimi sınamasının adıdır. Bir bayrağın önüne no- eklenirse, anlamını olumsuzlar.

Bazı sınamalar, denetimleri tüm dizge yerine msgstr içindeki her tümceye uygular. xgettext, genellikle bir nokta ve ardından belirli sayıda boşluk arayan bir kalıp eşleşmesi gerçekleştirerek tümcenin sonunu algılar. Aranacak boşluk sayısı --sentence-end seçeneği ile belirtilir.

Tümce sonunu tanımlayan TÜR için desteklenen değerler:

Noktadan sonra en az bir boşluk beklenir.

Noktadan sonra en az iki boşluk beklenir.

Dile özgü seçenekler:

Bütün dizgeleri çıkartır. Bu seçeneğin etkili olduğu diller: C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript, Vala, GSettings.

Ek anahtar sözcük olarak BELİRTİM aranır. BELİRTİM belirtilmezse seçeneğin kullanabileceği öntanımlı bir anahtar sözcük yoktur.

Tanımlanmış anahtar sözcük BELİRTİMlerini devre dışı bırakmak için, bir anahtar sözcük BELİRTİMi olmadan -k, --keyword veya --keyword= seçeneği kullanılabilir.

  • BELİRTİM bir C tanımlayıcı kimliğiyse, xgettext, işlev veya makro kimliğine yapılan her çağrının ilk girdisinde dizgeleri arar.
  • BELİRTİM id:argnum biçemindeyse, xgettext çağrının argnumuncu girdisinde dizgeleri arar.
  • BELİRTİM id:argnum1,argnum2 biçemindeyse, xgettext çağrının argnum1inci ve argnum2inci girdiinde dizgeleri arar ve onları aynı iletinin tekil/çoğul karşılıklarını elde etmek için kullanır.
  • BELİRTİM id:contextargnumc,argnum veya id:argnum,contextargnumc biçemindeyse, xgettext contextargnumuncu girdideki dizgeyi bağlam belirteci olarak ele alır.
  • GNOME için özel kullanım desteği olarak, BELİRTİM id:argnumg biçemindeyse xgettext GNOME glib ‘"msgctxt|msgid"’ sözdizimini kullanarak argnumuncu girdiyi bağlamlı bir dizge olarak ele alır.
  • BELİRTİM ’id:…,totalnumargst’ biçemindeyse xgettext yalnızca, asıl girdi sayısı totalnumargs’a eşitse bu girdi belirtimini tanır. Bu, C++’da aşırı yüklenmiş işlev çağrılarının belirsizliğini gidermek için kullanışlıdır.
  • BELİRTİM ’id:argnum...,"xcomment"’ biçemindeyse xgettext iletiyi belirtilen girdi dizgesinden çıkarırken, çıkarılan xcomment yorumunu iletiye ekler. Normal bir kabuk komut satırı aracılığıyla kullanıldığında, xcomment etrafındaki çift tırnakların öncelenmesi gerektiği unutulmamalıdır.

Bu seçeneği etkili olduğu diller: C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Java, C#, awk, Tcl, Perl, PHP, GCC-source, Glade, Lua, JavaScript, Vala, GSettings, Desktop.

Açıkça devre dışı bırakılmamışsa aranan öntanımlı anahtar sözcük BELİRTİMleri daima dile bağlıdır. Bunlar:

  • C, C++ ve GCC-source için: gettext, dgettext:2, dcgettext:2, ngettext:1,2, dngettext:2,3, dcngettext:2,3, gettext_noop, pgettext:1c,2, dpgettext:2c,3, dcpgettext:2c,3, npgettext:1c,2,3, dnpgettext:2c,3,4, dcnpgettext:2c,3,4
  • Objective C için: C gibidir, ayrıca NSLocalizedString, _, NSLocalizedStaticString, __
  • Kabuk betikleri için: gettext, ngettext:1,2, eval_gettext, eval_ngettext:1,2, eval_pgettext:1c,2, eval_npgettext:1c,2,3
  • Python için: gettext, ugettext, dgettext:2, ngettext:1,2, ungettext:1,2, dngettext:2,3, _
  • Lisp için: gettext, ngettext:1,2, gettext-noop
  • EmacsLisp için: _
  • librep için: _
  • Scheme için: gettext, ngettext:1,2, gettext-noop
  • Java için: GettextResource.gettext:2, GettextResource.ngettext:2,3, GettextResource.pgettext:2c,3, GettextResource.npgettext:2c,3,4, gettext, ngettext:1,2, pgettext:1c,2, npgettext:1c,2,3, getString
  • C# için: GetString, GetPluralString:1,2, GetParticularString:1c,2, GetParticularPluralString:1c,2,3
  • awk için: dcgettext, dcngettext:1,2
  • Tcl için: ::msgcat::mc
  • Perl için: gettext, %gettext, $gettext, dgettext:2, dcgettext:2, ngettext:1,2, dngettext:2,3, dcngettext:2,3, gettext_noop
  • PHP için: _, gettext, dgettext:2, dcgettext:2, ngettext:1,2, dngettext:2,3, dcngettext:2,3
  • Glade 1 için: label, title, text, format, copyright, comments, preview_text, tooltip
  • Lua için: _, gettext.gettext, gettext.dgettext:2, gettext.dcgettext:2, gettext.ngettext:1,2, gettext.dngettext:2,3, gettext.dcngettext:2,3
  • JavaScript için: _, gettext, dgettext:2, dcgettext:2, ngettext:1,2, dngettext:2,3, pgettext:1c,2, dpgettext:2c,3
  • Vala için: _, Q_, N_, NC_, dgettext:2, dcgettext:2, ngettext:1,2, dngettext:2,3, dpgettext:2c,3, dpgettext2:2c,3
  • Desktop için: Name, GenericName, Comment, Keywords

SÖZCÜK işlevinin NUMuncu girdinin bir parçası olarak ortaya çıkan dizgeler için ek BAYRAKları belirtir. Olası bayraklar, muhtemelen ’pass-’ ön ekli ve ’no-c-format’ gibi olumsuzlamaları olan ’c-format’ gibi, olası biçem dizgesi göstergeleridir.

--flag=function:arg:lang-format seçeneğinin anlamı, lang dilinde, belirtilen function işlevinin argıncı değişkeni olarak bir biçem dizgisi beklemesidir. (GCC işlev özniteliklerine aşina olanlar için, --flag=function:arg:c-format seçeneği, bir C kaynak dosyasındaki function işlevine ekli ’__attribute__ ((__format__ (__printf__, arg, ...)))’ bildirimine kabaca eşdeğerdir.) Örneğin, GNU libc’deki error(3) işlevini kullanırsanız, davranışını --flag=error:3:c-format aracılığıyla belirtebilirsiniz. Bu belirtimin etkisi, xgettext’in işlevin argıncı değişkeni olarak ortaya çıkan tüm gettext(3) çağrılarını biçem dizgeleri olarak işaretlemesidir. Bu, bu tür dizgeler hiçbir biçem dizgesi yönergesi içermediğinde yararlıdır: msgfmt -c tarafından yapılan denetimlerle birlikte, çevirmenlerin çalışma zamanında bir çökmeye neden olacak biçem dizgesi yönergelerini yanlışlıkla kullanmamalarını sağlar.

--flag=function:arg:pass-lang-format seçeneğinin anlamı, lang dilinde, function çağrısı, bir format dizgesi vermesi gereken konumda iken gerçekleşirse, argıncı değişkenin de ilave olarak aynı türde bir format dizgesi vermesi gerektiğidir. (GCC işlev özniteliklerine aşina olanlar için, --flag=function:arg:pass-c-format seçeneği, bir C kaynak dosyasındaki function işlevine ekli ’__attribute__ ((__format_arg__ (arg)))’ bildirimine kabaca eşdeğerdir.) Örneğin, gettext(3) işlevi için ’_’ kısayolu kullanılırsa, seçenek olarak --flag=_:1:pass-c-format kullanmak gerekir. Bu belirtimin etkisi, xgettext’in _("string") çağrısı için biçem dizgesi gereksinimini ilk girdi olan string’e yöneltmesi ve böylece onu bir biçem dizgesi olarak işaretlemesidir. Bu, bu tür dizgeler hiçbir biçem dizgesi yönergesi içermediğinde yararlıdır: "msgfmt -c tarafından yapılan denetimlerle birlikte, çevirmenlerin çalışma zamanında bir çökmeye neden olacak biçem dizgesi yönergelerini yanlışlıkla kullanmamalarını sağlar.

Bu seçeneğin etkili olduğu diller: C, C++, ObjectiveC, Shell, Python, Lisp, EmacsLisp, librep, Scheme, Java, C#, awk, YCP, Tcl, Perl, PHP, GCC-source, Lua, JavaScript, Vala.

Girdideki ANSI C üçlü harflerini anlar. Bu seçeneğin etkili olduğu diller: C, C++, ObjectiveC

Qt biçem dizgelerini tanır. Bu seçenek yalnızca C++ diliyle etkilidir.

KDE 4 biçem dizgelerini tanır. Bu seçenek yalnızca C++ diliyle etkilidir.

Boost biçem dizgelerini tanır. Bu seçenek yalnızca C++ diliyle etkilidir.

Bir iletiyi biçem dizesi olarak imlemekten kimin sorumlu olduğunu göstermek için c-format ve possible-c-format bayraklarını kullanır. İkincisi, istek xgettext’ten geliyorsa kullanılır, ilki ise istek yazılımcıdan geliyorsa kullanılır.

Öntanımlı olarak c-format bayrağı kullanılır. Çevirmen bu ayrıntılarla ilgilenmek zorunda kalmamalıdır.

Bu xgettext uygulaması, önişlemci makrolarındaki dizgeler, bitişik dizgelerin ANSI birleştirmesi ve devam eden dizgeler için satır sonu öncelemesi gibi birkaç tuhaf durumu işleyebilir.

Çıktı ayrıntıları:

Renkler ve diğer metin özniteliklerinin kullanılıp kullanılmayacağını veya ne zaman kullanılacağını belirler. KOŞUL değerleri: always çıktının renklendirileceğini, never çıktının renklendirilmeyeceğini, auto çıktının yalnızca çıktı aygıtı uçbirim ise renklendirileceğini, html ise çıktının renklendirileceğini ve HTML biçeminde olacağını belirtir. --color ile --color=always eşdeğerdir.

--color seçeneği etkinse, kullanılacak CSS kurallarını içeren DOSYAyı belirler.

C öncelemeleri çıktıda kullanılmaz (öntanımlı)

C öncelemeleri çıktıda kullanılır, genişletilmiş karakterler kullanılmaz.

Boş olsa bile PO dosyasını yazar.

PO dosyasını girintili tarzda yazar.

’#: dosyaismi:satır’ başlıkları yazılmaz. Bu seçeneğin kullanımı teknik olarak yetenekli çevirmenler için ileti bağlamını bulmayı zorlaştırır (Bazı çok satırlı hata iletileri kodun farklı yerlerinden toplanarak oluşur, bunları bulup doğru konumlamak için kodu okumak gerekir).

’#: dosyaismi:satır’ başlıkları yazılır (öntanımlıdır).

Seçimlik TÜR ‘full’, ‘file’ veya ‘never’ olabilir. TÜR belirtilmezse veya ‘full’ değeri belirtilirse dosyaismi ve satır her ikisi de yazılır. ‘file’ belirtilirse satır kısmı yazılmaz. ‘never’ belirtmek --no-location seçeneğine eşdeğerdir.

Kesin Uniforum uyumlu PO dosyası yazar. GNU eklentileri desteklemediği için bu Uniforum biçiminden kaçınılması gerektiği unutulmamalıdır.

Java .properties sözdiziminde bir Java ResourceBundle yazar. Bu dosya biçiminin çoğul biçemleri desteklemediği ve eski iletileri sessizce yok saydığı unutulmamalıdır.

.strings sözdiziminde NeXTstep/GNUstep yerelleştirilmiş özkaynak dosyası yazar. Bu dosya biçiminin çoğul biçemleri desteklemediği unutulmamalıdır.

itstool yorumlarını yazar.

Çıktı sayfa genişliği SAYI’ya ayarlanır. Çıktı dosyalarındaki uzun dizgeler, her satırın genişliğinin (=ekran sütunlarının sayısı) verilen SAYI’ya eşit veya küçük olmasını sağlamak için birden çok satıra bölünecektir.

Sayfa genişliğine sığmayan satırların taşan kısmı bir alt satıra indirilmez.

Sıralı çıktı üretir. Bu seçeneğin kullanımı, çevirmenin ileti bağlamını anlamasını zorlaştırır.

Çıktıyı dosya konumuna göre sıralar.

Başlığa ’msgid ""’ girdisini yazmaz. Ortaya çıkan dosya tamamen ASCII olmayacaksa, bu seçeneği kullanmanın hataya yol açacağı unutulmamalıdır.

Çıktıya telif hakkı DİZGEsi yazılır. DİZGE çıktıyı içeren paketin telif hakkı sahibi olmalıdır. (Paketin kaynak dosyalarından alınan msgstr dizgelerinin paketin telif hakkı sahibine ait olduğu unutulmamalıdır.) Çevirmenlerin çevirilerinin telif hakkını devretmeleri veya reddetmeleri beklenir, böylece paket sahipleri bunları yasal risk almadan dağıtabilir. Dizge boşsa, çıktı dosyaları kamu malı olarak işaretlenir; bu durumda, çevirmenlerin telif haklarını reddetmeleri beklenir, böylece paket sahipleri yasal risk almadan bunları dağıtabilir.

DİZGE için öntanımlı değer Free Software Foundation, Inc.’dir, çünkü xgettext ilk olarak GNU projesinde kullanılmıştır.

Yabancı kullanıcılar için FSF telif hakkı çıktıda bulunmaz. Bu seçenek --copyright-holder=’’ seçeneğine eşdeğerdir. Çevirilerinin kamu malı olmasını isteyen GNU projesi dışındaki paketler için faydalı olabilir.

Paket ismini çıktının başlığına yazar.

Paket sürümünü çıktının başlığına yazar. Bu seçenek --package-name seçeneği kulllanılmışsa etkilidir.

msgid hatalarının bildirileceği adres. Öntanımlı değer boştur. Bu seçeneğin belirtilmesi unutulmamalıdır. E-posta adresiniz veya çevirmenlerin üye olmadan yazabilecekleri bir posta listesi adresi veya çevirmenlerin sizinle iletişim kurabileceği bir sayfa adresi olabilir.

msgstr girdileri için önek olarak DİZGE ya da belirtilmezse "" kullanılır.

msgstr girdileri için sonek olarak DİZGE ya da belirtilmezse "" kullanılır.

Bilgilendirme seçenekleri:

Yardım konularını görüntüler ve çıkar.

Sürüm bilgilerini görüntüler ve çıkar.

Ayrıntı düzeyini arttırır.

YAZAN

Ulrich Drepper tarafından yazılmıştır.

GERİBİLDİRİM

Hatalar <https://savannah.gnu.org/projects/gettext> adresindeki hata izleyiciye veya <bug-gettext (at) gnu.org> eposta adresine bildirilebilir.

TELİF HAKKI

Telif hakkı © 1995-2020 Free Software Foundation, Inc. Lisans GPLv3+: GNU GPL sürüm 3 veya üstü <http://gnu.org/licenses/gpl.html> Bu bir özgür yazılımdır: yazılımı değiştirmek ve dağıtmakta özgürsünüz. Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR.

İLGİLİ BELGELER

GNU gettext sayfasında: <https://www.gnu.org/software/gettext/manual/html_node/xgettext-Invocation.html>
Veya sisteminizde: info xgettext

ÇEVİREN

© 2004 Yalçın Kolukısa
© 2022 Nilgün Belma Bugüner
Bu çeviri özgür yazılımdır: Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR.
Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri yapmak için https://github.com/TLBP/manpages-tr/issues adresinde "New Issue" düğmesine tıklayıp yeni bir konu açınız ve isteğinizi belirtiniz.

4 Temmuz 2020 GNU gettext-tools 20200704