> For the complete documentation index, see [llms.txt](https://docs.quizhour.mrb-lab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.quizhour.mrb-lab.com/app/6.-multi-language-setup.md).

# 6. Multi-Language Setup

{% hint style="success" %}
You can skip this setup for now. This is not a mandatory setup to run this app.
{% endhint %}

So, we have used 10 languages in this app. English, Spanish, Hindi, Bangla, Arabic, Portuguese, French, Chinese, Russian, and Indonesian.

{% hint style="info" %}
You can add as many languages as you want. The multi-language feature is only for all of the static texts in the app. It's static and not related to the database.
{% endhint %}

{% hint style="info" %}
English is the default & Starting Language. You can change the default language too if you want.
{% endhint %}

## Editing An Existing Language

If your language is already available on the list and you want to make some changes, then follow the steps below:

Example: If your want to change some text in the Hindi language, then open the **assets/translations/hi.json** file and edit only **right-side values**.

<figure><img src="/files/QwrlCk1Hb6xXOh7owXnu" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Don't edit the keys (Left side values)
{% endhint %}

{% hint style="danger" %}
If you found any characters in the right-side values like this below, don't remove them.

<mark style="color:green;">**:, (), {}, -**</mark>
{% endhint %}

## Adding A New Language

If you want to add a new language that is not available in the default list, follow the steps below:

* First, go to the **assets/translations** folder from your IDE. Add a .json file here with **your\_language\_code.json** name. Now go to the **assets/translations/en.json** file and copy everything from this file and paste to **your\_language\_code.json** file.

<figure><img src="https://lh5.googleusercontent.com/PBY8hwflzFzUAEHObG2vsduBi4uKOgDngk_Bb076z3raTCLGWZqfJgSMMYcXR5XgSRPI_GFUjri-x8vzGRk9jsaj1ULyudyxyiV3PmfAdS8vKUxfIi6Xy7WfaC8gfW-98KGZcBVQ0Hlzkc2RKyFbHH1QSrtjJmbB8tBbj4UZgDJzDDdhJ9z6J4bMQpRn" alt=""><figcaption></figcaption></figure>

* Now, Rename the all right-side strings. Look at the es.json file and you will understand what to do.

{% hint style="warning" %}
Don't edit the keys (Left side values)
{% endhint %}

{% hint style="danger" %}
If you found any characters in the right-side values like this below, don't remove them.

<mark style="color:green;">**:, (), {}, -**</mark>
{% endhint %}

* Now, go to the **lib/configs/language\_config.dart** file and add your **Language Name** to the **languages** list and add your **Language code** to the **supportedLocals** list.

<figure><img src="/files/SRFnKnEx6i24N5F2lFe1" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Example: If you want to add the **German** language then add **'German'** and **Locale('de')**
{% endhint %}

{% hint style="info" %}
Language codes must be aligned with the language names. Their index number should be the same.
{% endhint %}

## Removing An Existing Language

To remove any language that is available in the list, please follow the steps below:

> * Go to the **lib/configs/language\_config.dart** file and remove the language name that you want to remove and remove the language code you want remove.
> * Go to the **assets/translations** and delete the language\_code.json file you want to remove.

## Start Locale Setup

English ('en') is added as the start language of the app by default. If you want to add any other language as a Start Language then go to the **lib/configs/language\_config.dart** file and replace the **startLocale** and the **fallbackLocale** with your language code. That's it.

<div align="left"><figure><img src="/files/WjT4wd4DVSEa6mn4qGHv" alt=""><figcaption></figcaption></figure></div>
