Frequently Asked Questions (FAQ)

Note

If you miss a question, please share it in the slack channel cig-crowdin-localization.

General Questions

Will the old translation server be disabled?

The existing translation server will be turned off some time after Crowdin will have been announced stable.

The existing and exported translations which are downloaded within the Install Tool will be available for longer time.

My favorite extension is not available on Crowdin

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.

My favorite language is not available for an extension

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.

See also

The language needs to be supported by TYPO3 itself as well, see Supported languages for a list of all languages.

How to convert to the new language xlf file format

If you are downloading an xlf file from the 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 resname of the xlf file based on regular expressions.

In most editors you can use regular expressions. For example in the KDE Kate editor:

  1. Open the xlf file into the editor.

  2. Press Ctrl + R to get into the replace mode

  3. Find: id="(.+)" Replace: id="\1" resname="\1"

  4. Mode: Regular expression

  5. Click on button Replace all

Questions about extension integration

Why does Crowdin show me translations in source language?

If you just have setup Crowdin and you ship translated xlf files within your extension, those will be shown as well as to be translated.

You need to exlude those in your .crowdin.yaml configuration which can be found in the extension root directory.

files:
  - source: /Resources/Private/Language/
    translation: /%original_path%/%two_letters_code%.%original_file_name%
    ignore:
      - /Resources/Private/Language/de.*

Attention

In the long run, you should remove the translations from your extension as those will be provided by the translation server.

More information can be found in the documentation on crowdin: https://support.crowdin.com/configuration-file/

How can I migrate translations from Pootle?

If translations exist on Pootle there is no need to retranslate everything on Crowdin again - you can import those.

  1. Fetch translations Download the translations you need. You will need to download them directly from the TER with the following URL pattern:

    https://extensions.typo3.org/fileadmin/ter/<e>/<x>/<extension_key>-l10n/<extension_key>-l10n-<lang>.zip

    Here <extension_key> is the full extension key, <e> the 1st and <x> the 2nd letter of that extension key. Finally <lang> is the 2-lettered language identifier, e.g. de.

    For example to download the German translations of the extension powermail: wget 'https://extensions.typo3.org/fileadmin/ter/p/o/powermail-l10n/powermail-l10n-de.zip'

  2. Open and Cleanup Unzip the translations and switch to e.g. Resources/Private/Language which is the typical directory of translations. Remove the xml files as only the xlf files are important.

  3. Match the Files The attribute original of the translations must match the ones of the default translations. Example: The file Resources/Private/Language/locallang.xlf starts 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:powermail/Resources/Private/Language/locallang.xlf">
    

    The file de.locallang.xlf must be modified and original="messages" must be changed to original="EXT:powermail/Resources/Private/Language/locallang.xlf"

  4. Upload the Translations Just keep on reading the next question.

Can I upload translated xlf files?

Yes, you can! Switch to the settings area of your project (you need to have the proper permissions for that) and you can upload xlf files or even zip files containg the xlf files.

Upload translations

Upload translations

After triggering the upload Crowdin tries to find the matching source files and the target languages. It might be that you need to adopt both if not found automatically.