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

İSİM

xgettext — gettext dizgelerini kaynak dosyasından seçer

KULLANIM


xgettext [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:

GİRDİ-DOSYASI...

Girdi dosyaları

-f, --files-from=DOSYA

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

-D, --directory=DİZİN

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

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

Çıktı dosyasının yeri:

-d, --default-domain=İSİM

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

-o, --output=DOSYA

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

-p, --output-dir=DİZİN

Çı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:

-L, --language=İSİM

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.

-C, --c++

--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ı:

--from-code=İSİM

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:

-j, --join-existing

İletileri mevcut dosya ile birleştirir.

-x, --exclude-file=DOSYA

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

-c, --add-comments[=YAFTA]

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.

--check=SINAMA

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

ellipsis-unicode

ASCII yerine Unicode üç nokta karakteri tercih edilir.

space-ellipsis

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

quote-unicode

ASCII "'` yerine Unicode tırnak karakterleri tercih edilir.

bullet-unicode

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.

--sentence-end=TÜR

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

single-space

Noktadan sonra en az bir boşluk beklenir.

double-space

Noktadan sonra en az iki boşluk beklenir.

Dile özgü seçenekler:

-a, --extract-all

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.

-k, --keyword=BELİRTİM

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

--flag=SÖZCÜK:NUM:BAYRAK

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.

-T, --trigraphs

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

--qt

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

--kde

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

--boost

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

--debug

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ı:

--color=KOŞUL

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.

--style=DOSYA

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

-e, --no-escape

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

-E, --escape

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

--force-po

Boş olsa bile PO dosyasını yazar.

-i, --indent

PO dosyasını girintili tarzda yazar.

--no-location

'#: 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).

-n, --add-location[=TÜR]

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

Seçimlik TÜRfull’, ‘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.

--strict

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

--properties-output

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.

--stringtable-output

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

--itstool

itstool yorumlarını yazar.

-w, --width=SAYI

Çı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.

--no-wrap

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

-s, --sort-output

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

-F, --sort-by-file

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

--omit-header

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.

--copyright-holder=DİZGE

Çı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.

--foreign-user

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.

--package-name=PAKET

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

--package-version=SÜRÜM

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-bugs-address=EMAIL@ADRES

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.

-m, --msgstr-prefix[=DİZGE]

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

-M, --msgstr-suffix[=DİZGE]

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

Bilgilendirme seçenekleri:

-h, --help

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

-V, --version

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

-v, --verbose

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

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.