This page explains how the translation process works for translators, developers, and those who manage it all. The process is currently managed by emma peel.
This page explains how the translation process works for translators, developers, and those who manage it all. The process is currently managed by emma peel.
== Workflow ==
## Workflow
What follows is a short summary of the translation workflow for existing resources. Instructions on how to add a new translation resource can be found further down on this page.
What follows is a short summary of the translation workflow for existing resources. Instructions on how to add a new translation resource can be found further down on this page.
* Users translate our resources on [https://www.transifex.com/projects/p/torproject/ Transifex]
* Users translate our resources on [Transifex](https://www.transifex.com/projects/p/torproject/)
* Each translation resource has its own branch in the [https://gitweb.torproject.org/translation.git translation] repository
* Each translation resource has its own branch in the [translation](https://gitweb.torproject.org/translation.git) repository
* A [https://gitweb.torproject.org/translation-tools.git/blob_plain/HEAD:/update_translations cron] will pull new and updated translations from Transifex and add them to the translation repository
* A [cron](https://gitweb.torproject.org/translation-tools.git/blob_plain/HEAD:/update_translations) will pull new and updated translations from Transifex and add them to the translation repository
* Developers clone the translation repository, check out branches, validate the translations, and include them in new releases
* Developers clone the translation repository, check out branches, validate the translations, and include them in new releases
= For translators =
# For translators
* Create an account on [https://www.transifex.com/projects/p/torproject/ Transifex]
* Create an account on [Transifex](https://www.transifex.com/projects/p/torproject/)
* Request the creation of a translation team for your language (if it does not exist)
* Request the creation of a translation team for your language (if it does not exist)
* Apply to the desired language team (if you have not done so already)
* Apply to the desired language team (if you have not done so already)
* Wait to be approved for your team
* Wait to be approved for your team
If you do not hear back within 1 week, please contact {{{emmapeel <at> torproject <dot> org}}} with your Transifex username and the team you applied for.
If you do not hear back within 1 week, please contact `emmapeel <at> torproject <dot> org` with your Transifex username and the team you applied for.
* Click on your language
* Click on your language
* Choose the resource you wish to translate
* Choose the resource you wish to translate
* Click ''Translate now''
* Click _Translate now_
{{{#!comment
```
To access the glossary:
To access the glossary:
* Click on your language
* Click on your language
* Choose the resource you wish to translate
* Choose the resource you wish to translate
* Click ''Translate now''
* Click _Translate now_
* Click ''Glossary'' (next to the search box, above the strings)
* Click _Glossary_ (next to the search box, above the strings)
If you need to edit the Glossary (to upload a new English version, for example), log in and go to https://www.transifex.com/tools/glossary/
If you need to edit the Glossary (to upload a new English version, for example), log in and go to https://www.transifex.com/tools/glossary/
}}}
```
When translating, make sure you include any HTML tags, URLs, and symbols present in the English string.
When translating, make sure you include any HTML tags, URLs, and symbols present in the English string.
Note: Tails resources can be translated either on Transifex or with Git, [https://tails.boum.org/contribute/how/translate/ depending on the language].
Note: Tails resources can be translated either on Transifex or with Git, [depending on the language](https://tails.boum.org/contribute/how/translate/).
= For developers =
# For developers
=== Getting your translations added to Transifex ===
### Getting your translations added to Transifex
* Check [Transifex] for supported file types
* Check [Transifex] for supported file types
* Contact {{{emmapeel <at> torproject <dot> org}}} with a link to your English strings, preferably in Tor Project or Tails git
* Contact `emmapeel <at> torproject <dot> org` with a link to your English strings, preferably in Tor Project or Tails git
* Wait for strings to be added to Transifex and git
* Wait for strings to be added to Transifex and git
=== Using your translations ===
### Using your translations
* Clone the [https://gitweb.torproject.org/translation.git translation] repository
* Clone the [translation](https://gitweb.torproject.org/translation.git) repository
* Check out the branch for your project (e.g. ''git checkout mat-gui'')
* Check out the branch for your project (e.g. _git checkout mat-gui_)
* If you only want translations that are 100% completed, check out the ''_completed'' branch instead (e.g. ''git checkout mat-gui_completed'')
* If you only want translations that are 100% completed, check out the __completed_ branch instead (e.g. _git checkout mat-gui_completed_)
'''NOTE:''' Transifex does '''not''' do any kind of input validation on the translated strings. You need to make sure that the strings you include are valid and do not contain anything malicious.
**NOTE:** Transifex does **not** do any kind of input validation on the translated strings. You need to make sure that the strings you include are valid and do not contain anything malicious.
=== Translators' input ===
### Translators' input
The translators find many errors on the source strings, it is important to have a look at the open issues in transifex.
The translators find many errors on the source strings, it is important to have a look at the open issues in transifex.