Frequently asked questions (FAQ)¶
If you miss a question, please share it in the Slack channel #cig-crowdin-localization.
If you miss an extension on Crowdin, contact the extension owner to create a project on Crowdin.
It is important that they follow the description on the page Extension integration. The setup is a simple process and done within minutes.
If you are missing the support for a specific language in an extension on Crowdin please contact either the maintainer of the extension or the Crowdin initiative.
The language needs to be supported by TYPO3 itself as well, see Supported languages for a list of all languages.
The old translation server under
https://translation.typo3.org/ has been
turned off in July 2023.
The existing and exported translations which are downloaded within the Install Tool will be available for longer time.
If you have downloaded an XLIFF file from the
deactivated Pootle language server or an old version of an extension, then it
does not have the correct format. You need to remove some attributes. And you
need to add the
resname attribute. For this you can use a Linux tool or a
sophisticated editor to copy the
id attribute into the
the XLIFF file based on regular expressions.
In most editors you can use regular expressions, for example, in PhpStorm:
Open the XLIFF file in the editor.
Press Ctrl + R to open the search and replace pane
Click the regex icon (.*) to enable regular expressions.
Click on button Replace All
If you have just set up Crowdin and ship translated XLIFF files in your extension, they will also show up as files to be translated.
You need to exclude them in your
crowdin.yml configuration, which is
located in the extension root directory.
files: - source: /Resources/Private/Language/ translation: /%original_path%/%two_letters_code%.%original_file_name% ignore: - /Resources/Private/Language/de.*
You should remove the translations from your extension as those will be provided by the translation server.
Yes, you can! Switch to the settings area of your project (you need to have the proper permissions for that) and you can upload XLIFF files or even ZIP files containing the XLIFF files.
After triggering the upload, Crowdin tries to find the matching source files and target languages. You may have to accept both if they are not found automatically.
If there were already translations on the old, discontinues translation server powered by Pootle, you do not need to translate everything again on Crowdin - you can import them.
Fetch translations: Download the translations you need. You will need to download them directly from the TER with the following URL pattern:
The full extension key.
The first letter of that extension key.
The second letter of that extension key.
The ISO 639-1 code of the language, for example,
For example, to download the German translations of the news extension:
Open and Cleanup: Unzip the translations and switch to, for example,
Resources/Private/Language/which is the typical directory of translations. Remove the
.xmlfiles as only the
.xlffiles are important.
Match the files The attribute
originalof the translations must match the ones of the default translations.
Example: The file
Resources/Private/Language/locallang.xlfstarts with the following snippet:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> <xliff version="1.0"> <file source-language="en" datatype="plaintext" original="EXT:news/Resources/Private/Language/locallang.xlf">
de.locallang.xlfmust be modified and
original="messages"must be changed to
Upload the Translations Have a look at Can I upload translated XLIFF files?.
The Core Team added a new system extension. Why are language packs not available even though it has already been translated into language XY?¶
The new system extension needs to be added to the configuration of https://github.com/TYPO3/crowdin-bridge/. You can speed up the change by creating a pull request like this one: https://github.com/TYPO3/crowdin-bridge/pull/6/commits.