{"id":190,"date":"2017-06-29T16:14:55","date_gmt":"2017-06-29T07:14:55","guid":{"rendered":"http:\/\/reasty.net\/?p=190"},"modified":"2017-06-29T16:14:55","modified_gmt":"2017-06-29T07:14:55","slug":"localization-in-wpf-support-multi-language","status":"publish","type":"post","link":"https:\/\/reasty.net\/?p=190","title":{"rendered":"Localization in WPF : Support Multi-Language"},"content":{"rendered":"<p>WPF\uc5d0\uc11c \uc9c0\uc5ed\ud654 \ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \uc5ec\ub7ec\uac00\uc9c0\uac00 \uc788\ub2e4.<\/p>\n<p>\uccab\ubc88\uc9f8\ub85c, WPF \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uae30\ubcf8\uc73c\ub85c \uc81c\uacf5\ub418\ub294 Resources.resx \ud30c\uc77c\uc5d0 \ubb38\uc790\uc5f4\ub4e4\uc744 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294\u00a0\ubc29\ubc95.<br \/>\n\ub450\ubc88\uc9f8\ub294\u00a0\ubcc4\ub3c4\uc758 .resx\ud30c\uc77c\uc744 \ucd94\uac00\ub85c \uc0dd\uc131\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95.<br \/>\n\uc138\ubc88\uc9f8\ub294 ResourceDictionary\uc5d0 \ubb38\uc790\uc5f4\uc744 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95.<br \/>\n\uadf8 \uc678\uc5d0\ub3c4 \ubcc4\ub3c4\uc758 csv \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95 \ub4f1 \ub2e4\uc591\ud558\ub2e4.<\/p>\n<p>\uadf8 \uc911\uc5d0\uc11c \uac00\uc7a5 \uae30\ubcf8\uc778 Resources.resx \ud30c\uc77c\uc744 \uc774\uc6a9\ud55c \uc9c0\uc5ed\ud654 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc18c\uac1c\ud558\uace0\uc790 \ud55c\ub2e4.<\/p>\n<h1>1. Edit Resources.resx<\/h1>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-199\" src=\"http:\/\/192.168.10.240:8080\/wp-content\/uploads\/2017\/06\/solution-explorer-239x300.png\" alt=\"\uc194\ub8e8\uc158\ud0d0\uc0c9\uae30\" width=\"239\" height=\"300\" srcset=\"https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/solution-explorer-239x300.png 239w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/solution-explorer.png 291w\" sizes=\"auto, (max-width: 239px) 100vw, 239px\" \/><\/p>\n<p>Visual Studio \uc5d0\uc11c WPF \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uc5ec \uc194\ub8e8\uc158\ud0d0\uc0c9\uae30\ub97c \ud655\uc778\ud574\ubcf4\uc790.<br \/>\n\uc0dd\uc131\ub41c WPF \ud504\ub85c\uc81d\ud2b8 \uc544\ub798\uc5d0 Properties \ub178\ub4dc\uac00 \uc788\uace0, \uc774\uac83\uc744 \ud3bc\uccd0\ubcf4\uba74 Resources.resx \ud30c\uc77c\uc774 \uc788\ub2e4.<\/p>\n<p>Resources.resx \ud30c\uc77c\uc744 \ub354\ube14\ud074\ub9ad\ud558\uba74 \ubb38\uc790\uc5f4 \ub9ac\uc18c\uc2a4\ub97c \ud3b8\uc9d1\ud560 \uc218 \uc788\ub294 \ucc3d\uc774 \uc5f4\ub9b0\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-203 size-full\" src=\"http:\/\/192.168.10.240:8080\/wp-content\/uploads\/2017\/06\/resources-string-editor.png\" alt=\"\ubb38\uc790\uc5f4 \ub9ac\uc18c\uc2a4 \uc5d0\ub514\ud130\" width=\"688\" height=\"299\" srcset=\"https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/resources-string-editor.png 688w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/resources-string-editor-300x130.png 300w\" sizes=\"auto, (max-width: 688px) 100vw, 688px\" \/><\/p>\n<p>&#8216;HelloWorld&#8217; \ub77c\ub294 \uc774\ub984(=\ud0a4)\ub97c \uac00\uc9c0\ub294 \ubb38\uc790\uc5f4 \ub9ac\uc18c\uc2a4\ub97c \ucd94\uac00\ud558\uace0 \uadf8 \uac12\uc744 &#8216;Hello, World!&#8217; \ub77c\uace0 \uc124\uc815\ud558\uc600\ub2e4.<br \/>\n\ucd94\ud6c4 \uc0ac\uc6a9\uc2dc \uc774 \ub9ac\uc18c\uc2a4 \uba85\uc744 \ucc38\uc870\ud558\uac8c \ub41c\ub2e4.<\/p>\n<p>\ud654\uba74\uc5d0\uc11c \ubcf4\ub4ef\uc774, \ubb38\uc790\uc5f4 \ubfd0\ub9cc\uc544\ub2c8\ub77c \uc774\ubbf8\uc9c0, \uc544\uc774\ucf58, \uc624\ub514\uc624 \ud30c\uc77c \ub4f1\uc758 \ub9ac\uc18c\uc2a4\ub3c4 \uc9c0\uc5ed\uc5d0 \ub530\ub77c \uad6c\ubd84\ud558\uc5ec \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<h1>2. Addtional Locale<\/h1>\n<p>\uc774\uc820 \ub2e4\uad6d\uc5b4 \uc9c0\uc6d0\uc744 \uc704\ud558\uc5ec \uc0c8\ub85c\uc6b4 .resx \ud30c\uc77c\uc744 \ucd94\uac00\ud560 \ucc28\ub840\uc774\ub2e4.<\/p>\n<p>\uc77c\ubc18\uc801\uc73c\ub85c \uc601\uc5b4\uad8c\uc758 \ub9ac\uc18c\uc2a4 \ubb38\uc790\uc5f4\uc744 Resources.resx \ud30c\uc77c\uc5d0 \uc124\uc815\ud558\uace0,<br \/>\n\uadf8 \uc678 \uc9c0\uc5ed\uba85\uc5d0 \ub530\ub77c Resources.ko-KR.resx, Resources.ja-JP.resx \uc640 \uac19\uc740 \ub124\uc774\ubc0d\ub8f0\uc744 \uac00\uc9c0\ub294 .resx \ud30c\uc77c\uc744 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n<p>\uc194\ub8e8\uc158\ud0d0\uc0c9\uae30\uc5d0\uc11c &#8216;\uc0c8 \ud56d\ubaa9 \ucd94\uac00&#8217; \ubc84\ud2bc\uc744 \ub20c\ub7ec .resx\ud30c\uc77c\uc744 \uc0dd\uc131\ud574\ub3c4 \ub418\uc9c0\ub9cc, Resources.resx\ud30c\uc77c\uc744 \ubcf5\uc0ac\ud558\uc5ec \ubd99\uc5ec\ub123\uace0 \uc774\ub984\ub9cc \ubc14\uafb8\ub294 \ud3b8\uc774 \ub354 \uc218\uc6d4\ud558\ub2e4.<br \/>\n\ubcf5\uc0ac\ud558\uc5ec \uc0ac\uc6a9\ud558\uba74 \ub9ac\uc18c\uc2a4 \uba85\uc744 \ube7c\uba39\ub294 \uc2e4\uc218\ub97c \ud560 \uacbd\uc6b0\ub3c4 \uc801\uc5b4\uc9c0\uba70 \uc2e4\uc81c \uc9c0\uc5ed\ud654\ub41c \uac12\ub9cc \ubc14\uafb8\uba74 \ub418\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p>\uc194\ub8e8\uc158\ud0d0\uc0c9\uae30\uc5d0\uc11c Resources.resx \ud30c\uc77c\uc744 \uc120\ud0dd \ud6c4, \uc6b0\ub9ac\uac00 \uc790\uc8fc \uc0ac\uc6a9\ud558\ub358 Ctrl+C, Ctrl+V \ub97c \ub204\ub974\uc790.<br \/>\n&#8216;Resources &#8211; \ubcf5\uc0ac\ubcf8.resx&#8217; \uc774\ub77c\ub294 \ud30c\uc77c\uc774 \uc0dd\uc131\ub418\uc5c8\uace0, \uc774\ub984\uc744 &#8216;Resources.ko-KR.resx&#8217;\ub85c \ubcc0\uacbd\ud55c\ub2e4.<\/p>\n<p>\uadf8\ub9ac\uace0 &#8216;HelloWorld&#8217; \ub77c\ub294 \ub9ac\uc18c\uc2a4\uc758 \uac12\uc744 &#8216;\uc548\ub155, \uc6d4\ub4dc!&#8217; \ub77c\uace0 \ubcc0\uacbd\ud55c\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-208 size-large\" src=\"http:\/\/192.168.10.240:8080\/wp-content\/uploads\/2017\/06\/2-resources-1024x297.png\" alt=\"\" width=\"625\" height=\"181\" srcset=\"https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/2-resources-1024x297.png 1024w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/2-resources-300x87.png 300w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/2-resources-768x223.png 768w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/2-resources.png 1085w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/p>\n<p>\uc774\ub85c\uc368 \uc9c0\uc5ed\ud654 \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\uae30 \uc704\ud55c \uc900\ube44\uac00 \ubaa8\ub450 \ub05d\ub0ac\ub2e4.<\/p>\n<p>\ub2e4\uc591\ud55c \uc9c0\uc5ed\uc744 \ucd94\uac00\ud558\uae30 \uc704\ud574\uc120 \uadf8\uc800 Ctrl+C, Ctrl+V, F2(\uc774\ub984\ubcc0\uacbd) \uc774 \uc804\ubd80\uc774\ub2e4.<\/p>\n<h1>3. Using<\/h1>\n<p>\uc0ac\uc6a9\ud560 \ubb38\uc790\uc5f4\uc774 \uc900\ube44\ub418\uc5c8\uc73c\uba74 \uc774\uc81c \uc0ac\uc6a9\ubc95\uc744 \ud655\uc778\ud560 \ucc28\ub840\uc774\ub2e4.<\/p>\n<p>WPF \uc5d0\uc11c\ub294 \uae30\ubcf8\uc801\uc73c\ub85c <a href=\"https:\/\/msdn.microsoft.com\/ko-kr\/library\/system.resources.resourcemanager(v=vs.110).aspx\" target=\"_blank\" rel=\"noopener\">System.Resources.ResourceManager<\/a> \ub77c\ub294 \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud558\uc5ec Resources.resx\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uac8c [\ud504\ub85c\uc81d\ud2b8\uba85].Properties.Resources \ud074\ub798\uc2a4\ub97c \uc81c\uacf5\ud55c\ub2e4.<br \/>\n\uc774 \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud558\uc5ec Xaml \ub610\ub294 C# \ucf54\ub4dc\uc5d0\uc11c \uc9c0\uc5ed\ud654 \ubb38\uc790\uc5f4 \ub9ac\uc18c\uc2a4\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p>Xaml\uc5d0\uc11c Resources \ub97c \ucc38\uc870\ud558\ub294 \ubc29\ubc95\uacfc C#\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc774 \uc788\ub2e4.<\/p>\n<h2>3.1. use in Xaml<\/h2>\n<p>xaml \ud30c\uc77c, \uc989 View\uc5d0\uc11c \uc9c0\uc5ed\ud654\ub41c \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc774\ub2e4.<\/p>\n<p>\uc77c\ub2e8\u00a0\uc0ac\uc6a9\ud558\uace0\uc790 \ud558\ub294\u00a0Xaml\ud30c\uc77c(MainWindows.xaml)\uc5d0\u00a0Namespace\ub97c \ucd94\uac00\ud574\uc57c \ud55c\ub2e4. \ub098\ub294 prop \ub77c\ub294 Namespace\ub97c \ucd94\uac00\ud558\uc600\ub2e4. Xaml\uc5d0\uc11c Namespace\ub97c \ucd94\uac00\ud558\ub294 \ubc29\ubc95\/\ud615\uc2dd\uc740 MSDN\uc744 \ucc38\uace0\ud558\uc790.<\/p>\n<p>\uadf8\ub9ac\uace0 \uc9c0\uc5ed\ud654 \ubb38\uc790\uc5f4\uc744 \ud45c\uc2dc\ud558\uae30 \uc704\ud558\uc5ec TextBlock\ub97c \ud558\ub098 \ucd94\uac00\ud558\uace0, Text\uc5d0 \uc544\ub798\uc640 \uac19\uc774 \uc791\uc131\ud55c\ub2e4.<br \/>\nStatic \ub370\uc774\ud130\uc778 prop\ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uac00\uc9c0\ub294 Resources \ud074\ub798\uc2a4\uc758 HelloWorld\ub97c \ud45c\uc2dc\ud55c\ub2e4\ub294 \ub0b4\uc6a9\uc774\ub2e4.<\/p>\n<pre title=\"MainWindow.xaml\" class=\"lang:yaml mark:7,11 decode:true\">&lt;Window x:Class=\"MyLocalization.MainWindow\"\n        xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n        xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n        xmlns:d=\"http:\/\/schemas.microsoft.com\/expression\/blend\/2008\"\n        xmlns:mc=\"http:\/\/schemas.openxmlformats.org\/markup-compatibility\/2006\"\n        xmlns:local=\"clr-namespace:MyLocalization\"\n\txmlns:prop=\"clr-namespace:MyLocalization.Properties\"\n        mc:Ignorable=\"d\"\n        Title=\"MainWindow\" Height=\"350\" Width=\"525\"&gt;\n    &lt;Grid&gt;\n\t&lt;TextBlock Text=\"{x:Static prop:Resources.HelloWorld}\"\/&gt;\n    &lt;\/Grid&gt;\n&lt;\/Window&gt;<\/pre>\n<p><span style=\"color: #000000; font-size: 12pt;\"><em><strong>..\uc544\uc9c1 \ub05d\ub09c\uac8c \uc544\ub2c8\ub2e4..<\/strong><\/em><\/span><\/p>\n<p><span style=\"color: #000000;\"> \ub2e4\uc2dc Resources.resx \ud30c\uc77c\uc744 \uc5f4\uc5b4 \ud655\uc778\ud574 \ubcf4\uba74 &#8216;<span style=\"color: #0000ff;\"><strong>\uc5d1\uc138\uc2a4 \ud55c\uc815\uc790<\/strong><\/span>&#8216;\uac00 &#8216;Internal&#8217; \ub85c \ub418\uc5b4\uc788\ub2e4. \uc774 \uac12\uc744 &#8216;<span style=\"color: #0000ff;\"><strong>Public<\/strong><\/span>&#8216;\uc73c\ub85c \ubcc0\uacbd\ud574\uc57c Xaml\uc5d0\uc11c \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4.<\/span><\/p>\n<p>\uc5d1\uc138\uc2a4 \ud55c\uc815\uc790 \ubcc0\uacbd\uc744 \ud558\uc9c0\uc54a\uc544 \uc5c4\uccad\ub09c \uc0bd\uc9c8\uc744 \ud55c \uacbd\ud5d8\uc774 \uc788\uc73c\ub2c8 \ubc18\ub4dc\uc2dc \uae30\uc5b5\ud558\uae38 \ubc14\ub780\ub2e4.<\/p>\n<h2>3.2. use in C#<\/h2>\n<p>C# \ucf54\ub4dc\uc5d0\uc11c \uc9c0\uc5ed\ud654\ub41c \ubb38\uc790\uc5f4\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc740 \ub354 \uac04\ub2e8\ud558\ub2e4. Resources.HelloWorld \uc18d\uc131\uc774 static \uc774\uae30 \ub54c\ubb38\uc5d0 \uc6d0\ud558\ub294 \ubd80\ubd84\uc5d0 \uadf8\ub300\ub85c \uc791\uc131\ud558\uba74 \ub41c\ub2e4.<\/p>\n<pre title=\"MainWindow.xaml\" class=\"lang:yaml mark:11 decode:true \">&lt;Window x:Class=\"MyLocalization.MainWindow\"\n        xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n        xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n        xmlns:d=\"http:\/\/schemas.microsoft.com\/expression\/blend\/2008\"\n        xmlns:mc=\"http:\/\/schemas.openxmlformats.org\/markup-compatibility\/2006\"\n        xmlns:local=\"clr-namespace:MyLocalization\"\n\txmlns:prop=\"clr-namespace:MyLocalization.Properties\"\n        mc:Ignorable=\"d\"\n        Title=\"MainWindow\" Height=\"350\" Width=\"525\"&gt;\n    &lt;Grid&gt;\n\t&lt;TextBlock x:Name=\"txtBlock\"\/&gt;\n    &lt;\/Grid&gt;\n&lt;\/Window&gt;<\/pre>\n<pre title=\"MainWindow.xaml.cs\" class=\"lang:c# mark:11 decode:true \">using System.Windows;\n\nnamespace MyLocalization\n{\n\tpublic partial class MainWindow : Window\n\t{\n\t\tpublic MainWindow()\n\t\t{\n\t\t\tInitializeComponent();\n\n\t\t\ttxtBlock.Text = MyLocalization.Properties.Resources.HelloWorld;\n\t\t}\n\t}\n}\n<\/pre>\n<p>&nbsp;<\/p>\n<h1>4. \uc2e4\ud589<\/h1>\n<p>\uc774\uc81c \uc2e4\ud589\ud574\ubcf4\uc790. \ud604\uc7ac Windows\uc758 \uc9c0\uc5ed\uc124\uc815\uc5d0 \ud574\ub2f9\ud558\ub294 \ub9ac\uc18c\uc2a4\uac00 \ub85c\ub4dc\ub418\uc5b4 \ud654\uba74\uc5d0 \ud14d\uc2a4\ud2b8\uac00 \ud45c\uc2dc\ub41c\ub2e4.<\/p>\n<p>\ub098\ub294 \ud55c\uad6d\uc5b4 \ubc84\uc804\uc758 Windows\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc5d0 (\uc815\ud655\ud788\ub294 &#8216;\uc81c\uc5b4\ud310&#8217;-&#8216;\uad6d\uac00 \ub610\ub294 \uc9c0\uc5ed&#8217;\uc5d0\uc11c \ud55c\uad6d\uc5b4\ub85c \uc124\uc815\ub418\uc5c8\uae30 \ub54c\ubb38\uc5d0) &#8216;\uc548\ub155, \uc6d4\ub4dc!&#8217; \ub77c\uace0 \ud45c\uc2dc\ub41c\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-213\" src=\"http:\/\/192.168.10.240:8080\/wp-content\/uploads\/2017\/06\/hello-world-window-300x201.png\" alt=\"\" width=\"300\" height=\"201\" srcset=\"https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/hello-world-window-300x201.png 300w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/hello-world-window.png 511w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>\ub9cc\uc57d \ub0b4\uac00 \uc601\uc5b4 \ubc84\uc804\uc758 Windows\ub97c \uc0ac\uc6a9\ud588\uc5c8\ub2e4\uba74 &#8216;Hello, World!&#8217; \ub77c\uace0 \ud45c\uc2dc\ub418\uc5c8\uc744 \uac83\uc774\ub2e4.<\/p>\n<p>\ud574\ub2f9 \uc9c0\uc5ed\uc758 \ub9ac\uc18c\uc2a4\uac00 \ud3ec\ud568\ub418\uc9c0 \uc54a\uc558\uc744 \uacbd\uc6b0\uc5d0\ub294 \uae30\ubcf8 \ub9ac\uc18c\uc2a4\uc778 Resources.resx\uc758 \ubb38\uc790\uc5f4\uc774 \ud45c\uc2dc\ub41c\ub2e4.<\/p>\n<p>\uac04\ub2e8\ud558\uac8c \ud655\uc778\ud574 \ubcf4\ub824\uba74,\u00a0Resources \ud074\ub798\uc2a4\uc758 Culture \uc18d\uc131\uc744 \ubcc0\uacbd\ud558\uba74 \ub41c\ub2e4.<br \/>\n\uc815\uc0c1\uc801\uc73c\ub85c \uc601\uc5b4\uac00 \ub098\uc624\ub294\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud558\uc5ec &#8216;en-US&#8217;\ub85c \ubcc0\uacbd\ud574 \ubcf4\uaca0\ub2e4.<\/p>\n<pre class=\"lang:c# mark:5 decode:true \">public partial class App : Application\n{\n\tpublic App()\n\t{\n\t\tMyLocalization.Properties.Resources.Culture = new System.Globalization.CultureInfo(\"en-US\");\n\t}\n}<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-215\" src=\"http:\/\/192.168.10.240:8080\/wp-content\/uploads\/2017\/06\/hello-world-en-us-300x201.png\" alt=\"\" width=\"300\" height=\"201\" srcset=\"https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/hello-world-en-us-300x201.png 300w, https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/hello-world-en-us.png 511w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>\ubb50, \uc815\ud655\ud788\ub294 Resources.en-US.resx \ud30c\uc77c\uc774 \uc5c6\uc5b4\uc11c \uae30\ubcf8 \ub9ac\uc18c\uc2a4\uc778 Resources.resx\uc758 \ubb38\uc790\uc5f4\uc774 \ud45c\uc2dc\ub418\uc5c8\uc9c0\ub9cc, \uadf8\ub798\ub3c4 \uc9c0\uc5ed\ud654\uac00 \uc815\uc0c1\uc801\uc73c\ub85c \ub3d9\uc791\ud55c\ub2e4\ub294 \uc0ac\uc2e4\uc744 \uc54c \uc218 \uc788\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WPF\uc5d0\uc11c \uc9c0\uc5ed\ud654 \ud558\ub294 \ubc29\ubc95\uc5d0\ub294 \uc5ec\ub7ec\uac00\uc9c0\uac00 \uc788\ub2e4. \uccab\ubc88\uc9f8\ub85c, WPF \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uae30\ubcf8\uc73c\ub85c \uc81c\uacf5\ub418\ub294 Resources.resx \ud30c\uc77c\uc5d0 \ubb38\uc790\uc5f4\ub4e4\uc744 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294\u00a0\ubc29\ubc95. \ub450\ubc88\uc9f8\ub294\u00a0\ubcc4\ub3c4\uc758 .resx\ud30c\uc77c\uc744 \ucd94\uac00\ub85c \uc0dd\uc131\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95. \uc138\ubc88\uc9f8\ub294 ResourceDictionary\uc5d0 \ubb38\uc790\uc5f4\uc744 \ucd94\uac00\ud558\uc5ec \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95. \uadf8 \uc678\uc5d0\ub3c4 \ubcc4\ub3c4\uc758 csv \ud30c\uc77c\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95 \ub4f1 \ub2e4\uc591\ud558\ub2e4. \uadf8 \uc911\uc5d0\uc11c \uac00\uc7a5 \uae30\ubcf8\uc778 Resources.resx \ud30c\uc77c\uc744 \uc774\uc6a9\ud55c \uc9c0\uc5ed\ud654 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc18c\uac1c\ud558\uace0\uc790 \ud55c\ub2e4. 1. Edit Resources.resx Visual Studio \uc5d0\uc11c WPF \ud504\ub85c\uc81d\ud2b8\ub97c \uc0dd\uc131\ud558\uc5ec \uc194\ub8e8\uc158\ud0d0\uc0c9\uae30\ub97c \ud655\uc778\ud574\ubcf4\uc790&#8230;. <a href=\"https:\/\/reasty.net\/?p=190\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":199,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4,5],"tags":[21,33,36,51,54,57],"class_list":["post-190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net","category-wpf","tag-c","tag-localization","tag-multi-language","tag-wpf","tag-54","tag-57"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/reasty.net\/wp-content\/uploads\/2017\/06\/solution-explorer.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=190"}],"version-history":[{"count":0,"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/posts\/190\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/media\/199"}],"wp:attachment":[{"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}