Bilgi işlemde gettext, Unix benzeri bilgisayar işletim sistemlerinde çok dilli programlar yazmak için yaygın olarak kullanılan bir uluslararasılaştırma ve yerelleştirme (i18n ve l10n) sistemidir. Gettext'in temel faydalarından biri, programlamayı çevirmekten ayırmasıdır. Gettext'in en sık kullanılan uygulaması, 1995 yılında GNU Projesi tarafından yayınlanan GNU gettext'idir .Çalışma zamanı kitaplığı libintl'dir. Gettext, çok sayıda isim türü için farklı dizeler kullanma seçeneği sunar, ancak dilbilgisel cinsiyet için desteği yoktur.
Orijinal yazar(lar) | Sun Microsystems |
---|---|
Geliştirici(ler) | Çeşitli |
İlk yayınlanma | 1990 | )
Güncel sürüm | 0.22.4 / 19 Kasım 2023 | )
İşletim sistemi | Cross-platform |
Tür | |
Resmî sitesi | gnu.org/software/gettext/ |
Kod deposu |
|
Tarih
Başlangıçta POSIX, mesajları yerelleştirmek için hiçbir yol sunmamaktaydı. 1980'lerin sonlarında, 1988 Uniforum gettext ve 1989 X / Open catgets (XPG-3 § 5) adlı iki öneride bulunuldu. Sun Microsystems 1993'te ilk gettext'i uygulamaya soktu. Unix ve POSIX geliştiricileri, ne tür bir arayüz kullanacakları konusunda hiçbir zaman anlaşamadılar (diğer seçenek X / Open catgets), glibc dahil olmak üzere birçok C standart kütüphanesi her ikisini de uygulamaya soktu. Ağustos 2019'dan itibaren gettext'in POSIX'in bir parçası olması gerekip gerekmediği, eski rakibinin zaten kullanım dışı kalmasına rağmen, Austin Grubu'nda hala tartışma konusu mahiyetindedir. Belirtilen endişeler, sistem ayarlı yerel ayara bağımlılığını (çoklu iş parçacığı sorunlarına maruz kalan küresel bir değişken) ve geniş dizeleri içeren daha yeni C dili uzantılarını desteklemesini içeriyordu.
GNU Projesi, gettext'in anahtar olarak mesaj yaklaşımının daha basit ve daha kolay olduğuna karar verdi. (Catgets dahil olmak üzere diğer birçok sistem, geliştiricinin her dize için "anahtar" adları bulmasını gerektirir.) 1995 yılında sistemin ücretsiz bir yazılım uygulaması olan GNU gettext yayınlandı. Gettext, GNU ya da değil, birçok programlama diline taşındı. Po ve yaygın editör desteğinin basitliği, metin belgeleri için program dışı bağlamlarda veya diğer yerelleştirme formatları arasında, po4a (herhangi bir şey için po) ve böyle bir köprü sağlamak için ortaya çıkan Çevirme Araç Seti gibi bir ara geçiş olarak benimsenmesine yol açtı.
Operasyon
Programlama
Gettext'in temel arayüzü, kullanıcının orijinal dilde (genellikle İngilizce) göreceği bir dizeyi kabul eden gettext(const char*)
işlevidir. Yazma süresinden tasarruf etmek ve kod karmaşasını azaltmak için, bu işlev genellikle _
:
printf(gettext("My name is %s.\n"), my_name); printf(_("My name is %s.\n"), my_name); // same, but shorter
gettext()
daha sonra sağlanan dizeleri çevirileri aramak için anahtar olarak kullanır ve herhangi bir çeviri olmadığında orijinal dizeyi çevirir. Bu, programlı bir kimliğin (genellikle bir tam sayı) kullanıldığı POSIX catgets()
,AmigaOS GetString()
veya Microsoft Windows LoadString()
işlevinin tersidir. Aynı orijinal dil metninin farklı anlamları olabileceği durumu ele almak için, gettext ek bir "bağlam" dizesini kabul eden cgettext()
gibi işlevlere sahiptir.
xgettext
, kaynaklardan çıkarılan tüm çevrilebilir dizelerin bir listesini içeren bir .pot
(Taşınabilir Nesne Şablonu) dosyası oluşturmak için kaynaklarda çalıştırılır. ///
ile başlayan yorumlar çevirmenlere ipuçları vermek için kullanılır, ancak diğer ön ek de kapsamı daha da sınırlayacak şekilde yapılandırılabilir. Bu tür bir yaygın ön ek, TRANSLATORS:
Örneğin, yorumu olan bir girdi dosyası şu şekilde görünebilir:
/// TRANSLATORS: %s contains the user's name as specified in Preferences printf(_("My name is %s.\n"), my_name);
xgettext
şu komut kullanılarak çalıştırılır:
xgettext -c /
Sonuçta ortaya çıkan .pot dosyası, yorumda şöyle görünür (xgettext dizesinin bir C dili printf biçiminde dizesi olarak tanıdığını unutmayın):
#. TRANSLATORS: %s contains the user's name as specified in Preferences #, c-format #: src/name.c:36 msgid "My name is %s.\n" msgstr ""
POSIX kabuk betiğinde gettext, gettext.sh
benzer dillerde sağladığı birçok işlevi sağlayan bir gettext.sh
kütüphanesi sağlar.GNU bash ayrıca basit gettext işlevi için basitleştirilmiş bir yapı $"msgid"
, ancak bir gettext()
işlevi sağlamak için C kütüphanesine bağlı haldedir.
Çevriliyor
Çevirmen, msginit
programını kullanarak şablondan bir .po
(Taşınabilir Nesne) dosyası msginit
türetir,onra çevirileri doldurur.msginit
çevirileri başlatır, örneğin bir Fransızca çeviri için çalıştırılacak komut şöyle olur:
msginit—locale = fr—input = ad.pot
Bu fr.po
.ile uygulamaya geçer. Çevirmen daha sonra elde edilen dosyayı el ile veya Poedit gibi bir çeviri aracıyla veya .po
dosyalarını düzenleme moduyla Emacs ile düzenler. Düzenlenmiş bir giriş şuna benzer:
#: src/name.c:36 msgid "My name is %s.\n" msgstr "Je m'appelle %s.\n"
Son olarak, .po dosyaları msgfmt
ile ikili .mo
(Makine Nesnesi) dosyalarına derlenir. GNU gettext, başka bir gettext uygulaması olan sistemlerde kendi dosya adı uzantısı .gmo
kullanabilir. Bunlar artık yazılım paketi ile beraber dağıtım için hazırdır.
GNU msgfmt
ayrıca programlama dili tarafından kullanılan format dizesiyle ilgili bazı kontroller yapabilir. Aynı zamanda MO dışındaki dile özgü formatlarda çıktı alınmasını sağlayabilir.
Gelişimsel iş akışının sonraki aşamalarında, msgmerge
eski bir çeviriyi daha yeni bir şablona "güncellemek" adına kullanılabilir. Ayrıca ters derleme .mo
dosyaları için msgunfmt
ve toplu işlem için birçok diğer yardımcı program da mevcuttur.
İşlem
Unix tipi sistemlerde kullanıcı LC_MESSAGES
ortam değişkenini ayarlar ve bunun için bir .mo
dosyası mevcutsa program seçilen dilde dizeleri görüntüler.
GNU varyantlarındaki kullanıcılar bunun yerine LANGUAGE
ortam değişkenini de kullanabilir. Unix değişkeninden temel farkı, geri dönüş için " : " işaretiyle ayrılmış birden çok dili desteklemesidir.
Çoğul hali
ngettext()
arayüzü, dizedeki bir ismin sayısını hesaplar. gettext()
kuralında olduğu gibi, pratik kullanımda genellikle N_
ile takma adıdır. Kod örneği:
// parameters: english singular, english plural, integer count printf(ngettext("I have written an article.\n", "I have written %d articles.\n", n), n);
PO dosyasının ""
(boş dize) girişindeki bir başlık, bir tanesi dilin kullandığı çoğul biçim olan ve genellikle C stili üçlü ifade kullanılarak belirtilen bazı meta verilerini depolar. Diyelim ki
İrlandaca için tercüme etmek istiyoruz:
msgid "" msgstr "" "..." "Language: ga\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
Şimdi üç çoğul form olduğundan, son po şöyle görünecektir:
#: src/wiki.c:29 msgid "I have written an article.\n" msgid_plural "I have written %d articles.\n" msgstr[0] "Irish speaker needed" msgstr[1] "" msgstr[2] ""
Diller için başvuru çoğul kuralları Unicode konsorsiyumu tarafından sağlanır. msginit ayrıca belirli bir dil için bir dosya oluştururken uygun olanı önceden doldurur.
Uygulamalar
C'ye ek olarak, gettext aşağıdaki uygulamalara sahiptir: Her iki ASP için C # . NET ve WPF için,Perl,PHP,Python,Scala, ve Node.js uygulamalarına da sahiptir.
GNU gettext'in Objective-C yerel desteği mevcut, ancak Swift programlama dili için henüz herhangi bir desteği yok. Bu Cocoa platformlarında yaygın olarak kullanılan bir gettext uygulaması POLocalizedString'dir. İOS için Microsoft Outlook ekibi, gettext benzeri bir API içeren bir LocalizedStringsKit kütüphanesi de sağlar.
Ayrıca bakınız
Kaynakça
- ^ "History of gettext() et al? - comp.unix.solaris". Compgroups.net. 23 Mart 2012 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ . 25 Haziran 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Mart 2021.
- ^ "Bridging the Digital Divide in South Africa | Linux Journal". www.linuxjournal.com. Linux Journal. 1 Kasım 2002. 17 Eylül 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2019.
- ^ "Introduction to Internationalization Programming | Linux Journal". www.linuxjournal.com. Linux Journal. 1 Kasım 2002. 17 Eylül 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Eylül 2019.
- ^ "Message Translation". The GNU C Library. 18 Aralık 2003 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "0001122: POSIX should include gettext() and friends - Austin Group Defect Tracker". Austin Group Defect Tracker. 21 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "The Programmer's View". gettext 0.10.35. 30 Nisan 1998. 21 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "GNU gettext utilities: List of Programming Languages". 28 Nisan 2007 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "po4a". po4a.org. 21 Ağustos 2019 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "The essential toolkit for localization engineers". Translate Toolkit. 7 Aralık 2012 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "About catgets". gnu.org. 28 Nisan 2007 tarihinde kaynağından . Erişim tarihi: 24 Ekim 2017.
- ^ "GNU gettext utilities: sh". 28 Nisan 2007 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "GNU gettext utilities: bash". 28 Nisan 2007 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ a b "GNU gettext utilities: PO Files". Gnu.org. 10 Ağustos 2013 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ "How to Translate With GetText PO and POT Files". Icanlocalize.com. 5 Temmuz 2010 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ "Files Conveying Translations". Gnu.org. 28 Nisan 2007 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2014.
- ^ "msgfmt Invocation". GNU gettext utilities. 28 Nisan 2007 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "GNU gettext utilities: Locale Environment Variables". Gnu.org. 5 Eylül 2008 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ "Language Plural Rules". unicode.org. 21 Ekim 2013 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "Google Code Archive - Long-term storage for Google Code Project Hosting". Code.google.com. 13 Aralık 2010 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ "turquoiseowl/i18n: Smart internationalization for ASP.NET". GitHub.com. 27 Aralık 2013 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ "NGettext.Wpf - Proper internationalization support for WPF (via NGettext)". 30 Mart 2019 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "libintl-perl - An Internationalization Library for Perl That Aims To Be Compatible With the Uniforum Message Translations System as Implemented For Example in GNU Gettext". github.com. 24 Nisan 2020 tarihinde kaynağından . Erişim tarihi: 14 Eylül 2017.
- ^ "Gettext". php.net. 1 Ekim 2015 tarihinde kaynağından . Erişim tarihi: 24 Ekim 2017.
- ^ "gettext — Multilingual internationalization services — Python 3.7.0 documentation". docs.python.org. 6 Ekim 2008 tarihinde kaynağından . Erişim tarihi: 21 Eylül 2018.
- ^ "makkarpov/scalingua: A simple gettext-like internationalization library for Scala". github.com. 24 Nisan 2020 tarihinde kaynağından . Erişim tarihi: 28 Nisan 2016.
- ^ "DanielBaulig/node-gettext: An adaption of Joshua I. Miller's Javascript Gettext library for node.js". GitHub.com. 3 Ağustos 2014 tarihinde kaynağından . Erişim tarihi: 3 Nisan 2016.
- ^ "hulab/POLocalizedString: gettext for iOS/OS X/watchOS/tvOS". GitHub. hulab. 19 Eylül 2019. 24 Nisan 2020 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
- ^ "microsoft/LocalizedStringKit: Generate .strings files directly from your code". GitHub. Microsoft. 12 Şubat 2020. 11 Şubat 2020 tarihinde kaynağından . Erişim tarihi: 22 Nisan 2020.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgi islemde gettext Unix benzeri bilgisayar isletim sistemlerinde cok dilli programlar yazmak icin yaygin olarak kullanilan bir uluslararasilastirma ve yerellestirme i18n ve l10n sistemidir Gettext in temel faydalarindan biri programlamayi cevirmekten ayirmasidir Gettext in en sik kullanilan uygulamasi 1995 yilinda GNU Projesi tarafindan yayinlanan GNU gettext idir Calisma zamani kitapligi libintl dir Gettext cok sayida isim turu icin farkli dizeler kullanma secenegi sunar ancak dilbilgisel cinsiyet icin destegi yoktur gettextOrijinal yazar lar Sun MicrosystemsGelistirici ler CesitliIlk yayinlanma1990 34 yil once 1990 Guncel surum0 22 4 19 Kasim 2023 7 ay once 2023 11 19 Isletim sistemiCross platformTurResmi sitesignu org software gettext Kod deposugit savannah gnu org cgit gettext gitTarihBaslangicta POSIX mesajlari yerellestirmek icin hicbir yol sunmamaktaydi 1980 lerin sonlarinda 1988 Uniforum gettext ve 1989 X Open catgets XPG 3 5 adli iki oneride bulunuldu Sun Microsystems 1993 te ilk gettext i uygulamaya soktu Unix ve POSIX gelistiricileri ne tur bir arayuz kullanacaklari konusunda hicbir zaman anlasamadilar diger secenek X Open catgets glibc dahil olmak uzere bircok C standart kutuphanesi her ikisini de uygulamaya soktu Agustos 2019 dan itibaren gettext in POSIX in bir parcasi olmasi gerekip gerekmedigi eski rakibinin zaten kullanim disi kalmasina ragmen Austin Grubu nda hala tartisma konusu mahiyetindedir Belirtilen endiseler sistem ayarli yerel ayara bagimliligini coklu is parcacigi sorunlarina maruz kalan kuresel bir degisken ve genis dizeleri iceren daha yeni C dili uzantilarini desteklemesini iceriyordu GNU Projesi gettext in anahtar olarak mesaj yaklasiminin daha basit ve daha kolay olduguna karar verdi Catgets dahil olmak uzere diger bircok sistem gelistiricinin her dize icin anahtar adlari bulmasini gerektirir 1995 yilinda sistemin ucretsiz bir yazilim uygulamasi olan GNU gettext yayinlandi Gettext GNU ya da degil bircok programlama diline tasindi Po ve yaygin editor desteginin basitligi metin belgeleri icin program disi baglamlarda veya diger yerellestirme formatlari arasinda po4a herhangi bir sey icin po ve boyle bir kopru saglamak icin ortaya cikan Cevirme Arac Seti gibi bir ara gecis olarak benimsenmesine yol acti OperasyonProgramlama Tipik gettext calisma akisi Soldaki de po ornegi msgmerge araciligiyla cevirilerin yenilenmesini gosterir Gettext in temel arayuzu kullanicinin orijinal dilde genellikle Ingilizce gorecegi bir dizeyi kabul eden gettext const char islevidir Yazma suresinden tasarruf etmek ve kod karmasasini azaltmak icin bu islev genellikle printf gettext My name is s n my name printf My name is s n my name same but shorter gettext daha sonra saglanan dizeleri cevirileri aramak icin anahtar olarak kullanir ve herhangi bir ceviri olmadiginda orijinal dizeyi cevirir Bu programli bir kimligin genellikle bir tam sayi kullanildigi POSIX catgets AmigaOS GetString veya Microsoft Windows LoadString islevinin tersidir Ayni orijinal dil metninin farkli anlamlari olabilecegi durumu ele almak icin gettext ek bir baglam dizesini kabul eden cgettext gibi islevlere sahiptir xgettext kaynaklardan cikarilan tum cevrilebilir dizelerin bir listesini iceren bir pot Tasinabilir Nesne Sablonu dosyasi olusturmak icin kaynaklarda calistirilir ile baslayan yorumlar cevirmenlere ipuclari vermek icin kullanilir ancak diger on ek de kapsami daha da sinirlayacak sekilde yapilandirilabilir Bu tur bir yaygin on ek TRANSLATORS Ornegin yorumu olan bir girdi dosyasi su sekilde gorunebilir TRANSLATORS s contains the user s name as specified in Preferences printf My name is s n my name xgettext su komut kullanilarak calistirilir xgettext c Sonucta ortaya cikan pot dosyasi yorumda soyle gorunur xgettext dizesinin bir C dili printf biciminde dizesi olarak tanidigini unutmayin TRANSLATORS s contains the user s name as specified in Preferences c format src name c 36 msgid My name is s n msgstr POSIX kabuk betiginde gettext gettext sh benzer dillerde sagladigi bircok islevi saglayan bir gettext sh kutuphanesi saglar GNU bash ayrica basit gettext islevi icin basitlestirilmis bir yapi msgid ancak bir gettext islevi saglamak icin C kutuphanesine bagli haldedir Cevriliyor Cevirmen msginit programini kullanarak sablondan bir po Tasinabilir Nesne dosyasi msginit turetir onra cevirileri doldurur msginit cevirileri baslatir ornegin bir Fransizca ceviri icin calistirilacak komut soyle olur msginit locale fr input ad pot Bu fr po ile uygulamaya gecer Cevirmen daha sonra elde edilen dosyayi el ile veya Poedit gibi bir ceviri araciyla veya po dosyalarini duzenleme moduyla Emacs ile duzenler Duzenlenmis bir giris suna benzer src name c 36 msgid My name is s n msgstr Je m appelle s n Son olarak po dosyalari msgfmt ile ikili mo Makine Nesnesi dosyalarina derlenir GNU gettext baska bir gettext uygulamasi olan sistemlerde kendi dosya adi uzantisi gmo kullanabilir Bunlar artik yazilim paketi ile beraber dagitim icin hazirdir GNU msgfmt ayrica programlama dili tarafindan kullanilan format dizesiyle ilgili bazi kontroller yapabilir Ayni zamanda MO disindaki dile ozgu formatlarda cikti alinmasini saglayabilir Gelisimsel is akisinin sonraki asamalarinda msgmerge eski bir ceviriyi daha yeni bir sablona guncellemek adina kullanilabilir Ayrica ters derleme mo dosyalari icin msgunfmt ve toplu islem icin bircok diger yardimci program da mevcuttur Islem Unix tipi sistemlerde kullanici LC MESSAGES ortam degiskenini ayarlar ve bunun icin bir mo dosyasi mevcutsa program secilen dilde dizeleri goruntuler GNU varyantlarindaki kullanicilar bunun yerine LANGUAGE ortam degiskenini de kullanabilir Unix degiskeninden temel farki geri donus icin isaretiyle ayrilmis birden cok dili desteklemesidir Cogul halingettext arayuzu dizedeki bir ismin sayisini hesaplar gettext kuralinda oldugu gibi pratik kullanimda genellikle N ile takma adidir Kod ornegi parameters english singular english plural integer count printf ngettext I have written an article n I have written d articles n n n PO dosyasinin bos dize girisindeki bir baslik bir tanesi dilin kullandigi cogul bicim olan ve genellikle C stili uclu ifade kullanilarak belirtilen bazi meta verilerini depolar Diyelim ki Irlandaca icin tercume etmek istiyoruz msgid msgstr Language ga n Plural Forms nplurals 3 plural n 1 0 n 2 1 2 n Simdi uc cogul form oldugundan son po soyle gorunecektir src wiki c 29 msgid I have written an article n msgid plural I have written d articles n msgstr 0 Irish speaker needed msgstr 1 msgstr 2 Diller icin basvuru cogul kurallari Unicode konsorsiyumu tarafindan saglanir msginit ayrica belirli bir dil icin bir dosya olustururken uygun olani onceden doldurur UygulamalarC ye ek olarak gettext asagidaki uygulamalara sahiptir Her iki ASP icin C NET ve WPF icin Perl PHP Python Scala ve Node js uygulamalarina da sahiptir GNU gettext in Objective C yerel destegi mevcut ancak Swift programlama dili icin henuz herhangi bir destegi yok Bu Cocoa platformlarinda yaygin olarak kullanilan bir gettext uygulamasi POLocalizedString dir IOS icin Microsoft Outlook ekibi gettext benzeri bir API iceren bir LocalizedStringsKit kutuphanesi de saglar Ayrica bakinizpoEditKaynakca History of gettext et al comp unix solaris Compgroups net 23 Mart 2012 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 25 Haziran 2002 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Mart 2021 Bridging the Digital Divide in South Africa Linux Journal www linuxjournal com Linux Journal 1 Kasim 2002 17 Eylul 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Eylul 2019 Introduction to Internationalization Programming Linux Journal www linuxjournal com Linux Journal 1 Kasim 2002 17 Eylul 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Eylul 2019 Message Translation The GNU C Library 18 Aralik 2003 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 0001122 POSIX should include gettext and friends Austin Group Defect Tracker Austin Group Defect Tracker 21 Agustos 2019 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 The Programmer s View gettext 0 10 35 30 Nisan 1998 21 Agustos 2019 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 GNU gettext utilities List of Programming Languages 28 Nisan 2007 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 po4a po4a org 21 Agustos 2019 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 The essential toolkit for localization engineers Translate Toolkit 7 Aralik 2012 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 About catgets gnu org 28 Nisan 2007 tarihinde kaynagindan Erisim tarihi 24 Ekim 2017 GNU gettext utilities sh 28 Nisan 2007 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 GNU gettext utilities bash 28 Nisan 2007 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 a b GNU gettext utilities PO Files Gnu org 10 Agustos 2013 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 How to Translate With GetText PO and POT Files Icanlocalize com 5 Temmuz 2010 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 Files Conveying Translations Gnu org 28 Nisan 2007 tarihinde kaynagindan Erisim tarihi 22 Nisan 2014 msgfmt Invocation GNU gettext utilities 28 Nisan 2007 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 GNU gettext utilities Locale Environment Variables Gnu org 5 Eylul 2008 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 Language Plural Rules unicode org 21 Ekim 2013 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 Google Code Archive Long term storage for Google Code Project Hosting Code google com 13 Aralik 2010 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 turquoiseowl i18n Smart internationalization for ASP NET GitHub com 27 Aralik 2013 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 NGettext Wpf Proper internationalization support for WPF via NGettext 30 Mart 2019 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 libintl perl An Internationalization Library for Perl That Aims To Be Compatible With the Uniforum Message Translations System as Implemented For Example in GNU Gettext github com 24 Nisan 2020 tarihinde kaynagindan Erisim tarihi 14 Eylul 2017 Gettext php net 1 Ekim 2015 tarihinde kaynagindan Erisim tarihi 24 Ekim 2017 gettext Multilingual internationalization services Python 3 7 0 documentation docs python org 6 Ekim 2008 tarihinde kaynagindan Erisim tarihi 21 Eylul 2018 makkarpov scalingua A simple gettext like internationalization library for Scala github com 24 Nisan 2020 tarihinde kaynagindan Erisim tarihi 28 Nisan 2016 DanielBaulig node gettext An adaption of Joshua I Miller s Javascript Gettext library for node js GitHub com 3 Agustos 2014 tarihinde kaynagindan Erisim tarihi 3 Nisan 2016 hulab POLocalizedString gettext for iOS OS X watchOS tvOS GitHub hulab 19 Eylul 2019 24 Nisan 2020 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020 microsoft LocalizedStringKit Generate strings files directly from your code GitHub Microsoft 12 Subat 2020 11 Subat 2020 tarihinde kaynagindan Erisim tarihi 22 Nisan 2020