Skip to content

Commit

Permalink
Small changes to robot.api.Language API.
Browse files Browse the repository at this point in the history
- BDD prefixes and true/false strings are now lists, not sets,
  to preserve their order.
- BDD prefix attributes were renamed from singulare to plural
  like `given_prefix` -> `given_prefixes`.

These are unfortunate changes so late in RF 6.0 release cycle, but
leaving bad APIs or changing them already in the next release would
have been worse.
  • Loading branch information
pekkaklarck committed Oct 18, 2022
1 parent 6e1332f commit 3a6d82f
Show file tree
Hide file tree
Showing 3 changed files with 222 additions and 233 deletions.
88 changes: 34 additions & 54 deletions doc/userguide/src/Appendices/Translations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ __ `Supported conversions`_
:depth: 1
:local:

.. Content below has been generated using translations.py used by ug2html.py.

.. START GENERATED CONTENT
.. Generated by translations.py used by ug2html.py.
Bulgarian (bg)
--------------
Expand Down Expand Up @@ -144,10 +144,9 @@ Boolean strings
* - True/False
- Values
* - True
- Да, Включен, Вярно
- Вярно, Да, Включен
* - False
- Невярно, Нищо, Изключен, Не

- Невярно, Не, Изключен, Нищо

Bosnian (bs)
------------
Expand Down Expand Up @@ -274,7 +273,6 @@ Boolean strings
* - False
-


Czech (cs)
----------

Expand Down Expand Up @@ -396,10 +394,9 @@ Boolean strings
* - True/False
- Values
* - True
- Zapnuto, Pravda, Ano
- Pravda, Ano, Zapnuto
* - False
- Nic, Nepravda, Vypnuto, Ne

- Nepravda, Ne, Vypnuto, Nic

German (de)
-----------
Expand Down Expand Up @@ -524,8 +521,7 @@ Boolean strings
* - True
- Wahr, Ja, An, Ein
* - False
- Nein, Aus, Falsch, Unwahr

- Falsch, Nein, Aus, Unwahr

Spanish (es)
------------
Expand Down Expand Up @@ -648,10 +644,9 @@ Boolean strings
* - True/False
- Values
* - True
- On, Si, Verdadero
- Verdadero, Si, On
* - False
- Ninguno, No, Off, Falso

- Falso, No, Off, Ninguno

Finnish (fi)
------------
Expand Down Expand Up @@ -774,10 +769,9 @@ Boolean strings
* - True/False
- Values
* - True
- Tosi, Päällä, Kyllä
- Tosi, Kyllä, Päällä
* - False
- Ei, Pois, Epätosi

- Epätosi, Ei, Pois

French (fr)
-----------
Expand Down Expand Up @@ -902,8 +896,7 @@ Boolean strings
* - True
- Vrai, Oui, Actif
* - False
- Désactivé, Non, Faux, Aucun

- Faux, Non, Désactivé, Aucun

Hindi (hi)
----------
Expand Down Expand Up @@ -1026,10 +1019,9 @@ Boolean strings
* - True/False
- Values
* - True
- हां, यथार्थ, निश्चित, पर
- यथार्थ, निश्चित, हां, पर
* - False
- हालाँकि, नहीं, गलत, यद्यपि, हैं

- गलत, नहीं, हालाँकि, यद्यपि, नहीं, हैं

Italian (it)
------------
Expand Down Expand Up @@ -1152,10 +1144,9 @@ Boolean strings
* - True/False
- Values
* - True
- On, Sì, Vero
- Vero, Sì, On
* - False
- Nessuno, No, Off, Falso

- Falso, No, Off, Nessuno

Dutch (nl)
----------
Expand Down Expand Up @@ -1256,7 +1247,7 @@ BDD prefixes
* - Prefix
- Translation
* - Given
- Gegeven, Stel
- Stel, Gegeven
* - When
- Als
* - Then
Expand All @@ -1278,10 +1269,9 @@ Boolean strings
* - True/False
- Values
* - True
- Ja, Aan, Waar
- Waar, Ja, Aan
* - False
- Nee, Onwaar, Geen, Uit

- Onwaar, Nee, Uit, Geen

Polish (pl)
-----------
Expand Down Expand Up @@ -1382,9 +1372,9 @@ BDD prefixes
* - Prefix
- Translation
* - Given
- Mając, Zakładając, Zakładając, że
- Zakładając, Zakładając, że, Mając
* - When
- Jeśli, Jeżeli, Gdy, Kiedy
- Jeżeli, Jeśli, Gdy, Kiedy
* - Then
- Wtedy
* - And
Expand All @@ -1408,7 +1398,6 @@ Boolean strings
* - False
-


Portuguese (pt)
---------------

Expand Down Expand Up @@ -1530,10 +1519,9 @@ Boolean strings
* - True/False
- Values
* - True
- Verdade, Verdadeiro, Sim, Ligado
- Verdadeiro, Verdade, Sim, Ligado
* - False
- Nada, Desligado, Desativado, Falso, Não

- Falso, Não, Desligado, Desativado, Nada

