Sunday, November 17, 2024
Google search engine
HomeLanguagesReact MUI Localization

React MUI Localization

Material-UI is a user interface framework that provides pre-defined and customizable React components for faster and easy web development. The Material-UI components are based on top of Material Design by Google. In this article let’s discuss the Localization Utility in the Material-UI library.

The Localization Utility provided by MUI is used to adopt a particular product or content to a specific locale or market. The default locale of MUI is set to English (US).

Supported Locales:

Locale Import Name
Amharic amET
Arabic (Egypt)  arEG
Arabic (Saudi Arabia)  arSA
Arabic (Sudan)  arSD
Armenian hyAM
Azerbaijani azAZ
Bangla bnBD
Bulgarian bgBG
Catalan caES
Chinese (Hong Kong)  zhHK
Chinese (Simplified)  zhCN
Chinese (Taiwan)  zhTW
Croatian hrHR
Czech csCZ
Danish daDK
Dutch nlNL
English (United States)  enUS
Estonian  etEE
Finnish fiFI
French frFR
German deDE
Greek elGR
Hebrew heIL
Hindi hiIN
Hungarian huHU
Icelandic isIS
Indonesian idID
Italian itIT
Japanese jaJP
Khmer khKH
Kazakh kzKZ
Korean koKR
Macedonian mkMK
Norwegian (bokmål)  nbND
Persian faIR
Polish plPL
Portuguese ptPT
Portuguese (Brazil)  ptBR
Romanian roRO
Russian ruRU
Serbian srRS
Sinhalese siLK
Slovak skSK
Spanish esES
Swedish svSE
Thai thTH
Turkish trTR
Ukrainian ukUA
Vietnamese viVN

Creating React Application And Installing Module:

Step 1: Create a React application using the following command:

npx create-react-app foldername

Step 2: After creating your project folder i.e. foldername, move to it using the following command:

cd foldername

Step 3: After creating the ReactJS application, Install the required module using the following command:

npm install @mui/material

Project Structure: It will look like the following.

 

Example 1: In this example, we will try to create a simple application that uses Localization Utility, by MUI. We will build a dropdown that allows users to choose a specific locale, and display the table pagination in that selected locale.

Now write down the following code in the App.js file. Here, App is our default component where we have written our code:

Filename: App.js

Javascript




import * as React from 'react';
import TablePagination from '@mui/material/TablePagination';
import Autocomplete from '@mui/material/Autocomplete';
import TextField from '@mui/material/TextField';
import { createTheme, ThemeProvider, useTheme } from '@mui/material/styles';
import * as locales from '@mui/material/locale';
 
export default function App() {
    const [locale, setLocale] = React.useState('zhCN');
    const theme = useTheme();
    const themeWithLocale = React.useMemo(
        () => createTheme(theme, locales[locale]),
        [locale, theme],
    );
    return (
        <ThemeProvider theme={themeWithLocale}>
            <div
                className="head"
                style={{
                    width: "fit-content",
                    margin: "auto",
                }}
            >
                <h1
                    style={{
                        color: "green",
                    }}
                >
                    neveropen
                </h1>
                <strong>React MUI Localization until</strong>
                <br />
                <br />
            </div>
            <Autocomplete
                options={Object.keys(locales)}
                getOptionLabel={(key) =>
                    `${key.substring(0, 2)}-${key.substring(2, 4)}`}
                style={{ width: 300 }}
                value={locale}
                disableClearable
                onChange={(event, newValue) => {
                    setLocale(newValue);
                }}
                renderInput={(params) => (
                    <TextField {...params}
                    label="Locale" fullWidth />
                )}
            />
            <TablePagination
                count={2000}
                rowsPerPage={10}
                page={1}
                component="div"
                onPageChange={() => { }}
            />
        </ThemeProvider>
    );
}


Step to Run Application: Run the application using the following command from the root directory of the project:

npm start

Output: Now open your browser and go to http://localhost:3000/, you will see the following output:

 

Example 2: In this example, we will try to create a simple application that uses Localization Utility, by MUI. We will build a Switch that allows users to switch between English (US) and Chinese (Simplified) locales. 

Filename: App.js

Javascript




import * as React from 'react';
import TablePagination from '@mui/material/TablePagination';
import { createTheme, ThemeProvider, useTheme } from '@mui/material/styles';
import { zhCN, enUS } from '@mui/material/locale';
import { Switch } from '@mui/material';
 
export default function App() {
    const [locale, setLocale] = React.useState(enUS);
    const [checked, setChecked] = React.useState(false);
    const theme = useTheme();
    const themeWithLocale = React.useMemo(
        () => createTheme(theme, locale),
        [theme, locale],
    );
    React.useEffect(() => {
        if (checked) {
            setLocale(zhCN)
        } else {
            setLocale(enUS)
        }
    }, [checked])
    return (
        <ThemeProvider theme={themeWithLocale}>
            <div
                className="head"
                style={{
                    width: "fit-content",
                    margin: "auto",
                }}
            >
                <h1
                    style={{
                        color: "green",
                    }}
                >
                    neveropen
                </h1>
                <strong>React MUI Localization until</strong>
                <br />
                <br />
            </div>
            <div style={{ display: 'flex',
                alignItems: 'center',
                justifyContent: 'center' }}>
                <Switch checked={checked} onChange={() => {
                    setChecked(checked => !checked);
                }} />
                <p>{locale === enUS ? 'English (US)' :
                    'Chinese (Simplified)'}</p>
            </div>
            <TablePagination
                count={2000}
                rowsPerPage={10}
                page={1}
                component="div"
                onPageChange={() => { }}
            />
        </ThemeProvider>
    );
}


Step to Run Application: Run the application using the following command from the root directory of the project:

npm start

Output:

 

Reference: https://mui.com/material-ui/guides/localization/#main-content

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments