Extension:UniversalLanguageSelector/tr

Evrensel Dil Seçici kullanıcıların bir dil seçmesini ve desteğini kolay bir şekilde yapılandırmasını sağlayan bir araçtır. Kullanıldığı yerde, hem hem de  uzantılarının (her ikisi de Evrensel Dil Seçici lehine kullanımdan kaldırılmış) işlevlerini de gönderir. Arka plan ve ek bilgi için sayfasına bakın.

Kullanım
Birincil amaç, kullanıcıların bir dil seçmesine ve desteğini kolay bir şekilde yapılandırmasına izin vermektir.

Uzantı aşağıdaki özellikleri sağlar:


 * 1) Geniş bir dil grubundan dil seçmenin esnek ve kolay yolu.
 * 2) Seçim, coğrafi bölge bazlı tarama, aramaya dayalı olabilir.
 * 3) Arama, ISO dil koduna, mevcut kullanıcı arayüzü dilinde yazılmış dil adına veya kendi yazı (özerkliğine) dayalı olabilir.
 * 4) Diller arası arama, herhangi bir yazım kullanarak dil adlarını arayın
 * 5) Dil adlarının otomatik tamamlanması
 * 6) Arama dizelerinde yazım hatalarının otomatik düzeltilmesi
 * 7) Coğrafi IP tabanlı dil önerileri
 * 8) Kullanıcıların tarayıcısına/OS diline göre dil seçimi
 * 9) Giriş yöntemleri
 * 10) Tam talimatları için  sayfasına bakın.
 * 11) Düzenlenebilir her alanda hazır bulunan, kolayca seçilebilen bir giriş yöntemi koleksiyonu
 * 12) Çok çeşitli diller için geniş bir giriş yöntemi seti sağlar
 * 13) * Extension:Narayam#Desteklenen şemalar'da eski bir liste mevcuttur.
 * 14) Dil başına giriş yöntemi tercihleri
 * 15) Web yazı tipleri
 * 16) Sayfa için gömülü yazı tipi olarak kullanmak üzere her dil için seçilecek geniş bir yazı tipi koleksiyonu
 * 17) * Extension:WebFonts#Desteklenen diller'de eski bir liste mevcuttur.
 * 18) * Dahil tüm yazı tiplerine göz atabilirsiniz.
 * 19) Dil başına yazı tipi tercihleri



Yazı tipi ekleme
Daha fazla dili desteklemek, yalnızca koda uygun fontları eklemekle ilgilidir. Ancak, yalnızca serbestçe lisanslanan yazı tipleri için destek ekleyeceğimizi unutmayın; örneğin GNU GPL, SIL OFL, vb. altında lisanslanan yazı tipleri. Bu tür ücretsiz yazı tiplerinin örnek bir dizini Google Fonts (değil ancak bu uzantı yazarları tarafından tam olarak incelenmiş/değerlendirilmiştir); ayrıca bakınız Open Font Library.

Her şeyden önce, böyle bir ücretsiz yazı tipi bulmanız veya üretmeniz gerekir (bu en önemli kısımdır ve kendiniz yapmanız gerekir); daha sonra, eot, ttf, woff olan gerekli biçimlere dönüştürülmelidir; son olarak, Phabricator içinde uzantıya eklenecek yazı tipi için istekte bulunabilir.

#Web yazı tipleri hazırlama yazı tiplerini nasıl dönüştüreceğinizi açıklar: GNU/Linux tabanlı işletim sistemi hakkında temel bilgi gereklidir; Bunu yapmakta zorluk çekiyorsanız, bu adımı atlayabilir ve aynı Phabricator isteğinde başka birinden sizin için yapmasını isteyebilirsiniz (elbette bu işlemi yavaşlatacaktır).

Web yazı tiplerini hazırlama
.woff2 oluşturma:

Ttf'den woff2 üretmek için https://github.com/google/woff2 kullanın. Bu sıkıştırılmış bir woff2 dosyası üretecektir. Modern tarayıcılar bu biçimi destekler.

Bir font.ini dosyası oluşturun. İşte bir örnek:

Bir dil kodundan sonraki yıldız işareti, bu yazı tipinin o dil için varsayılan yazı tipi olacağı anlamına gelir. Bu yazı tipini o dil için kullanma seçeneğini kullanmak istiyorsanız, yıldız işaretini kullanmayın.

