{"id":3745,"date":"2019-07-09T00:25:54","date_gmt":"2019-07-08T21:25:54","guid":{"rendered":"https:\/\/sitecenneti.com\/wordpress\/?p=3745"},"modified":"2019-07-15T17:37:46","modified_gmt":"2019-07-15T14:37:46","slug":"4-17-temayi-tercumeye-hazirlama-internationalization","status":"publish","type":"post","link":"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/4-17-temayi-tercumeye-hazirlama-internationalization\/","title":{"rendered":"4.17 Temay\u0131 Terc\u00fcmeye Haz\u0131rlama (Internationalization)"},"content":{"rendered":"<div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">BU DERS\u0130N BA\u015eLIKLARI<\/p><ul class=\"toc_list\"><li><a href=\"#Temayi_Tercumeye_Hazir_Halde_Kodlama\"><span class=\"toc_number toc_depth_1\">1<\/span> Temay\u0131 Terc\u00fcmeye Haz\u0131r Halde Kodlama<\/a><ul><li><a href=\"#Tercumeye_Hazir_Textler_Olusturan_Fonksiyonlar\"><span class=\"toc_number toc_depth_2\">1.1<\/span> Terc\u00fcmeye Haz\u0131r Textler Olu\u015fturan Fonksiyonlar<\/a><\/li><li><a href=\"#Tercumeye_Hazir_Textler\"><span class=\"toc_number toc_depth_2\">1.2<\/span> Terc\u00fcmeye Haz\u0131r Textler<\/a><\/li><\/ul><\/li><li><a href=\"#8220Textdomain8221_Parametresi\"><span class=\"toc_number toc_depth_1\">2<\/span> &#8220;Textdomain&#8221; Parametresi<\/a><ul><li><a href=\"#I-_Temel_Stil_Dosyasi_stylecss\"><span class=\"toc_number toc_depth_2\">2.1<\/span> I- Temel Stil Dosyas\u0131: style.css<\/a><ul><li><a href=\"#Domain_Path\"><span class=\"toc_number toc_depth_3\">2.1.1<\/span> Domain Path<\/a><\/li><\/ul><\/li><li><a href=\"#II-_Tercumeye_Hazir_Textler_Olusturan_Fonksiyonlari\"><span class=\"toc_number toc_depth_2\">2.2<\/span> II- Terc\u00fcmeye Haz\u0131r Textler Olu\u015fturan Fonksiyonlar\u0131<\/a><\/li><li><a href=\"#III-_Tercumeleri_Yukleme\"><span class=\"toc_number toc_depth_2\">2.3<\/span> III- Terc\u00fcmeleri Y\u00fckleme<\/a><\/li><li><a href=\"#Ornek-1\"><span class=\"toc_number toc_depth_2\">2.4<\/span> \u00d6rnek-1<\/a><\/li><li><a href=\"#Ornek-2\"><span class=\"toc_number toc_depth_2\">2.5<\/span> \u00d6rnek-2<\/a><\/li><\/ul><\/li><li><a href=\"#Guvenli_Tercume\"><span class=\"toc_number toc_depth_1\">3<\/span> G\u00fcvenli Terc\u00fcme<\/a><\/li><li><a href=\"#Sayilarin_Tercumesi\"><span class=\"toc_number toc_depth_1\">4<\/span> Say\u0131lar\u0131n Terc\u00fcmesi<\/a><\/li><li><a href=\"#Tarih_Textinin_Tercumesi\"><span class=\"toc_number toc_depth_1\">5<\/span> Tarih Textinin Terc\u00fcmesi<\/a><\/li><li><a href=\"#Degisken_Iceren_Textlerin_Tercumesi\"><span class=\"toc_number toc_depth_1\">6<\/span> De\u011fi\u015fken \u0130\u00e7eren Textlerin Terc\u00fcmesi<\/a><ul><li><a href=\"#Printf_veya_Sprintf_Fonksiyonlarinda_Kullanilan_Yer_Tutucular\"><span class=\"toc_number toc_depth_2\">6.1<\/span> Printf() veya Sprintf() Fonksiyonlar\u0131nda Kullan\u0131lan Yer Tutucular<\/a><ul><li><a href=\"#Yer_tutuculara_belli_bir_format_vermemizi_saglayan_yardimci_elemanlar\"><span class=\"toc_number toc_depth_3\">6.1.1<\/span> Yer tutuculara belli bir format vermemizi sa\u011flayan yard\u0131mc\u0131 elemanlar:<\/a><\/li><\/ul><\/li><li><a href=\"#Birden_Cok_Degisken_Iceren_Textlerin_Tercumesi\"><span class=\"toc_number toc_depth_2\">6.2<\/span> Birden \u00c7ok De\u011fi\u015fken \u0130\u00e7eren Textlerin Terc\u00fcmesi<\/a><ul><li><a href=\"#Tek_Tirnak_8211_Cift_Tirnak_Farki\"><span class=\"toc_number toc_depth_3\">6.2.1<\/span> Tek T\u0131rnak &#8211; \u00c7ift T\u0131rnak Fark\u0131<\/a><\/li><\/ul><\/li><\/ul><\/li><li><a href=\"#Tekil_8211_Cogul_Hallerin_Tercumesi\"><span class=\"toc_number toc_depth_1\">7<\/span> Tekil &#8211; \u00c7o\u011ful Hallerin Terc\u00fcmesi<\/a><\/li><li><a href=\"#Sonraya_Birakilan_Tekil_8211_Cogul_Tercumesi\"><span class=\"toc_number toc_depth_1\">8<\/span> Sonraya B\u0131rak\u0131lan Tekil &#8211; \u00c7o\u011ful Terc\u00fcmesi<\/a><\/li><li><a href=\"#Kelime_Anlami_Ile_Ilgili_Not_Birakma\"><span class=\"toc_number toc_depth_1\">9<\/span> Kelime Anlam\u0131 \u0130le \u0130lgili Not B\u0131rakma<\/a><\/li><li><a href=\"#Tercumanlara_Not_Birakma\"><span class=\"toc_number toc_depth_1\">10<\/span> Terc\u00fcmanlara Not B\u0131rakma<\/a><\/li><li><a href=\"#Satir_Basi_Newline_Karakteri\"><span class=\"toc_number toc_depth_1\">11<\/span> Sat\u0131r Ba\u015f\u0131 (Newline) Karakteri<\/a><\/li><li><a href=\"#JavaScript_Kodlarindaki_Textlerin_Tercumesi\"><span class=\"toc_number toc_depth_1\">12<\/span> JavaScript Kodlar\u0131ndaki Textlerin Terc\u00fcmesi<\/a><\/li><li><a href=\"#Tercumeye_En_Uygun_Metinler\"><span class=\"toc_number toc_depth_1\">13<\/span> Terc\u00fcmeye En Uygun Metinler<\/a><\/li><\/ul><\/div>\n\n<p>T\u00fcrk\u00e7e dilini kullanmayan \u00fclkeleri d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcm\u00fczde ve sitemizi d\u00fcnyaya a\u00e7mak istedi\u011fimizde, internet sitemizin ba\u015fka dillerde, \u00f6zellikle de \u0130ngilizce dilinde yay\u0131n yapmas\u0131n\u0131n \u00f6nemi ortaya \u00e7\u0131kar.<\/p>\n\n\n\n<p>Biz bu ba\u015fl\u0131kta, WordPress temam\u0131z\u0131 nas\u0131l terc\u00fcme edece\u011fimizi de\u011fil, terc\u00fcmeye haz\u0131r bir \u015fekilde nas\u0131l kodlayaca\u011f\u0131m\u0131z\u0131 a\u00e7\u0131klayaca\u011f\u0131z. Bu dersi anlad\u0131\u011f\u0131n\u0131zda, haz\u0131rlad\u0131\u011f\u0131n\u0131z tema, \u00f6z\u00fcne dokunmadan, eklentiler veya terc\u00fcmanlar yard\u0131m\u0131 ile rahat\u00e7a terc\u00fcme edilebilecektir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Temayi_Tercumeye_Hazir_Halde_Kodlama\">Temay\u0131 Terc\u00fcmeye Haz\u0131r Halde Kodlama<\/span><\/h2>\n\n\n\n<p>Terc\u00fcmeye haz\u0131rlama kavram\u0131, \u0130ngilizce dilinde &#8220;<em>internationalization<\/em>&#8221; kelimesine kar\u015f\u0131l\u0131k gelir. Bu kelime de<strong> i18n<\/strong> \u015feklinde k\u0131salt\u0131l\u0131r. <em>i18n<\/em> ifadesi,  <em>internationalization<\/em> kelimesinin ba\u015f\u0131 ve sonundaki <em>i<\/em> ve <em>n<\/em> harfleri ile bu ikisi aras\u0131ndaki <em>18<\/em> harf d\u00fc\u015f\u00fcn\u00fclerek olu\u015fturulmu\u015ftur.<\/p>\n\n\n\n<p>Temalarda terc\u00fcme gerektiren yerler metinler, bir ba\u015fka ifade ile textlerdir. Dolay\u0131s\u0131yla, bir temay\u0131 terc\u00fcmeye haz\u0131r halde kodlamak demek, temam\u0131zda ge\u00e7en metinleri terc\u00fcmeye haz\u0131r halde kodlamak demektir.<\/p>\n\n\n\n<p>Bir metni, terc\u00fcmeye haz\u0131r halde kodlamak, tamamen bu i\u015f i\u00e7in \u00fcretilmi\u015f WordPress fonksiyonlar\u0131n\u0131n marifetidir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Tercumeye_Hazir_Textler_Olusturan_Fonksiyonlar\">Terc\u00fcmeye Haz\u0131r Textler Olu\u015fturan Fonksiyonlar<\/span><\/h3>\n\n\n\n<p>A\u015fa\u011f\u0131da verilen fonksiyonlar, textleri, sadece terc\u00fcmeye haz\u0131r halde kodlamaya de\u011fil, ayn\u0131 zamanda, terc\u00fcme i\u015flemi bitti\u011finde, terc\u00fcme edilmi\u015f bir bi\u00e7imde getirmeye yararlar.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" aria-label=\"__() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/__\/\" target=\"_blank\">__()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_e() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_e\/\" target=\"_blank\">_e()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_n() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_n\/\" target=\"_blank\">_n()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_x() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_x\/\" target=\"_blank\">_x()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_ex() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_ex\/\" target=\"_blank\">_ex()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_nx() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_nx\/\" target=\"_blank\">_nx()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_n_noop() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_n_noop\/\" target=\"_blank\">_n_noop()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"_nx_noop() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_nx_noop\/\" target=\"_blank\">_nx_noop()<\/a><\/li><li><a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/translate_nooped_plural\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"translate_nooped_plural() (yeni sekmede a\u00e7\u0131l\u0131r)\">translate_nooped_plural()<\/a><\/li><\/ul>\n\n\n\n<p>Mesela, \u015fablon dosyam\u0131zda \u015f\u00f6yle bir ba\u015fl\u0131k kodlad\u0131\u011f\u0131m\u0131z\u0131 varsayal\u0131m:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1>WordPress Tema Yap\u0131m\u0131&lt;\/h1><\/code><\/pre>\n\n\n\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcm\u00fcz ba\u015fl\u0131ktaki &#8220;<em>WordPress Tema Yap\u0131m\u0131<\/em>&#8221; textini terc\u00fcme etmek istedi\u011fimizde, bu HTML eleman\u0131n\u0131n bulundu\u011fu <a rel=\"noreferrer noopener\" aria-label=\"\u015fablon dosyas\u0131n\u0131 (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/2-1-sablon-template-dosyalari\/\" target=\"_blank\">\u015fablon dosyas\u0131n\u0131<\/a> bulup a\u00e7mak ve manuel olarak terc\u00fcme etmek zorunday\u0131z. Daha sonra ba\u015fka bir dile terc\u00fcme etmek gerekti\u011finde de, yine ayn\u0131 i\u015flemi uygulamam\u0131z gerekecektir. Fakat, ayn\u0131 HTML eleman\u0131n\u0131 \u015fu \u015fekilde kodlarsak:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1>&lt;?php echo __('WordPress Tema Yap\u0131m\u0131', 'textdomain'); ?>&lt;\/h1><\/code><\/pre>\n\n\n\n<p>veya \u015fu \u015fekilde kodlarsak:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1>&lt;?php _e('WordPress Tema Yap\u0131m\u0131', 'textdomain'); ?>&lt;\/h1><\/code><\/pre>\n\n\n\n<p>ba\u015fl\u0131\u011f\u0131m\u0131z\u0131, terc\u00fcmeye haz\u0131r olarak kodlam\u0131\u015f oluruz. Ve bir terc\u00fcmeye ihtiyac\u0131m\u0131z oldu\u011funa, bu ba\u015fl\u0131\u011f\u0131n bulundu\u011fu <a rel=\"noreferrer noopener\" aria-label=\"\u015fablon dosyas\u0131n\u0131 (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/2-1-sablon-template-dosyalari\/\" target=\"_blank\">\u015fablon dosyas\u0131n\u0131<\/a> bulup, tekrar d\u00fczenlemeye hi\u00e7 ihtiyac\u0131m\u0131z kalmaz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Tercumeye_Hazir_Textler\">Terc\u00fcmeye Haz\u0131r Textler<\/span><\/h3>\n\n\n\n<p>A\u015fa\u011f\u0131da belirtilen metinler terc\u00fcmeye uygundur:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$textim = __('WordPress Tema Yap\u0131m\u0131', 'textdomain');<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>echo __('WordPress Tema Yap\u0131m\u0131', 'textdomain');<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>_e('WordPress Tema Yap\u0131m\u0131', 'textdomain');<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"8220Textdomain8221_Parametresi\">&#8220;Textdomain&#8221; Parametresi<\/span><\/h2>\n\n\n\n<p>Terc\u00fcmeye haz\u0131r textler i\u00e7in kulland\u0131\u011f\u0131m\u0131z fonksiyonlar\u0131n ikinci parametresi, bir <code>'textdomain'<\/code>dir.  Textdomainler, bizim belirledi\u011fimiz, T\u00fcrk\u00e7e karakter ve bo\u015fluk i\u00e7ermeyen <code>string<\/code> (text) tipindeki ifadelerdir.<\/p>\n\n\n\n<p>Her teman\u0131n, di\u011fer temalardan farkl\u0131 bir textdomain de\u011feri vard\u0131r. Textdomainler, WordPress&#8217;in, tema ya da eklentiye \u00f6zg\u00fc terc\u00fcmeleri saptayabilmesini sa\u011flar, farkl\u0131 temalar\u0131n ya da eklentilerin terc\u00fcmelerinin birbirine kar\u0131\u015fmas\u0131n\u0131 engeller.<\/p>\n\n\n\n<p>Teman\u0131z\u0131, <code>https:\/\/wordpress.org\/themes\/<\/code> adresinde ve terc\u00fcme edilmi\u015f bir \u015fekilde depolamak istiyorsan\u0131z, teman\u0131z\u0131n textdomain de\u011feri, URL ifadesinin sonunda bulunan link ad\u0131 ile ayn\u0131 olmal\u0131d\u0131r. Mesela, teman\u0131z\u0131n URL ifadesi <code>https:\/\/wordpress.org\/themes\/benim-temam<\/code> \u015feklinde ise, textdomaini de <code>'benim-temam'<\/code> olmal\u0131d\u0131r.<\/p>\n\n\n\n<p>Textdomain ifadesi, genellikle, temaya verilen ad ile ayn\u0131 olacak \u015fekilde ayarlan\u0131r. Textdomain ifadeleri, tire (-) i\u015fareti ve k\u00fc\u00e7\u00fck harflerden olu\u015fabilir, alt tire ve b\u00fcy\u00fck harfler i\u00e7ermemelidir.<\/p>\n\n\n\n<p>Bir temam\u0131z olsun, <code>benim-temam<\/code> adl\u0131 bir klas\u00f6rde olu\u015fturulmu\u015f olsun ya da <code>style.css<\/code> dosyas\u0131nda <strong>Benim temam<\/strong> olarak kaydedilmi\u015f olsun. Bu tema i\u00e7in, olu\u015fturulabilecek textdomain ifadelerinin do\u011fru ve yanl\u0131\u015f \u015fekilleri \u015f\u00f6yledir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>'benim-temam'<\/code> : Do\u011fru<\/li><li><code>'Benim-temam'<\/code> : Yanl\u0131\u015f<\/li><li><code>'benim_temam'<\/code> : Yanl\u0131\u015f<\/li><\/ul>\n\n\n\n<p>Bir WordPress temas\u0131nda, textdomain ifadesi \u00fc\u00e7 farkl\u0131 yerde kullan\u0131l\u0131r:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Teman\u0131n <a rel=\"noreferrer noopener\" aria-label=\"emal stil dosyas\u0131 (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-tema-yapimi\/2-2-temel-stil-dosyasi-style-css\/\" target=\"_blank\">temel stil dosyas\u0131<\/a> olan <code>style.css<\/code> dosyas\u0131nda<\/li><li>Terc\u00fcmeye haz\u0131r textler olu\u015fturan fonksiyonlarda<\/li><li>Temam\u0131za terc\u00fcmeleri y\u00fcklemek i\u00e7in kulland\u0131\u011f\u0131m\u0131z, <a rel=\"noreferrer noopener\" aria-label=\"load_theme_textdomain() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/load_theme_textdomain\/\" target=\"_blank\">load_theme_textdomain()<\/a> ve  <a rel=\"noreferrer noopener\" aria-label=\"load_child_theme_textdomain() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/load_child_theme_textdomain\/\" target=\"_blank\">load_child_theme_textdomain()<\/a> fonksiyonlar\u0131nda parametre olarak<\/li><\/ol>\n\n\n\n<p>Texdomainin kullan\u0131ld\u0131\u011f\u0131 bu 3 yeri s\u0131ras\u0131yla g\u00f6relim:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"I-_Temel_Stil_Dosyasi_stylecss\">I- Temel Stil Dosyas\u0131: style.css<\/span><\/h3>\n\n\n\n<p>Temel stil dosyas\u0131, her teman\u0131n zorunlu iki dosyas\u0131ndan biridir ve ad\u0131 her zaman <code>style.css<\/code> olarak verilir.<\/p>\n\n\n\n<p><code>Style.css<\/code> dosyalar\u0131 her zaman, \u00e7oklu bir PHP yorumu ile ba\u015flar ve bu yorum k\u0131sm\u0131nda tema hakk\u0131nda meta bilgiler bulunur. Bu meta bilgilerden biri de teman\u0131n <em>textdomain<\/em> ifadesidir. S\u0131ras\u0131yla; <em>teman\u0131n ad\u0131<\/em>, <em>yazar\u0131<\/em> ve <em>textdomain<\/em> ifadesinden olu\u015fan meta bilgileri ile birlikte, <code>style.css<\/code> dosyas\u0131n\u0131n yorum k\u0131sm\u0131 \u015funa benzer:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\n* Theme Name: Benim Temam\n* Author: Ad\u0131m SOYADIM\n* Text Domain: benim-temam\n*\/<\/code><\/pre>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"Domain_Path\">Domain Path<\/span><\/h4>\n\n\n\n<p><code>Style.css<\/code> dosyas\u0131nda verilebilen bir di\u011fer meta bilgisi de, <strong>Domain Path<\/strong> yani dil dosyalar\u0131m\u0131z\u0131n bar\u0131nd\u0131r\u0131ld\u0131\u011f\u0131 klas\u00f6r\u00fcn ad\u0131d\u0131r. E\u011fer dil dosyalar\u0131m\u0131z\u0131, <code>languages<\/code> de\u011fil de ba\u015fka bir isimde bir klas\u00f6r\u00fcn i\u00e7inde bar\u0131nd\u0131rmak istersek, <em>Domain Path<\/em> metas\u0131 ile bu klas\u00f6r\u00fcn ad\u0131n\u0131 WordPress&#8217;e \u00f6\u011fretiyoruz. \u00c7\u00fcnk\u00fc, WordPress, varsay\u0131lan olarak dil dosyalar\u0131m\u0131z\u0131, temam\u0131z\u0131n ana dizininde ve <code>languages<\/code> klas\u00f6r\u00fcnde arar. A\u015fa\u011f\u0131da <em>Domain Path<\/em> metas\u0131 ile birlikte bir <code>style.css<\/code> dosyas\u0131 \u00f6rne\u011fi verilmi\u015ftir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\n* Theme Name: Benim Temam\n* Author: Ad\u0131m SOYADIM\n* Text Domain: benim-temam\n* Domain Path: \/languages\n*\/<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"II-_Tercumeye_Hazir_Textler_Olusturan_Fonksiyonlari\">II- Terc\u00fcmeye Haz\u0131r Textler Olu\u015fturan Fonksiyonlar\u0131<\/span><\/h3>\n\n\n\n<p>Bu ba\u015fl\u0131kta bahsedilen fonksiyonlar\u0131 hat\u0131rlamak i\u00e7in <a href=\"#Tercumeye_Hazir_Textler_Olusturan_Fonksiyonlar\">yukar\u0131ya<\/a> bakabilirsiniz.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"III-_Tercumeleri_Yukleme\">III- Terc\u00fcmeleri Y\u00fckleme<\/span><\/h3>\n\n\n\n<p>Temam\u0131z\u0131 terc\u00fcme ederken olu\u015fturdu\u011fumuz <code>.mo<\/code> ve <code>.po<\/code> dosyalar\u0131n\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in y\u00fcklenmesi gerekir. Bu dosyalar\u0131n y\u00fcklenmesi i\u00e7in kullan\u0131lan iki adet fonksiyon vard\u0131r. Bu fonksiyonlar \u015funlard\u0131r:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/load_theme_textdomain\/\" target=\"_blank\">Load_theme_textdomain()<\/a>: Ana tema i\u00e7in olu\u015fturdu\u011fumuz terc\u00fcme dosyas\u0131n\u0131 y\u00fckler.<\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/load_child_theme_textdomain\/\" target=\"_blank\">Load_child_theme_textdomain()<\/a>: Yavru tema i\u00e7in olu\u015fturdu\u011fumuz terc\u00fcme dosyas\u0131n\u0131 y\u00fckler.<\/li><\/ol>\n\n\n\n<p>Bu fonksiyonlar\u0131n dil dosyalar\u0131n\u0131z\u0131 do\u011fru y\u00fckleyebilmesi i\u00e7in, dil dosyalar\u0131n ad\u0131n\u0131 do\u011fru koyman\u0131z gerekmektedir. Dil dosyalar\u0131n\u0131z\u0131n ad\u0131n\u0131 koyarken \u015funlara dikkat etmelisiniz:<\/p>\n\n\n\n<p>I- Terc\u00fcme dosyan\u0131z (<code>.mo<\/code>), tema dizininde ise, dosyan\u0131z\u0131n adland\u0131rma format\u0131 \u015fu \u015fekilde olmal\u0131d\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{dil_kodu}.mo<\/code><\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131da bu formatta verilmi\u015f \u00f6rnekler vard\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Frans\u0131zca i\u00e7in:&nbsp;<code>fr_FR.mo<\/code><\/li><li>Amerikan \u0130ngilizcesi i\u00e7in : &nbsp;<code>en_US.mo<\/code><\/li><li>T\u00fcrk\u00e7e i\u00e7in:&nbsp;<code>tr_TR.mo<\/code><\/li><\/ul>\n\n\n\n<p>II- Terc\u00fcme dosyan\u0131z (<code>.mo<\/code>), tema dizininizde de\u011fil de, WordPress&#8217;in terc\u00fcmeler i\u00e7in kulland\u0131\u011f\u0131  <code>\/wp-content\/languages\/themes\/<\/code> dizininde ise, dil dosyan\u0131z\u0131n adland\u0131rma format\u0131 \u015fu \u015fekilde olmal\u0131d\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{textdomain}-{dil_kodu}.mo<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Ornek-1\">\u00d6rnek-1<\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/load_theme_textdomain\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Load_theme_textdomain() (yeni sekmede a\u00e7\u0131l\u0131r)\">Load_theme_textdomain()<\/a>&nbsp;fonksiyonu,&nbsp;<code>functions.php<\/code>&nbsp;dosyas\u0131nda ve temel olarak \u015fu \u015fekilde kullan\u0131l\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_action('after_setup_theme', 'ilktemam_setup');\n \n\/**\n * ilktemam i\u00e7in terc\u00fcmeleri y\u00fckler\n * Terc\u00fcme dosyas\u0131 (.mo) dizini i\u00e7in varsay\u0131lan olarak tema dizinindeki languages klas\u00f6r\u00fc g\u00f6sterilmi\u015ftir.\n *\/\nfunction ilktemam_setup(){\n    load_theme_textdomain('ilktemam-textdomain', get_theme_file_path() . '\/languages');\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Ornek-2\">\u00d6rnek-2<\/span><\/h3>\n\n\n\n<p><a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/load_child_theme_textdomain\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Load_child_theme_textdomain() (yeni sekmede a\u00e7\u0131l\u0131r)\">Load_child_theme_textdomain()<\/a>&nbsp;fonksiyonu,&nbsp;<code>functions.php<\/code>&nbsp;dosyas\u0131nda ve temel olarak \u015fu \u015fekilde kullan\u0131l\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_action('after_setup_theme', 'ilktemam_setup');\n \n\/**\n * ilktemam i\u00e7in terc\u00fcmeleri y\u00fckler\n * Terc\u00fcme dosyas\u0131 (.mo) dizini i\u00e7in varsay\u0131lan olarak yavru tema dizinindeki languages klas\u00f6r\u00fc g\u00f6sterilmi\u015ftir.\n *\/\nfunction ilktemam_setup(){\n    load_child_theme_textdomain('ilktemam-textdomain', get_theme_file_path() . '\/languages');\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Guvenli_Tercume\">G\u00fcvenli Terc\u00fcme<\/span><\/h2>\n\n\n\n<p>Metinleri terc\u00fcme haz\u0131rlayan fonksiyonlar\u0131n, g\u00fcvenlik \u00f6nlemleri ile geli\u015ftirilmi\u015f halleri de vard\u0131r. Bu fonksiyonlar, terc\u00fcme i\u015flemi esnas\u0131nda olu\u015fabilecek g\u00fcvenlik zaafiyetlerini veya hatalar\u0131 engellerler. Bahsetti\u011fimiz bu fonksiyonlar \u015funlard\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a rel=\"noreferrer noopener\" aria-label=\"esc_html__() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/esc_html__\/\" target=\"_blank\">esc_html__()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"esc_html_e() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/esc_html_e\/\" target=\"_blank\">esc_html_e()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"esc_html_x() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/esc_html_x\/\" target=\"_blank\">esc_html_x()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"esc_attr__() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/esc_attr__\/\" target=\"_blank\">esc_attr__()<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"esc_attr_e() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/esc_attr_e\/\" target=\"_blank\">esc_attr_e()<\/a><\/li><li><a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/esc_attr_x\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"esc_attr_x() (yeni sekmede a\u00e7\u0131l\u0131r)\">esc_attr_x()<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Sayilarin_Tercumesi\">Say\u0131lar\u0131n Terc\u00fcmesi<\/span><\/h2>\n\n\n\n<p>Say\u0131lar\u0131n yaz\u0131m bi\u00e7imi, \u00f6zellikle ondal\u0131k say\u0131lar\u0131n yaz\u0131m bi\u00e7imi, \u00fclkeden \u00fclkeye de\u011fi\u015febilmektedir. WordPress, bu durumu g\u00f6z \u00f6n\u00fcne alarak, metinler gibi, say\u0131lar\u0131 da terc\u00fcme edecek bir fonksiyon \u00fcretmi\u015ftir. Bu fonksiyon \u015fudur:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/number_format_i18n\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"number_format_i18n() (yeni sekmede a\u00e7\u0131l\u0131r)\">number_format_i18n()<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Tarih_Textinin_Tercumesi\">Tarih Textinin Terc\u00fcmesi<\/span><\/h2>\n\n\n\n<p>G\u00fcn isimleri, hafta isimleri, belki de baz\u0131 diller i\u00e7in, tarih ifade eden textin tamam\u0131, terc\u00fcme gerektiren tarih elemanlar\u0131d\u0131r. WordPress, bir tarih textindeki elemanlar\u0131, sitenin diline g\u00f6re, otomatik olarak terc\u00fcme eden \u015fu fonksiyon ile birlikte gelir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/date_i18n\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"date_i18n() (yeni sekmede a\u00e7\u0131l\u0131r)\">date_i18n()<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Degisken_Iceren_Textlerin_Tercumesi\">De\u011fi\u015fken \u0130\u00e7eren Textlerin Terc\u00fcmesi<\/span><\/h2>\n\n\n\n<p>PHP de\u011fi\u015fkeni i\u00e7eren metinler, temalarda s\u0131k\u00e7a kullan\u0131lan ifadelerdir. A\u015fa\u011f\u0131da b\u00f6yle bir metin verilmi\u015ftir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"Ho\u015fgeldiniz $uye_adi.\";\n\/\/ veya ayn\u0131 metni \u015f\u00f6yle de yazabiliriz\necho 'Ho\u015fgeldiniz '. $uye_adi;<\/code><\/pre>\n\n\n\n<p>De\u011fi\u015fkenli metinleri, terc\u00fcmeye haz\u0131r olarak kodlamak i\u00e7in, <a rel=\"noreferrer noopener\" aria-label=\"prinf() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/www.php.net\/manual\/tr\/function.printf.php\" target=\"_blank\">prinf()<\/a> veya <a rel=\"noreferrer noopener\" aria-label=\"sprintf() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/www.php.net\/manual\/tr\/function.sprintf.php\" target=\"_blank\">sprintf()<\/a> fonksiyonlar\u0131ndan yararlan\u0131l\u0131r. Bu iki fonksiyon, WordPress&#8217;in de\u011fil, PHP diline ait fonksiyonlard\u0131r.<\/p>\n\n\n\n<p>Bu fonksiyonlar, metinlerin i\u00e7ine, de\u011fi\u015fkenler i\u00e7in yer tutucular yerle\u015ftirmemize izin verir.<\/p>\n\n\n\n<p>\u00d6rne\u011fe dikkat edelim:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf( __( 'Ho\u015fgeldiniz %s.', 'ilktemam' ), $uye_adi );<\/code><\/pre>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\"Printf() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/www.php.net\/manual\/tr\/function.printf.php\" target=\"_blank\">Printf()<\/a> fonksiyonunun ilk parametresi, yer tutucu (<code>%s<\/code>) ile birlikte ve terc\u00fcmeye haz\u0131r \u015fekilde bir metindir, ikinci parametresi ise yer tutucu ifadenin yerine ge\u00e7ecek de\u011fi\u015fken olur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Printf_veya_Sprintf_Fonksiyonlarinda_Kullanilan_Yer_Tutucular\">Printf() veya Sprintf() Fonksiyonlar\u0131nda Kullan\u0131lan Yer Tutucular<\/span><\/h3>\n\n\n\n<p>Yer tutucular, \u00f6zel bir tak\u0131m ifadelerdir ve belli baz\u0131 karakterlerden olu\u015furlar. Yerini tuttuklar\u0131 de\u011fi\u015fkenin tipine ba\u011fl\u0131 olarak, karakter yap\u0131lar\u0131 da de\u011fi\u015fmektedir.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131da, <a rel=\"noreferrer noopener\" href=\"https:\/\/www.php.net\/manual\/tr\/function.printf.php\" target=\"_blank\">prinf()<\/a> veya <a rel=\"noreferrer noopener\" href=\"https:\/\/www.php.net\/manual\/tr\/function.sprintf.php\" target=\"_blank\">sprintf()<\/a> fonksiyonlar\u0131nda kullan\u0131lan yer tutucular\u0131n olu\u015ftu\u011fu karakterler ve anlamlar\u0131 verilmi\u015ftir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>%% &#8211; Bir y\u00fczde (%) i\u015fareti d\u00f6nd\u00fcr\u00fcr<\/li><li>%b &#8211; Binary (ikilik) tipinde bir say\u0131n\u0131n yerini tutar<\/li><li>%c &#8211; ASCII de\u011ferine uygun herhangi bir karakterin yerini tutar<\/li><li>%d &#8211; Bir tam say\u0131n\u0131n yerini tutar (negatif, s\u0131f\u0131r veya pozitif bir say\u0131)<\/li><li>%e &#8211; K\u00fc\u00e7\u00fck harf kullanarak, bilimsel bir ifadenin yerini tutar (\u00f6rn. 1.2e+2)<\/li><li>%E &#8211; B\u00fcy\u00fck harf kullanarak, bilimsel bir ifadenin yerini tutar (\u00f6rn. 1.2E+2)<\/li><li>%u &#8211; Pozitif tam say\u0131lar\u0131n yerini tutar. (s\u0131f\u0131r ve s\u0131f\u0131rdan b\u00fcy\u00fck say\u0131lar)<\/li><li>%f &#8211; K\u00fcs\u00fcrl\u00fc veya noktal\u0131 (floating-point) say\u0131lar\u0131n yerini tutar (yerel dile uygun olarak terc\u00fcme eder)<\/li><li>%F &#8211;  K\u00fcs\u00fcrl\u00fc veya noktal\u0131 (floating-point) say\u0131lar\u0131n yerini tutar (terc\u00fcme etmez)<\/li><li>%g &#8211; %e ve %f yer tutucular\u0131n\u0131n k\u0131saltmas\u0131d\u0131r<\/li><li>%G &#8211; %E ve %f yer tutucular\u0131n\u0131n k\u0131saltmas\u0131d\u0131r <\/li><li>%o &#8211; Sekizlik tabanda bir say\u0131n\u0131n yerini tutar<\/li><li>%s &#8211; String (text) tipinde bir de\u011fi\u015fkenin yerini tutar<\/li><li>%x &#8211; 16 tabanl\u0131 bir say\u0131n\u0131n yerini tutar. (k\u00fc\u00e7\u00fck harfler ile)<\/li><li>%X &#8211; 16 tabanl\u0131 bir say\u0131n\u0131n yerini tutar. (b\u00fcy\u00fck harfler ile)<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"Yer_tutuculara_belli_bir_format_vermemizi_saglayan_yardimci_elemanlar\">Yer tutuculara belli bir format vermemizi sa\u011flayan yard\u0131mc\u0131 elemanlar:<\/span><\/h4>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n\n\n\n<p>Yer tutucular ile birlikte kullan\u0131lan ve yer tutucunun belli bir tak\u0131m \u00f6zellikler kazanmas\u0131n\u0131 sa\u011flayan baz\u0131 PHP i\u015faretleri vard\u0131r. Bu i\u015faretler yer tutucunun % i\u015fareti ile harfi aras\u0131nda kullan\u0131l\u0131r. A\u015fa\u011f\u0131da, bahsetti\u011fimiz bu i\u015faretler ve anlamlar\u0131 verilmi\u015ftir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>+ i\u015fareti:  Say\u0131n\u0131n \u00f6n\u00fcnde + veya &#8211; i\u015faretinin g\u00f6r\u00fcnmesini sa\u011flar. Varsay\u0131lan olarak, say\u0131lar\u0131n \u00f6n\u00fcnde, varsa, sadece &#8211; i\u015faretleri g\u00f6r\u00fcn\u00fcr.<\/li><li>&#8216; i\u015fareti: Bo\u015fluk olarak ne kullanaca\u011f\u0131m\u0131z\u0131 belirler. Varsay\u0131lan bo\u015fluk de\u011feri bo\u015f karakterdir. Geni\u015flik belirtilerek kullan\u0131lmal\u0131d\u0131r. (\u00d6rnek: <code>%'x20s<\/code> yer tutucusunda, de\u011fi\u015fkenden gelen textin minimum uzunlu\u011fu 20 karakter olacak \u015fekilde ayarlan\u0131r ve bu uzunlu\u011fa eri\u015fmesi i\u00e7in bo\u015fluk eklemek gerekiyorsa da bo\u015fluk karakteri olarak &#8220;x&#8221; harfi kullan\u0131l\u0131r.)<\/li><li>&#8211; i\u015fareti: De\u011fi\u015fkenin de\u011ferini sola yaslayarak g\u00f6sterir.<\/li><li>[0-9] t\u00fcm say\u0131lar: De\u011fi\u015fkenin de\u011ferinin almas\u0131 gereken minimum uzunlu\u011fu ifade eder.<\/li><li>.[0-9] \u015feklinde t\u00fcm say\u0131lar: Ondal\u0131k say\u0131lar\u0131n uzunlu\u011funu veya textin maksiumum uzunlu\u011funu belirler.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><span id=\"Birden_Cok_Degisken_Iceren_Textlerin_Tercumesi\">Birden \u00c7ok De\u011fi\u015fken \u0130\u00e7eren Textlerin Terc\u00fcmesi<\/span><\/h3>\n\n\n\n<p>Birden \u00e7ok de\u011fi\u015fkenli metinleri, terc\u00fcmeye haz\u0131r olarak kodlamak i\u00e7in de <a rel=\"noreferrer noopener\" aria-label=\"prinf() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/www.php.net\/manual\/tr\/function.printf.php\" target=\"_blank\">prinf()<\/a> veya <a rel=\"noreferrer noopener\" aria-label=\"sprintf() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/www.php.net\/manual\/tr\/function.sprintf.php\" target=\"_blank\">sprintf()<\/a> fonksiyonlar\u0131ndan yararlan\u0131l\u0131r. \u00c7oklu yer tutucu i\u00e7eren textlerde ka\u00e7 tane yer tutucu varsa, textin ard\u0131ndan, fonksiyona, o kadar parametre daha eklenir.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki kodda iki farkl\u0131 de\u011fi\u015fken i\u00e7in iki yer tutucu kullan\u0131lm\u0131\u015ft\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n$siparis_no = 12345;\n\nprintf( __( 'Ho\u015fgeldiniz say\u0131n %s. Sipari\u015f numaran\u0131z: %u', 'ilktemam' ), $uye_adi, $siparis_no );\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n Ad\u0131m SOYADIM. Sipari\u015f numaran\u0131z: 12345<\/code><\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131daki \u00f6rnekte ayn\u0131 tipten iki yer tutucu kullan\u0131lm\u0131\u015ft\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n$il = 'BEN\u0130M \u0130L\u0130M';\nprintf( __( 'Ho\u015fgeldiniz say\u0131n %s. Kay\u0131tl\u0131 oldu\u011funuz il: %s', 'ilktemam' ), $uye_adi, $il );\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n Ad\u0131m SOYADIM. Kay\u0131tl\u0131 oldu\u011funuz il: BEN\u0130M \u0130L\u0130M<\/code><\/pre>\n\n\n\n<p>Peki ayn\u0131 kodu, <code>printf()<\/code> fonksiyonundaki de\u011fi\u015fkenlerin yerlerini de\u011fi\u015ftirerek kullan\u0131rsak ne olur:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n$il = 'BEN\u0130M \u0130L\u0130M';\nprintf( __( 'Ho\u015fgeldiniz say\u0131n %s. Kay\u0131tl\u0131 oldu\u011funuz il: %s', 'ilktemam' ), $il, $uye_adi);\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n BEN\u0130M \u0130L\u0130M. Kay\u0131tl\u0131 oldu\u011funuz il: Ad\u0131m SOYADIM<\/code><\/pre>\n\n\n\n<p>B\u00f6yle bir hatadan kurtulmak i\u00e7in yer tutuculara <code>1$<\/code>, <code>2$<\/code>, <code>3$<\/code>&#8230; \u015feklinde numaralar verebiliriz. Bu numaralar, textin i\u00e7inde s\u0131rayla verilmese bile, de\u011fi\u015fkenleri her zaman bir numaral\u0131 olandan ba\u015flayarak numara s\u0131ras\u0131na g\u00f6re yer de\u011fi\u015ftirir. Yani, ilk de\u011fi\u015fken, her zaman numaras\u0131 1$ olan yer tutucu ile, ikinci de\u011fi\u015fken numaras\u0131 2$ olan yer tutucu ile&#8230; yer de\u011fi\u015ftirir. Bu durumu \u015f\u00f6yle de ifade edebiliriz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf( 'yer %2$s tutucu i\u00e7eren text %1$s', $bir_numarali_yer_tutucuya_ait, $iki_numarali_yer_tutucuya_ait, .... )<\/code><\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131daki \u00f6rne\u011fe dikkat edelim:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n$il = 'BEN\u0130M \u0130L\u0130M';\nprintf( __( 'Ho\u015fgeldiniz say\u0131n %2$s. Kay\u0131tl\u0131 oldu\u011funuz il: %1$s', 'ilktemam' ), $il, $uye_adi);\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n Ad\u0131m SOYADIM. Kay\u0131tl\u0131 oldu\u011funuz il: BEN\u0130M \u0130L\u0130M<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><span id=\"Tek_Tirnak_8211_Cift_Tirnak_Farki\">Tek T\u0131rnak &#8211; \u00c7ift T\u0131rnak Fark\u0131<\/span><\/h4>\n\n\n\n<p>Yer tutuculara numara verdi\u011fimizde, bu yer tutucular\u0131n textlerini tek t\u0131rnak i\u00e7ine almam\u0131z gerekmektedir. \u00c7\u00fcnk\u00fc, \u00e7ift t\u0131rnak i\u00e7inde iken PHP <code>$s<\/code> ifadesini bir de\u011fi\u015fken olarak de\u011ferlendirir, yer tutucu olarak anlamaz.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki \u00f6rnekte, yer tutucular \u00e7al\u0131\u015fmaz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n$il = 'BEN\u0130M \u0130L\u0130M';\nprintf( __( \"Ho\u015fgeldiniz say\u0131n %2$s. Kay\u0131tl\u0131 oldu\u011funuz il: %1$s\", 'ilktemam' ), $il, $uye_adi);\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n Kay\u0131tl\u0131 oldu\u011funuz il:<\/code><\/pre>\n\n\n\n<p>\u0130lle de \u00e7ift t\u0131rnak kullanmak istersek, ka\u00e7ma i\u015fareti (\\) i\u015fimizi g\u00f6recektir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n$il = 'BEN\u0130M \u0130L\u0130M';\nprintf( __( \"Ho\u015fgeldiniz say\u0131n %2\\$s. Kay\u0131tl\u0131 oldu\u011funuz il: %1\\$s\", 'ilktemam' ), $il, $uye_adi);\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n Ad\u0131m SOYADIM. Kay\u0131tl\u0131 oldu\u011funuz il: BEN\u0130M \u0130L\u0130M<\/code><\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131daki kod, \u00e7al\u0131\u015f\u0131r fakat terc\u00fcme i\u00e7in uygun de\u011fildir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$uye_adi = \"Ad\u0131m SOYADIM\";\n_e( \"Ho\u015fgeldiniz say\u0131n $uye_adi\", \"ilktemam\" );\n\n\/\/ \u00c7\u0131kt\u0131s\u0131\n\/\/ Ho\u015fgeldiniz say\u0131n Ad\u0131m SOYADIM<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Tekil_8211_Cogul_Hallerin_Tercumesi\">Tekil &#8211; \u00c7o\u011ful Hallerin Terc\u00fcmesi<\/span><\/h2>\n\n\n\n<p>\u00d6zellikle \u0130ngilizce diline terc\u00fcme ederken, bir kelimenin tekil kullan\u0131m\u0131 ile \u00e7o\u011ful kullan\u0131m\u0131n\u0131 ayr\u0131 ayr\u0131 terc\u00fcme etmemiz gerekmektedir. WordPress&#8217;in sundu\u011fu <a rel=\"noreferrer noopener\" aria-label=\"_n() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_n\/\" target=\"_blank\">_n()<\/a> fonksiyonu, bu i\u015fi, kelimenin \u00f6n\u00fcndeki say\u0131ya g\u00f6re, dinamik olarak yapmaktad\u0131r.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131da, yorum (comment) say\u0131s\u0131na g\u00f6re, &#8220;<em>comment<\/em>&#8221; kelimesini tekil ya da \u00e7o\u011ful durumuna g\u00f6re terc\u00fcme eden bir \u00f6rnek verilmi\u015ftir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf(\n    _n(\n        '%s comment',\n        '%s comments',\n         get_comments_number(),\n        'ilktemam'\n    ),\n    number_format_i18n( get_comments_number() )\n);\n\n\/\/ \u00c7\u0131kt\u0131 (5 yorum varken)\n\/\/ 5 comments\n\n\/\/ \u00c7\u0131kt\u0131 (1 yorum varken)\n\/\/ 1 comment<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Sonraya_Birakilan_Tekil_8211_Cogul_Tercumesi\">Sonraya B\u0131rak\u0131lan Tekil &#8211; \u00c7o\u011ful Terc\u00fcmesi<\/span><\/h2>\n\n\n\n<p>Bir kelimeyi, tekil ve \u00e7o\u011ful halleri ile birlikte POT dosyas\u0131na kaydedip, gerekti\u011finde terc\u00fcme etmek de m\u00fcmk\u00fcnd\u00fcr. WordPress bunun i\u00e7in, <a rel=\"noreferrer noopener\" aria-label=\"_n_noop() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_n_noop\/\" target=\"_blank\">_n_noop()<\/a> ve <a rel=\"noreferrer noopener\" aria-label=\"_nx_noop() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_nx_noop\/\" target=\"_blank\">_nx_noop()<\/a> fonksiyonlar\u0131n\u0131 geli\u015ftirmi\u015ftir.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki kod, &#8220;<em>comment<\/em>&#8221; kelimesinin tekil ve \u00e7o\u011ful yap\u0131s\u0131n\u0131 POT dosyas\u0131na kaydeder.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$comments_tercumeleri = _n_noop(\n    '%s comment.',\n    '%s comments.'\n);<\/code><\/pre>\n\n\n\n<p>&#8220;<em>Comment<\/em>&#8221; kelimesini, tekil ve \u00e7o\u011ful yap\u0131lar\u0131 ile terc\u00fcme etmek i\u00e7in, <code>$comments_tercumeleri<\/code> de\u011fi\u015fkenini,  <a rel=\"noreferrer noopener\" aria-label=\"translate_nooped_plural() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/translate_nooped_plural\/\" target=\"_blank\">translate_nooped_plural()<\/a> fonksiyonunda, ilk parametre olarak kullanmam\u0131z yeterlidir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf(\n    translate_nooped_plural(\n        $comments_tercumeleri,\n        get_comments_number(),\n        'ilktemam'\n    ),\n    number_format_i18n( get_comments_number() )\n);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Kelime_Anlami_Ile_Ilgili_Not_Birakma\">Kelime Anlam\u0131 \u0130le \u0130lgili Not B\u0131rakma<\/span><\/h2>\n\n\n\n<p>T\u00fcrk\u00e7e&#8217;de e\u015fsesli yani farkl\u0131 anlamlar\u0131 olan fakat ayn\u0131 \u015fekilde yaz\u0131lan kelimeler, ba\u015fka bir dile terc\u00fcme edilirken her anlam\u0131 i\u00e7in farkl\u0131 kelimeler ile terc\u00fcme edilmeleri gerekir. B\u00f6yle kelimeler i\u00e7in, terc\u00fcme ediciye, hangi anlam\u0131 ile terc\u00fcme edilece\u011fine dair bir ipucu vermek do\u011fru bir terc\u00fcme a\u00e7\u0131s\u0131ndan \u00e7ok faydal\u0131 olacakt\u0131r. WordPress tam da bu i\u015f i\u00e7in kullan\u0131lan <a rel=\"noreferrer noopener\" aria-label=\"_x() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_x\/\" target=\"_blank\">_x()<\/a> ve <a rel=\"noreferrer noopener\" aria-label=\"_ex() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/_ex\/\" target=\"_blank\">_ex()<\/a> fonksiyonlar\u0131n\u0131 \u00fcretmi\u015ftir.<\/p>\n\n\n\n<p>A\u015fa\u011f\u0131da, y\u00fcz kelimesi ipu\u00e7lar\u0131na uygun terc\u00fcmeleriyle kullan\u0131lm\u0131\u015ft\u0131r:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>_x( 'Y\u00fcz', 'say\u0131 olarak', 'ilktemam' );\n_x( 'Y\u00fcz', 'v\u00fccudun par\u00e7as\u0131 olarak', 'ilktemam' );<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Tercumanlara_Not_Birakma\">Terc\u00fcmanlara Not B\u0131rakma<\/span><\/h2>\n\n\n\n<p>Terc\u00fcme yapan ki\u015filerin i\u015fini kolayla\u015ft\u0131rmak ad\u0131na, terc\u00fcmeye haz\u0131rlanan textlere, ba\u015f\u0131nda <code>translators:<\/code> ifadesi olan bir PHP yorumu \u015feklinde not b\u0131rakmak iyi bir al\u0131\u015fkanl\u0131kt\u0131r. B\u0131rakt\u0131\u011f\u0131n\u0131z bu notlar, teman\u0131n POT dosyas\u0131nda g\u00f6r\u00fcnecek ve terc\u00fcmana yard\u0131mc\u0131 olacakt\u0131r. A\u015fa\u011f\u0131da bu \u015fekilde bir kod verilmi\u015ftir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf(\n    \/* translators: 1:Bir \u015fehir ad\u0131d\u0131r 2:Kullan\u0131c\u0131 ismidir *\/\n    __( 'Merhaba say\u0131n %2$s, kay\u0131tl\u0131 oldu\u011funuz \u015fehir %1$s \u015fehridir.', 'ilktemam' ),\n    $sehir,\n    $isim\n);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Satir_Basi_Newline_Karakteri\">Sat\u0131r Ba\u015f\u0131 (Newline) Karakteri<\/span><\/h2>\n\n\n\n<p>Terc\u00fcme edici fonksiyonlar sat\u0131r ba\u015f\u0131 i\u00e7in kullan\u0131lan <code>\\r<\/code> karakterini hi\u00e7 sevmezler. Bu y\u00fczden sat\u0131r ba\u015f\u0131 yapmak istedi\u011fimizde bu karakterin yerine <code>\\n<\/code> karakterini kullanmal\u0131y\u0131z.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"JavaScript_Kodlarindaki_Textlerin_Tercumesi\">JavaScript Kodlar\u0131ndaki Textlerin Terc\u00fcmesi<\/span><\/h2>\n\n\n\n<p>JavaScript kodlar\u0131n\u0131zda ge\u00e7en metinleri de terc\u00fcme fonksiyonlar\u0131 ile terc\u00fcme edebilirsiniz. WordPress bunun i\u00e7in <a rel=\"noreferrer noopener\" aria-label=\"wp_localize_script() (yeni sekmede a\u00e7\u0131l\u0131r)\" href=\"https:\/\/sitecenneti.com\/wordpress\/wordpress-fonksiyonlari\/wp_localize_script\/\" target=\"_blank\">wp_localize_script()<\/a> fonksiyonunu \u00fcretmi\u015ftir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span id=\"Tercumeye_En_Uygun_Metinler\">Terc\u00fcmeye En Uygun Metinler<\/span><\/h2>\n\n\n\n<p>Daha etkili terc\u00fcmeler i\u00e7in, teman\u0131z\u0131 kodlarken kulland\u0131\u011f\u0131n\u0131z dil \u00f6nemlidir. Burada \u015fu durumlara dikkat etmeniz tavsiye edilir:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>A\u00e7\u0131k bir dil kullan\u0131n, argo ve k\u0131saltmalardan m\u00fcmk\u00fcn oldu\u011funca uzak durun.<\/li><li>Eksik c\u00fcmleler kurmay\u0131n.<\/li><li>Paragraflar kullanmaya dikkat edin.<\/li><li>Terc\u00fcme edilecek metinlerin ba\u015f\u0131nda veya sonunda bo\u015f karakter b\u0131rakmay\u0131n.<\/li><li>Terc\u00fcme edildi\u011finde, metinlerinizin iki kat b\u00fcy\u00fcyebilece\u011fini g\u00f6z ard\u0131 etmeyin.<\/li><li>Al\u0131\u015f\u0131lmad\u0131k noktalama i\u015faretleri veya ba\u015fka i\u015faretler kullanmay\u0131n.<\/li><li>Terc\u00fcme edilen metinlerde, gereksiz HTML kullan\u0131m\u0131ndan sak\u0131n\u0131n.<\/li><li>URL ifadelerini terc\u00fcmanlara b\u0131rakmay\u0131n.<\/li><li>De\u011fi\u015fkenleri, yer tutucular ile birlikte kullanmak daha iyidir:<\/li><\/ul>\n\n\n\n<p>Bu iyidir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>printf( \n    __( '\u015eehriniz %1$s ve posta kodunuz %2$s.', 'ilktemam' ), \n    $sehir, \n    $posta_codu\n); <\/code><\/pre>\n\n\n\n<p>A\u015fa\u011f\u0131daki iyi de\u011fildir:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>__( '\u015eehriniz ', 'ilktemam' ) . $sehir . __( ' ve posta kodunuz ', 'ilktemam' ) . $posta_codu; <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Yer tutucular\u0131n, c\u00fcmledeki konumlar\u0131n\u0131n di\u011fer dillerde farkl\u0131 olabilece\u011fini dikkate al\u0131n:<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>printf(\n    __( '\u015eu kelime i\u00e7in arama sonu\u00e7lar\u0131: %s', 'ilktemam' ),\n    get_search_query()\n);<\/code><\/pre>\n\n\n\n\t<br \/>\n\t<div class=\"stcnnt-yazi-ici-reklam\">\n\t<span aria-hidden=\"true\" class=\"sc-reklam-basligi text-muted\" style=\"display:block;text-align:center;\">bu bir reklamd\u0131r:<\/span>\n\t<p aria-hidden=\"true\" class=\"shadow-lg m-0 p-0\">\n\t\t<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n\t\t<ins class=\"adsbygoogle\"\n\t\t\t style=\"display:block; text-align:center;\"\n\t\t\t data-ad-layout=\"in-article\"\n\t\t\t data-ad-format=\"fluid\"\n\t\t\t data-ad-client=\"ca-pub-6366953309324763\"\n\t\t\t data-ad-slot=\"2001829037\"><\/ins>\n\t\t<script>\n\t\t\t (adsbygoogle = window.adsbygoogle || []).push({});\n\t\t<\/script>\n\t<\/p>\n\t<\/div>\n\t\n","protected":false},"excerpt":{"rendered":"<p>WordPress temas\u0131n\u0131 terc\u00fcmeye haz\u0131rlama i\u015flemi, kapsaml\u0131 bir \u015fekilde a\u00e7\u0131klanm\u0131\u015ft\u0131r.<\/p>\n","protected":false},"author":1,"featured_media":25,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[173,187],"class_list":["post-3745","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-tema-yapimi","tag-internationalization","tag-temayi-tercumeye-hazirlama"],"_links":{"self":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/posts\/3745","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/comments?post=3745"}],"version-history":[{"count":0,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/posts\/3745\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/media\/25"}],"wp:attachment":[{"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/media?parent=3745"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/categories?post=3745"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sitecenneti.com\/wordpress\/wp-json\/wp\/v2\/tags?post=3745"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}