diff --git a/.frontmatter/database/mediaDb.json b/.frontmatter/database/mediaDb.json index f391cc9f58..aa1df1b711 100644 --- a/.frontmatter/database/mediaDb.json +++ b/.frontmatter/database/mediaDb.json @@ -1 +1 @@ -{"users":{"luise":{"onedrive":{"dev":{"pnpblog":{"content":{"weekly-agenda":{"23-09-11":{"images":{"weeklyagenda37.png":{}}},"23-09-18":{"images":{"weeklyagenda38.png":{}}},"23-10-16":{"images":{}},"23-10-23":{"images":{}},"23-10-30":{"images":{}},"23-11-06":{"images":{}},"23-11-13":{"images":{}},"23-11-20":{"images":{}},"23-11-27":{"images":{}},"23-12-04":{"images":{}},"23-12-11":{"images":{}},"23-12-18":{"images":{}},"23-12-25":{"images":{}},"24-01-01":{"images":{}},"24-01-08":{"images":{}},"24-01-15":{"images":{}},"24-01-22":{"images":{}},"24-01-29":{"images":{}},"24-02-05":{"images":{}},"24-02-12":{"images":{}},"24-02-19":{"images":{}},"24-02-26":{"images":{}},"24-03-04":{"images":{}},"24-03-11":{"images":{}},"24-03-18":{"images":{}},"24-03-25":{"images":{}},"24-04-01":{"images":{}},"24-04-08":{"images":{}},"24-04-15":{"images":{}},"24-04-22":{"images":{}},"24-04-29":{"images":{}},"24-05-06":{"images":{}},"24-05-13":{"images":{}},"24-05-20":{"images":{}},"24-05-27":{"images":{}},"24-06-03":{"images":{}},"24-06-10":{"images":{}},"24-06-24":{"images":{}},"24-07-01":{"images":{}},"24-07-08":{"images":{}},"24-07-15":{"images":{}},"24-07-22":{"images":{}},"24-07-29":{"images":{}},"24-08-05":{"images":{}},"24-08-26":{"images":{}},"24-09-02":{"images":{}},"24-09-09":{"images":{}},"24-09-16":{"images":{}},"24-09-23":{"images":{}},"24-09-30":{"images":{}},"24-10-07":{"images":{}},"24-10-21":{"images":{}},"24-11-04":{"images":{}},"24-11-11":{"images":{}},"24-11-18":{"images":{}}},"post":{"how-to-populate-sharepoint-list-multiple-choice-column-with_m365-groups.md":{"images":{}},"my-first-spfx-web-part.md":{"images":{}},"building-a-react-quickview-in-adaptive-card-extensions-a-step-by-step-guide":{"images":{}}}}}}}}}} \ No newline at end of file +{"users":{"luise":{"onedrive":{"dev":{"pnpblog":{"content":{"weekly-agenda":{"23-09-11":{"images":{"weeklyagenda37.png":{}}},"23-09-18":{"images":{"weeklyagenda38.png":{}}},"23-10-16":{"images":{}},"23-10-23":{"images":{}},"23-10-30":{"images":{}},"23-11-06":{"images":{}},"23-11-13":{"images":{}},"23-11-20":{"images":{}},"23-11-27":{"images":{}},"23-12-04":{"images":{}},"23-12-11":{"images":{}},"23-12-18":{"images":{}},"23-12-25":{"images":{}},"24-01-01":{"images":{}},"24-01-08":{"images":{}},"24-01-15":{"images":{}},"24-01-22":{"images":{}},"24-01-29":{"images":{}},"24-02-05":{"images":{}},"24-02-12":{"images":{}},"24-02-19":{"images":{}},"24-02-26":{"images":{}},"24-03-04":{"images":{}},"24-03-11":{"images":{}},"24-03-18":{"images":{}},"24-03-25":{"images":{}},"24-04-01":{"images":{}},"24-04-08":{"images":{}},"24-04-15":{"images":{}},"24-04-22":{"images":{}},"24-04-29":{"images":{}},"24-05-06":{"images":{}},"24-05-13":{"images":{}},"24-05-20":{"images":{}},"24-05-27":{"images":{}},"24-06-03":{"images":{}},"24-06-10":{"images":{}},"24-06-24":{"images":{}},"24-07-01":{"images":{}},"24-07-08":{"images":{}},"24-07-15":{"images":{}},"24-07-22":{"images":{}},"24-07-29":{"images":{}},"24-08-05":{"images":{}},"24-08-26":{"images":{}},"24-09-02":{"images":{}},"24-09-09":{"images":{}},"24-09-16":{"images":{}},"24-09-23":{"images":{}},"24-09-30":{"images":{}},"24-10-07":{"images":{}},"24-10-21":{"images":{}},"24-11-04":{"images":{}},"24-11-11":{"images":{}},"24-11-18":{"images":{}},"24-11-25":{"images":{}}},"post":{"how-to-populate-sharepoint-list-multiple-choice-column-with_m365-groups.md":{"images":{}},"my-first-spfx-web-part.md":{"images":{}},"building-a-react-quickview-in-adaptive-card-extensions-a-step-by-step-guide":{"images":{}}}}}}}}}} \ No newline at end of file diff --git a/content/post/how-to-make-an-spfx-web-part-multilingual/images/lego-language.png b/content/post/how-to-make-an-spfx-web-part-multilingual/images/lego-language.png new file mode 100644 index 0000000000..cbd4cec873 Binary files /dev/null and b/content/post/how-to-make-an-spfx-web-part-multilingual/images/lego-language.png differ diff --git a/content/post/how-to-make-an-spfx-web-part-multilingual/images/webpart-german.png b/content/post/how-to-make-an-spfx-web-part-multilingual/images/webpart-german.png new file mode 100644 index 0000000000..106c8e5fe1 Binary files /dev/null and b/content/post/how-to-make-an-spfx-web-part-multilingual/images/webpart-german.png differ diff --git a/content/post/how-to-make-an-spfx-web-part-multilingual/index.md b/content/post/how-to-make-an-spfx-web-part-multilingual/index.md new file mode 100644 index 0000000000..afbcbde006 --- /dev/null +++ b/content/post/how-to-make-an-spfx-web-part-multilingual/index.md @@ -0,0 +1,66 @@ +--- +title: How to make a SharePoint Web Part multilingual +date: 2024-11-21T11:42:09.079Z +author: Luise Freese +githubname: LuiseFreese +categories: + - Community post +images: + - images/lego-language.png +tags: + - SharePoint + - SPFx +type: regular +description: Guide how multi language works for Web Parts +--- + + +If you want to easily allow users to have your SPFx Web Part in a language of their liking, this guide is for you. To enable this multi language feature, we need to + +1. Define the keys and their types for localized strings in the `mystrings.d.ts` file like this: + + +```typescript +declare interface ISvgToJsonWebPartStrings { + saveConfiguration: string; + libraryName: string; + column: string; + selectColumn: string; +} + +declare module 'SvgToJsonWebPartStrings' { + const strings: ISvgToJsonWebPartStrings; + export = strings; +} + +``` + +Depending on how much text you have in your Web Part, this can be a rather tedious task 😇. + +(replace the `SvgToJsonWebPartStrings` with your Web Part Name) + +2. Now in the `en-us.js` file (it's in the `loc` folder) you will define for each of your keys that you have in the `mystrings.d.ts` file, a key-value pair in english. If you also need `de-de.js` for german, or `fr-fr.js` for french or any other language, create a file with the name of that locale in the `loc` folder and provide a translated version of the values of the `en-us.js` file (Hello 👋 Copilot). + +This should look a bit like this: + +```typescript +define([], function() { + return { + "saveConfiguration": "Konfiguration speichern", + "LibraryName": "Bibliotheksname", + "column": "Spalte", + "selectColumn": "Wählen Sie eine Spalte" + } +}); +``` + +3. Now replace all the hard coded strings like button texts, placeholders, labels, error messages etc. with `strings.`, so for example `strings.column`. +4. As a last step, you need to import the strings into the file you want to use them with something like `import * as strings from 'SvgToJsonWebPartStrings';` + +If you now run `gulp build` and `gulp serve` again to try out your masterpiece in the workbench and want to see your newly added languages, append the URL `https://.sharepoint.com/_layouts/15/workbench.aspx` with `?locale=de-de` or any other locale that you created. + +![web part in workbench with enable de-de locale](images/webpart-german.png) + +Congrats! You enabled a multi-language feature in your Web Part and also improved the logic of it. Now if you change a text, that will appear two or more times in your Web Part once it reflects this everywhere, so less manual changes! + +If you want to have a look at the Web Part (which is still work in progress), you can do this here: [react-svg-to-json-converter/](https://github.com/LuiseFreese/sp-dev-fx-webparts/tree/main/samples/react-svg-to-json-converter). Let me know what you think! diff --git a/content/post/how-to-populate-SharePoint-List-multiple-choice-column-with_m365-groups.md/index.md b/content/post/how-to-populate-SharePoint-List-multiple-choice-column-with_m365-groups.md/index.md index c3af20d8b3..093ff3f2b5 100644 --- a/content/post/how-to-populate-SharePoint-List-multiple-choice-column-with_m365-groups.md/index.md +++ b/content/post/how-to-populate-SharePoint-List-multiple-choice-column-with_m365-groups.md/index.md @@ -11,7 +11,7 @@ tags: - SharePoint - Power Automate type: regular -description: In this article you will learn how to populate a SharePoint List multiple choice colum with M365 Group names +description: In this article you will learn how to populate a SharePoint List multiple choice column with M365 Group names --- Recently, a customer asked me if I could automagically 🦄 populate Microsoft 365 Group Names to a multiple choice column in a SharePoint list. Of course I told them that one can create an ootb Person field and allow group selection, but that was not quite what they wanted. So I built a simple Power Automate flow that would populate the choice column and applied some nice list formatting to it. diff --git a/content/weekly-agenda/24-11-18/index.md b/content/weekly-agenda/24-11-18/index.md index 7239fb0228..ec2492961d 100644 --- a/content/weekly-agenda/24-11-18/index.md +++ b/content/weekly-agenda/24-11-18/index.md @@ -80,12 +80,12 @@ Also: 📷 Picture Time with community in Together Mode! Update of the newly published videos in our YouTube channel [Microsoft Community Learning](https://www.youtube.com/@MicrosoftCommunityLearning) - Subscribe today! ✅ -* [Accelerating App Development: Introduction to Vite + SPFx Stack](https://www.youtube.com/watch?v=De8ev2rs_F4) by [Marcin Wojciechowski](https://linkedin.com/marcin-wojciechowski-17168276)​ +* [Accelerating App Development: Introduction to Vite + SPFx Stack](https://www.youtube.com/watch?v=De8ev2rs_F4) by [Marcin Wojciechowski](https://www.linkedin.com/in/marcin-wojciechowski-17168276)​ * [How to do ALM in Power Platform with Azure DevOps](https://www.youtube.com/watch?v=Lp4DSla91-I) -* [Introduction to Web Quick View capability in Viva Connections extensions with SPFx](https://www.youtube.com/watch?v=fai1N9Hfyxk) by [Vesa Juvonen](https://linkedin.com/vesajuvonen) (Microsoft) -* [Getting started with SharePoint Embedded using the updated VS Code extension](https://www.youtube.com/watch?v=nt2xDuCepXs) by [Marc Windle](https://linkedin.com/marc-windle-908b3055) (Microsoft) +* [Introduction to Web Quick View capability in Viva Connections extensions with SPFx](https://www.youtube.com/watch?v=fai1N9Hfyxk) by [Vesa Juvonen](https://www.linkedin.com/in/vesajuvonen) (Microsoft) +* [Getting started with SharePoint Embedded using the updated VS Code extension](https://www.youtube.com/watch?v=nt2xDuCepXs) by [Marc Windle](https://www.linkedin.com/in/marc-windle-908b3055) (Microsoft) * [Auto-Save Outlook email and Attachments to SharePoint using Power Automate](https://www.youtube.com/watch?v=7lSbninzhBc&) -* [Exploring generative AI in Power Automate using AI builder](https://www.youtube.com/watch?v=5QUBipkKG1M) by [Benny Ifeanyi Iheagwara](https://linkedin.com/ifeanyi-iheagwara) (ARM HoldCo) (Asset & Resource Management Holding Company) +* [Exploring generative AI in Power Automate using AI builder](https://www.youtube.com/watch?v=5QUBipkKG1M) by [Benny Ifeanyi Iheagwara](https://www.linkedin.com/in/inifeanyi-iheagwara) (ARM HoldCo) Update of the newly published videos in [Power Platform YouTube channel](https://www.youtube.com/@mspowerplatform) - Subscribe today! ✅ @@ -103,7 +103,6 @@ Update of the newly published videos in [Microsoft 365 Developer YouTube channel * [Jira 1-click Microsoft Graph connector deployment walkthrough](https://www.youtube.com/watch?v=SzNui9dK4oU) - ## New Microsoft 365 Developer Blog posts All the latest updates on the Microsoft 365 platform are shared from the [Microsoft 365 Developer blog](https://devblogs.microsoft.com/microsoft365dev/). Here are the updates from last week. diff --git a/content/weekly-agenda/24-11-25/images/community-recognization-program.png b/content/weekly-agenda/24-11-25/images/community-recognization-program.png new file mode 100644 index 0000000000..9b02a708c1 Binary files /dev/null and b/content/weekly-agenda/24-11-25/images/community-recognization-program.png differ diff --git a/content/weekly-agenda/24-11-25/images/weeklysummary48.PNG b/content/weekly-agenda/24-11-25/images/weeklysummary48.PNG new file mode 100644 index 0000000000..24fef007d4 Binary files /dev/null and b/content/weekly-agenda/24-11-25/images/weeklysummary48.PNG differ diff --git a/content/weekly-agenda/24-11-25/index.md b/content/weekly-agenda/24-11-25/index.md new file mode 100644 index 0000000000..ca3e05d6ba --- /dev/null +++ b/content/weekly-agenda/24-11-25/index.md @@ -0,0 +1,145 @@ +--- +title: Weekly Agenda - 25th of November week +date: 2024-11-21T11:21:18.298Z +author: Vesa Juvonen +githubname: vesajuvonen +categories: + - weekly agenda +images: + - images/weeklysummary48.png +tags: [] +type: trending +videos: null +draft: true +--- + +We want to give you a better overview on what's happening each week. This is a summary blog post of all the community activities such as community calls and presenters, newly uploaded videos, upcoming events and more 🚀 +Get involved by joining a call! We host a variety of [community calls](https://aka.ms/community/calls) each week, where we demo solutions, announce new features and where you can connect with like-minded people. These calls are for everyone to join, simply download the recurrent invite and get involved. + +Want to demo on what you have created or figured out with the out-of-the-box features? - absolutely welcome. [Volunteer for a demo spot](https://aka.ms/community/request/demo). + +This is the agenda for the upcoming week: + +### Microsoft 365 & Power Platform weekly call - 26th of November + +* Tuesday, 26th of November 2024, 8:00 AM PT / 4:00 PM GMT +* Download the [recurring invite](https://aka.ms/m365-dev-call) or [join the call](https://aka.ms/m365-dev-call-join) we'd love to see you in the call! +* If you can't make it this time, you see the recording of the call from the [Microsoft 365 & Power Platform Community YouTube channel](https://www.youtube.com/playlist?list=PLR9nK3mnD-OUQOW86tT5dkCRQAVGY7DlH) + +Demos this time + +* [Paolo Pialorsi](https://www.linkedin.com/in/paolopialorsi/) (PiaSys) - Implementing Single sign-on (SSO) with Viva Connections bot powered ACEs create with .NET +* [John Miller](https://www.linkedin.com/in/therealjohn/) (Microsoft) - Introduction to Microsoft Teams Toolkit for VS Code +* [Eric Scherlinger](https://www.linkedin.com/in/ericsche/) (Microsoft) - Building a Writing Coach declarative Agent for Microsoft 365 Copilot + + +**Interested on doing a demo here?** - [Let us know](https://aka.ms/community/request/demo) and we'll get you scheduled! + +--- + + +### Viva Connections & SharePoint Framework bi-weekly community Call - 28th of November + +* Thursday, 28th of Nvember 2024, 7:00 AM PT / 2:00 PM GMT +* Download the [recurring invite](https://aka.ms/spdev-spfx-call) or [join the call](https://aka.ms/spdev-spfx-call-join) we'd love to see you in the call! +* If you can't make it this time, you see the recording of the call from the [Microsoft 365 & Power Platform Community YouTube channel](https://www.youtube.com/watch?v=gAqUr9wa2_0&list=PLR9nK3mnD-OURfm5Ypu-wK52cxBv_gXCA) + +Demos this time + +* [Ankur Chaudhary](https://www.linkedin.com/in/ankur-chaudhary-75411a48/) (HCLTech)- Implementing breadcrumb functionality in Site Pages with SPFx +* [Nello D'Andrea](https://www.linkedin.com/in/nello-d-andrea/) (Die Mobiliar) - Refresh Rangers: React Security Grid +* [Dan Toft](https://www.linkedin.com/in/dan-toft/) (Evobis) - Using new queries in PnPjs + + +Also: 📷 Picture Time with community in Together Mode! + +**Interested on doing a demo here?** - [Let us know](https://aka.ms/community/request/demo) and we'll get you scheduled! + +--- + +## New videos + +Update of the newly published videos in our YouTube channel [Microsoft Community Learning](https://www.youtube.com/@MicrosoftCommunityLearning) - Subscribe today! ✅ + +* [Building an expert finder with SSO in Copilot as a Teams AI-based message extension](https://www.youtube.com/watch?v=IcFyHzEKQEQ) by [Sathya Raveendran](https://www.linkedin.com/in/sathyanarayananriimb) (Microsoft) +* [Building real world Intranet with SPFx - Multilingual document cards](https://www.youtube.com/watch?v=SJAcevZs0Nw) by [Nello D'Andrea](https://www.linkedin.com/in/nello-d-andrea) (Die Mobiliar) and [Nicole Beck Dekkara](https://www.linkedin.com/in/nicole-beck-dekkara) (Die Mobiliar) +* [Building reusable AI Prompts in Copilot Studio to increase productivity](https://www.youtube.com/watch?v=4UdtdtIxL0s) by [Daniel Laskewitz](https://www.linkedin.com/in/laskewitz) +* [Introduction to new Viva Connections data visualization components with SPFx](https://www.youtube.com/watch?v=TblNrorcWEg) by [Vesa Juvonen](https://www.linkedin.com/in/vesajuvonen) (Microsoft) + + + +Update of the newly published videos in [Power Platform YouTube channel](https://www.youtube.com/@mspowerplatform) - Subscribe today! ✅ + +* [Accenture encourages a culture of innovation, empowering citizen developers with Power Platform](https://www.youtube.com/watch?v=NDiIpUfI6Tk) + + +Update of the newly published videos in [Microsoft 365 Developer YouTube channel](https://www.youtube.com/@Microsoft365Developer) - Subscribe today! ✅ + +* no new videos this week + + +## New Microsoft 365 Developer Blog posts + +All the latest updates on the Microsoft 365 platform are shared from the [Microsoft 365 Developer blog](https://devblogs.microsoft.com/microsoft365dev/). Here are the updates from last week. + +* [What’s new for Office Add-ins at Ignite 2024](https://devblogs.microsoft.com/microsoft365dev/whats-new-for-office-add-ins-at-ignite-2024/) +* [Introducing the Microsoft 365 Agents SDK](https://devblogs.microsoft.com/microsoft365dev/introducing-the-microsoft-365-agents-sdk/) by [Daniel Carrasco](https://www.linkedin.com/in/danielserver/) (Microsoft) and Sarah Critchley (Microsoft) + + + +## New Microsoft 365 and Power Platform Community Blog posts + +All the latest updates on the Microsoft 365 platform are shared from the [Microsoft 365 and Power Platform Community Blog](https://pnp.github.io/blog/). Here are the updates from last week. + +* [How to make a SharePoint Web Part multilingual](https://pnp.github.io/blog/post/how-to-make-an-spfx-web-part-multilingual) by [Luise Freese](https://linkedin.com/in/luisefreese) + +--- + +## Last community call recordings published last week + +Here are the last week's community call recordings. You can download recurrent invites to the community calls from https://aka.ms/community/calls. + +* [Microsoft Power Platform community call – November 2024](https://www.youtube.com/watch?v=iwIfsFIjMoQ) +* [Microsoft 365 & Power Platform weekly call – Ignite 2024 keynote recap - 19th of November, 2024](https://www.youtube.com/watch?v=siQ8Z5cc80c) +* [Office add-ins community call - November 2024](https://www.youtube.com/watch?v=hJ8fY2IxJKU) + + +If you are looking to learn how to use the Microsoft 365 & Power Platform Community resources or contribute back to the community and not sure where to start, we are here for you! Please join the [Sharing Is Caring program](https://pnp.github.io/sharing-is-caring/). + +* [Maturity Model Practitioners - Monthly meeting](https://aka.ms/mm4m365/invite) + +--- + +## Recognition + +You already contributed? Great, we want to celebrate and recognize you! Opt in for our [community recognition program](https://pnp.github.io/recognitionprogram/) and earn badges from our various initiatives! + +![together-221201.png](images/community-recognization-program.png) + +--- + +## Upcoming events + +These are the main big ones for this and next semester - Do not miss out, it will be epic! + +* [ESPC](https://www.sharepointeurope.com/) - December 2-5, 2024, Stockholm, Sweden +* [European Collaboration Summit 2025](https://collabsummit.eu/) - May 26-28, 2025, Düsseldorf, Germany + +Please take the opportunity to join these great conferences organized by the best community in tech across the world. There are online and in-person options. See more from [CommunityDays.org](https://www.communitydays.org/). + + +* [Dynug Autumn Conference](https://www.communitydays.org/event/2024-11-26/dynug-autumn-conference) - November 26-27, 2024 - Oslo, Norway +* [CollabDays Hungary](https://www.communitydays.org/event/2024-11-28/collabdays-hungary-2024) - November 28, 2024 - Budapest, Hungary +* [Summit NA Roadshow - Houston](https://www.communitydays.org/event/2024-12-05/summit-na-roadshow-houston) - December 5, 2024 - Houston, Texas, United States +* [Collabcon 2024](https://www.communitydays.org/event/2024-12-12/collabcon-2024), December 12-13, 2024 - Orlando, Florida, United States +* [European MCT Summit 2025](https://www.communitydays.org/event/2025-01-09/european-mct-summit-2025) - January 9-10, 2025 - Manchester, United Kingdom +* [M365 Miami](https://www.communitydays.org/event/2025-02-06/m365-miami) - February 6-7, 2025 - Miami, Florida, USA +* [Exchange Summit](https://www.communitydays.org/event/2025-02-18/exchange-summit-2025) - February 18, 2024 - Wuerzburg, Germany +* [M365 DC Community Days 2025](https://www.communitydays.org/event/2025-02-21/m365-dc-community-days-2025) - February 21-22, 2025 - Reston, Virginia, United States +* [Microsoft Fabric Community Conference](https://www.communitydays.org/event/2025-03-31/microsoft-fabric-community-conference) - March 31 - April 3, 2024 - Las Vegas, Nevada, United States +* [Experts Live Germany 2025](https://www.communitydays.org/event/2025-04-11/experts-live-germany-2025) - April 11, 2025 - Leipzig, Germany +* [DynamicsMinds](https://www.communitydays.org/event/2025-05-26/dynamicsminds-2025) - May 26-28, 2025 - Portoroz, Slovenia + +We hope to see you around! + +_Sharing is caring 🧡_