{"id":1041,"date":"2024-02-27T07:58:15","date_gmt":"2024-02-27T15:58:15","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/powerplatform\/?p=1041"},"modified":"2024-02-27T07:58:15","modified_gmt":"2024-02-27T15:58:15","slug":"create-multilingual-copilots-with-the-power-platform-cli-and-microsoft-copilot-studio","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powerplatform\/create-multilingual-copilots-with-the-power-platform-cli-and-microsoft-copilot-studio\/","title":{"rendered":"Create multilingual copilots with the Power Platform CLI and Microsoft Copilot Studio"},"content":{"rendered":"<p>A while ago, it became possible to create multilingual copilots in Microsoft Copilot Studio. It&#8217;s easy to enable the setting and have multiple languages in your copilot, but do you know how to translate your copilot into a different language? In this blog, I will show you how it can be done!<\/p>\n<blockquote>\n<p>This blog is part of a multi-part series on the Power Platform CLI.<\/p>\n<p>The following blogs appeared in this series:<\/p>\n<ul>\n<li><a href=\"\/powerplatform\/getting-started-with-the-power-platform-cli\/\">Part 1 &#8211; Getting Started with the Power Platform CLI<\/a><\/li>\n<li><a href=\"\/powerplatform\/streamline-your-solution-development-with-the-power-platform-cli-create-a-solution-from-scratch\/\">Part 2 &#8211; Streamline your solution development with the Power Platform CLI: Create a solution from scratch<\/a><\/li>\n<li><a href=\"\/powerplatform\/getting-started-with-power-platform-cli-and-power-pages\">Part 3 &#8211; Getting Started with Power Platform CLI and Power Pages<\/a><\/li>\n<li>Part 4 &#8211; Create multilingual copilots with the Power Platform CLI and Microsoft Copilot Studio (This blog)<\/li>\n<\/ul>\n<\/blockquote>\n<h2>\ud83e\udd16 Create a copilot<\/h2>\n<p>First things first: let&#8217;s create a copilot by using the creation dialog. In this case, I&#8217;m using the conversational boosting capabilities, but this is not necessary for this scenario. What is important is the language you will select; in my example it&#8217;s set to English. This will be the primary language. You can add multiple other languages to your copilot if needed, but the primary language will not change.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language-1024x534.png\" alt=\"Image Primary Language\" width=\"640\" height=\"334\" class=\"alignnone size-large wp-image-1043\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language-1024x534.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language-300x157.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language-768x401.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language-1536x802.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Primary-Language-2048x1069.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Another important selection in the creation dialog is the solution you set. This can only be done in the &#8220;advanced options&#8221; section, so make sure to select that and select the solution you want to add the copilot to. Later in this blog, I will use this, so make sure to set this. Note: the solution must be created before you start the creation dialog.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution-1024x534.png\" alt=\"Image Solution\" width=\"640\" height=\"334\" class=\"alignnone size-large wp-image-1044\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution-1024x534.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution-300x157.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution-768x401.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution-1536x802.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Solution-2048x1069.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>\ud83d\udde3\ufe0f Add a secondary language &amp; switch to that language<\/h2>\n<p>When your copilot is created, make sure to go to Settings \u27a1\ufe0f Languages. This will open the languages section, where you can add languages. Let&#8217;s add the Dutch language and save.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language-1024x534.png\" alt=\"Image Copilot Add Language\" width=\"640\" height=\"334\" class=\"alignnone size-large wp-image-1046\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language-1024x534.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language-300x157.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language-768x401.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language-1536x802.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Add-Language-2048x1069.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>After adding the language, you will see something different in the test copilot panel. The selected language will be displayed at the top of the panel. To change the language to Dutch, select &#8230; \u27a1\ufe0f Language \u27a1\ufe0f Dutch.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language-1024x534.png\" alt=\"Image Change Language\" width=\"640\" height=\"334\" class=\"alignnone size-large wp-image-1047\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language-1024x534.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language-300x157.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language-768x401.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language-1536x802.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Change-Language-2048x1069.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>After selecting Dutch, you might expect the content of the copilot to change to Dutch, but that&#8217;s not the case. There are a couple of places in the test copilot panel which indicate you are looking at the Dutch language version of your copilot. The selected language will appear at the top of the panel (&#8216;Dutch&#8217; instead of &#8216;English&#8217;), there will be an indicator of how long ago the message has been sent which will be in Dutch (&#8216;Zojuist&#8217; instead of &#8216;Just now&#8217;) and the text in the input box will be Dutch (&#8216;Typ uw bericht&#8217; instead of &#8216;Type your message&#8217;).<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language-1024x534.png\" alt=\"Image Changed Language\" width=\"640\" height=\"334\" class=\"alignnone size-large wp-image-1049\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language-1024x534.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language-300x157.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language-768x401.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language-1536x802.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Changed-Language-2048x1069.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>\ud83d\udc68\ud83c\udffb\u200d\ud83d\udcbb Work with the translations in Visual Studio Code<\/h2>\n<p>To change the welcome message, you must download the translations by using the <a href=\"https:\/\/aka.ms\/pac\">Power Platform CLI<\/a>. If you haven&#8217;t done that yet, make sure to read a <a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/getting-started-with-the-power-platform-cli\/\">previous blog<\/a> to see how you can download and install the Power Platform CLI.<\/p>\n<p>Make sure you are connected to the right environment and run the <code>pac copilot list<\/code> command:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List-1024x174.png\" alt=\"Image Copilot List\" width=\"640\" height=\"109\" class=\"alignnone size-large wp-image-1052\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List-1024x174.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List-300x51.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List-768x130.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List-1536x261.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-List-2048x348.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>This will list the copilots in your environment. I have created the Microsoft copilot, so I&#8217;ll take the ID from that copilot and use that in the <code>pac copilot extract-translation<\/code> command to download the *.resx files for the translations:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation-1024x146.png\" alt=\"Image Copilot Extract Translation\" width=\"640\" height=\"91\" class=\"alignnone size-large wp-image-1053\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation-1024x146.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation-300x43.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation-768x109.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation-1536x219.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-Extract-Translation-2048x292.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Open the directory where you downloaded the resx-files in Visual Studio Code, and you will be able to edit the translations. For this blog, I only change the greeting, so I search for the text in the greeting and replace that in the nl-NL file to a Dutch text. It&#8217;s important to keep the variables in the text the same since the name of the copilot should be inserted in the same way.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-VS-Code.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-VS-Code-1024x576.png\" alt=\"Image Copilot VS Code\" width=\"640\" height=\"360\" class=\"alignnone size-large wp-image-1054\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-VS-Code-1024x576.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-VS-Code-300x169.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-VS-Code-768x432.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Copilot-VS-Code.png 1500w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>After modifying the texts, make sure to save the file and run the <code>pac copilot merge-translation<\/code> command to update the copilot in Microsoft Copilot Studio.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot-1024x534.png\" alt=\"Image Updated Copilot\" width=\"640\" height=\"334\" class=\"alignnone size-large wp-image-1055\" srcset=\"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot-1024x534.png 1024w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot-300x157.png 300w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot-768x401.png 768w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot-1536x802.png 1536w, https:\/\/devblogs.microsoft.com\/powerplatform\/wp-content\/uploads\/sites\/79\/2024\/02\/Updated-Copilot-2048x1069.png 2048w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>\ud83c\udfc1 Wrap up<\/h2>\n<p>As you read in this blog, it&#8217;s easy to download and update the languages. In this blog, I showed you how to translate the resx-files manually. There are also options to translate them in a more automatic way, but that&#8217;s something I&#8217;ll save for a blog in the future!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A while ago, it became possible to create multilingual copilots in Microsoft Copilot Studio. It&#8217;s easy to enable the setting and have multiple languages in your copilot, but do you know how to translate your copilot into a different language? In this blog, I will show you how it can be done! This blog is [&hellip;]<\/p>\n","protected":false},"author":115431,"featured_media":1063,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powerplatform"],"acf":[],"blog_post_summary":"<p>A while ago, it became possible to create multilingual copilots in Microsoft Copilot Studio. It&#8217;s easy to enable the setting and have multiple languages in your copilot, but do you know how to translate your copilot into a different language? In this blog, I will show you how it can be done! This blog is [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/posts\/1041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/users\/115431"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/comments?post=1041"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/posts\/1041\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/media\/1063"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/media?parent=1041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/categories?post=1041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powerplatform\/wp-json\/wp\/v2\/tags?post=1041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}