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

Microsoft 365 Copilot: New scheduled prompt features in Frontier tenants

Microsoft 365 Copilot is adding scheduled prompt features for Frontier tenants, enabling users to automate recurring tasks with declarative ag...

9 hours ago

Microsoft 365 & Power Platform Call (Microsoft Speakers) – November 25th, 2025 – Screenshot Summary

Call Highlights   SharePoint Quicklinks: Primary PnP Website: https://aka.ms/m365pnp Documentation & Guidance SharePoint Dev Videos Issues...

15 hours ago

Introducing TypeSpec for Microsoft 365 Copilot – Build declarative agents faster with more confidence

We’re excited to announce that TypeSpec for Microsoft 365 Copilot is now generally available! This milestone marks the first stable release of...

16 hours ago

SharePoint Framework (SPFx) roadmap update – November 2025

SPFx is powering the future of Microsoft 365. From AI-driven portals to seamless integrations across SharePoint, Teams and Viva, SPFx is drivi...

17 hours ago

Microsoft 365 admin center: Organizational Messages now support Action Segments for Microsoft 365 Copilot

Microsoft 365 admin center now supports Action Segments for Organizational Messages targeting inactive Microsoft 365 Copilot users. Public Pre...

23 hours ago

Microsoft 365 admin center: Organizational Messages to support email delivery

Organizational Messages in Microsoft 365 will add email as a delivery channel, alongside Windows and Teams surfaces. Public Preview starts mid...

23 hours ago

Upcoming Change to Teams Desktop Client on Windows

Microsoft Teams Desktop Client for Windows will introduce a new process, ms-teams_modulehost.exe, to handle calling features separately, impro...

23 hours ago

Microsoft Copilot (Microsoft 365): Microsoft Copilot (Microsoft 365): Query Bitbucket Pull Requests with Copilot Connectors

Customers can now connect Microsoft 365 Copilot to Bitbucket with Copilot connectors to query knowledge base content and pull requests. Produc...

23 hours ago

Microsoft Copilot (Microsoft 365): Use Copilot to Share with Summary for OneDrive files in Windows

We’re bringing the power of Microsoft 365 Copilot directly into your daily file experience in Windows. With this feature, users can summarize ...

23 hours ago

Store your Microsoft 365 passkeys in 1Password

Check out this article via web browser: Store your Microsoft 365 passkeys in 1Password Syncable passkeys in Microsoft 365 and Entra ID are her...

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