How to Contribute
In our quest to make TON the most successful blockchain, ensuring that TON documentation is comprehensible to people worldwide is crucial. Localization is key, and we're excited to have you join us in this effort.
Prerequisites
The TownSquare Labs Localization Program 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.
- All translation results can be previewed on the website one hour after they have been proofread.
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.
Our localization project is hosted on Crowdin.
Before you start contributing, read the guidelines below to ensure standardization and quality, making the review process much faster.
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.
Language Coordinator
- Translate and approve strings
- Pre-translate project content
- Manage project members and join requests
- Generate project reports
- Create tasks
Developer
- 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 just 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
As a Proofreader, you'll work on files with a blue progress bar. Click on a file to enter the editing interface.
Let's Start Contributing
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 approved lines:
- Filter by Approved.
- If an approved line has issues, click the ☑️ button to revert it to needing proofreading.
- To move to the next file, click the file name at the top, select the new file from the pop-up window, and continue proofreading.
Previewing Your Work
Every approved content will be deployed to a preview website within one hour. Check our repo for the preview link in the newest PR.
Translator
As a Translator, your goal is to ensure translations are faithful and expressive, making them as close to the original meaning and as understandable as possible. Your mission is to make the blue progress bar reach 100%.
Let's Start Translating
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
Currently, we have all desired languages in Crowdin. 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 these steps are completed, 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.