Online Kimya Özel Dersi Al

ÜCRET

KONU

TARİH

_n()

WordPress Fonksiyonları
_n( string $tekil, string $çoğul, int $sayısı, string $textdomain = 'default' )

Açıklaması:

_n() fonksiyonu, WordPress temasına, bir kelimenin tekil ve çoğul kullanımını öğretir.

Türkçe dilinde, bir yazı için yapılan yorum sayısını ifade ederken; “1 yorum” ile “10 yorum” arasında, “yorum” kelimesinin yazımı açısından bir fark yoktur. Bu yüzden, Türkçe olarak kullanılacak bir tema için çok da gerekli bir fonksiyon değildir, fakat, İngilizce dilinin doğasında var olan, kelimelerin tekil ve çoğul kullanımları arasındaki yazım farkı için gerekli bir fonksiyondur.

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)

$sayısı

(intZorunludur.) Büyüklüğün sayısıdır.

$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 'default' 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:

Tekil veya çoğul kullanımıyla, tercüme edilmiş bir text döndürür.

Kaynak kodu:

Dizini : wp-includes/l10n.php

function _n( $single, $plural, $number, $domain = 'default' ) {
    $translations = get_translations_for_domain( $domain );
    $translation  = $translations->translate_plural( $single, $plural, $number );
 
    /**
     * Filters the singular or plural form of a string.
     *
     * @since 2.2.0
     *
     * @param string $translation Translated text.
     * @param string $single      The text to be used if the number is singular.
     * @param string $plural      The text to be used if the number is plural.
     * @param string $number      The number to compare against to use either the singular or plural form.
     * @param string $domain      Text domain. Unique identifier for retrieving translated strings.
     */
    return apply_filters( 'ngettext', $translation, $single, $plural, $number, $domain );
}

Kullanımı:

_n() fonksiyonu, Türkçe dili için olmadı için, aşağıda vereceğimiz örnekler, İngilizce dili üzerinden olacaktır.

Örnek-1

_n() fonksiyonunun temel kullanımı şöyledir:

<?php
echo _n( 'Commment', 'Comments', 5, 'textdomain' );
?>

Yukarıdaki kodun çıktısı şöyle olacaktır.

Comments

Örnek-2

_n() fonksiyonunun temel kullanımına bir başka örnek şöyledir:

<?php
$yorum_sayisi = 5;
echo $yorum_sayisi. ' '. _n( 'Commnet', 'Coemments', $yorum_sayisi, 'textdomain' );
?>

Yukarıdaki kodun çıktısı şöyle olacaktır.

5 Comments

Örnek-3

_n() fonksiyonu ile, WordPress döngüsü içinde ya da tek yazılara ait bir şablon dosyasında, bir yazı için yapılan yorum sayısını, tercümeye hazır bir şekilde gösteriyoruz:

<?php
$yorum_sayisi = get_comments_number();
echo $yorum_sayisi. ' ' . _n( 'Commnet', 'Coemments', $yorum_sayisi, 'textdomain' );
?>

Eğer yazıya hiç yorum yapılmamışsa, yukarıdaki kodun çıktısı şöyle olacaktır:

0 Comments

Eğer yazıya 1 adet yorum yapılmışsa, yukarıdaki kodun çıktısı şöyle olacaktır:

1 Comment

Eğer yazıya 1’den fazla (mesela 12 adet) yorum yapılmışsa, yukarıdaki kodun çıktısı şöyle olacaktır:

12 Comments

Örnek-4

Örnek-3‘teki kodu, ID değerini bildiğimiz (19) bir yazı için kullanıyoruz:

<?php
$yorum_sayisi = get_comments_number(19);
echo $yorum_sayisi. ' ' . _n( 'Commnet', 'Coemments', $yorum_sayisi, 'textdomain' );
?>

Örnek-5

Örnek-3‘te verilen kodun yaptığı işi, printf() fonksiyonunu kullanarak da yapabiliriz:

$yorum_sayisi = get_comments_number();
printf( _n( '%s Comment', '%s Comments', $yorum_sayisi, 'textdomain' ), number_format_i18n( $yorum_sayisi ) );

Ya da aynı işi sprintf() fonksiyonu ile şöyle yapabiliriz:

$yorum_sayisi = get_comments_number();
echo sprintf( _n( '%s Comment', '%s Comments', $yorum_sayisi, 'textdomain' ), number_format_i18n( $yorum_sayisi ) );

Örnek-6

Aşağıdaki örnek, tekil ve çoğul kurallarına göre ve tercümeye hazır bir şekilde, star (yıldız) sayısını gösterir:

$yildizlar = '3';
 
$text = sprintf( _n( '%s star', '%s stars', $yildizlar, 'textdomain' ), $yildizlar );

echo $text;

// Çıktı: 3 stars

DERSİN SONU

Kimya Özel Dersi Al

Yorum yaparak bize destek olabilirsiniz.

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu kadar HTML serbest:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>