Internationalization (i18n)

To have multiple languages, let's create an languages folder with multiple JSON files:

en_EN.json:

[
    {
        "hello": "hello"
    }
]

fr_FR.json:

[
    {
        "hello": "salut"
    }
]

Let's create an languages/index.js file

import fr_FR from './fr_FR.json'
import en_EN from './en_EN.json'

export default {
    packages: { en_EN, fr_FR }
}

In the main.js file, import the languages ​​and assign them to the languages property:

In the main.converse scenario:

Depending on the language of the user, it will show "Hello" or "Hi"

On the browser side, the default language is the browser language

In a string

Let's put the symbol # before the text. Example:

With parameters

If the JSON is:

en_EN.json:

The goal is to display the plural according to the number of messages. To add parameters, put a table at the end of the line:

Ask the language

It is possible to assign a language to the user. Why not make a dialogue that asks for language?

Go further The language system is based on Languages.js. You can consult the documentation on https://languages.js.org

Last updated

Was this helpful?