Help:Extension:ParserFunctions/tr

From MediaWiki.org
Jump to: navigation, search

ParserFunctions eklentisi, MediaWiki'de zaten mevcut olan değişkenlere ek olarak on bir yeni ayrıştırıcı işlev sunar. Bu eklenti tarafından sunulan tüm ayrıştırıcı işlevler şu biçimde kullanılır:

{{#işlevadı: değişken 1 | değişken 2 | değişken 3 ... }}

Contents

#expr [edit]

Tür İşleçler (operatörler)
Gruplama (parantezler) ( )
Sayılar 1234.5 2.4E5 e (2.718) pi (3.142)
Mantık or
and
= != <> > < <= >=
Yuvarlama round
İkili + - mod
* / div
^
Birli not ceil trunc floor abs ln sin cos tan acos asin atan
e + -

Bu işlev matematiksel bir ifadeyi değerlendirir ve hesaplanmış değerini gösterir.

{{#expr: ifade }}

Kullanılabilir işleçler (operatörler) yandaki tabloda öncelik sırasına göre listelenmiştir, her bir işlecin özelliğiyle ilgili daha ayrıntılı bilgi edinmek için Help:Calculation sayfasına bakın. Sonuçların doğruluğu ve düzeni viki üzerinde çalıştırılan işletim sistemine ve site dilinin sayı düzenine bağlı olarak değişkenlik gösterir.

Mantıksal cebir (boole cebiri) kullanılarak yapılan işlemlerde, sıfır false olarak ve sıfır dışındaki, negatif veya pozitif her değer true olarak değerlendirilir:

{{#expr: 1 and -1 }}1
{{#expr: 1 and 0 }}0

Boş girilen bir ifadenin dönüşü boş bir metindir. Geçersiz ifadeler hata olarak döner, bu hatalar #iferror ile yakalanabilir:

{{#expr: }}
{{#expr: 1+ }}Expression error: Missing operand for +.
{{#expr: 1 deneme 2 }}Expression error: Unrecognized word "deneme".
Uyarı Uyarı: Bazı ifadeler çok büyük veya çok küçük sayılarla kullanıldığı zaman kayan noktalı hata verebilir:

{{#expr: 20060618093259 mod 10000}}3259 çoğu durumda sonuç böyledir, ancak zaman zaman -6357 de verebilir. Bu durum vikinin yürüttüğü sunucunun özelliklerine ve yapılandırmalarına bağlı olarak değişir. Bkz.: bug 6356.

#if [edit]

{{#if: sınanacak dizge (koşul) | doğruysa değeri | yanlışsa değeri }}

Bu işlev ilk parametrenin boş olup olmadığını sınar. Eğer sınanacak dizge yalnızca boşluk karakterleri (boşluk, satır atlama vb.) içeriyorsa sonuç yanlış (false) olur.

{{#if: | evet | hayır}}hayır
{{#if: dizgi | evet | hayır}}evet
{{#if:      | evet | hayır}}hayır
{{#if:


| evet | hayır}}
hayır

Sınama dizgisi her zaman düz metin olarak yorumlanır, bu yüzden matematiksel ifadeler değerlendirilmez:

{{#if: 1==2 | evet | hayır }}evet
{{#if: 0 | evet | hayır }}evet

Dönüş değerlerinin biri veya ikisi birden girilmeyebilir:

{{#if: deneme | evet }}evet
{{#if: | evet }}
{{#if: deneme | | hayır}}

Bu ayrıştırıcı işlevin daha fazla kullanım örneği için Help:Parser functions in templates/tr sayfasına bakın.

#ifeq [edit]

Bu ayrıştırıcı işlev iki dizgeyi karşılaştırarak eş olup olmadıklarını tespit eder.

{{#ifeq: dizge 1 | dizge 2 | eş ise değeri | farklılarsa değeri }}

Eğer iki dizge de geçerli sayısal değerlerden oluşuyorsa, dizgeler sayısal olarak karşılaştırılır:

{{#ifeq: 01 | 1 | eşit | eşit değil}}eşit
{{#ifeq: 0 | -0 | eşit | eşit değil }}eşit
{{#ifeq: 1e3 | 1000 | eşit | eşitdeğil }}eşit
{{#ifeq: {{#expr:10^3}} | 1000 | eşit | eşit değil}}eşit

Başka türlü, kıyaslama metinsel olarak yapılır; bu karşılaştırma büyük-küçük harfe duyarlıdır:

{{#ifeq: deneme | test | eşit | eşit değil}}eşit değil
{{#ifeq: deneme | Deneme | eşit | eşit değil}}eşit değil
{{#ifeq: "01" | "1" | eşit | eşit değil}}eşit değil  (tırnak işaretleri olmadan yapılmış üstteki benzer örnekle karşılaştırın)
{{#ifeq: 10^3 | 1000 | eşit | eşit değil}}eşit değil  (#expr ile yapılmış üstteki benzer örnekle karşılaştırın)

Pratik bir örnek olması için kullanılmakta olan bir şablon örnek verildi. Şablon:Size şablonu önceden tanımlanmış uzun ve kısa boyutları ayarlamak için kullanılır, şu şekilde tanımlanmıştır:

{{#ifeq: {{{1|}}} | kısa | 20 | 40}}

Aşağıdakiler şu sonucu verir:

{{size|kısa}}20
{{size|20}}40
{{size}}40
Uyarı Uyarı: Ayrıştırıcı etiketler arasındaki içerik (<nowiki> gibi) geçici olarak eşsiz bir kod ile değiştirilir. Bu da karşılaştırmayı etkiler:
{{#ifeq: <nowiki>deneme</nowiki> | <nowiki>deneme</nowiki> | eşit | eşit değil}}eşit değil
{{#ifeq: <math>deneme</math> | <math>deneme</math> | eşit | eşit değil}}eşit değil
{{#ifeq: {{#tag:math|deneme}} | {{#tag:math|deneme}} | eşit | eşit değil}}eşit değil
{{#ifeq: [[deneme]] | [[deneme]] | eşit | eşit değil}}eşit

Eğer karşılaştırılacak dizgeler böyle etiketler bulunduran aynı şablonları çağıracak şekilde verilirse sonuç doğru (true) olur; ama aynı etiketleri bulunduran iki farklı şablonu çağırdığında sonuç yanlıştır (false).

#iferror [edit]

Bu işlev girilen dizgeyi alarak iki sonuçtan birini gösterir; eğer girilen dizge #expr, #time ve #rel2abs işlevleri tarafından oluşturulan hatalar veya döngü hatası, özyineleme benzeri şablon hataları ve diğer kısmi ayrıştırıcı hataları gibi class="error" bulunduran HTML nesnesi içeriyorsa sonuç true (doğru) olur.

{{#iferror: sınanacak dizge | hatalıysa değeri | hatasızsa değeri }}

Dönüş değerlerinin biri veya her ikisi de ihmal edilebilir. Eğer hatasız dizgesi girilmezse, sınanacak dizge hatalı olmadığı sürece olduğu gibi göterilir. Eğer hatalı dizgesi de girilmezse, hata olması durumunda boş bir dizge gösterilir:

{{#iferror: {{#expr: 1 + 2 }} | hatalı | hatasız }}hatasız
{{#iferror: {{#expr: 1 + X }} | hatalı | hatasız }}hatalı
{{#iferror: {{#expr: 1 + 2 }} | hatalı }}3
{{#iferror: {{#expr: 1 + X }} | hatalı }}hatalı
{{#iferror: {{#expr: 1 + 2 }} }}3
{{#iferror: {{#expr: 1 + X }} }}
{{#iferror: <strong class="error">a</strong>|hatasız değil}}hatasız değil

#ifexpr [edit]

Bu işlev matematiksel bir ifadeyi değerlendirir ve boole değerine göre iki mümkün sonuçtan birini gösterir:

{{#ifexpr: ifade | doğruysa değeri | yanlışsa değeri }}

İfade girdisi, yukarıdaki #expr ile tamamen aynı şekilde ve aynı işleçler kullanılarak değerlendirilir. Çıkış değeri boole ifadesi olarak hesaplanır.

Boş bir ifade girdisi yanlış (false) sonucunu çıkarır:

{{#ifexpr: | evet | hayır}}hayır

Yukarıda bahsedildiği gibi sıfır yanlış olarak değerlendirilir ve herhangi bir sıfır dışı değer doğrudur. Bu yüzden, #ifeq ve #expr işlevlerinin ikisi birlikte, bu işlevle eşdeğer bir şekilde kullanılabilir:

{{#ifeq: {{#expr: ifade }} | 0 | yanlışsa değeri | doğruysa değeri }}

Ancak boş veya yanlış girilen ifadelerde durum değişir, hata mesajı sıradan bir dizge olarak algılanır; sıfırla denk değildir, bu yüzden bu durumda doğruysa değerini alırız.

Sonuç değerlerinin biri veya her ikisi de girilmeyebilir. Girilmeyen sonuç değeri gösterileceği zaman hiçbir şey gösterilmez:

{{#ifexpr: 1 > 0 | evet }}evet
{{#ifexpr: 1 < 0 | evet }}
{{#ifexpr: 0 = 0 | evet }}evet
{{#ifexpr: 1 > 0 | | hayır}}
{{#ifexpr: 1 < 0 | | hayır}}hayır
{{#ifexpr: 1 > 0 }}

#ifexist [edit]

Bu işlev girilen dizgeyi sayfa adı olarak yorumlar ve yerel viki üzerinde sayfanın bulunup bulunmadığına bağlı olarak iki sonuçtan birini gösterir.

{{#ifexist: sayfa adı | mevcutsa değeri | mevcut değilse değeri }}

Görünür bir içeriği olmayan (ama kategori bağlantıları veya değişkenler bulunduran), tamamen boş olan veya yönlendirme olan sayfaları, işlev true (doğru) olarak sonuç verir. Sadece kırmızı bağlantı olan sayfalar (önceden mevcut olup da sonradan silinmiş sayfalar da dahil) false (yanlış) olarak sonuç verir.

{{#ifexist: Help:Extension:ParserFunctions/tr | mevcut | mevcut değil }}mevcut
{{#ifexist: XXHelp:Extension:ParserFunctions/trXX | mevcut| mevcut değil }}mevcut değil

İşlev, değiştirilmiş sistem arayüz dosyaları ve yazılım tarafından tanımlanmış olan özel sayfalar için doğru (true) sonucunu verir.

{{#ifexist: Special:Watchlist | mevcut | mevcut değil }}mevcut
{{#ifexist: Special:CheckUser | mevcut | mevcut değil }}mevcut (çünkü bu viki üzerinde CheckUser eklentisi yüklü)
{{#ifexist: MediaWiki:Copyright | mevcut | mevcut değil }}mevcut (çünkü MediaWiki:Copyright değiştirildi)

#ifexist:, "masraflı ayrıştırıcı işlev" olarak bilinir; sayfalarda kullanım sayısı sınırlıdır (bu sayıya sayfada kullanılan şablonlarda bulunanlar da dahil). Sınır aşıldığında, sayfa Category:Pages with too many expensive parser function calls kategorisinde listelenir ve konulan diğer #ifexist: işlevleri sayfanın mevcut olup olmadığına bakmaksızın otomatik olarak yanlış (false) sonucunu çıkarır.

Eğer bir sayfa #ifexist: ile bir hedefi kontrol ederse, o sayfa hedef sayfanın Special:WhatLinksHere sayfasında listelenir. Yani eğer {{#ifexist:Deneme}} kodunu bu sayfaya (Help:Extension:ParserFunctions/tr) koyarsak, Special:WhatLinksHere/Deneme sayfasında Help:Extension:ParserFunctions/tr sayfasının adı görünür.

Paylaşılan medya depo alanı kullanan vikilerde, #ifexist: ile bir dosyanın vikinin kendisine değil de depo alanına yüklenmiş olup olmadığını kontrol edilebilir:

{{#ifexist: File:Example.png | mevcut | mevcut değil }}mevcut değil
{{#ifexist: Image:Example.png | mevcut | mevcut değil }}mevcut değil
{{#ifexist: Media:Example.png | mevcut | mevcut değil }}mevcut

Eğer dosya için yerel bir açıklama sayfası oluşturulmuşsa, yukarıdakiler için sonuç mevcut olacaktır.

#rel2abs [edit]

Bu işlev bağıl dosya yolunu tam dosya yoluna dönüştürür.

{{#rel2abs: yol }}
{{#rel2abs: yol | ana yol }}

yol bölümüne girilecekler için şu kural uygulanmalıdır:

  • . → şu anki seviye
  • .. → "bir üst seviyeye çık"
  • /deneme → "bir alt seviye olan /deneme alt dizinine git"

Eğer ana yol belirtilmemişse, yerine tam sayfa adı kullanılır:

{{#rel2abs: /quok | Help:Foo/bar/baz }}Help:Foo/bar/baz/quok
{{#rel2abs: ./quok | Help:Foo/bar/baz }}Help:Foo/bar/baz/quok
{{#rel2abs: ../quok | Help:Foo/bar/baz }}Help:Foo/bar/quok
{{#rel2abs: ../. | Help:Foo/bar/baz }}Help:Foo/bar

/. veya /./ gibi yanlış sözdizimleri yok sayılır. Arka arkaya iki noktadan fazlasına izin verilmediğinden, bunun gibi dizilimler art arda gelen ifadeleri ayırmada kullanılabilir:

{{#rel2abs: ../quok/. | Help:Foo/bar/baz }}Help:Foo/bar/quok
{{#rel2abs: ../../quok | Help:Foo/bar/baz }}Help:Foo/quok
{{#rel2abs: ../../../quok | Help:Foo/bar/baz }}quok
{{#rel2abs: ../../../../quok | Help:Foo/bar/baz }}Error: Invalid depth in path: "Help:Foo/bar/baz/../../../../quok" (tried to access a node above the root node).

#switch [edit]

Bu işlev girilen değeri birçok sınama durumuyla karşılaştırır ve eğer eşleşme bulunursa eşleşmenin bulunduğuna atanmış değeri gösterir.

{{#switch: karşılaştırılacak dizge
 | durum = sonuç
 | durum = sonuç
 | ...
 | durum = sonuç
 | varsayılan sonuç
}}

Örnek:

{{#switch: baz | foo = Foo | baz = Baz | Bar }}Baz

#switch işlevi, bir şablona konulan bilginin, farklı düzenleri olan farklı şablonlarda görünmesini sağlar.

Varsayılan [edit]

Eğer hiç bir durum, sınanacak dizge ile eşleşmezse varsayılan değer gösterilir:

{{#switch: test | foo = Foo | baz = Baz | Bar }}Bar

Bu sözdiziminde, varsayılan sonuç son parametrede olmalıdır ve eşittir işareti bulundurmamalıdır.

{{#switch: test | Bar | foo = Foo | baz = Baz }} →
{{#switch: test | foo = Foo | baz = Baz | B=ar }} →

Alternatif olarak, varsayılan sonuç açık bir şekilde, "#default", durum dizgesiyle beyan edilebilir.

{{#switch: karşılaştırılacak dizge
 | durum = sonuç
 | durum = sonuç
 | ...
 | durum = sonuç
 | #default = varsayılan sonuç
}}

Varsayılan sonuçlar bu yolla belirtildiğinde, sadece sona yerleştirilmek zorunda değildir:

{{#switch: test | foo = Foo | #default = Bar | baz = Baz }}Bar

default parametresi girilmeyip, hiçbir eşleşme olmadığında hiçbir sonuç gösterilmez:

{{#switch: test | foo = Foo | baz = Baz }}

Sonuçları gruplama [edit]

Sonuç bölümleri girilmemiş durumlar yazmak mümkündür, bu durumda durum dizgelerinin aynı sonuç dizgesini göstermelerini sağlanabilir. Bu da aynı şeylerin tekrarlanmasını en aza indirir.

{{#switch: karşılaştırılacak dizge
 | durum1 = sonuç1
 | durum2 
 | durum3 
 | durum4 = sonuç2
 | durum5 = sonuç3
 | durum6 
 | durum7 = sonuç4
 | #default = varsayılan sonuç
}}

Buradaki 2, 3 ve 4 numaralı durumların hepsi sonuç2'yi gösterir; 6 ve 7 numaralı durumların ikisi de sonuç4'ü getirir.

Karşılaştırma yöntemi [edit]

#ifeq işlevindeki gibi, eğer hem karşılaştırılacak dizge hem de durum dizgeleri sayısal değerlerden oluşuyorsa karşılaştırma sayısal olarak yapılır. Diğer durumlarda da büyük küçük harf duyarlı olarak karşılaştırılır:

{{#switch: 0 + 1 | 1 = bir | 2 = iki | üç}} → üç
{{#switch: {{#expr: 0 + 1}} | 1 = bir | 2 = iki | üç}} → bir
{{#switch: a | a = A | b = B | C}} → A
{{#switch: A | a = A | b = B | C}} → C

Bir durum dizgesi boş bırakılabilir:

{{#switch: | = Hiçbir şey | foo = Foo | Bir şey }}Hiçbir şey

Bir eşleşme bulunduğunda, takip den durumlar yok sayılır:

{{#switch: b | f = Foo | b = Bar | b = Baz | }}Bar

Eşittir işareti [edit]

"Durum" dizgeleri doğrudan eşittir işareti bulunduramaz. Bunu halletmek için, {{=}} isimli bir şablon oluşturun ve bu şablonun içine sadece eşittir işareti koyun: =. Böylece eşittir işaretini dolaylı yoldan eklemiş olursunuz.

Örnek:

{{#switch: 1=2
 | 1=2 = doğrudan
 | 1<nowiki>=</nowiki>2 = nowiki ile
 | 1&#61;2 = html ile
 | 1{{=}}2 = şablon ile
 | deneme }}şablon ile

Not Not: Bu işlevin uygulamalı olarak kullanımını görmek için, Template:NBA color şablonuna bakın. Daha karmaşık örnekler için Template:Extension ve Template:BOTREQ sayfalarına bakabilirsiniz.

#time [edit]

Not: Bu bölümde kullanılacak ay isimleri, hata oluşmaması için site diliyle uyumlu olması gerektiğinde İngilizce olacaktır. Vikiniz için seçtiğiniz dile göre ay adlarını vs. kendi dilinizde yazmalısınız.
Kod Açıklama Çıkış değeri
(güncellemek için sayfanın belleğini tazeleyin)
Yıl
Y 4 haneli yıl. 2013
y 2 haneli yıl. 13
L Artık yıl olup olmamasına göre 1 veya sıfır 0
o ¹ ISO-8601 yıl numarası. ² 2013 ³

¹ PHP 5.1.0 ve üstü, ayrıca rev:45208 gerektirir.
² Bu değer Y ile aynı değerdir, tek fark eğer ISO hafta numarası (W) önceki veya sonraki yıla aitse o yılın gösterilmesidir.
³ Eğer ¹'deki koşul sağlanmıyorsa yazılı olarak o sonucu gösterilir.

Ay
n Ay dizini, başında sıfır olmadan. 5
m Ay dizini, başında sıfır ile birlikte. 05
M Site diline bağlı olarak ay kısaltması. May
F Site diline göre tam ay adı. May
xg Ay adının, site dilinin tamlayan eki almış haliyle yalın halini ayıtt etmesi durumunda, tamlayan eki (-in) almış hali. Polonyaca:

(yalın)

{{#time:d F Y|20 June 2010}} → 20 czerwiec 2010

(tamlayan eki almış hal)

{{#time:d xg Y|20 June 2010}} → 20 czerwca 2010

Hafta
W ISO 8601 hafta numarası, başına sıfır getirilmiş halde. 19
Gün
j Ay içindeki gün numarası, başına sıfır getirilmemiş halde. 12
d Ay içindeki gün numarası, başına sıfır getirilmiş halde. 12
z Yıl içindeki gün numarası (January 1 = 0)
Not Not: Yıl içindeki ISO gün numarası için sonuca 1 ekleyin.
131
D Haftanın günlerinin kısaltması. Nadiren yerelleştirilir. Sun
l Haftanın günleri. Nadiren yerelleştirilir. Sunday
N ISO 8601'e göre haftanın günleri. 7
w Hafta içindeki günün numarası (Pazartesi = 1). 0
Saat
a Sabah saatlerinde "am" (00:00:00 → 11:59:59), diğer vakitler "pm""(12:00:00 → 23:59:59) pm
A Yukarıdaki a'nın büyük harfli versiyonu. PM
g 12 saatlik düzende saat, başına sıfır getirilmemiş halde. 11
h 12 saatlik düzene göre saat, başına sıfır getirilmiş. 11
G 24 saatlik düzende saat, başına sıfır getirilmemiş halde. 23
H 24 saatlik düzende saat, başına sıfır getirilmiş halde. 23
Dakikalar ve saniyeler
i Dakika, başına sıfır getirilmiş 14
s Saniye, başına sıfır getirilmiş 12
U 1 Ocak 1970 00:00:00 GMT tarihinden beri geçmiş toplam saniye. 1368400452
Çeşitli
L Gregoryan takvimine göre eğer artık yılsa 1, değilse 0 0
t Ay içindeki gün sayısı. 31
c ISO 8601 düzeninde tarih, Y-m-dTH:i:s+00:00 ile eşdeğerdir. 2013-05-12T23:14:12+00:00
r RFC 2822 düzeninde tarih D, j M Y H:i:s +0000 ile eşdeğerdir, fakat gün ve ay ad yerelleştirilmemiştir. Sun, 12 May 2013 23:14:12 +0000
Gregoryan-dışı takvimler
İran
xij Ay içindeki gün numarası 22
xiF Tam ay adı Ordibehesht
xin Ay dizini 2
xiY Tam yil 1392
İbrani
xjj Ay içindeki gün 3
xjF Tam ay adı Sivan
xjx Ay adının tamlayan eki almış hali Sivan
xjn Ay numarası 9
xjY Tam yıl 5773
Thai solar
xkY Tam yıl 2556
Bayraklar
xn Takip eden sayısal kodu ham ASCII karakterine dönüştür. In the Hindi language, {{#time:H, xnH}} produces ०६, 06
xN xn'ye benzerdir; ama açlır kaparnırdır, yani dizge sonlanana kadar veya dizgede ikinci sefer xN görünene kadar etkindir.
xr Takip eden sayıyı roma rakamlarına dönüştürür. Sadece 3000'e kadar olan sayılar için uygulanabilir. {{#time:xrY}} → MMXIII

Bu ayrıştırıcı işlev bir tarihi ve/veya zaman dilimini alarak girilen sözdizimine göre düzenler. Bir tarih/zaman nesnesi belirtilebilir; varsayılan değer {{CURRENTTIMESTAMP}} değişkenininin değeridir – bu değer sayfanın HTML olarak görüntülendiği en son zamanı gösterir.

{{#time: biçim dizgesi }}
{{#time: biçim dizgesi | tarih/zaman nesnesi }}

Kabul edilen biçim dizgesi sağdaki tabloda verilmiştir. Biçim dizgesindeki herhangi bir tanınmayan karakter değiştirilmeden atlanır. Ayrıca biçimlenecek dizgeye kaçak karakter girmenin iki yolu vardır:

  1. Biçimleyici karakterden önce \ karakteri konulursa, normal bir harf olarak algılanır
  2. Tırnak işaretleri arasına konulan biçimleyici karakter normal harf olarak değerlendirilir ve görüntülenirken tırnak işaretleri silinir.

xx şeklinde çift yazılan harfler bir adet normal "x" harfi olarak algılanır.

{{#time: Y-m-d }}2013-05-12
{{#time: [[Y]] m d }}2013 05 12
{{#time: [[Y (yıl)]] }}2013 (13ıSunday)
{{#time: [[Y "(yıl)"]] }}2013 (yıl)
{{#time: i's" }}14'12"

tarih/zaman nesnesi PHP'nin strtotime() işlevi tarafından kabul edilen herhangi bir formatta olabilir. Hem salt (mesela 20 Aralık 2000) hem de bağıl (mesela +20 hours) zaman belirtilebilir.

{{#time: r|now}}Sun, 12 May 2013 23:14:12 +0000
{{#time: r|+2 hours}}Mon, 13 May 2013 01:14:12 +0000
{{#time: r|now + 2 hours}}Mon, 13 May 2013 01:14:12 +0000

Eğer Unix zaman damgası hesapladıysanız, tarih hesaplamalarında önüne @ sembolü ekleyerek kullanabilirsiniz.

{{#time: U | now }}1368400452
{{#time: r|@1368400452}}Sun, 12 May 2013 23:14:12 +0000

Uyarı Uyarı: Kabul edilen giriş değerleri 1 Ocak 0100 → 31 Aralık 9999 aralığındadır. Bu aralık dışındaki değerler anlaşılmaz:

{{#time: d F Y | 15 April 0099 }}15 April 0099
{{#time: d F Y | 15 April 10000 }}Error: Invalid time.

Tam veya kısmi salt tarihler belirtilebilir; işlev girilmeyen değerleri otomatik olarak şu anki değerlerle 'dolduracaktır':

{{#time: Y | January 1 }}2013
Uyarı Uyarı: Otomatik doldurma özelliği sürekli bir özellik değildir; bazı bölümler şu anki değerlerle doldurulur ama bazıları doldurulmaz:

{{#time: Y m d H:i:s | June }}2013 06 12 00:00:00Günün başlangıcını verir, ama ayın şu anki gününü ve şu anki yılı vermez.
{{#time: Y m d H:i:s | 2003 }}2003 05 12 00:00:00 Günün başlangıcını verir, ama yılın şu anki gününü vermez.

MediaWiki r86805 - Code Review ile birlikte, dört haneli sayılar her zaman yıl olarak yorumlanır, asla saat ve dakika olarak yorumlanmaz:
{{#time: Y m d H:i:s | 1959 }}1959 05 12 00:00:00

Altı haneli bir sayı saat, dakika ve saniye olarak (eğer mümkünse), başka türlü ise hata olarak algılanır (yıl ve ay olarak algılanmaz mesela):
{{#time: Y m d H:i:s | 195909 }}2013 05 12 19:59:09 yıl+zaman yerine saat, dakika, saniye olarak algılanır
{{#time: Y m d H:i:s | 196009 }}Error: Invalid time. 19:60:09 geçerli bir zaman olmamasına rağmen Eylül 1960 olarak algılanmaz.

Bu işlev belirli bir miktarda tarih aritmetiği gerçekleştirebilir:

{{#time: d F Y | January 0 2008 }}31 December 2007
{{#time: d F | January 32 }}Error: Invalid time.
{{#time: d F | February 29 2008 }}29 February
{{#time: d F | February 29 2007 }}01 March


#timel [edit]

Bu işlev {{#time: ... }} işlevinin eşidir, tek fark bu işlevin hiçbir tarih girilmediğinde $wgLocaltimezone ile ayarlanmış olan vikinin yerel zamanını kullanmasıdır.

{{#time: Y-m-d }}2013-05-12
{{#timel: Y-m-d }}2013-05-12
{{#time: Y F d h:i:s}}2013 May 12 11:14:12
{{#timel: Y F d h:i:s}}2013 May 12 11:14:12

#titleparts [edit]

Bu işlev sayfa adını, sayfa adındaki eğik çizgilere göre parçalara ayırır ve çıkış metni olarak bu parçaların belirlenen kadarını gösterir.

{{#titleparts: sayfa adı | gösterilecek parça sayısı | gösterilmeye başlanacak ilk parça }}

Yani eğer:

{{#titleparts: x | a | b }}

yazılırsa, "x isimli sayfanın b numaralı parçasından başlanarak a tane parçası" gösterilir.

Eğer gösterilecek parça sayısı parametresi tanımlanmazsa "0" değeri varsayılır, yani tüm parçalar gösterilir. gösterilmeye başlanacak ilk parça belirtilmezse veya "0" olarak belirtilirse, "1" olduğu varsayılır:

{{#titleparts: Talk:Foo/bar/baz/quok }}Talk:Foo/bar/baz/quok
{{#titleparts: Talk:Foo/bar/baz/quok | 1 }}Talk:Foo
{{#titleparts: Talk:Foo/bar/baz/quok | 2 }}Talk:Foo/bar
{{#titleparts: Talk:Foo/bar/baz/quok | 2 | 2 }}bar/baz

İki parametre için de negatif değerler kabul edilir. parça sayısı için negatif değer girilirse, girilen değer kadar parça sondan eksiltilir. gösterilmeye başlanacak ilk parça için negatif değer girilirse parçalar sondan "girilen değer kadar önceki" parçadan başlanarak sayılır:

{{#titleparts: Talk:Foo/bar/baz/quok | -1 }}Talk:Foo/bar/baz
{{#titleparts: Talk:Foo/bar/baz/quok | | -1 }}quok
{{#titleparts: Talk:Foo/bar/baz/quok | -1 | 2 }}bar/baz Sondan 1 parça eksiltilir, ikinci parçadan başlanarak kalan parçalar gösterilir.

{{#titleparts: Talk:Foo/bar/baz/quok | -1 | -2 }}baz Sondan 1 parça eksiltilir, Sondan iki önceki parçadan başlanarak kalan parçalar gösterilir.

Girilen değer en fazla 25 parçadan oluşabilir, fazla konulan eğik çizgiler yok sayılır. Ayrıca dizgenin karakter sınırı 255'tir, zaten bir sayfa adının karakter limiti de aynıdır:

{{#titleparts: a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/aa/bb/cc/dd/ee | 1 | 25 }}y/z/aa/bb/cc/dd/ee

Uyarı Uyarı:

  1. titleparts işlevini küçük bir "dizge ayrıştırıcı ve dönüştürücü" olarak kullanabilirsiniz; ama dizgenin gösterilen ilk parçası büyük harfle gösterilir, eğer küçük harfli olması gerekiyorsa çıkış metnini kontrol altına almak için lc: işlevini kullanın.
{{#titleparts: bir/iki/üç/dört|1|1 }}Bir
{{#titleparts: bir/iki/üç/dört|1|2 }}iki
{{lc:{{#titleparts: bir/iki/üç/dört|1|1 }} }}bir

Genel noktalar [edit]

Sonuç metnini aktarma [edit]

Ayrıştırıcı işlevlerin kullanıldığında sadece sonuç metnini aktarmaları sağlanabilir (Bkz: w:Help:Substitution. Bunun için ilgili işlevi yazarken {{'den sonra subst: yazın:

{{subst:#ifexist: Help:Extension:ParserFunctions/tr | [[Help:Extension:ParserFunctions/tr]] | Help:Extension:ParserFunctions/tr }} → sayfa kaydedilince [[Help:Extension:ParserFunctions/tr]] kodu eklenecektir, çünkü bu sayfa mevcut.
Uyarı Uyarı: Sonucu aktarılmış ayrıştırıcı işlevler, değişkenler veya diğer ayrıştırıcı işlevler gibi sonucu aktarılamayan geçici kodlar bulunduruyorsa tanımsız olur. Sürekli sonuçlar için ifadedeki tüm geçici kodların içeriği de aktarılmalıdır. Help:Substitution sayfasına bakın.

Tablolar [edit]

Ayrıştırıcı işlevler vikitablo sözdizimini farklı algılamaktadır, doğrudan yazılmış tüm pipet (dik çizgi, pipe) karakterlerini işlev ayracı olarak algılamaktadırlar. Bunu önlemek için çoğu vikide, sadece bir pipet karakteri içeren Template:! şablonunu oluşturulmuştur. Bu işlemle pipet karakteri, tüm şablonlar ve değişkenler kapatılana kadar MediaWiki ayrıştırıcısından gizlenmiş olur. Alternatif olarak doğrudan HTML tablo sözdizimi kullanılabilir; ancak bu yöntem kolay anlaşılabilir değildir ve daha çok hata vermeye yatkındır.

Aralıklama karakterlerinin kırpılması [edit]

Satır başı karakteri ve boşluklar, bu ayrıştırıcı işlevlerin tüm parametrelerin başından ve sonundan kırpılır. Eğer bu karakterler gerekliyse, herhangi aralıklama dışı karakterler (aralıklama karakteri için kullanılan HTML kodlaması, sıfır genişlikli boşluklar, yönlendirme karakterleri gibi görünmez Unicode karakterleri ve <nowiki /> gibi MediaWiki ayrıştırıcısı tarafından algılanarak kırpılan dizilimler) daha fazla kırpmayı önleyecektir:

{{#ifeq: deneme            |            deneme | eş | eş değil }}
{{#ifeq: &#32;deneme           &#32; | &#32;           deneme&#32; | eş | eş değil }}
eş değil
{{#ifeq: <nowiki />deneme           <nowiki /> | <nowiki />           deneme<nowiki /> | eş | eş değil }}
eş değil
{{#ifeq: <nowiki />deneme<nowiki /> | <nowiki />deneme<nowiki /> | eş | eş değil }}
eş değil

Ayrıca bakınız [edit]

Dil: English  • Deutsch • Zazaki • español • français • मराठी • português • português do Brasil • svenska • ไทย • Türkçe