Dosyaları oluşturduktan sonra aşağıdakileri yapın:


 * 1) Yazı tipi için data/fontrepo/fonts altında bir dizin oluşturun.
 * 2) Bu dizine ttf, woff, eot ve font.ini dosyalarını yerleştirin ve bunları kaynak deposuna ekleyin.
 * 3)   gidin ve   çalıştırın.
 * 4) Depodaki değişiklikleri yapın  ve bunları Git iş akışına göre gönderin.

Yeni bir anahtar eşleme için destek ekleme (giriş yöntemi)
instructions on the jquery.ime github wiki izleyin, ancak istekleri Wikimedia-extensions-UniversalLanguageSelector Phabricator ürününde talep ediyor.

LanguageNameIndex güncelleme
Çapraz dil araması yapmak için zıt araması yapmak için dil verilerinin doldurulması gerekir. ULS önceden doldurulmuş bir dil adı index(data/langnames.ser) gelir. Güncellemek istediğinizde, yükleyin ve verileri aşağıdaki komutla güncelleyin.

php UniversalLanguageSelector/data/LanguageNameIndexer.php ve langnames.ser dosyasının ULS/data/ klasöründe oluşturulduğunu doğrulayın.

Yapılandırma
Aşağıdaki değişkenler başlatma sırasında otomatik olarak oluşturulur ve mw.config.get (NAME) kullanılarak JavaScript'ten kullanılabilir:


 * - anahtarların dil kodları ve değerlerin İngilizce dil adları olduğu bir ilişkisel dizi.
 * - kullanıcının Accept-Language değerinden bir dizi dil kodu. Bunlar, kullanıcının tarayıcı tercihlerinde seçilen dillerdir.

Yazı tiplerini sunmak için web sunucunuza henüz yoksa aşağıdaki mime türlerini eklemek isteyebilirsiniz. Bu kılavuz yardımcı olabilir.

 application/x-font-woff .woff application/vnd.ms-fontobject .eot application/x-font-ttf .ttf

Aşağıdaki değişkenler de yapılandırılabilir:


 * - ULS, kullanıcının ziyaret ettiği ülkeye göre dil önermek için coğrafi konum servislerini kullanabilir. Bunu false olarak ayarlamak yerleşik coğrafi konumlandırmanın kullanılmasını önler. Bunu false olarak ayarlamak, yerleşik coğrafi konumun kullanılmasını engeller. Pencere ayarlayarak kendi coğrafi konumunuzu sağlayabilirsiniz. 'country_code' veya 'country' anahtarına sahip nesnenin coğrafi konumu. true olarak ayarlanırsa, Wikimedia'nın geoip hizmetini sorgulayacaktır. Hizmet, sağlanan geri çağırma parametresini kullanan jsonp döndürmelidir. Varsayılan olarak http://freegeoip.net/json/ (uyarı: bu web sitesi API'sini kapatmıştır) ve aynı formatı beklemektedir.
 * - Aşağıdaki yapılandırma değişkenleri tarafından davranış geçersiz kılınmadıkça, herkes için dil seçimini, kompakt dil bağlantılarını, giriş yöntemlerini ve web yazı tiplerini etkinleştirin. Yanlış olsa bile, sınıflar ve kaynak yükleyici modülleri diğer uzantıların kullanımı için kaydedilir. Çerez veya setlang sorgu parametresi ile dil değiştirmek mümkün değildir.
 * - Anonim kullanıcıların çerez ve setlang sorgu parametresi ile dili değiştirmesine izin verin. Anonim sayfa görünümlerini çerezleri hesaba katmadan önbelleğe alıyorsanız kullanmayın.  veya   biri false olarak ayarlanırsa herhangi bir etkisi olmaz.
 * - Varsayılan olarak tüm kullanıcılar için giriş yöntemleri özelliğini devre dışı bırakın. Yine de kullanıcı tarafından manüel olarak etkinleştirilebilir.
 * - Dil seçimi tetikleyicisinin yeri ve biçimi. Olası değerler şunlardır: : kullanıcı adının yanında bir bağlantı veya kişisel araç çubuğundaki giriş bağlantısı (varsayılan).  : kenar çubuğundaki diller arası bağlantılar listesinin başlığına yakın bir simge olarak.
 * - IME'nin etkinleştirilmemesi gereken öğelerin jQuery seçicileri dizisi. ör:
 * - Accept-Language başlığından kullanıcının dilinin otomatik olarak algılanıp algılanmayacağı.

