Translation currently takes place on searx@transifex


  • Transifex account

  • Installed CLI tool of Transifex

Init Transifex project

After installing transifex using pip, run the following command to initialize the project.

tx init # Transifex instance:

After $HOME/.transifexrc is created, get a Transifex API key and insert it into the configuration file.

Create a configuration file for tx named $HOME/.tx/config.

host =
file_filter = searx/translations/<lang>/LC_MESSAGES/messages.po
source_file = messages.pot
source_lang = en
type = PO

Then run tx set:

tx set --auto-local -r searx.messagespo 'searx/translations/<lang>/LC_MESSAGES/messages.po' \
--source-lang en --type PO --source-file messages.pot --execute

Update translations

To retrieve the latest translations, pull it from Transifex.

tx pull -a

Then check the new languages. If strings translated are not enough, delete those folders, because those should not be compiled. Call the command below to compile the .po files.

pybabel compile -d searx/translations

After the compilation is finished commit the .po and .mo files and create a PR.