Translate#

Translate Robot Framework source files from one or many languages to different one.

Note

Required Robot Framework version: >=6.0

Enabling the transformer

Translate is not included in default transformers, that’s why you need to call it with --transform explicitly:

robotidy --transform Translate src

Or configure enabled parameter:

robotidy --configure Translate:enabled=True

Example of Robot Framework markers translation:

*** Settings ***
Documentation    Dokumentacja zestawu

Library    Collections
Variables    vars.py

*** Test Cases ***
Pierwszy test
    [Setup]    Setup Keyword
    Step 1
*** Ustawienia ***
Documentation    Dokumentacja zestawu

Biblioteka    Collections
Zmienne    vars.py

*** Przypadki Testowe ***
Pierwszy test
    [Inicjalizacja]    Setup Keyword
    Step 1

The language can be configured using language parameter with the language code (default en - English):

robotidy --configure Translate:enabled=True:language=se

Since the translation is from one or many languages to one, only one language can be configured.

Source language#

Robotidy will translate only markers that can be recognized. If your source file is written in different language you need to configure Robotidy to recognize given language. See Language support for more details. Following example configure Robotidy to read English, Polish and German languages and translate Robot Framework markers to Ukrainian:

robotidy --configure Translate:enabled=True:language:uk --language pl,de source_in_pl_and_de.robot

BDD keywords#

BDD keywords are not translated by default. Set translate_bdd parameter to True to enable it:

robotidy --configure Translate:enabled=True:translate_bdd=True files/
*** Test Cases ***
Test with BDD keywords
    Given login page is open
    When valid username and password are inserted
    And credentials are submitted
    Then welcome page should be open
*** Testfälle ***
Test with BDD keywords
    Angenommen login page is open
    Wenn valid username and password are inserted
    Und credentials are submitted
    Dann welcome page should be open

Some language have more than one alternative to BDD keyword. For example Polish can use “Kiedy” or “Gdy” when translating “When” keyword. In this situation Robotidy will chose the first one (sorted alphabetically). It can be overwritten using <bdd_keyword>_alternative parameters:

robotidy --configure Translate:enabled=True:language=pl:translate_bdd=True:when_alternative=Gdy files/

Language headers#

Robotidy can add or replace existing language header in the files. For example, if you’re translating file written in German to Swedish, the language header will change from language: de to language: se. Translation to English will remove language header since it’s not necessary. To do this configure add_language_header parameter to True:

robotidy --configure Translate:enabled=True:add_language_header=True files/
# language: de

*** Testfälle ***
Test
    Step
# language: se

*** Testfall ***
Test
    Step
*** Test Cases ***
Test
    Step