Template:Pagelang/tr

{{Documentation|content= {{Documentation subpage}} {{High-use|50000}} {{Lua|Module:Template translation}}

Kullanım
{	"description": { "en": "This stuff template for check language of translated subpage (for translatable pages). Used for automate substitution localized values that will match the language of the current page. Also used to help defining text direction (with using with ). It is designed to be called from other templates.", "tr": "Çevrilen alt sayfanın kontrol dili için malzeme şablonu (çevrilebilir sayfalar için). Geçerli sayfanın diliyle eşleşecek yerelleştirilmiş değiştirme değerlerini otomatikleştirmek için kullanılır. Ayrıca metin yönünü tanımlamaya yardımcı olmak için de kullanılır ( ile birlikte). Diğer şablonlardan çağrılmak üzere tasarlanmıştır." },	"format": "inline", "params": { "1": {			"label": { "en": "Page title", "tr": "Sayfa başlığı" },			"description": { "en": "Page title to get language for. By default the title of the current page.", "tr": "Dili alınacak sayfa başlığı. Varsayılan olarak mevcut sayfanın başlığı." },			"type": "wiki-page-name" }	} }

Çevrilmiş sayfalarda veya şablonlarda yaygın kullanım örnekleri:

Teknik not
Bir alt sayfa sayfası herhangi bir (tek veya çift) tırnak veya ve işareti içerdiğinde, bu geçerli bir dil kodu değildir;  ve   normalde bu karakterleri dönüş değerlerinde HTML ile kodlar, bu nedenle   girdisi olarak kullanmak güvenlidir. Ancak, bu tırnak işaretlerini veya ve işaretlerini HTML kodlarını çözerek geri yükler.

Ancak, tek tırnak işaretleriyle "dil kodları" ile birlikte kullanıldığında önemli bir sunucu hatası üretecektir.


 * Kaynak

Bu hâlâ çalışıyor:

Bu da çalışmıyor:

Bunu da yapmaz: Bu,  ayrıştırıcı işlevinin kritik bir hatasıdır ve görünüşe göre, alıntıdan sonra PHP'ye akıllıca kod eklenmesinin neden olabileceği ciddi bir güvenlik sorunudur.

Bu hata yalnızca  öğesinin ikinci parametresinde (birinci parametrede kod tarafından belirtilen dilin adının verildiği hedef dil) ortaya çıkar. Yalnızca ilk parametrenin geçerliliği kontrol edilir, ikincisi kontrol edilmez. Burada,  herhangi bir hedef dilde dilin adını bulamadığında, aşağıdaki gibi ana dil adını döndürmelidir:




 * Bu şablonda kullanılan kelime etrafında

Bu ciddi hatadan kaçınmak için, alt sayfa adlarındaki tırnak işaretlerini (veya ve işaretlerini), alt sayfa adını değil, boş bir dize döndürmek için her türlü dil kodunda geçersiz olduklarından tespit etmek istiyoruz: bu tür alt sayfa adı zaten bir dil kodu olamaz.

Güvenli dil kodları olamayan alt sayfaları tespit etmenin bir yolu,  tarafından filtrelenen değerlerinin   tarafından filtrelenen değerine eşit olup olmadığını kontrol etmektir: eğer eşit değillerse  bunun nedeni, "ve" işaretleri veya tırnak işaretleri içermeleridir.


 * Neden yalnızca  yerine   kullanıyoruz?

Bu şablonda  yerine   kullanılır, ancak   kullanmak da hatayı engellemez, çünkü tüm tırnak işaretlerini içeren sayfa adı geri döndürür (  yalnızca alt sayfaların etkinleştirildiği ad alanlarında çalışır, bu nedenle bir dil kodu soneki kullanılarak çevrilip çevrilmediğini görmek için ana ad alanında çalışmaz).

Ayrıca bakınız

 * TNT
 * LL
 * BCP47
 * dir
 * pagelang2
 * pagelang2

}}