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
- 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)
- Now in the
en-us.js
file (it’s in theloc
folder) you will define for each of your keys that you have in themystrings.d.ts
file, a key-value pair in english. If you also needde-de.js
for german, orfr-fr.js
for french or any other language, create a file with the name of that locale in theloc
folder and provide a translated version of the values of theen-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"
}
});
- Now replace all the hard coded strings like button texts, placeholders, labels, error messages etc. with
strings.<keyname>
, so for examplestrings.column
. - 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.
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 moreRelated 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...
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...
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....
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...
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...
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...
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...
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...
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 ...
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...