Proposed by: Ingo Renner
Mentor: probably Ingo Renner
Student working on it: -
Level: Medium
The current way of translating labels used in the TYPO3 backend and in TYPO3 extensions is like follows:
A dedicated server exists with backend logins shared for each language. Translations are handled through EXT:llxmltranslate. For each language a team exists that translates labels to their language. New labels for translation are made available by updating the underlaying TYPO3 installation from time to time. If translators want to translate labels of an extension they need to ask the chief translator to install that extension. Community members who want to help translate labels need to get in contact with their preferred language's team to get the backend login for that language.
The success of this project would make it significantly easier to translate TYPO3 to different languages and thus enabling TYPO3 to spread to even more countries.
The issues with this system are quite obvious:
The goal is to create a system that eliminates all or most of the current issues.
We need a system that
Further more (as secondary goals) it should be possible to track translator statistics so that we can identify top translators. An export and import to .po files should be possible to allow users to use desktop translation tools.
The translation process should work like follows:
A frontend user first registers on typo3.org, in his profile he sets the languages he can speak so that he only needs set them once and does not select it each time. He then goes to the translation server / pages and sees an overview of projects available for translation. These projects are the core and extensions.
After selecting a project the user can select a part he wants to work on. In the core that would be a module, context sensitive help or other smaller chunks of the overall core. For extensions these smaller parts would be backend modules, frontend plugins, context sensitive help, field labels or other available parts.
So the user starts translating... He picks a label and provides a translation. This translation is saved as a suggestion. Other translation suggestions may exist, in that case the user can vote for a suggestion he feels is correct.
At some point the chief translator for a language looks over the available suggestions. This could also be triggered by notifications after a certain part has been translated and an email has been sent to the chief translator. The chief translator looks over the available suggestions and accepts one for each label. When done, a package of the finished translations is released to the TYPO3 Extension Repository (TER) and distributed to the TYPO3 installations (distribution already works).
Nothing special apart from the usual PHP programming skills.
the functionality could be inspired by Launchpad's Rosetta:
or by Drupal's translation server (also inspired by Rosetta).