Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Gettext

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
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. 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 küçükresim|Tipik gettext çalışma akışı. Soldaki de.po örneği, msgmerge aracılığıyla çevirilerin "yenilenmesini" gösterir. Gettext'in temel arayüzü, kullanıcının orijinal dilde (genellikle İngilizce) göreceği bir dizeyi kabul eden işlevidir. Yazma süresinden tasarruf etmek ve kod karmaşasını azaltmak için, bu işlev genellikle : 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 , AmigaOS veya Microsoft Windows işlevinin tersidir. Aynı orijinal dil metninin farklı anlamları olabileceği durumu ele almak için, gettext ek bir "bağlam" dizesini kabul eden gibi işlevlere sahiptir. , kaynaklardan çıkarılan tüm çevrilebilir dizelerin bir listesini içeren bir (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, Örneğin, yorumu olan bir girdi dosyası şu şekilde görünebilir: ş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): POSIX kabuk betiğinde gettext, benzer dillerde sağladığı birçok işlevi sağlayan bir kütüphanesi sağlar. GNU bash ayrıca basit gettext işlevi için basitleştirilmiş bir yapı , ancak bir işlevi sağlamak için C kütüphanesine bağlı haldedir. Çevriliyor Çevirmen, programını kullanarak şablondan bir (Taşınabilir Nesne) dosyası türetir,onra çevirileri doldurur. ç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 .ile uygulamaya geçer. Çevirmen daha sonra elde edilen dosyayı el ile veya Poedit gibi bir çeviri aracıyla veya dosyalarını düzenleme moduyla Emacs ile düzenler. Düzenlenmiş bir giriş şuna benzer: Son olarak, .po dosyaları ile ikili (Makine Nesnesi) dosyalarına derlenir. GNU gettext, başka bir gettext uygulaması olan sistemlerde kendi dosya adı uzantısı kullanabilir. Bunlar artık yazılım paketi ile beraber dağıtım için hazırdır. GNU 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, eski bir çeviriyi daha yeni bir şablona "güncellemek" adına kullanılabilir. Ayrıca ters derleme dosyaları için ve toplu işlem için birçok diğer yardımcı program da mevcuttur. İşlem Unix tipi sistemlerde kullanıcı ortam değişkenini ayarlar ve bunun için bir dosyası mevcutsa program seçilen dilde dizeleri görüntüler. GNU varyantlarındaki kullanıcılar bunun yerine 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 arayüzü, dizedeki bir ismin sayısını hesaplar. kuralında olduğu gibi, pratik kullanımda genellikle ile takma adıdır. Kod örneği: 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: Şimdi üç çoğul form olduğundan, son po şöyle görünecektir: 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 poEdit Kaynakça Kategori:Yazılım yerelleştirme araçları Kategori:Uluslararasılaşma ve yerelleştirme Kategori:GNU Projesi yazılımları
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri