--- sidebar_position: 1 title: Localization --- Remnawave is available in multiple languages. We use [Crowdin](https://i18n.remna.st) to manage translations. Currenly the following languages are available: - English - Chinese - Russian - Persian :::warning Please do not directly modify localization files in pull requests - they are meant to be edited only using Crowdin. ::: ## How to contribute First of all you need to join our Telegram group: [Join link](https://t.me/+cAFRGkqSWJcxNjE6). Ping admins in the group and ask them to add you to the project. You will need a Crowdin account with a valid email address to join the project. One of the maintainers will invite you to the Crowdin team. After that you can start translating the text. ## How to translate There are two options when it comes to making translations. Lets take a look at both. ### Option 1: Translate in the Crowdin website This is the simplest way to translate the text - you don't even need a running Remnawave instance. 1. Go to [Crowdin](https://i18n.remna.st) and login/create an account with your email address. 2. Select your target language. 3. Translate the text. 4. Click the "Save" button. 5. Wait for the translation to be approved. 6. Approved translations will be automatically deployed to the dev-branch. First steps ### Option 2: In-Context Translation This one can be a little bit tricky. You are going to need a running Remnawave dev-branch instance. Check your docker-compose file to make sure you are using the dev branch image. ```yaml title="docker-compose.yml" remnawave: // highlight-next-line-green image: remnawave/backend:dev container_name: "remnawave" hostname: remnawave restart: always ports: - "127.0.0.1:3000:3000" env_file: - .env networks: - remnawave-network depends_on: remnawave-db: condition: service_healthy remnawave-redis: condition: service_healthy ``` Edit the `.env` file and add the following line: ```bash title=".env" IS_CROWDIN_EDITOR_ENABLED=true ``` :::warning Before you start translating run "docker pull" to make sure you have the latest dev image. ::: :::danger This .env variable will work only with the dev-branch and it has no effect on the stable branch instances. ::: Restart the Remnawave container. ```bash docker compose down && docker compose up -d && docker compose logs -f -t ``` Now open the panel in your browser and you will see something like this: First steps Select the language you want to translate into and login to your Crowdin account. You will be redirected back to the panel. First steps You might encounter this warning, skip it for now. Login to Remnawave dashboard and in the language switcher select **Crowdin**. First steps Now you can translate the text in the comfort of your browser. First steps You can see borders on translated/untranslated text, click on it to edit. First steps Don't forget to click **Save** to save your translations. ## Issues ### Infinite loading screen First steps Sometimes you might encounter an infinite loading screen in the Crowdin iframe, as depicted above. Currently there is no sure-fire way to fix this. Possible workarounds: - Try using a vanilla Chrome browser without any extensions - Try to reload the page 5-10 times - Try to open the panel in a new tab (a few times) - Open Devtools (F12), navigate to the Network tab and check "Disable cache", then reload the page a couple of times