Skip to main content

Localization

Remnawave is available in multiple languages. We use Crowdin 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.

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 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.

docker-compose.yml
  remnawave:
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:

.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.

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