{"id":22873,"date":"2020-02-17T11:33:15","date_gmt":"2020-02-17T11:33:15","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=22873"},"modified":"2020-02-26T07:24:49","modified_gmt":"2020-02-26T07:24:49","slug":"how-to-run-pcf-control-in-multilanguage-using-resx-resource-files","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/","title":{"rendered":"How to run PCF Control in Multilanguage using .resx (resource) files"},"content":{"rendered":"<h2><strong>Introduction<\/strong><\/h2>\n<p>In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one language such as French and English which is also supported by Dynamics 365 CRM, so that the PFC control will load as per logged in user language.<\/p>\n<h2><strong>Solution<\/strong><\/h2>\n<p><strong>Step 1: <\/strong>For this scenario, we are using .resx (resource) files, wherein we maintain XML entries for all languages as shown below. For each language, we have created individual resource files. Please find below sample code of resource file:<\/p>\n<p>1. English:<\/p>\n<p><em>&lt;data<\/em><em>\u00a0<\/em><em>name<\/em><em>=<\/em><em>&#8220;agelbl&#8221;<\/em><em>\u00a0<\/em><em>xml:space<\/em><em>=<\/em><em>&#8220;preserve&#8221;<\/em><em>&gt;<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/em><em>&lt;value&gt;<\/em><em>Age<\/em><em>&lt;\/value&gt;<\/em><\/p>\n<p><em>&lt;\/data&gt;<\/em><\/p>\n<p><em>&lt;data<\/em><em>\u00a0<\/em><em>name<\/em><em>=<\/em><em>&#8220;agetbplaceholder&#8221;<\/em><em>\u00a0<\/em><em>xml:space<\/em><em>=<\/em><em>&#8220;preserve&#8221;<\/em><em>&gt;<\/em><\/p>\n<p><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><em>&lt;value&gt;<\/em><em>Enter\u00a0the\u00a0age\u00a0here<\/em><em>&lt;\/value&gt;<\/em><\/p>\n<p><em>&lt;\/data&gt;<\/em><\/p>\n<p>2. French:<\/p>\n<p><em>&lt;data<\/em><em>\u00a0<\/em><em>name<\/em><em>=<\/em><em>&#8220;agelbl&#8221;<\/em><em>\u00a0<\/em><em>xml:space<\/em><em>=<\/em><em>&#8220;preserve&#8221;<\/em><em>&gt;<\/em><\/p>\n<p><em>\u00a0<\/em><em>&lt;value&gt;<\/em><em>\u00c2ge<\/em><em>&lt;\/value&gt;<\/em><\/p>\n<p><em>&lt;\/data&gt;<\/em><\/p>\n<p><em>&lt;data<\/em><em>\u00a0<\/em><em>name<\/em><em>=<\/em><em>&#8220;agetbplaceholder&#8221;<\/em><em>\u00a0<\/em><em>xml:space<\/em><em>=<\/em><em>&#8220;preserve&#8221;<\/em><em>&gt;<\/em><\/p>\n<p><em>\u00a0<\/em><em>&lt;value&gt;<\/em><em>Entrez\u00a0l&#8217;\u00e2ge\u00a0ici<\/em><em>&lt;\/value&gt;<\/em><\/p>\n<p><em>&lt;\/data&gt;<\/em><\/p>\n<blockquote><p>Note : All resource files name should be have in following format : [PCF_ControlName].[Language_Code].resx where Language_Code is dynamic 365 logged language code for example ([].1036.resx).<\/p><\/blockquote>\n<p><strong>Step 2:<\/strong> Add all languages files into PCF control project and add resources reference of each .resx in ControlMainfest.Input.xml file as shown in below code:<\/p>\n<p><strong>\u00a0 <em>&lt;resources&gt;<\/em><\/strong><\/p>\n<p><strong><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><em>&lt;code <\/em><em>\u00a0<\/em><em>path<\/em><em>=<\/em><em>&#8220;index.ts&#8221;<\/em><em>\u00a0<\/em><em>order<\/em><em>=<\/em><em>&#8220;1&#8221;<\/em><em>\/&gt;<\/em><\/strong><\/p>\n<p><strong><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><em>&lt;resx<\/em><em>\u00a0 <\/em><em>path<\/em><em>=<\/em><em>&#8220;\/[PCF_ControlName].1033.resx&#8221;<\/em><em>\u00a0<\/em><em>version<\/em><em>=<\/em><em>&#8220;1.0.0&#8221;<\/em><em>\u00a0<\/em><em>\/&gt;<\/em><\/strong><\/p>\n<p><strong><em>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/em><em>&lt;resx<\/em><em>\u00a0 <\/em><em>path<\/em><em>=<\/em><em>&#8221; \/[PCF_ControlName].1036.resx&#8221;<\/em><em>\u00a0<\/em><em>version<\/em><em>=<\/em><em>&#8220;1.0.0&#8221;<\/em><em>\u00a0<\/em><em>\/&gt;<\/em><\/strong><\/p>\n<p><strong><em>\u00a0\u00a0\u00a0\u00a0<\/em><em>&lt;\/resources&gt;<\/em><\/strong><\/p>\n<p><strong>Step 3:<\/strong> Access languages data of rescouce files using PCF control context as shown in below code:<\/p>\n<pre class=\"lang:default decode:true \">public init(context: ComponentFramework.Context, notifyOutputChanged: () =&gt; void, state: ComponentFramework.Dictionary, container: HTMLDivElement) {\r\n        let functionName: string = \"init\";\r\n        this._contextObj = context;\r\n        this._container = container;\r\n        let labelText: string = \"\";\r\n       let labelPlaceholder: string = \"\";\r\n        try {\r\n            \/\/Create div\r\n            this._mainContainer = document.createElement('div');\r\n            \/\/label input\r\n            this._label = document.createElement(\"label\");\r\n\r\n           \/\/read label text from language resource files\r\n\/\/check the value returned by getstring \u2013 if it does not find a resource file for the logged-in users language or the base language of the organization \u2013 it returns the same value as the key requested.\r\n            if(context.resources.getString(\"agelbl\")!=\"agelbl\"){\r\n\t\/\/found a matching key in the resource file\r\n               labelText = context.resources.getString(\"agelbl\");\r\n            }else{\r\n\t\/\/resource file not found for the logged-in user\u2019s language or the base language.\r\n\tlabelText = \u201cAge\u201d;\r\n            }\r\n            this._label.innerText = labelText;\r\n            this._label.setAttribute(\"id\", \"ageTB\");\r\n\r\n            \/\/text input\r\n            this._input = document.createElement(\"input\");\r\n\r\n            \/\/read placeholder text from language resource files\r\n\/\/check the value returned by getstring \u2013 if it does not find a resource file for the logged-in users language or the base language of the organization \u2013 it returns the same value as the key requested.\r\n            if(context.resources.getString(\"agetbplaceholder\")!=\"agetbplaceholder\"){\r\n               \/\/found a matching key in the resource file\r\n               labelPlaceholder = context.resources.getString(\"agetbplaceholder\");\r\n            }else{\r\n\/\/resource file not found for the logged-in user\u2019s language or the base language.\r\n\tlabelPlaceholder = \u201cEnter the age here\u201d;\r\n            }\r\n            this._input.placeholder = labelPlaceholder;\r\n            this._input.setAttribute(\"type\", \"text\");\r\n            this._input.setAttribute(\"id\", \"ageTB\");\r\n            this._input.setAttribute(\"class\", \"form-control\");\r\n\r\n            \/\/add all html components in dic container\r\n            this._mainContainer.appendChild(this._label);           \r\n            this._mainContainer.appendChild(this._input);\r\n            \r\n\r\n\r\n            \/\/append div to PCF container\r\n            this._container.appendChild(this._mainContainer);\r\n        } catch (error) {\r\n                    let alertStrings = { text: error.message };\r\n                    let alertOptions = { height: 100, width: 200 };\r\n                    this._ contextObj.navigation.openAlertDialog(alertStrings, alertOptions);\r\n        }\r\n    }<\/pre>\n<p style=\"text-align: justify;\">In the above code, we find one of the default functions of PCF control and in that function we try to append some HTML elements to default HTMLDivElement of PCF control i.e container. HTML part contains one label and input type Html element and we can see label text and place holder of input element we retrieve from context.resources.getString() function. With the help of this function, we can read the language data from .resx (resource) files. We need to pass XML_Tag_Name which will retrieve text from resource files with respect to their XML tag name. Also, language data always read on the basis of current logged in user of selected language code (for eg. 1033, 1036)of Dynamic 365 CRM.<\/p>\n<p>In our example we use context.resources.getString(&#8220;agelbl&#8221;) &amp; context.resources.getString(&#8220;agetbplaceholder&#8221;) , it will retrieve the result as follows:<\/p>\n<p>1. If logged in user have English language as selected then result will be retrieved language data from <strong>[PCF_ControlName].1033.resx <\/strong>and further it will be filtered by XML tag name i.e \u201c<strong><em>agelbl<\/em><\/strong>\u201d and \u201c<strong><em>agetbplaceholder<\/em><\/strong>\u201d.<\/p>\n<p style=\"padding-left: 80px;\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-22875\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png\" alt=\"PCF Control in multiple languages\" width=\"334\" height=\"259\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png 334w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages-300x233.png 300w\" sizes=\"(max-width: 334px) 100vw, 334px\" \/><\/p>\n<p>2. If logged in user have Frech language as selected then result will be retrieved language data from <strong>[PCF_ControlName].1036.resx <\/strong>and further it will be filtered by XML tag name i.e \u201c<strong><em>agelbl<\/em><\/strong>\u201d and \u201c<strong><em>agetbplaceholder<\/em><\/strong>\u201d.<\/p>\n<p style=\"padding-left: 80px;\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-22876\" style=\"border: 1px solid #0a0a0a; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/2PCF-Control-in-multiple-languages.png\" alt=\"PCF Control in multiple languages\" width=\"326\" height=\"307\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/2PCF-Control-in-multiple-languages.png 326w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/2PCF-Control-in-multiple-languages-300x283.png 300w\" sizes=\"(max-width: 326px) 100vw, 326px\" \/><\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>In this way, if you want to run our PCF control in more than one language then we can use resources file and access language data from that file using <strong><em>ComponentFramework.Context.getString([XML_Tag_Name])<\/em><\/strong>. We just need to create a language tag for the text which we want to display in different languages and add into resource files.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/\">Read More: How to run PCF Control in Multilanguage using .resx (resource)\u2026 &raquo;<\/a><\/span><\/p>\n","protected":false},"author":13,"featured_media":22880,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,18,19,44,1929,1985],"tags":[1170,1941],"class_list":["post-22873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dynamics-365","category-dynamics-365-v9-2","category-dynamics-crm","category-power-apps","category-pcf","category-power-automate","tag-microsoft-powerapps","tag-pcf-control"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Inogic\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Microsoft Dynamics 365 CRM Tips and Tricks - By Inogic\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks\" \/>\n\t\t<meta property=\"og:description\" content=\"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png\" \/>\n\t\t<meta property=\"og:image:width\" content=\"334\" \/>\n\t\t<meta property=\"og:image:height\" content=\"259\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-17T11:33:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-26T07:24:49+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inogicindia\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@inogic\" \/>\n\t\t<meta name=\"twitter:title\" content=\"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@inogic\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png\" \/>\n\t\t<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t\t<meta name=\"twitter:data1\" content=\"Inogic\" \/>\n\t\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#blogposting\",\"name\":\"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks\",\"headline\":\"How to run PCF Control in Multilanguage using .resx (resource) files\",\"author\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/PCF.png\",\"width\":150,\"height\":150,\"caption\":\"PCF\"},\"datePublished\":\"2020-02-17T11:33:15+05:30\",\"dateModified\":\"2020-02-26T07:24:49+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#webpage\"},\"articleSection\":\"Dynamics 365, Dynamics 365 v9, Dynamics CRM, Microsoft PowerApps, PCF, Power Automate, Microsoft PowerApps, PCF Control\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.inogic.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/#listItem\",\"name\":\"Microsoft PowerApps\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/#listItem\",\"position\":2,\"name\":\"Microsoft PowerApps\",\"item\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/pcf\\\/#listItem\",\"name\":\"PCF\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/pcf\\\/#listItem\",\"position\":3,\"name\":\"PCF\",\"item\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/pcf\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#listItem\",\"name\":\"How to run PCF Control in Multilanguage using .resx (resource) files\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/#listItem\",\"name\":\"Microsoft PowerApps\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#listItem\",\"position\":4,\"name\":\"How to run PCF Control in Multilanguage using .resx (resource) files\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/category\\\/power-apps\\\/pcf\\\/#listItem\",\"name\":\"PCF\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#organization\",\"name\":\"Microsoft Dynamics 365 CRM Tips and Tricks\",\"description\":\"By Inogic\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/inogic-logo.png\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#organizationLogo\",\"width\":1000,\"height\":325,\"caption\":\"inogic logo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/inogicindia\",\"https:\\\/\\\/twitter.com\\\/inogic\",\"https:\\\/\\\/www.instagram.com\\\/inogicindia\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCM4V7ousgLSu1hbOEv4DUuQ\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/inogicindia\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/\",\"name\":\"Inogic\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/839d9ae7d2b941d2d09e91df322267a429821f2ce5494302b53bd5ca3679f1a0?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Inogic\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#webpage\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/\",\"name\":\"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks\",\"description\":\"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/author\\\/inogic-2\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/PCF.png\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#mainImage\",\"width\":150,\"height\":150,\"caption\":\"PCF\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/2020\\\/02\\\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\\\/#mainImage\"},\"datePublished\":\"2020-02-17T11:33:15+05:30\",\"dateModified\":\"2020-02-26T07:24:49+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/\",\"name\":\"Microsoft Dynamics 365 CRM Tips and Tricks\",\"alternateName\":\"Inogic\",\"description\":\"By Inogic\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.inogic.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks","description":"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one","canonical_url":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#blogposting","name":"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks","headline":"How to run PCF Control in Multilanguage using .resx (resource) files","author":{"@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author"},"publisher":{"@id":"https:\/\/www.inogic.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/PCF.png","width":150,"height":150,"caption":"PCF"},"datePublished":"2020-02-17T11:33:15+05:30","dateModified":"2020-02-26T07:24:49+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#webpage"},"isPartOf":{"@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#webpage"},"articleSection":"Dynamics 365, Dynamics 365 v9, Dynamics CRM, Microsoft PowerApps, PCF, Power Automate, Microsoft PowerApps, PCF Control"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.inogic.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/#listItem","name":"Microsoft PowerApps"}},{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/#listItem","position":2,"name":"Microsoft PowerApps","item":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/pcf\/#listItem","name":"PCF"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/pcf\/#listItem","position":3,"name":"PCF","item":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/pcf\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#listItem","name":"How to run PCF Control in Multilanguage using .resx (resource) files"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/#listItem","name":"Microsoft PowerApps"}},{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#listItem","position":4,"name":"How to run PCF Control in Multilanguage using .resx (resource) files","previousItem":{"@type":"ListItem","@id":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/pcf\/#listItem","name":"PCF"}}]},{"@type":"Organization","@id":"https:\/\/www.inogic.com\/blog\/#organization","name":"Microsoft Dynamics 365 CRM Tips and Tricks","description":"By Inogic","url":"https:\/\/www.inogic.com\/blog\/","logo":{"@type":"ImageObject","url":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2023\/02\/inogic-logo.png","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#organizationLogo","width":1000,"height":325,"caption":"inogic logo"},"image":{"@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#organizationLogo"},"sameAs":["https:\/\/www.facebook.com\/inogicindia","https:\/\/twitter.com\/inogic","https:\/\/www.instagram.com\/inogicindia\/","https:\/\/www.youtube.com\/channel\/UCM4V7ousgLSu1hbOEv4DUuQ","https:\/\/www.linkedin.com\/company\/inogicindia"]},{"@type":"Person","@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author","url":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/","name":"Inogic","image":{"@type":"ImageObject","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/839d9ae7d2b941d2d09e91df322267a429821f2ce5494302b53bd5ca3679f1a0?s=96&d=mm&r=g","width":96,"height":96,"caption":"Inogic"}},{"@type":"WebPage","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#webpage","url":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/","name":"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks","description":"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.inogic.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#breadcrumblist"},"author":{"@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author"},"creator":{"@id":"https:\/\/www.inogic.com\/blog\/author\/inogic-2\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/PCF.png","@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#mainImage","width":150,"height":150,"caption":"PCF"},"primaryImageOfPage":{"@id":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/#mainImage"},"datePublished":"2020-02-17T11:33:15+05:30","dateModified":"2020-02-26T07:24:49+05:30"},{"@type":"WebSite","@id":"https:\/\/www.inogic.com\/blog\/#website","url":"https:\/\/www.inogic.com\/blog\/","name":"Microsoft Dynamics 365 CRM Tips and Tricks","alternateName":"Inogic","description":"By Inogic","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.inogic.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Microsoft Dynamics 365 CRM Tips and Tricks - By Inogic","og:type":"article","og:title":"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks","og:description":"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one","og:url":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/","og:image":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png","og:image:secure_url":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png","og:image:width":334,"og:image:height":259,"article:published_time":"2020-02-17T11:33:15+00:00","article:modified_time":"2020-02-26T07:24:49+00:00","article:publisher":"https:\/\/www.facebook.com\/inogicindia","twitter:card":"summary_large_image","twitter:site":"@inogic","twitter:title":"How to run PCF Control in Multilanguage using .resx (resource) files - Microsoft Dynamics 365 CRM Tips and Tricks","twitter:description":"Introduction In this blog, we will see how to run PCF Control in multiple languages. Let\u2019s consider a scenario where we have one PCF field control, which contains some user interface part which we currently display in only one language i.e English. Now, we want to display PCF control UI part in more than one","twitter:creator":"@inogic","twitter:image":"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2020\/02\/1PCF-Control-in-multiple-languages.png","twitter:label1":"Written by","twitter:data1":"Inogic","twitter:label2":"Est. reading time","twitter:data2":"4 minutes"},"aioseo_meta_data":{"post_id":"22873","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-02-02 07:22:50","updated":"2025-07-04 07:22:47","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.inogic.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.inogic.com\/blog\/category\/power-apps\/\" title=\"Microsoft PowerApps\">Microsoft PowerApps<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.inogic.com\/blog\/category\/power-apps\/pcf\/\" title=\"PCF\">PCF<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow to run PCF Control in Multilanguage using .resx (resource) files\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.inogic.com\/blog"},{"label":"Microsoft PowerApps","link":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/"},{"label":"PCF","link":"https:\/\/www.inogic.com\/blog\/category\/power-apps\/pcf\/"},{"label":"How to run PCF Control in Multilanguage using .resx (resource) files","link":"https:\/\/www.inogic.com\/blog\/2020\/02\/how-to-run-pcf-control-in-multilanguage-using-resx-resource-files\/"}],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/22873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=22873"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/22873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media\/22880"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=22873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=22873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=22873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}