Localization with Crowdin Initiative

Summary

Use the SaaS solution Crowdin for localization instead of Pootle. This allows us to improve the process and output of localization TYPO3 Core and TYPO3 Extensions.

Background

Pootle served us well during the last years. However it lacks features which are expected from a localization software, not only technology-wise, but also in regard of UI & UX.

Integrating Crowdin seamlessly into the TYPO3 ecosystems requires creating some APIs and endpoints.

Goals

By end of 2020 TYPO3 10 Core and the 40 most used extensions are translated by 100% into 20 languages.

  • TYPO3 Core can be translatable supporting various branches
  • The translations of TYPO3 Core are downloadable via the Maintenance Area in TYPO3 Backend
  • Extension authors can localize their extensions on Crowdin using the same Translation Memory as TYPO3 Core
  • The translations of TYPO3 Extensions are downloadable via the Maintenance Area in TYPO3 Backend
  • Both translation for TYPO3 Core and extensions can be updated through Scheduler
  • The In-Context localization is integrated into TYPO3 Core.
  • Keep an eye on each feature added if it complies to the GDPR

Timing

  • 10/2019 Stabilize API & Make required changes to TYPO3 CMS
  • 11/2019 Testing
  • 01/2020 Public start of localization
  • 04/2020 Using the new API

Scope

The initiative’s scope is to fulfill all features which have been available with Pootle and its integration.

Not part of this initiative is:

  • Future of CSH (Context Sensitive Help)

Milestones

TYPO3 core is localizable with Crowdin. 

  • All existing translations have been migrated into Crowdin.

The translations can be downloaded and packaged in the correct structure so that a download from TYPO3 Install Tool will fetch the files.

Crowdin’s glossary is being filled with terms which are often used and might need an additional explanation. Examples are strings like “ Constants”, “SEO”, “Page Template”, “TypoScript Template”. It needs to be clear for every translator how those terms are translated.

Extensions can be localizable with Crowdin. The project (each extension at Crowdin is called project) is created manually but the translations can already be downloaded within the System Maintenance Area.In-Context localization is integrated.

Extension authors can decide to have their extension on Crowdin and the project is setup automatically and connected to the CVS of the extension.

Coming up with a solution to avoid having duplicates for general fields over and over again for strings like “Title” or “Description” - not only for the core but also for extension authors. Even though the Translation Memory (TMS) is very useful during translation there shouldn’t even be required to have a custom label.

The feature-richness of Crowdin can be used to attract and support new maintainers, e.g. by providing Screenshots of the Backend showing where the translations are actually used.

Current Status

A proof of concept extension can already download translations from Pootle and push it to Crowdin. In-Context localization is available for testing as well.

Get involved!

Team

Georg Ringer (Lead)

Preben Rather Sørensen

You?