How to translate content using Crowdin

If you want to start translating content for Scientific Python projects, you can use Crowdin to help you manage the translation process. You can see which projects are currently set up with Crowdin in our GitHub project board.

You can also see a similar guide in video format on YouTube.

1. Create Crowdin profile#

First, navigate to https://scientific-python.crowdin.com/ - note you will be logging in to or signing up for a Crowdin Enterprise account.

Create a username and password, or log in with your credentials (if you already have a GitHub account, you can use that to log in).

Crowdin login page showing the options of creating a new username and password, and logging in with multiple services such as Google, Facebook, GitHub and Twitter.

2. Join the Scientific Python Discord server and ask to be added as a translator#

Join the Scientific Python Discord server and ask to be added as a translator in the #translation channel. This will give you access to the projects that are currently being translated.

3. Select project you want to translate#

In the Crowdin Workspace, select the project you want to work on.

Crowdin workspace showing a user dashboard and 6 cards with a few Scientific Python projects' websites: Pandas, NumPy.org, Xarray, scipy.org, Zarr.dev and NetworkX.

4. Select language you want to translate to#

For each project, there will be a list of languages that the project is currently being translated into. Click on the language you want to translate to.

Crowdin project page showing the NetworkX dashboard, with a list of languages that the project is currently being translated into including Arabic, Chinese Simplified, Japanese, Korean, Brazilian Portuguese, Russian and Spanish.

5. Browse content#

Depending on the project you chose, there will be more or less content to translate. Currently, our goal is to focus on the brochure websites containing basic landing pages, news items and other static content. Full project documentation is not yet available for translation for most projects.

The source content to translate may be in Markdown, HTML, or other formats. You can use the Crowdin editor to translate content directly in the browser.

Crowdin dashboard showing the SciPy.org project with a list of files to translate, including index.md, contributing.md, and other Markdown files.

6. Translate content#

Crowdin provides a user-friendly interface for translating content directly in the browser. The editor will include automatic generated suggestions that you can use as a starting point for your translation. Keep in mind that these translations need human intervention and should be reviewed for accuracy.

Crowdin editor translation workflow. On the left, the original text and on the right the translation panel. A suggestion of a snippet into Brazilian Portuguese is selected but is wrong. The translator edits the translation to be more accurate.

7. (Optional) Review and approve translation#

When translations are ready, they can be reviewed by other contributors. This is an optional but recommended step, and it can help ensure that translations are accurate and consistent.

Crowdin editor showing the translation review workflow. The reviewer can see the original text, the translation, and the suggestions. The reviewer can approve or delete the translation.

8. See your translations online!#

Once project maintainers are happy with the current state of the translations, they will publish the translations to the project website. You can see an example of this by navigating the NumPy website and switching the language in the top right corner.

NumPy website showing the top right corner with a language switcher. The user can select between Brazilian Portuguese and Japanese.

Join our translations team!#

If you are interested in helping us translate content, please join the #translation channel on the Scientific Python Discord server. We are always looking for new contributors to help us translate content into different languages. No prior experience is required, although some familiarity with the Scientific Python libraries is recommended.

On this page