Add Localization to Luigi React Application
Enable your main application to be displayed in multiple languages using the Luigi localization features.
You will learn
- How to add localization to the part of your application developed with React
- Step 1
In this step, you will update the Luigi configuration with the labels for the German language localization that will be implemented in the later steps.
-
Open
react-core-mf/public/luigi-config.js
. -
Change the
label
attribute of theproducts
andorder
node as shown below:JavaScriptCopychildren: [ { pathSegment: "products", //<---Around line 13, change this label---> label: "PRODUCTS", //<------> icon: "product", viewUrl: "/sampleapp.html#/microfrontend/products", keepSelectedForChildren: true, children: [{ pathSegment: ':id', viewUrl: '/sampleapp.html#/microfrontend/productDetail/:id', context: { id: ':id' } }] }, { pathSegment: 'order', //<---Around line 25, change this label---> label: 'ORDERHISTORY', //<------> icon: 'history', viewUrl: 'http://localhost:8080/index.html' } ],
-
Add the following translation for German inside the
myTranslationProvider
function:JavaScriptCopyvar dict = { "en-US": { PRODUCTS: "Products", ORDERHISTORY: "Order History" }, //Around line 55, add the following: "de-DE": { PRODUCTS: "Produkte", ORDERHISTORY: "Bestellungen" }, //<------> };
-
- Step 2
In this step, you will add text for your React app in multiple languages by creating a “dictionary” file.
In the previously created
language.js
file inreact-core-mf/src
, replace the content with:JavaScriptCopyexport const dict = { 'de-DE': { ITEMS: 'Produkte', STOCKS: 'Bestand', SELECTLANGUAGE: 'Bitte wählen Sie eine Sprache', PRICE: 'Preis', WELCOME_LUIGI: 'Willkommen bei Luigi - einem Micro-Frontend Framework', DESCRIPTION: 'Beschreibung', PRODUCTADDED: 'Das Produkt wurde hinzugefügt', AVAILABLE: 'Verfügbar', AVAILABLEQUANT: 'Verfügbare Anzahl: ', ADDTOCART: 'Zu Einkaufswagen hinzufügen', BACK: 'Zurück', OUTOFSTOCK: 'Nicht auf Lager' }, "en-US": { ITEMS: "Products", STOCKS: "Stocks", SELECTLANGUAGE: "Please select a language", PRICE: "Price", WELCOME_LUIGI: "Welcome to Luigi - a micro-frontend framework", DESCRIPTION: "Description", PRODUCTADDED: "Product has been added to cart", AVAILABLE: "Available", AVAILABLEQUANT: "Available quantity: ", ADDTOCART: "Add to cart", BACK: "Back", OUTOFSTOCK: "Out of stock", }, };
- Step 3
- In the file
react-core-mf/src/views/home.js
, update the options state to include both English and German as in the following:JavaScriptCopyconst [options] = useState([{ key: 'en-US', text: 'en-US' }, { key: 'de-DE', text: 'de-DE' }]);
What is the name of the file used to configure Luigi?
- In the file