Loading...

How to make a SharePoint Web Part multilingual

How to make a SharePoint Web Part multilingual

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

  1. Define the keys and their types for localized strings in the mystrings.d.ts file like this:
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)

  1. 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:

define([], function() {
 return {
 "saveConfiguration": "Konfiguration speichern",
 "LibraryName": "Bibliotheksname",
 "column": "Spalte",
 "selectColumn": "Wählen Sie eine Spalte"
 }
});
  1. Now replace all the hard coded strings like button texts, placeholders, labels, error messages etc. with strings.<keyname>, so for example strings.column.
  2. 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 te workbench and want to see your newly added languages, append the URL https://<your tenant>.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

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/. Let me know what you think!

Published on:

Learn more
Luise Freese: Consultant & MVP
Luise Freese: Consultant & MVP

Recent content on Luise Freese: Consultant & MVP

Share post:

Related posts

Viva Pulse experience will be included with Microsoft 365 Copilot subscription

The Microsoft 365 Copilot subscription is set to receive an upgrade with the inclusion of Microsoft Viva Pulse. Users with Copilot or Viva Pul...

4 hours ago

Microsoft Teams: Customize the location of notifications

Microsoft Teams is set to introduce a new feature that allows users to customize the placement of notifications on their screens. This feature...

4 hours ago

Teams admin center: Export the list of Managed apps

The Teams Admin Center now offers a new feature for exporting managed apps data in CSV format that will aid in reporting and management tasks....

4 hours ago

Microsoft Teams: Seamlessly share apps and Microsoft 365 Copilot agents

Microsoft Teams introduces new features that enhance the sharing experience by allowing seamless sharing of apps and Microsoft 365 Copilot age...

4 hours ago

Updates available for Microsoft 365 Apps for Current Channel

Microsoft 365 Apps' Current Channel has been updated, and this post informs users that the update will be gradually rolled out beginning Decem...

4 hours ago

Microsoft Purview | Data Loss Prevention: Gain policy insights with Microsoft 365 Copilot for Security

In the world of data loss prevention, the Microsoft 365 Copilot for Security has introduced a new feature named "Policy Insights," which helps...

4 hours ago

Microsoft Teams Phone: Shared call history on devices

Microsoft Teams Phone is introducing a new Shared call history feature that allows users to view the call history on shared lines, providing a...

4 hours ago

Microsoft Teams: Record a video and share in channels

Microsoft Teams is set to launch a new feature allowing users to record video directly in Teams channels. Initially available only in chat, th...

4 hours ago

Microsoft Teams: Extensibility for PSTN calls

Microsoft Teams is set to introduce a new feature that will allow third-party developers to enhance PSTN calls with contextual information to ...

4 hours ago

Microsoft Viva: Updates to the admin experience

Microsoft has announced exciting updates to the admin experience of Microsoft Viva, including a new landing page and feature access management...

4 hours ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy