BU DERSİN BAŞLIKLARI
load_theme_textdomain( string $textdomain, string $dizin = false )
Açıklaması:
Temanızın metinlerini tercüme edilmiş olarak getirir. Eğer, temanızın ana dizininde, ziyaretçinizin diline ait bir .mo
dosyası varsa, temanız ziyaretçinizin dilinde açılacaktır. Fonksiyonun, tercüme edilmiş metinleri bulurken kullandığı anahtar $textdomain
olacaktır.
Tercüme için kullanılacak .mo
dosyasının ismi ait olduğu dilin dil kodu olmalıdır. Aşağıda bazı diller için uygun olan .mo
dosyası adlarını verilmiştir:
- Fransızca için:
fr_FR.mo
- Amerikan İngilizcesi için :
en_US.mo
- Türkçe için:
tr_TR.mo
Parametreleri
$textdomain
(Zorunludur.) Tercüme edilmiş metinleri getirmek için gereken kimlik değeridir. Eşsiz olmalıdır. Türkçe karakter ve boşluk içermemelidir.
$dizin
Tercüme edilmiş metinlerinizi içeren .mo
dosyasının dizinidir. Varsayılan olarak false
değeri ayarlanmıştır.
Bu parametreyi varsayılan değeri ile bırakırsanız, load_theme_textdomain()
fonksiyonu, .mo
dosyasını, temanızın ana dizininde arayacaktır.
Döndürdüğü değer:
(bool) Tercüme edilen metin doğru bir şekilde yüklenirse true
aksi halde false
değerini döndürür.
Kaynak kodu:
Dizini : wp-includes/l10n.php
function load_theme_textdomain( $domain, $path = false ) {
/**
* Filters a theme's locale.
*
* @since 3.0.0
*
* @param string $locale The theme's current locale.
* @param string $domain Text domain. Unique identifier for retrieving translated strings.
*/
$locale = apply_filters( 'theme_locale', determine_locale(), $domain );
$mofile = $domain . '-' . $locale . '.mo';
// Try to load from the languages directory first.
if ( load_textdomain( $domain, WP_LANG_DIR . '/themes/' . $mofile ) ) {
return true;
}
if ( ! $path ) {
$path = get_template_directory();
}
return load_textdomain( $domain, $path . '/' . $locale . '.mo' );
}
Kullanımı:
Örnek-1
Load_theme_textdomain()
fonksiyonu, functions.php
dosyasında ve temel olarak şu şekilde kullanılır:
add_action('after_setup_theme', 'ilktemam_setup');
/**
* ilktemam için tercümeleri yükler
* Tercüme dosyası (.mo) dizini için varsayılan olarak yavru tema dizinindeki languages klasörü gösterilmiştir.
*/
function ilktemam_setup(){
load_theme_textdomain('ilktemam_textdomain', get_theme_file_path() . '/languages');
}