BU DERSİN BAŞLIKLARI
_n_noop( string $tekil, string $çoğul, string $textdomain = null )
Açıklaması:
Bir kelimenin tekil ve çoğul halini, tercüme etmeden fakat gerektiğinde tercümeye uygun halde kullanmak üzere, POT dosyasına kaydetmeye yarar. _n_noop() fonksiyonu ile kaydettiğimiz kelimenin tekil ve çoğul yazımı, daha sonra, bildiğimiz bir sayı için, tercümeye hazır halde kullanabiliriz.
Parametreleri:
$tekil
(Zorunludur.) Bir büyüklüğün, sayısı 1 olduğu zamanki yazımıdır.
Örnek: “Comment” (yorum)
$çoğul
(Zorunludur.) Bir büyüklüğün, sayısı 1 den çok az olduğu zamanki yazımıdır.
Örnek: “Comments” (yorumlar)
$textdomain
Her temanın, diğer temalardan farklı bir textdomain değeri vardır. Textdomainler, WordPress’in, tema ya da eklentiye özgü tercümeleri saptayabilmesini sağlar, farklı temaların ya da eklentilerin tercümelerinin birbirine karışmasını engeller.
Varsayılan değeri null olarak ayarlanmıştır.
Temanıza özel bir $textdomain değeri oluşturmayı öğrenmek için, Textdomain Parametresi başlığımızı okuyabilirsiniz.
Döndürdüğü değer:
_n_noop() fonksiyonu, bir kelimenin tekil ve çoğul yazılımlarını barındıran bir dizi döndürür.
$yorumlar = _n_noop( '%s comment', '%s comments', 'textdomain' );
Yukarıda oluşturulan $yorumlar değişkenini ekrana bastırdığımızda (var_dump($yorumlar)), şöyle bir dizi ile karşılaşırız:
array(6) {
[0]=> string(10) "%s comment"
[1]=> string(11) "%s comments"
["singular"]=> string(10) "%s comment"
["plural"]=> string(11) "%s comments"
["context"]=> NULL
["domain"]=> string(10) "textdomain"
}
Kaynak kodu:
Dizini : wp-includes/l10n.php
function _n_noop( $singular, $plural, $domain = null ) {
return array(
0 => $singular,
1 => $plural,
'singular' => $singular,
'plural' => $plural,
'context' => null,
'domain' => $domain,
);
}
Kullanımı:
Aşağıdaki örnekler, WordPress döngüsü içinde veya tek yazı şablonlarında çalışır. Çünkü örneklerde get_comments_number() fonksiyonunda bir ID değeri belirtilmemiştir ve fonksiyon o anda ekranda olan ya da döngüde sırası gelen içeriğin ID değerini kullanacaktır. Bu fonksiyona bir ID değeri belirtirseniz, aşağıdaki örnekler bütün şablon dosyalarınızda çalışacaktır.
Örnek-1
_n_noop() fonksiyonunun temel kullanımına bir örnektir:
<?php
$yorumlar = _n_noop( '%s comment', '%s comments', 'textdomain' );
$yorum_sayisi = get_comments_number();
// İlgili yazının yorum sayısını gösterir
printf( _n($yorumlar[0], $yorumlar[1], $yorum_sayisi, 'textdomain'), $yorum_sayisi );
?>
Örnek-2
_n_noop() fonksiyonunun temel kullanımına bir başka örnektir:
<?php
$yorumlar = _n_noop( '%s comment', '%s comments', 'textdomain' );
$yorum_sayisi = get_comments_number();
// İlgili yazının yorum sayısını gösterir
printf( _n($yorumlar['singular'], $yorumlar['plural'], $yorum_sayisi, 'textdomain'), $yorum_sayisi );
?>
Örnek-3
_n_noop() fonksiyonunun translate_nooped_plural() fonksiyonu ile birlikte kullanımına bir örnektir:
<?php
$yorumlar = _n_noop( '%s comment', '%s comments', 'textdomain' );
$yorum_sayisi = get_comments_number();
// İlgili yazının yorum sayısını gösterir
printf( translate_nooped_plural( $yorumlar, $yorum_sayisi, 'textdomain' ), number_format_i18n( $yorum_sayisi ) );
?>