Brazilian Portuguese (pt-BR)
----------------------------
Expand Down Expand Up @@ -1656,10 +1644,9 @@ Boolean strings
* - True/False
- Values
* - True
- Verdade, Verdadeiro, Sim, Ligado
- Verdadeiro, Verdade, Sim, Ligado
* - False
- Nada, Desligado, Desativado, Falso, Não

- Falso, Não, Desligado, Desativado, Nada

Romanian (ro)
-------------
Expand Down Expand Up @@ -1782,10 +1769,9 @@ Boolean strings
* - True/False
- Values
* - True
- Cand, Adevarat, Da
- Adevarat, Da, Cand
* - False
- Niciun, Fals, Oprit, Nu

- Fals, Nu, Oprit, Niciun

Russian (ru)
------------
Expand Down Expand Up @@ -1912,7 +1898,6 @@ Boolean strings
* - False
-


Swedish (sv)
------------

Expand Down Expand Up @@ -2034,10 +2019,9 @@ Boolean strings
* - True/False
- Values
* - True
- Ja, Sant, På
- Sant, Ja, På
* - False
- Av, Falskt, Ingen, Nej

- Falskt, Nej, Av, Ingen

Thai (th)
---------
Expand Down Expand Up @@ -2164,7 +2148,6 @@ Boolean strings
* - False
-


Turkish (tr)
------------

Expand Down Expand Up @@ -2286,10 +2269,9 @@ Boolean strings
* - True/False
- Values
* - True
- Açik, Evet, Doğru
- Doğru, Evet, Açik
* - False
- Kapali, Yanliş, Hayir

- Yanliş, Hayir, Kapali

Ukrainian (uk)
--------------
Expand Down Expand Up @@ -2416,7 +2398,6 @@ Boolean strings
* - False
-


Chinese Simplified (zh-CN)
--------------------------

Expand Down Expand Up @@ -2538,10 +2519,9 @@ Boolean strings
* - True/False
- Values
* - True
- , 是,
- , 是,
* - False
- 空, 关, 假, 否

- 假, 否, 关, 空

Chinese Traditional (zh-TW)
---------------------------
Expand Down Expand Up @@ -2664,6 +2644,6 @@ Boolean strings
* - True/False
- Values
* - True
- , 是,
- , 是,
* - False
- 空, 假, 關,
- 假, 否, 關,
60 changes: 34 additions & 26 deletions doc/userguide/translations.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,32 +18,33 @@ def __init__(self, lang):
self.lang = lang

def __getattr__(self, name):
return getattr(self.lang, name) or ''
value = getattr(self.lang, name)
return value if value is not None else ''

@property
def underline(self):
width = len(self.lang.name + self.lang.code) + 3
return '-' * width

@property
def given_prefix(self):
return ', '.join(self.lang.given_prefix)
def given_prefixes(self):
return ', '.join(self.lang.given_prefixes)

@property
def when_prefix(self):
return ', '.join(self.lang.when_prefix)
def when_prefixes(self):
return ', '.join(self.lang.when_prefixes)

@property
def then_prefix(self):
return ', '.join(self.lang.then_prefix)
def then_prefixes(self):
return ', '.join(self.lang.then_prefixes)

@property
def and_prefix(self):
return ', '.join(self.lang.and_prefix)
def and_prefixes(self):
return ', '.join(self.lang.and_prefixes)

@property
def but_prefix(self):
return ', '.join(self.lang.but_prefix)
def but_prefixes(self):
return ', '.join(self.lang.but_prefixes)

@property
def true_strings(self):
Expand Down Expand Up @@ -154,15 +155,15 @@ def false_strings(self):
* - Prefix
- Translation
* - Given
- {lang.given_prefix}
- {lang.given_prefixes}
* - When
- {lang.when_prefix}
- {lang.when_prefixes}
* - Then
- {lang.then_prefix}
- {lang.then_prefixes}
* - And
- {lang.and_prefix}
- {lang.and_prefixes}
* - But
- {lang.but_prefix}
- {lang.but_prefixes}
Boolean strings
~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -190,25 +191,32 @@ def update_translations():


def generate_docs(languages):
for index, lang in enumerate(languages):
for lang in languages:
yield from TEMPLATE.format(lang=LanguageWrapper(lang)).splitlines()
if index < len(languages) - 1:
yield ''


def list_translations(languages):
yield from ['', 'Supported languages:', '']
yield ''
for lang in languages:
yield f'- `{lang.name} ({lang.code})`_'
yield ''


def update(path: Path, content):
source = path.read_text(encoding='UTF-8').splitlines()
write = True
with open(path, 'w') as file:
for line in source:
file.write(line + '\n')
if line == '.. START GENERATED CONTENT':
break
for line in content:
write(source, file, end_marker='.. START GENERATED CONTENT')
file.write('.. Generated by translations.py used by ug2html.py.\n')
write(content, file)
write(source, file, start_marker='.. END GENERATED CONTENT')


def write(lines, file, start_marker=None, end_marker=None):
include = not start_marker
for line in lines:
if line == start_marker:
include = True
if include:
file.write(line.rstrip() + '\n')
if line == end_marker:
include = False

0 comments on commit 3a6d82f

Please sign in to comment.