Skip to content

Crowdin Workflow

Georg Ringer edited this page Oct 1, 2019 · 2 revisions

This document descibes how Crodwin is used and which API calls are made when.

1. Export sources

TYPO3 ships the sources as XLIFF files within the core extensions in the directory Resources/Private/Language/.

By using a GitHub connector the sources are fetched by Crowdin and loaded into crowdin.com/project/typo3-cms. Currently a fork of the official TYPO3 repository is used which can be found at github.com/georgringer/TYPO3.CMS but this will be later switched with the official one.

Configuration

The configuration to find all XLF files is shipped by the core with the following file

files:
  - source: /typo3/sysext/*/Resources/Private/Language/
    translation: '%original_path%/%two_letters_code%.%original_file_name%'

Even though the translations won't be pushed back via GitHub, the export format needs to be specified as it will be used later (see 3.2).

2. Translation

Crowdin is used as translation platform. Every translation will be done here.

Every translation needs to be confirmed by a proof reader.

3. Export

The export from Crowdin is done in separate steps.

3.1 Build

Before any translation can be downloaded, the project needs to be built. This can either be done via UI or also via API call.

3.2. Transformation

After the build task has been finished, the translations are downloaded as zip file and the files will be transformed further to meet the requirements of TYPO3.

TYPO3 expects the translations as zip file with the following name:

Core Extensions

<extensionKey>-l10n-<locale>.v<mainVersion>zip
about-l10n-fr.v9.zip

Regular Extensions

<extensionKey>-l10n-<locale>.zip
news-l10n-jp.zip

3.3. Export

The final zip files are moved to the expected directory structure which is

fileadmin/ter/<1stExtensionKeyLetter>/<2endExtensionKeyLetter>/
# Example "about"
fileadmin/ter/a/b/

After that the files are copied to the translation server.