﻿
{"id":5547,"date":"2017-01-18T11:03:42","date_gmt":"2017-01-18T11:03:42","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=5547"},"modified":"2017-01-18T11:03:42","modified_gmt":"2017-01-18T11:03:42","slug":"cta-globalization-ile-farkli-diyarlara-acilma","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/cta-globalization-ile-farkli-diyarlara-acilma\/","title":{"rendered":"C#&#8217;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu i\u00e7eri\u011fimizde biraz farkl\u0131 bir konu \u00fczerinde duruyor olaca\u011f\u0131z. Olu\u015fturdu\u011fumuz yaz\u0131l\u0131m\u0131n, farkl\u0131 co\u011frafya ve k\u00fclt\u00fcrlere hitap edebilmesi, k\u00fclt\u00fcrlenebilmesi i\u00e7in Globalization(globalle\u015fme) ile program\u0131m\u0131z\u0131 zenginle\u015ftirmeliyiz. Asl\u0131nda bu zengin k\u00fclt\u00fcr i\u00e7in olu\u015fturulan yaz\u0131l\u0131m\u0131n i18n(internationalization &#8211; uluslararas\u0131la\u015fma) \u00f6zelliklerinin kazan\u0131lmas\u0131 ve l10n(localization &#8211; lokalle\u015fme) ile bu \u00f6zelliklerin birle\u015ftirilmesi hedeflenmesi ve bunun i\u00e7in \u00e7al\u0131\u015f\u0131lmas\u0131 gerekmektedir. Bu mant\u0131kla b\u00fcy\u00fck yaz\u0131l\u0131m firmalar\u0131n\u0131n i\u00e7erisinde globalization ekipleri kurulmakta; hedeflenen \u00fclkeler, diller, k\u00fclt\u00fcrler i\u00e7in uyumluluk \u00e7al\u0131\u015fmalar\u0131 yap\u0131lmaktad\u0131r.<\/p>\n<p>Bizlerde kendi yaz\u0131l\u0131mlar\u0131m\u0131z\u0131 k\u00fclt\u00fcr\u00fc kuvvetli bir \u015fekilde tasarlayabilir ve in\u015fa edebiliriz. &#8220;.NET&#8221; \u00e7at\u0131s\u0131 alt\u0131nda geli\u015ftirdi\u011fimiz bir uygulaman\u0131n birden fazla k\u00fclt\u00fcre hitap edebilmesi i\u00e7in <em>System.Globalization<\/em> k\u00fct\u00fcphanesi olu\u015fturulmu\u015ftur. Bu k\u00fct\u00fcphane alt\u0131ndaki <em>CultureInfo<\/em> s\u0131n\u0131f\u0131 sayesinde projemizin o anki k\u00fclt\u00fcr\u00fc hakk\u0131nda bilgi edinebilir yahut ba\u015fka k\u00fclt\u00fcrlere hitap edecek tarzda bir ayarlama ger\u00e7ekle\u015ftirebiliriz.<\/p>\n<p>\u015eimdi biz bu i\u00e7eri\u011fimizde CulterInfo s\u0131n\u0131f\u0131n\u0131n ne gibi ihtiya\u00e7lara d\u00f6n\u00fck oldu\u011funu \u00f6rneklendirmek i\u00e7in pratikte k\u0131sa bir tan\u0131t\u0131m yapaca\u011f\u0131z. Ard\u0131ndan basit bir hata durumu \u00fczerinden farkl\u0131 k\u00fclt\u00fcrlerde program\u0131n verece\u011fi tepkileri \u015fekillendirece\u011fiz.<\/p>\n<p>\u00d6ncelikle \u00f6rnek bir proje \u00fczerinde o anki mevcut k\u00fclt\u00fcre nas\u0131l eri\u015febilece\u011fimizi g\u00f6relim.<br \/>\nConsole Application<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            CultureInfo MevcutKultur = Thread.CurrentThread.CurrentCulture;\r\n<\/pre>\n<p>Windows Form Application<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            CultureInfo MevcutKultur = Application.CurrentCulture;\r\n<\/pre>\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi iki farkl\u0131 platformda da k\u00fclt\u00fcre nas\u0131l eri\u015filebilindi\u011fini g\u00f6sterdim. Bu ad\u0131mdan sonra bizler i\u00e7eri\u011fimize &#8220;Console Application&#8221; \u00e7er\u00e7evesinde ilerliyor olaca\u011f\u0131z. Tabi ki de ne g\u00f6sterdiysek di\u011fer platformlara genellenebilir tarzda olacakt\u0131r.<\/p>\n<p>\u015eimdi mevcut k\u00fclt\u00fcr\u00fcn \u00f6zelliklerine bakal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            CultureInfo MevcutKultur = Thread.CurrentThread.CurrentCulture;\r\n            Console.WriteLine($@&quot;\r\n                                K\u00fclt\u00fcr Kodu : {MevcutKultur.Name}\r\n                                K\u00fclt\u00fcr : {MevcutKultur.DisplayName}\r\n                                \u0130ngilizce Ad\u0131 : {MevcutKultur.EnglishName}\r\n                                Tarih Format\u0131 : {MevcutKultur.DateTimeFormat.DateSeparator}(Tarih) ve {MevcutKultur.DateTimeFormat.TimeSeparator}(Zaman)\r\n                                Numara Ay\u0131r\u0131c\u0131 : {MevcutKultur.NumberFormat.NumberDecimalSeparator}\r\n                                &quot;);\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma.png\" alt=\"C#&#039;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma\" width=\"309\" height=\"99\" class=\"aligncenter size-full wp-image-5557\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma.png 309w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-300x96.png 300w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><\/a><br \/>\nG\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere o an \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z k\u00fclt\u00fcr hakk\u0131nda ad\u0131ndan tutun, o k\u00fclt\u00fcr\u00fcn tarih yahut para birimlerinde kulland\u0131\u011f\u0131 ayra\u00e7lara kadar bir\u00e7ok bilgiyi elde edebiliyoruz.<\/p>\n<p>Ayriyetten k\u00fclt\u00fcr\u00fcn \u00f6zelliklerine a\u015fa\u011f\u0131daki gibi m\u00fcdahale edebiliyoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            CultureInfo MevcutKultur = Thread.CurrentThread.CurrentCulture;\r\n            MevcutKultur.NumberFormat.CurrencySymbol = &quot;TL&quot;;\r\n<\/pre>\n<p>E\u011fer ki bu m\u00fcdahaleden sonra k\u00fclt\u00fcr\u00fcn \u00f6zelliklerini yazd\u0131r\u0131rsak a\u015fa\u011f\u0131daki ekran \u00e7\u0131kt\u0131s\u0131nda oldu\u011fu gibi bir sonu\u00e7la kar\u015f\u0131la\u015f\u0131yoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            CultureInfo MevcutKultur = Thread.CurrentThread.CurrentCulture;\r\n            Console.WriteLine($&quot;Para birimi = {MevcutKultur.NumberFormat.CurrencySymbol}&quot;);\r\n            MevcutKultur.NumberFormat.CurrencySymbol = &quot;TL&quot;;\r\n            Console.WriteLine($&quot;Para birimi = {MevcutKultur.NumberFormat.CurrencySymbol}&quot;);\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-1.png\" alt=\"C#&#039;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma\" width=\"146\" height=\"37\" class=\"aligncenter size-full wp-image-5559\" \/><\/a><\/p>\n<p>Ya da a\u015fa\u011f\u0131da oldu\u011fu gibi farkl\u0131 k\u00fclt\u00fcrlerde farkl\u0131 say\u0131sal ayra\u00e7larda kullan\u0131labilir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            CultureInfo MevcutKultur = Thread.CurrentThread.CurrentCulture;\r\n            int Para = 100000;\r\n            Console.WriteLine($&quot;Say\u0131 ayrac\u0131 = {MevcutKultur.NumberFormat.NumberDecimalSeparator}&quot;);\r\n            Console.WriteLine(Para.ToString(&quot;N2&quot;));\r\n            MevcutKultur.NumberFormat.NumberDecimalSeparator = &quot;-&quot;;\r\n            Console.WriteLine($&quot;Say\u0131 ayrac\u0131 = {MevcutKultur.NumberFormat.NumberDecimalSeparator}&quot;);\r\n            Console.WriteLine(Para.ToString(&quot;N2&quot;));\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-2.png\" alt=\"C#&#039;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma\" width=\"137\" height=\"68\" class=\"aligncenter size-full wp-image-5561\" \/><\/a><\/p>\n<p>CultureInfo s\u0131n\u0131f\u0131n\u0131 tan\u0131man\u0131n ard\u0131ndan s\u0131rada program\u0131n \u00e7al\u0131\u015fma zaman\u0131nda verece\u011fi tepkilerin k\u00fclt\u00fcr\u00fcn\u00fc ayarlamaya geldik.<\/p>\n<p>.NET taraf\u0131ndan \u00f6nceden haz\u0131r olarak belli ba\u015fl\u0131 k\u00fclt\u00fcrlere \u00f6zel temel durumlar\u0131n ayarlar\u0131 yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r. Bu yap\u0131land\u0131rmalardan biri hata durumlar\u0131nda kar\u015f\u0131m\u0131za \u00e7\u0131kmaktad\u0131r. Genellikle programlar\u0131m\u0131zda ald\u0131\u011f\u0131m\u0131z exceptionlar \u0130ngilizce bizlere gelmektedir. Lakin bunu T\u00fcrk\u00e7e olarak da elde edebiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\nint Sayi = int.Parse(&quot;Muiddin&quot;);\r\n<\/pre>\n<p>Bu i\u015flemi baz al\u0131rsak e\u011fer a\u015fa\u011f\u0131daki hatay\u0131 alaca\u011f\u0131z.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3.png\" alt=\"C#&#039;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma\" width=\"471\" height=\"87\" class=\"aligncenter size-full wp-image-5563\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3.png 471w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3-300x55.png 300w\" sizes=\"auto, (max-width: 471px) 100vw, 471px\" \/><\/a><br \/>\n\u015eimdi gelin uygulamam\u0131z\u0131n k\u00fclt\u00fcr\u00fcn\u00fc T\u00fcrk\u00e7e olarak de\u011fi\u015ftirelim ve nas\u0131l bir sonu\u00e7 al\u0131yoruz inceleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            Thread.CurrentThread.CurrentUICulture = new CultureInfo(&quot;tr&quot;);\r\n            int Sayi = int.Parse(&quot;Muiddin&quot;);\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-4.png\" alt=\"C#&#039;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma\" width=\"601\" height=\"113\" class=\"aligncenter size-full wp-image-5564\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-4.png 601w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-4-300x56.png 300w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/p>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz \u00fczere mevcut k\u00fclt\u00fcr \u00fczerine yeni bir k\u00fclt\u00fcr tan\u0131mlamam\u0131z bu i\u015flem i\u00e7in yeterlidir. Tan\u0131mlanan bu CultureInfo nesnesinin hangi k\u00fclt\u00fcre ait olaca\u011f\u0131na yap\u0131c\u0131 metoduna verdi\u011fimiz name parametresi sayesinde belirleyebiliyoruz.<\/p>\n<p>&#8220;tr&#8221; name kodu T\u00fcrk\u00e7e&#8217;yi temsil etmektedir. &#8220;<em>Peki hocam biz hangi name kodunun hangi dili temsil etti\u011fini nereden anlayaca\u011f\u0131z?<\/em>&#8221; diye sorarsan\u0131z e\u011fer <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ee825488(v=cs.20).aspx\" target=\"_blank\">bu<\/a> adrese g\u00f6z atman\u0131z yeterli olacakt\u0131r.<\/p>\n<p>\u015eimdi \u00f6rnek te\u015fkil etmesi a\u00e7\u0131s\u0131ndan buradaki dili Frans\u0131zca yapal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            Thread.CurrentThread.CurrentUICulture = new CultureInfo(&quot;fr-FR&quot;);\r\n            int Sayi = int.Parse(&quot;Muiddin&quot;);\r\n<\/pre>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3.png\" alt=\"C#&#039;ta Globalization \u0130le Farkl\u0131 Diyarlara A\u00e7\u0131lma\" width=\"471\" height=\"87\" class=\"aligncenter size-full wp-image-5563\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3.png 471w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2017\/01\/Cta-Globalization-\u0130le-Farkl\u0131-Diyarlara-A\u00e7\u0131lma-3-300x55.png 300w\" sizes=\"auto, (max-width: 471px) 100vw, 471px\" \/><\/a><\/p>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere bu i\u015flem sonucunu \u0130ngilizce kar\u015f\u0131l\u0131\u011f\u0131yla ald\u0131k. Bunun sebebi, se\u00e7ilen k\u00fclt\u00fcr\u00fcn o andaki duruma ait bir kar\u015f\u0131l\u0131\u011f\u0131n\u0131n olmamas\u0131d\u0131r. Buradan da anla\u015f\u0131lan varsay\u0131lan k\u00fclt\u00fcr \u0130ngilizce&#8217;dir.<\/p>\n<p>Evet&#8230; G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere, \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z uygulaman\u0131n k\u00fclt\u00fcr\u00fcn\u00fc nas\u0131l ayarlad\u0131\u011f\u0131m\u0131z\u0131 en ince detaylar\u0131na kadar irdelemi\u015f vee makalemizinde sonuna gelmi\u015f olduk&#8230;<\/p>\n<p>Sonraki yaz\u0131lar\u0131m\u0131zda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu i\u00e7eri\u011fimizde biraz farkl\u0131 bir konu \u00fczerinde duruyor olaca\u011f\u0131z. Olu\u015fturdu\u011fumuz yaz\u0131l\u0131m\u0131n, farkl\u0131 co\u011frafya ve k\u00fclt\u00fcrlere hitap edebilmesi, k\u00fclt\u00fcrlenebilmesi i\u00e7in Globalization(globalle\u015fme) ile program\u0131m\u0131z\u0131 zenginle\u015ftirmeliyiz. Asl\u0131nda bu zengin k\u00fclt\u00fcr i\u00e7in olu\u015fturulan yaz\u0131l\u0131m\u0131n i18n(internationalization &#8211; uluslararas\u0131la\u015fma)&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[1603,1597,1598,1599,1600,1602,315,1604,1601],"class_list":["post-5547","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c","tag-cultureinfo","tag-globalization","tag-globallesme","tag-i18n","tag-internationalization","tag-l10n","tag-localization","tag-system-globalization","tag-uluslararasilasma"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/5547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=5547"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/5547\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3223"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=5547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=5547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=5547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}