Extension: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.41.0 |
Composer | mediawiki/universal-language-selector |
Lisans |
|
İndir | Dil Genişletme Paketi'ne Dahil |
|
|
Internet Explorer 8 veya daha düşük sürümlerle uyumlu değil. | |
Quarterly downloads | 221 (Ranked 30th) |
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:
- Geniş bir dil grubundan dil seçmenin esnek ve kolay yolu.
- Seçim, coğrafi bölge bazlı tarama, aramaya dayalı olabilir.
- Arama, ISO dil koduna, mevcut kullanıcı arayüzü dilinde yazılmış dil adına veya kendi yazı (özerkliğine) dayalı olabilir.
- Diller arası arama, herhangi bir yazım kullanarak dil adlarını arayın
- Dil adlarının otomatik tamamlanması
- Arama dizelerinde yazım hatalarının otomatik düzeltilmesi
- Coğrafi IP tabanlı dil önerileri
- Kullanıcıların tarayıcısına/OS diline göre dil seçimi
- Giriş yöntemleri
- Tam talimatları için Help:Extension:UniversalLanguageSelector/Input methods sayfasına bakın.
- Düzenlenebilir her alanda hazır bulunan, kolayca seçilebilen bir giriş yöntemi koleksiyonu
- Çok çeşitli diller için geniş bir giriş yöntemi seti sağlar
- Extension:Narayam#Desteklenen şemalar'da eski bir liste mevcuttur.
- Dil başına giriş yöntemi tercihleri
- Web yazı tipleri
- Sayfa için gömülü yazı tipi olarak kullanmak üzere her dil için seçilecek geniş bir yazı tipi koleksiyonu
- Dahil tüm yazı tiplerine göz atabilirsiniz.
- 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 [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:
- Yazı tipi için data/fontrepo/fonts altında bir dizin oluşturun.
- Bu dizine ttf, woff, eot ve font.ini dosyalarını yerleştirin ve bunları kaynak deposuna ekleyin (
git add
).
scripts/
gidin vephp compile-font-repo.php
çalıştırın.
- 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)
instructions on the jquery.ime github wiki izleyin, ancak istekleri Wikimedia-extensions-UniversalLanguageSelector Phabricator ürününde talep ediyor.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiUniversalLanguageSelector
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' );
- 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 tofalse
.$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
- Universal Language Selector
- Evrensel Dil Seçici/Etkileşim Tasarım Çerçevesi
- Evrensel Dil Seçici/Teknik Tasarım
- Evrensel Dil Seçici Web Yazı Tipleri özelliğinin teknik ayrıntıları
- Extension:Google Translator
Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |