Jump to content

Extension:UniversalLanguageSelector

From mediawiki.org
This page is a translated version of the page Extension:UniversalLanguageSelector and the translation is 64% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
UniversalLanguageSelector
Sürüm durumu: kararlı
Uygulama Kullanıcı arayüzü, Görünüm , Beta Özelliği
Açıklama Kullanıcıların bir dil seçmesini ve desteğini kolay bir şekilde yapılandırmasını sağlayan araç.
Yazar(lar) Wikimedia Dil ekibi
En son sürüm 2024-07-16
Uyumluluk politikası Master, geriye dönük uyumluluğu korur.
MediaWiki >= 1.42.0
Composer mediawiki/universal-language-selector
Lisans
İndir Dil Genişletme Paketi'ne Dahil
  • $wgULSWebfontsEnabled
  • $wgULSGeoService
  • $wgULSLanguageDetection
  • $wgULSAnonCanChangeLanguage
  • $wgULSEnable
  • $wgULSImeSelectors
  • $wgULSIMEEnabled
  • $wgULSNoWebfontsSelectors
  • $wgULSFontRepositoryBasePath
  • $wgULSCompactLanguageLinksBetaFeature
  • $wgULSNoImeSelectors
  • $wgULSPosition
Internet Explorer 8 veya daha düşük sürümlerle uyumlu değil.
Quarterly downloads 222 (Ranked 26th)
Public wikis using 1,237 (Ranked 214th)
Translatewiki.net adresinde mevcutsa, UniversalLanguageSelector uzantısını çevirin
Sorunlar Açık görevler · Hata bildir

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 WebFonts hem de Narayam 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 Universal Language Selector 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.
    1. Seçim, coğrafi bölge bazlı tarama, aramaya dayalı olabilir.
    1. Arama, ISO dil koduna, mevcut kullanıcı arayüzü dilinde yazılmış dil adına veya kendi yazı (özerkliğine) dayalı olabilir.
    1. Diller arası arama, herhangi bir yazım kullanarak dil adlarını arayın
    1. Dil adlarının otomatik tamamlanması
    2. Arama dizelerinde yazım hatalarının otomatik düzeltilmesi
    3. Coğrafi IP tabanlı dil önerileri
    4. Kullanıcıların tarayıcısına/OS diline göre dil seçimi
  1. Giriş yöntemleri
    Tam talimatları için Help:Extension:UniversalLanguageSelector/Input methods sayfasına bakın.
    1. Düzenlenebilir her alanda hazır bulunan, kolayca seçilebilen bir giriş yöntemi koleksiyonu
    1. Çok çeşitli diller için geniş bir giriş yöntemi seti sağlar
    1. Dil başına giriş yöntemi tercihleri
  1. Web yazı tipleri
    1. Sayfa için gömülü yazı tipi olarak kullanmak üzere her dil için seçilecek geniş bir yazı tipi koleksiyonu
    1. Dil başına yazı tipi tercihleri
Hindistan'dan bir kullanıcı için geoip tabanlı dil önerisine sahip Evrensel Dil Seçici
Dil ayarları, İngilizce Vikipedi'ye erişen kayıtlı bir kullanıcının kullanıcı arayüzünü kendi ana diliyle değiştirmesine izin verir.
Bir Bengali kullanıcısı, bilgisayarlarındaki yazı tipi eksikliğine rağmen Bengalce Vikipedi'si den içerik okuyabilir. Web yazı tipleri, açık kaynak yazı tipinin bulunduğu latin olmayan betikleri için otomatik olarak sağlanır. Kullanıcı, sistem yazı tiplerini dil başına kullanmaya karar verebilir.
Hintçe klavyesi olmayan bir Hintçe konuşanı, giriş yöntemlerini kendi dillerinde yazabilecek şekilde yapılandırır.
Bir kullanıcı ararken İngilizce ve Hintçe arasında geçiş yapabilirsiniz.

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 [1] (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:

[AbyssinicaSIL]
languages=am*, ti*
version=1.200
license=OFL 1.1
licensefile=OFL.txt
url=http://scripts.sil.org/AbyssinicaSIL
request-url=https://phabricator.wikimedia.org/[Task Number]
woff2=AbyssinicaSIL.woff2
bold=AbyssinicaSIL Bold

[AbyssinicaSIL Bold]
woff2=AbyssinicaSIL-Bold.woff2
fontweight=bold

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.
  1. Bu dizine ttf, woff, eot ve font.ini dosyalarını yerleştirin ve bunları kaynak deposuna ekleyin (git add).
  1. scripts/ gidin ve php compile-font-repo.php çalıştırın.
  1. Depodaki değişiklikleri yapın (git commit -a) ve bunları Git iş akışına göre gönderin.

Yeni bir anahtar eşleme için destek ekleme (giriş yöntemi)

$jquery izleyin, ancak istekleri Wikimedia-extensions-UniversalLanguageSelector Phabricator ürününde talep ediyor.

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki UniversalLanguageSelector adlı dizine yerleştirin.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UniversalLanguageSelector
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'UniversalLanguageSelector' );
    
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.


