====================
Internationalization
====================

Thank you for your interest in localizing Manim! Please read the
instructions below to get started. You are also encouraged, though not
required, to join our `Discord
server <https://manim.community/discord>`__.

Signing up
==========

You will first need to create an account for our project. Go to our
`project homepage <https://translate.manim.community/>`__ and click the
sign up button at the top right hand corner. Follow the instructions to
create an account. After creating an account, you should return back to
our homepage. Click the Manim project to contribute translations for the
main library.

Contributing
============

.. important::
   Keep in mind that Manim is still a work in progress.
   Tutorials and documentation are always subject to change.
   When a developer implements a new feature, they are not forced to respect any translations.
   This means that parts of the translation might become outdated over time.

That being said, improving the documentation and making it more accessible is still highly encouraged.
And even if your work gets outdated and requires change, you or someone else can simply adjust the translation.
Your efforts are not in vain!


Voting
------

To ensure that our translations are of good quality, we use
crowdsourcing and voting to approve good translations and reject bad
ones. The current threshold for a translation being accepted is 3 votes;
this may change as we gauge the level of activity in the community and
the quality of translations.

To vote on translations, first click on a language you would like to
help with, then click the "translate all" button. You should then enter
the translation editor. Next to the search bar, you will see a
funnel-like icon - click it and select the "Need to Be Voted" option to
see translations that need to be voted on. You can then select a string
on the left sidebar, view the translations at the bottom and vote with
the + and - icons for good and poor translations respectively.

Translations
------------

You can also help with contributing translations directly. Follow the
steps above to enter the translation editor (instead of clicking
"Translate all", you may also choose to translate strings from a
specific file by clicking them). Crowdin's on-screen tutorial should
guide you through the process.

Translation guidelines
======================

In general, follow the conventions for technical writing in your target
language. You may want to refer to similar, high quality sources (eg.
Python's documentation in your language) for guidance. Note that code
blocks, code literals, names and pseudonyms should be left unchanged.

Proofreading
============

For certain languages with a significant number of speakers within the
Manim Community, an additional step of proofreading is used after
crowdsourcing to further ensure the quality of our translations.
Proofreaders are trusted community members who will look over and give
the final approval on translations. If you would like to be a
proofreader, please email translations@manim.community with the answers
to the following questions:

1. What is your Crowdin username?
2. What is your Discord username (optional)?
3. What is your GitHub username (optional)?
4. List the languages you speak, and your level of fluency with them.
5. What language(s) are you applying to be a proofreader for?
6. Do you have any previous experience with translations?
7. If yes, give us more details.
8. How will you ensure the quality of translations, should you become a
   proofreader?

Please note that you don't need to have prior translation experience to
be a proofreader, just a commitment to maintaining a good quality of
translations.

Errors
======

Source errors
-------------

If you spot an error with a source string, report it to us by opening an
:issue:`issue <new/choose>` on
GitHub. Refrain from translating the string until the issue is resolved.
