How to contribute
This page explains how to participate in the localization program for TON documentation.
Prerequisites
Localization contribution is open to everyone. Here are a few steps you need to take before you start contributing:
- Log in to your Crowdin account or sign up.
- Select the language you want to contribute to.
- Familiarize yourself with the How to use crowdin guide and the Translation style guide for tips and best practices.
- Use machine translations to aid your work, but do not rely solely on them.
- Preview all translation results on the website after proofreading.
Before contributing, read the guidelines below to ensure standardization and quality, speeding up the review process.
Side-by-side mode
All tasks are performed in side-by-side mode in the Crowdin Editor. To enable this, click a file you want to work on. At the top right of the page, click the Editor view button and select side-by-side mode for a clearer editor view.
Roles
Here are the roles you can assume in the system:
- Language Coordinator – Manages project features within assigned languages.
- Developer – Uploads files, edits translatable text, connects integrations and uses the API.
- Proofreader – Translates and approves strings.
- Translator (in-house or community) – Translates strings and votes on translations added by others.
The localization project is hosted on Crowdin.
Language coordinator guidelines
- Translate and approve strings
- Pre-translate project content
- Manage project members and join requests
- Generate project reports
- Create tasks
Developer guidelines
- Update footer configuration for your language:
- Fork our repository.
- Locate the file
src/theme/Footer/config.ts
. - Copy the value of the variable
FOOTER_COLUMN_LINKS_EN
toFOOTER_COLUMN_LINKS_[YOUR_LANG]
. - Translate the values of the keys
headerLangKey
andlangKey
to your language, as we did for Mandarin inFOOTER_COLUMN_LINKS_CN
. - Add a new property to
FOOTER_LINKS_TRANSLATIONS
:- Set the key as your ISO language code (two letters, lowercase).
- The value should be the new variable you created for your language.
- Run the command
yarn start:local [YOUR_IOS_LANG_CODE]
to preview the new footer in your language.
(e.g.,yarn start:local ru
for a preview of the Russian footer) - If everything looks good, create a pull request to the
i18n_feat
branch.
- Upload files
- Edit translatable text
- Connect integrations (e.g., add GitHub integration)
- Use the Crowdin API
Proofreader guidelines
As a Proofreader, you'll work on files with a blue progress bar.
Click on a file to enter the editing interface.
Contribution flow
-
Make sure you're in side-by-side mode. Filter by Not Approved translations to see strings needing proofreading.
-
Follow these rules:
- Select strings with a blue cube icon. Check each translation:
- If correct, click the ☑️ button.
- If incorrect, move to the next line.
- Select strings with a blue cube icon. Check each translation:
You can also review the approved lines:
- Filter by Approved.
- If an approved line has issues, click the ☑️ button to revert it to needing proofreading.
- To move to the following file, click the file name at the top, select the new file from the pop-up window, and continue proofreading.
Previewing your work
The preview website displays all approved content within one hour. Check our repo for the preview link in the newest PR.
Translator guidelines
As a translator, you aim to ensure that translations are faithful and expressive, keeping them as close to the original meaning and as understandable as possible. Your mission is to make the blue progress bar reach 100%.
Translation flow
Follow these steps for a successful translation process:
-
Select files that haven't reached 100% translation.
-
Ensure you're in side-by-side mode. Filter by Untranslated strings.
-
Your workspace has four parts:
- Top left: Input your translation based on the source string.
- Bottom left: Preview the translated file. Maintain the original format.
- Bottom right: Suggested translations from Crowdin. Click to use, but verify for accuracy, especially with links.
-
Save your translation by clicking the Save button at the top.
-
To move to the next file, click the file name at the top and select the new file from the pop-up window.
How to add support for a new language
If you are a community manager, follow these steps:
- Add a new branch named
[lang]_localization
(e.g.,ko_localization
for Korean) on TownSquareXYZ/ton-docs. - Contact the Vercel owner of this repo to add the new language to the menu.
- Create a PR request to the dev branch. Do not merge to dev; this is for preview purposes only.
Once you complete these steps, you can see the preview of your language in the PR request.
When your language is ready for the TON docs, create an issue, and we'll set your language into the production environment.