Vagrant kurulumu:

  • Vagrant kullanıyorsanız, vagrant roles enable uls --provision ile yükleyin

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, Extension:CLDR 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:

  • wgULSLanguages - anahtarların dil kodları ve değerlerin İngilizce dil adları olduğu bir ilişkisel dizi.
  • wgULSAcceptLanguageList - 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.

AddType font/woff2 .woff2

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

  • $wgULSGeoService - 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.
  • $wgULSEnable - 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.
  • $wgULSAnonCanChangeLanguage - 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. $wgULSEnable veya $wgULSEnableAnon biri false olarak ayarlanırsa herhangi bir etkisi olmaz. Do not use it if you are caching anonymous page views without taking cookies into account. It does not have any effect if either $wgULSEnable or $wgULSEnableAnon is set to false.
  • $wgULSIMEEnabled - 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.
  • $wgULSPosition - Dil seçimi tetikleyicisinin yeri ve biçimi. Olası değerler şunlardır: personal: kullanıcı adının yanında bir bağlantı veya kişisel araç çubuğundaki giriş bağlantısı (varsayılan). interlanguage: kenar çubuğundaki diller arası bağlantılar listesinin başlığına yakın bir simge olarak. interlanguage: as an icon near the header of the list of interlanguage links in the sidebar.
  • $wgULSNoImeSelectors - IME'nin etkinleştirilmemesi gereken öğelerin jQuery seçicileri dizisi. ör: [ '#wpCaptchaWord' ];
  • $wgULSLanguageDetection - Accept-Language başlığından kullanıcının dilinin otomatik olarak algılanıp algılanmayacağı.

ULS tetikleyicisinin konumu

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

interlanguage: as an icon near the header of the list of interlanguage links in the sidebar.

Ekranda herhangi bir yerde ULS tetiklemesi de mümkündür. uls-settings-trigger 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: Sometimes, there are multiple fonts for a language, and there is a default font for each language/script. The order of fonts or default font can be overridden as follows using global scripts (MediaWiki:Common.js) or personal scripts (Special:MyPage/common.js):

$.webfonts.repository.languages.languageCode = ["system", "FontA", "FontB"];

Here, languageCode should be a valid langauge code(eg: en, hi, nl). FontA and FontB are fonts available in font repository. In the above example for languageCode, we set a font available in local computer as default font. ie No default webfont.

Ö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:
<FilesMatch "\.(gif|jpe?g|png|css|js|woff2|svg)$">
  • 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 font/woff2 .woff2

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, Translate 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ı tiplerini yüklemenin alternatif yolları

Yazı tipi ailesini belirterek

<span style="font-family:'YourFontName';">YourText</span> 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. So the reader will not face any difficulty reading the text even if the specified font is not available on their computer.

Dili belirterek

<span lang="my">Metniniz</span> 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. So the reader will not face any difficulty reading the text even if the specified font is not available on their computer. The default font will be used if there are multiple fonts for the language. If the default font is not preferred, use the font-family approach to specify the font. If the tag has both lang and font-family definitions, font-family gets precedence.

Örnek:

<span lang=sux>𒄖𒉈𒅁𒌨𒅎</span>

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

𒄖𒉈𒅁𒌨𒅎

Ayrıca bakınız