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ölgeye dayalı tarama, arama temelli olabilir.
 * 3) Arama, ISO dil koduna, geçerli kullanıcı arabirimi dilinde veya kendi betiğinden (özerklik) yazılmış dil adına dayanabilir
 * 4) Çapraz dil arama - herhangi bir betiği kullanarak dil adlarını arayın
 * 5) Dil adlarının otomatik tamamlanması
 * 6) Arama dizelerindeki yazım hatalarını otomatik düzeltme
 * 7) Coğrafi IP tabanlı dil önerileri
 * 8) Kullanıcıların tarayıcı/işletim sistemi diline göre dil seçimi
 * 9) Giriş yöntemleri
 * Tüm talimatlar için $1 sayfasına bakın.
 * 1) Kolayca seçilebilen bir giriş yöntemi koleksiyonu, her düzenlenebilir alanda kolayca kullanılabilir
 * 2) Geniş dil yelpazesi için geniş bir giriş yöntemleri kümesi sağlar
 * 3) * Güncel olmayan bir liste Extension:Narayam#Desteklenen şemalar sayfasında bulunabilir
 * 4) Dil başına giriş yöntemi tercihleri
 * 5) Web yazı tipleri
 * 6) Sayfa için gömülü font olarak kullanılacak her dil için seçilecek geniş yazı tipi koleksiyonu
 * 7) * Eski bir liste Extension:WebFonts#Desteklenen diller sayfasından edinilebilir
 * 8) * [$git-fonts Dahil tüm yazı tiplerine] göz atabilirsiniz
 * 9) Dil başına yazı tipi tercihleri
 * 1) Selection can be based on geographical region based browsing, searching.
 * 1) Search can be based on ISO language code, language name written in current user interface language or in its own script(autonym)
 * 1) Cross language search - search language names using any script
 * 1) Autocompletion of language names
 * 1) Auto correction of spelling mistakes in search strings
 * 1) Geo IP based language suggestions
 * 1) Language selection based on users browser/OS language
 * 1) Input methods
 * See for complete instructions.
 * 1) An easily selectable input method collection, readily available in every editable field
 * 1) Provides a large set of input methods for wide range of languages
 * 1) * An outdated list is available at Extension:Narayam#Supported schemes
 * 1) Per-language input method preferences
 * 1) Webfonts
 * 1) A large collection of fonts to choose for each language to use as embedded font for the page
 * 1) * An outdated list is available at Extension:WebFonts#Supported languages
 * 1) * You can browse all the fonts included
 * 1) Per-language font preferences



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 ilişkilendirilebilir bir dizi.
 * - kullanıcının Accept-Language değerinden bir dizi dil kodu. Bunlar, kullanıcının tarayıcı tercihlerinde seçilen dillerdir.


 * - an associative array where the keys are language codes and the values are language names in English.
 * - an array of language codes from the user's Accept-Language value. These are the languages selected in the user's browser preferences.

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. Window.Geo anahtarını 'country_code' veya 'country' olan nesneye ayarlayarak kendi coğrafi konumunuzu belirleyebilirsiniz. True olarak ayarlanırsa, Wikimedia'nın geoip hizmetini sorgulayacaktır. Hizmet, sağlanan geri arama parametresini kullanan jsonp'yi döndürmelidir. Varsayılan olarak http://freegeoip.net/json/ biçimindedir ve aynı biçimi bekler.
 * - 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:

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'taki FileTimes normal ifadesine yazı tipi dosya uzantıları eklenmesi, örnek:


 * Adding font file extensions to the FileTimes regex at FilesMatch for the relevant directory, example:
 * 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. Wikimedia için application/x-font-ttf kullanılır.
 * MIME türlerini ekleme:
 * Note that there's no standard MIME type for TTF. application/x-font-ttf is used for Wikimedia.
 * Adding the MIME types:

 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

𒄖𒉈𒅁𒌨𒅎