ULS tetikleyicisinin konumu

 * - Dil seçimi tetikleyicisinin yeri ve biçimi. Olası değerler: : kullanıcı adının yanında bir bağlantı veya kişisel araç çubuğundaki giriş bağlantısı olarak (varsayılan).  : kenar çubuğundaki diller arası bağlantılar listesinin başlığına yakın bir simge olarak.

Ekranda herhangi bir yerde ULS tetiklemesi de mümkündür. olan bir öğe, ULS tetikleyicisi olarak işlev görür.

Varsayılan yazı tiplerini geçersiz kılma
ULS, web fontları olarak kullanılabilecek büyük bir font deposuna sahiptir. Bazen bir dil için birden çok yazı tipi vardır ve her dil/betiği için varsayılan bir yazı tipi vardır. Yazı tipi veya varsayılan yazı tipi sırası, genel komut dosyaları (MediaWiki:Common.js) veya kişisel komut dosyaları (Özel:Sayfam/common.js) kullanılarak aşağıdaki şekilde geçersiz kılınabilir:

Önbellek yapılandırması
Web yazı tipi dosyalarının istemcilerin makinelerinde önbelleğe alındığından emin olmak için yazı tipi dosya türlerinin web sunucusu yapılandırmasına eklenmesi gerekir. Apache2'de bu şunlardan oluşur:


 * İlgili dizin için FilesMatch'teki FileTimes normal ifadesine yazı tipi dosya uzantıları ekleme, örnek:
 * Görüntü MIME türlerine benzer şekilde, ilgili MIME türlerine ExpiresByType değerleri ekleme.
 * TTF için standart bir MIME türü olmadığını unutmayın. application/x-font-ttf Wikimedia için kullanılır.
 * MIME türlerini ekleme:

 AddType application/x-woff .woff AddType application/vnd.ms-fontobject .eot AddType application/x-font-ttf .ttf

Tam bir örnek için Wikimedia kümesi için yapılan önbellek önbellek yapılandırma güncellemesi sayfasına bakın.

Sayfa çevirisi
UniversalLanguageSelector, uzantısının çeşitli dil seçim özellikleri için kullanan bağımlılıklarından biridir. Bunlardan biri, kullanıcının arayüz diline bağlı olan ancak daha fazlası yapılandırılabilen bağlantılar için MyLanguage sistemidir: Sayfa çeviri özelliği sayfasına bakın.

Web yazı tiplerini kullanma
Kullanıcı, Dil ayarları -> Ekran ayarları arasından bir dil için web yazı tipleri seçebilir. Varsayılan olarak, o menüdeki ilk yazı tipi vikiye uygulanır. Bir kullanıcı yazı tipini değiştirebilir ve sayfalar arasında hatırlanır. İsteğe bağlı olarak kullanıcı, sistem yazı tipini seçerek yazı tipi gömmeyi de devre dışı bırakabilir.

Yazı tipi kullanıcının yerel sisteminde mevcutsa, mediawiki sunucusundan yazı tipi indirilmez. Kullanıcının bilgisayarından alınacaktır. Aksi takdirde, yazı tipi sunucudan yalnızca bir kez indirilir. Yani kullanıcı yazı tipini ilk kez seçtiğinde. Bir dahaki sefere yazı tipi yerel önbellekten alınacaktır.

Yazı tipi ailesini belirterek
YourText viki metninde, web yazı tipleri uzantısı yazı tipinin uzantıyla kullanılabilir olup olmadığını kontrol eder, eğer indirirse istemciye. Bu nedenle, okuyucu, belirtilen yazı tipi bilgisayarında bulunmasa bile metni okumakta herhangi bir güçlükle karşılaşmaz.

Dili belirterek
Metniniz viki metninin içinde, web yazı tipi uzantısı, belirli bir yazı tipinin uzantıyla birlikte verilen dil için kullanılabilir olup olmadığını kontrol eder; istemcisi. Bu nedenle, okuyucu, belirtilen yazı tipi bilgisayarında bulunmasa bile metni okumakta herhangi bir güçlükle karşılaşmaz. Dil için birden fazla yazı tipi varsa, varsayılan yazı tipi kullanılır. Varsayılan yazı tipi tercih edilmiyorsa, yazı tipini belirtmek için yazı tipi ailesi yaklaşımını kullanın. Etikette hem dil hem de yazı tipi ailesi tanımları varsa, yazı tipi ailesi öncelik kazanır.

Örnek:

𒄖𒉈𒅁𒌨𒅎

Akkadian yazı tipini kullanarak Çivi yazısı ile oluşturulan metni verir

𒄖𒉈𒅁𒌨𒅎