Robot Framework
languages.py
Go to the documentation of this file.
1 # Copyright 2008-2015 Nokia Networks
2 # Copyright 2016- Robot Framework Foundation
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 
16 import inspect
17 from itertools import chain
18 import os.path
19 
20 from robot.errors import DataError
21 from robot.utils import classproperty, is_list_like, Importer, normalize
22 
23 
24 
34 class Languages:
35 
36 
45  def __init__(self, languages=None, add_english=True):
46  self.languageslanguages = []
47  self.headersheaders = {}
48  self.settingssettings = {}
49  self.bdd_prefixesbdd_prefixes = set()
50  self.true_stringstrue_strings = {'True', '1'}
51  self.false_stringsfalse_strings = {'False', '0', 'None', ''}
52  for lang in self._get_languages_get_languages(languages, add_english):
53  self._add_language_add_language(lang)
54 
55 
56  def reset(self, languages=None, add_english=True):
57  self.__init____init__(languages, add_english)
58 
59 
69  def add_language(self, lang):
70  try:
71  if isinstance(lang, Language):
72  languages = [lang]
73  else:
74  languages = [Language.from_name(lang)]
75  except ValueError as err1:
76  try:
77  languages = self._import_languages_import_languages(lang)
78  except DataError as err2:
79  raise DataError(f'{err1} {err2}')
80  for lang in languages:
81  self._add_language_add_language(lang)
82 
83  def _add_language(self, lang):
84  if lang in self.languageslanguages:
85  return
86  self.languageslanguages.append(lang)
87  self.headersheaders.update({n.title(): lang.headers[n] for n in lang.headers if n})
88  self.settingssettings.update({n.title(): lang.settings[n] for n in lang.settings if n})
89  self.bdd_prefixesbdd_prefixes |= {p.title() for p in lang.bdd_prefixes}
90  self.true_stringstrue_strings |= {s.title() for s in lang.true_strings}
91  self.false_stringsfalse_strings |= {s.title() for s in lang.false_strings}
92 
93  def _get_languages(self, languages, add_english=True):
94  languages = self._resolve_languages_resolve_languages(languages, add_english)
95  available = self._get_available_languages_get_available_languages()
96  returned = []
97  for lang in languages:
98  if isinstance(lang, Language):
99  returned.append(lang)
100  else:
101  normalized = normalize(lang, ignore='-')
102  if normalized in available:
103  returned.append(available[normalized]())
104  else:
105  returned.extend(self._import_languages_import_languages(lang))
106  return returned
107 
108  def _resolve_languages(self, languages, add_english=True):
109  if not languages:
110  languages = []
111  elif is_list_like(languages):
112  languages = list(languages)
113  else:
114  languages = [languages]
115  if add_english:
116  languages.append(En())
117  # The English singular forms are added for backwards compatibility
118  self.headersheaders = {
119  'Setting': 'Settings',
120  'Variable': 'Variables',
121  'Test Case': 'Test Cases',
122  'Task': 'Tasks',
123  'Keyword': 'Keywords',
124  'Comment': 'Comments'
125  }
126  return languages
127 
129  available = {}
130  for lang in Language.__subclasses__():
131  available[normalize(lang.code, ignore='-')] = lang
132  available[normalize(lang.name)] = lang
133  if '' in available:
134  available.pop('')
135  return available
136 
137  def _import_languages(self, lang):
138  def is_language(member):
139  return (inspect.isclass(member)
140  and issubclass(member, Language)
141  and member is not Language)
142  if os.path.exists(lang):
143  lang = os.path.abspath(lang)
144  module = Importer('language file').import_module(lang)
145  return [value() for _, value in inspect.getmembers(module, is_language)]
146 
147  def __iter__(self):
148  return iter(self.languageslanguages)
149 
150 
151 
159 class Language:
160  settings_header = None
161  variables_header = None
162  test_cases_header = None
163  tasks_header = None
164  keywords_header = None
165  comments_header = None
166  library_setting = None
167  resource_setting = None
168  variables_setting = None
169  documentation_setting = None
170  metadata_setting = None
171  suite_setup_setting = None
172  suite_teardown_setting = None
173  test_setup_setting = None
174  task_setup_setting = None
175  test_teardown_setting = None
176  task_teardown_setting = None
177  test_template_setting = None
178  task_template_setting = None
179  test_timeout_setting = None
180  task_timeout_setting = None
181  test_tags_setting = None
182  task_tags_setting = None
183  keyword_tags_setting = None
184  tags_setting = None
185  setup_setting = None
186  teardown_setting = None
187  template_setting = None
188  timeout_setting = None
189  arguments_setting = None
190  given_prefixes = []
191  when_prefixes = []
192  then_prefixes = []
193  and_prefixes = []
194  but_prefixes = []
195  true_strings = []
196  false_strings = []
197 
198  @classmethod
199 
207  def from_name(cls, name):
208  normalized = normalize(name, ignore='-')
209  for lang in cls.__subclasses__():
210  if normalized == normalize(lang.__name__):
211  return lang()
212  if lang.__doc__ and normalized == normalize(lang.__doc__.splitlines()[0]):
213  return lang()
214  raise ValueError(f"No language with name '{name}' found.")
215 
216  @classproperty
217 
225  def code(cls):
226  if cls is Language:
227  return cls.__dict__['code']
228  code = cls.__name__.lower()
229  if len(code) < 3:
230  return code
231  return f'{code[:2]}-{code[2:].upper()}'
232 
233  @classproperty
234 
240  def name(cls):
241  if cls is Language:
242  return cls.__dict__['name']
243  return cls.__doc__.splitlines()[0] if cls.__doc__ else ''
244 
245  @property
246  headers = property
247 
248  def headers(self):
249  return {
250  self.settings_headersettings_header: En.settings_header,
251  self.variables_headervariables_header: En.variables_header,
252  self.test_cases_headertest_cases_header: En.test_cases_header,
253  self.tasks_headertasks_header: En.tasks_header,
254  self.keywords_headerkeywords_header: En.keywords_header,
255  self.comments_headercomments_header: En.comments_header
256  }
257 
258  @property
259  settings = property
260 
261  def settings(self):
262  return {
263  self.library_settinglibrary_setting: En.library_setting,
264  self.resource_settingresource_setting: En.resource_setting,
265  self.variables_settingvariables_setting: En.variables_setting,
266  self.documentation_settingdocumentation_setting: En.documentation_setting,
267  self.metadata_settingmetadata_setting: En.metadata_setting,
268  self.suite_setup_settingsuite_setup_setting: En.suite_setup_setting,
269  self.suite_teardown_settingsuite_teardown_setting: En.suite_teardown_setting,
270  self.test_setup_settingtest_setup_setting: En.test_setup_setting,
271  self.task_setup_settingtask_setup_setting: En.task_setup_setting,
272  self.test_teardown_settingtest_teardown_setting: En.test_teardown_setting,
273  self.task_teardown_settingtask_teardown_setting: En.task_teardown_setting,
274  self.test_template_settingtest_template_setting: En.test_template_setting,
275  self.task_template_settingtask_template_setting: En.task_template_setting,
276  self.test_timeout_settingtest_timeout_setting: En.test_timeout_setting,
277  self.task_timeout_settingtask_timeout_setting: En.task_timeout_setting,
278  self.test_tags_settingtest_tags_setting: En.test_tags_setting,
279  self.task_tags_settingtask_tags_setting: En.task_tags_setting,
280  self.keyword_tags_settingkeyword_tags_setting: En.keyword_tags_setting,
281  self.tags_settingtags_setting: En.tags_setting,
282  self.setup_settingsetup_setting: En.setup_setting,
283  self.teardown_settingteardown_setting: En.teardown_setting,
284  self.template_settingtemplate_setting: En.template_setting,
285  self.timeout_settingtimeout_setting: En.timeout_setting,
286  self.arguments_settingarguments_setting: En.arguments_setting,
287  }
288 
289  @property
290  bdd_prefixes = property
291 
292  def bdd_prefixes(self):
293  return set(chain(self.given_prefixesgiven_prefixes, self.when_prefixeswhen_prefixes, self.then_prefixesthen_prefixes,
294  self.and_prefixesand_prefixes, self.but_prefixesbut_prefixes))
295 
296  def __eq__(self, other):
297  return isinstance(other, type(self))
298 
299  def __hash__(self):
300  return hash(type(self))
301 
302 
303 
304 class En(Language):
305  settings_header = 'Settings'
306  variables_header = 'Variables'
307  test_cases_header = 'Test Cases'
308  tasks_header = 'Tasks'
309  keywords_header = 'Keywords'
310  comments_header = 'Comments'
311  library_setting = 'Library'
312  resource_setting = 'Resource'
313  variables_setting = 'Variables'
314  documentation_setting = 'Documentation'
315  metadata_setting = 'Metadata'
316  suite_setup_setting = 'Suite Setup'
317  suite_teardown_setting = 'Suite Teardown'
318  test_setup_setting = 'Test Setup'
319  task_setup_setting = 'Task Setup'
320  test_teardown_setting = 'Test Teardown'
321  task_teardown_setting = 'Task Teardown'
322  test_template_setting = 'Test Template'
323  task_template_setting = 'Task Template'
324  test_timeout_setting = 'Test Timeout'
325  task_timeout_setting = 'Task Timeout'
326  test_tags_setting = 'Test Tags'
327  task_tags_setting = 'Task Tags'
328  keyword_tags_setting = 'Keyword Tags'
329  setup_setting = 'Setup'
330  teardown_setting = 'Teardown'
331  template_setting = 'Template'
332  tags_setting = 'Tags'
333  timeout_setting = 'Timeout'
334  arguments_setting = 'Arguments'
335  given_prefixes = ['Given']
336  when_prefixes = ['When']
337  then_prefixes = ['Then']
338  and_prefixes = ['And']
339  but_prefixes = ['But']
340  true_strings = ['True', 'Yes', 'On']
341  false_strings = ['False', 'No', 'Off']
342 
343 
344 
345 class Cs(Language):
346  settings_header = 'Nastavení'
347  variables_header = 'Proměnné'
348  test_cases_header = 'Testovací případy'
349  tasks_header = 'Úlohy'
350  keywords_header = 'Klíčová slova'
351  comments_header = 'Komentáře'
352  library_setting = 'Knihovna'
353  resource_setting = 'Zdroj'
354  variables_setting = 'Proměnná'
355  documentation_setting = 'Dokumentace'
356  metadata_setting = 'Metadata'
357  suite_setup_setting = 'Příprava sady'
358  suite_teardown_setting = 'Ukončení sady'
359  test_setup_setting = 'Příprava testu'
360  test_teardown_setting = 'Ukončení testu'
361  test_template_setting = 'Šablona testu'
362  test_timeout_setting = 'Časový limit testu'
363  test_tags_setting = 'Štítky testů'
364  task_setup_setting = 'Příprava úlohy'
365  task_teardown_setting = 'Ukončení úlohy'
366  task_template_setting = 'Šablona úlohy'
367  task_timeout_setting = 'Časový limit úlohy'
368  task_tags_setting = 'Štítky úloh'
369  keyword_tags_setting = 'Štítky klíčových slov'
370  tags_setting = 'Štítky'
371  setup_setting = 'Příprava'
372  teardown_setting = 'Ukončení'
373  template_setting = 'Šablona'
374  timeout_setting = 'Časový limit'
375  arguments_setting = 'Argumenty'
376  given_prefixes = ['Pokud']
377  when_prefixes = ['Když']
378  then_prefixes = ['Pak']
379  and_prefixes = ['A']
380  but_prefixes = ['Ale']
381  true_strings = ['Pravda', 'Ano', 'Zapnuto']
382  false_strings = ['Nepravda', 'Ne', 'Vypnuto', 'Nic']
383 
384 
385 
386 class Nl(Language):
387  settings_header = 'Instellingen'
388  variables_header = 'Variabelen'
389  test_cases_header = 'Testgevallen'
390  tasks_header = 'Taken'
391  keywords_header = 'Sleutelwoorden'
392  comments_header = 'Opmerkingen'
393  library_setting = 'Bibliotheek'
394  resource_setting = 'Resource'
395  variables_setting = 'Variabele'
396  documentation_setting = 'Documentatie'
397  metadata_setting = 'Metadata'
398  suite_setup_setting = 'Suite Preconditie'
399  suite_teardown_setting = 'Suite Postconditie'
400  test_setup_setting = 'Test Preconditie'
401  test_teardown_setting = 'Test Postconditie'
402  test_template_setting = 'Test Sjabloon'
403  test_timeout_setting = 'Test Time-out'
404  test_tags_setting = 'Test Labels'
405  task_setup_setting = 'Taak Preconditie'
406  task_teardown_setting = 'Taak Postconditie'
407  task_template_setting = 'Taak Sjabloon'
408  task_timeout_setting = 'Taak Time-out'
409  task_tags_setting = 'Taak Labels'
410  keyword_tags_setting = 'Sleutelwoord Labels'
411  tags_setting = 'Labels'
412  setup_setting = 'Preconditie'
413  teardown_setting = 'Postconditie'
414  template_setting = 'Sjabloon'
415  timeout_setting = 'Time-out'
416  arguments_setting = 'Parameters'
417  given_prefixes = ['Stel', 'Gegeven']
418  when_prefixes = ['Als']
419  then_prefixes = ['Dan']
420  and_prefixes = ['En']
421  but_prefixes = ['Maar']
422  true_strings = ['Waar', 'Ja', 'Aan']
423  false_strings = ['Onwaar', 'Nee', 'Uit', 'Geen']
424 
425 
426 
427 class Bs(Language):
428  settings_header = 'Postavke'
429  variables_header = 'Varijable'
430  test_cases_header = 'Test Cases'
431  tasks_header = 'Taskovi'
432  keywords_header = 'Keywords'
433  comments_header = 'Komentari'
434  library_setting = 'Biblioteka'
435  resource_setting = 'Resursi'
436  variables_setting = 'Varijable'
437  documentation_setting = 'Dokumentacija'
438  metadata_setting = 'Metadata'
439  suite_setup_setting = 'Suite Postavke'
440  suite_teardown_setting = 'Suite Teardown'
441  test_setup_setting = 'Test Postavke'
442  test_teardown_setting = 'Test Teardown'
443  test_template_setting = 'Test Template'
444  test_timeout_setting = 'Test Timeout'
445  test_tags_setting = 'Test Tagovi'
446  task_setup_setting = 'Task Postavke'
447  task_teardown_setting = 'Task Teardown'
448  task_template_setting = 'Task Template'
449  task_timeout_setting = 'Task Timeout'
450  task_tags_setting = 'Task Tagovi'
451  keyword_tags_setting = 'Keyword Tagovi'
452  tags_setting = 'Tagovi'
453  setup_setting = 'Postavke'
454  teardown_setting = 'Teardown'
455  template_setting = 'Template'
456  timeout_setting = 'Timeout'
457  arguments_setting = 'Argumenti'
458  given_prefixes = ['Uslovno']
459  when_prefixes = ['Kada']
460  then_prefixes = ['Tada']
461  and_prefixes = ['I']
462  but_prefixes = ['Ali']
463 
464 
465 
466 class Fi(Language):
467  settings_header = 'Asetukset'
468  variables_header = 'Muuttujat'
469  test_cases_header = 'Testit'
470  tasks_header = 'Tehtävät'
471  keywords_header = 'Avainsanat'
472  comments_header = 'Kommentit'
473  library_setting = 'Kirjasto'
474  resource_setting = 'Resurssi'
475  variables_setting = 'Muuttujat'
476  documentation_setting = 'Dokumentaatio'
477  metadata_setting = 'Metatiedot'
478  suite_setup_setting = 'Setin Alustus'
479  suite_teardown_setting = 'Setin Alasajo'
480  test_setup_setting = 'Testin Alustus'
481  task_setup_setting = 'Tehtävän Alustus'
482  test_teardown_setting = 'Testin Alasajo'
483  task_teardown_setting = 'Tehtävän Alasajo'
484  test_template_setting = 'Testin Malli'
485  task_template_setting = 'Tehtävän Malli'
486  test_timeout_setting = 'Testin Aikaraja'
487  task_timeout_setting = 'Tehtävän Aikaraja'
488  test_tags_setting = 'Testin Tagit'
489  task_tags_setting = 'Tehtävän Tagit'
490  keyword_tags_setting = 'Avainsanan Tagit'
491  tags_setting = 'Tagit'
492  setup_setting = 'Alustus'
493  teardown_setting = 'Alasajo'
494  template_setting = 'Malli'
495  timeout_setting = 'Aikaraja'
496  arguments_setting = 'Argumentit'
497  given_prefixes = ['Oletetaan']
498  when_prefixes = ['Kun']
499  then_prefixes = ['Niin']
500  and_prefixes = ['Ja']
501  but_prefixes = ['Mutta']
502  true_strings = ['Tosi', 'Kyllä', 'Päällä']
503  false_strings = ['Epätosi', 'Ei', 'Pois']
504 
505 
506 
507 class Fr(Language):
508  settings_header = 'Paramètres'
509  variables_header = 'Variables'
510  test_cases_header = 'Unités de test'
511  tasks_header = 'Tâches'
512  keywords_header = 'Mots-clés'
513  comments_header = 'Commentaires'
514  library_setting = 'Bibliothèque'
515  resource_setting = 'Ressource'
516  variables_setting = 'Variable'
517  documentation_setting = 'Documentation'
518  metadata_setting = 'Méta-donnée'
519  suite_setup_setting = 'Mise en place de suite'
520  suite_teardown_setting = 'Démontage de suite'
521  test_setup_setting = 'Mise en place de test'
522  test_teardown_setting = 'Démontage de test'
523  test_template_setting = 'Modèle de test'
524  test_timeout_setting = 'Délai de test'
525  test_tags_setting = 'Étiquette de test'
526  task_setup_setting = 'Mise en place de tâche'
527  task_teardown_setting = 'Démontage de test'
528  task_template_setting = 'Modèle de tâche'
529  task_timeout_setting = 'Délai de tâche'
530  task_tags_setting = 'Étiquette de tâche'
531  keyword_tags_setting = 'Etiquette de mot-clé'
532  tags_setting = 'Étiquette'
533  setup_setting = 'Mise en place'
534  teardown_setting = 'Démontage'
535  template_setting = 'Modèle'
536  timeout_setting = "Délai d'attente"
537  arguments_setting = 'Arguments'
538  given_prefixes = ['Étant donné']
539  when_prefixes = ['Lorsque']
540  then_prefixes = ['Alors']
541  and_prefixes = ['Et']
542  but_prefixes = ['Mais']
543  true_strings = ['Vrai', 'Oui', 'Actif']
544  false_strings = ['Faux', 'Non', 'Désactivé', 'Aucun']
545 
546 
547 
548 class De(Language):
549  settings_header = 'Einstellungen'
550  variables_header = 'Variablen'
551  test_cases_header = 'Testfälle'
552  tasks_header = 'Aufgaben'
553  keywords_header = 'Schlüsselwörter'
554  comments_header = 'Kommentare'
555  library_setting = 'Bibliothek'
556  resource_setting = 'Ressource'
557  variables_setting = 'Variablen'
558  documentation_setting = 'Dokumentation'
559  metadata_setting = 'Metadaten'
560  suite_setup_setting = 'Suitevorbereitung'
561  suite_teardown_setting = 'Suitenachbereitung'
562  test_setup_setting = 'Testvorbereitung'
563  test_teardown_setting = 'Testnachbereitung'
564  test_template_setting = 'Testvorlage'
565  test_timeout_setting = 'Testzeitlimit'
566  test_tags_setting = 'Testmarker'
567  task_setup_setting = 'Aufgabenvorbereitung'
568  task_teardown_setting = 'Aufgabennachbereitung'
569  task_template_setting = 'Aufgabenvorlage'
570  task_timeout_setting = 'Aufgabenzeitlimit'
571  task_tags_setting = 'Aufgabenmarker'
572  keyword_tags_setting = 'Schlüsselwortmarker'
573  tags_setting = 'Marker'
574  setup_setting = 'Vorbereitung'
575  teardown_setting = 'Nachbereitung'
576  template_setting = 'Vorlage'
577  timeout_setting = 'Zeitlimit'
578  arguments_setting = 'Argumente'
579  given_prefixes = ['Angenommen']
580  when_prefixes = ['Wenn']
581  then_prefixes = ['Dann']
582  and_prefixes = ['Und']
583  but_prefixes = ['Aber']
584  true_strings = ['Wahr', 'Ja', 'An', 'Ein']
585  false_strings = ['Falsch', 'Nein', 'Aus', 'Unwahr']
586 
587 
588 
589 class PtBr(Language):
590  settings_header = 'Configurações'
591  variables_header = 'Variáveis'
592  test_cases_header = 'Casos de Teste'
593  tasks_header = 'Tarefas'
594  keywords_header = 'Palavras-Chave'
595  comments_header = 'Comentários'
596  library_setting = 'Biblioteca'
597  resource_setting = 'Recurso'
598  variables_setting = 'Variável'
599  documentation_setting = 'Documentação'
600  metadata_setting = 'Metadados'
601  suite_setup_setting = 'Configuração da Suíte'
602  suite_teardown_setting = 'Finalização de Suíte'
603  test_setup_setting = 'Inicialização de Teste'
604  test_teardown_setting = 'Finalização de Teste'
605  test_template_setting = 'Modelo de Teste'
606  test_timeout_setting = 'Tempo Limite de Teste'
607  test_tags_setting = 'Test Tags'
608  task_setup_setting = 'Inicialização de Tarefa'
609  task_teardown_setting = 'Finalização de Tarefa'
610  task_template_setting = 'Modelo de Tarefa'
611  task_timeout_setting = 'Tempo Limite de Tarefa'
612  task_tags_setting = 'Task Tags'
613  keyword_tags_setting = 'Keyword Tags'
614  tags_setting = 'Etiquetas'
615  setup_setting = 'Inicialização'
616  teardown_setting = 'Finalização'
617  template_setting = 'Modelo'
618  timeout_setting = 'Tempo Limite'
619  arguments_setting = 'Argumentos'
620  given_prefixes = ['Dado']
621  when_prefixes = ['Quando']
622  then_prefixes = ['Então']
623  and_prefixes = ['E']
624  but_prefixes = ['Mas']
625  true_strings = ['Verdadeiro', 'Verdade', 'Sim', 'Ligado']
626  false_strings = ['Falso', 'Não', 'Desligado', 'Desativado', 'Nada']
627 
628 
629 
630 class Pt(Language):
631  settings_header = 'Definições'
632  variables_header = 'Variáveis'
633  test_cases_header = 'Casos de Teste'
634  tasks_header = 'Tarefas'
635  keywords_header = 'Palavras-Chave'
636  comments_header = 'Comentários'
637  library_setting = 'Biblioteca'
638  resource_setting = 'Recurso'
639  variables_setting = 'Variável'
640  documentation_setting = 'Documentação'
641  metadata_setting = 'Metadados'
642  suite_setup_setting = 'Inicialização de Suíte'
643  suite_teardown_setting = 'Finalização de Suíte'
644  test_setup_setting = 'Inicialização de Teste'
645  test_teardown_setting = 'Finalização de Teste'
646  test_template_setting = 'Modelo de Teste'
647  test_timeout_setting = 'Tempo Limite de Teste'
648  test_tags_setting = 'Etiquetas de Testes'
649  task_setup_setting = 'Inicialização de Tarefa'
650  task_teardown_setting = 'Finalização de Tarefa'
651  task_template_setting = 'Modelo de Tarefa'
652  task_timeout_setting = 'Tempo Limite de Tarefa'
653  task_tags_setting = 'Etiquetas de Tarefas'
654  keyword_tags_setting = 'Etiquetas de Palavras-Chave'
655  tags_setting = 'Etiquetas'
656  setup_setting = 'Inicialização'
657  teardown_setting = 'Finalização'
658  template_setting = 'Modelo'
659  timeout_setting = 'Tempo Limite'
660  arguments_setting = 'Argumentos'
661  given_prefixes = ['Dado']
662  when_prefixes = ['Quando']
663  then_prefixes = ['Então']
664  and_prefixes = ['E']
665  but_prefixes = ['Mas']
666  true_strings = ['Verdadeiro', 'Verdade', 'Sim', 'Ligado']
667  false_strings = ['Falso', 'Não', 'Desligado', 'Desativado', 'Nada']
668 
669 
670 
671 class Th(Language):
672  settings_header = 'การตั้งค่า'
673  variables_header = 'กำหนดตัวแปร'
674  test_cases_header = 'การทดสอบ'
675  tasks_header = 'งาน'
676  keywords_header = 'คำสั่งเพิ่มเติม'
677  comments_header = 'คำอธิบาย'
678  library_setting = 'ชุดคำสั่งที่ใช้'
679  resource_setting = 'ไฟล์ที่ใช้'
680  variables_setting = 'ชุดตัวแปร'
681  documentation_setting = 'เอกสาร'
682  metadata_setting = 'รายละเอียดเพิ่มเติม'
683  suite_setup_setting = 'กำหนดค่าเริ่มต้นของชุดการทดสอบ'
684  suite_teardown_setting = 'คืนค่าของชุดการทดสอบ'
685  test_setup_setting = 'กำหนดค่าเริ่มต้นของการทดสอบ'
686  task_setup_setting = 'กำหนดค่าเริ่มต้นของงาน'
687  test_teardown_setting = 'คืนค่าของการทดสอบ'
688  task_teardown_setting = 'คืนค่าของงาน'
689  test_template_setting = 'โครงสร้างของการทดสอบ'
690  task_template_setting = 'โครงสร้างของงาน'
691  test_timeout_setting = 'เวลารอของการทดสอบ'
692  task_timeout_setting = 'เวลารอของงาน'
693  test_tags_setting = 'กลุ่มของการทดสอบ'
694  task_tags_setting = 'กลุ่มของงาน'
695  keyword_tags_setting = 'กลุ่มของคำสั่งเพิ่มเติม'
696  setup_setting = 'กำหนดค่าเริ่มต้น'
697  teardown_setting = 'คืนค่า'
698  template_setting = 'โครงสร้าง'
699  tags_setting = 'กลุ่ม'
700  timeout_setting = 'หมดเวลา'
701  arguments_setting = 'ค่าที่ส่งเข้ามา'
702  given_prefixes = ['กำหนดให้']
703  when_prefixes = ['เมื่อ']
704  then_prefixes = ['ดังนั้น']
705  and_prefixes = ['และ']
706  but_prefixes = ['แต่']
707 
708 
709 
710 class Pl(Language):
711  settings_header = 'Ustawienia'
712  variables_header = 'Zmienne'
713  test_cases_header = 'Przypadki testowe'
714  tasks_header = 'Zadania'
715  keywords_header = 'Słowa kluczowe'
716  comments_header = 'Komentarze'
717  library_setting = 'Biblioteka'
718  resource_setting = 'Zasób'
719  variables_setting = 'Zmienne'
720  documentation_setting = 'Dokumentacja'
721  metadata_setting = 'Metadane'
722  suite_setup_setting = 'Inicjalizacja zestawu'
723  suite_teardown_setting = 'Ukończenie zestawu'
724  test_setup_setting = 'Inicjalizacja testu'
725  test_teardown_setting = 'Ukończenie testu'
726  test_template_setting = 'Szablon testu'
727  test_timeout_setting = 'Limit czasowy testu'
728  test_tags_setting = 'Znaczniki testu'
729  task_setup_setting = 'Inicjalizacja zadania'
730  task_teardown_setting = 'Ukończenie zadania'
731  task_template_setting = 'Szablon zadania'
732  task_timeout_setting = 'Limit czasowy zadania'
733  task_tags_setting = 'Znaczniki zadania'
734  keyword_tags_setting = 'Znaczniki słowa kluczowego'
735  tags_setting = 'Znaczniki'
736  setup_setting = 'Inicjalizacja'
737  teardown_setting = 'Ukończenie'
738  template_setting = 'Szablon'
739  timeout_setting = 'Limit czasowy'
740  arguments_setting = 'Argumenty'
741  given_prefixes = ['Zakładając', 'Zakładając, że', 'Mając']
742  when_prefixes = ['Jeżeli', 'Jeśli', 'Gdy', 'Kiedy']
743  then_prefixes = ['Wtedy']
744  and_prefixes = ['Oraz', 'I']
745  but_prefixes = ['Ale']
746  true_strings = ['Prawda', 'Tak', 'Włączone']
747  false_strings = ['Fałsz', 'Nie', 'Wyłączone', 'Nic']
748 
749 
750 
751 class Uk(Language):
752  settings_header = 'Налаштування'
753  variables_header = 'Змінні'
754  test_cases_header = 'Тест-кейси'
755  tasks_header = 'Завдань'
756  keywords_header = 'Ключових слова'
757  comments_header = 'Коментарів'
758  library_setting = 'Бібліотека'
759  resource_setting = 'Ресурс'
760  variables_setting = 'Змінна'
761  documentation_setting = 'Документація'
762  metadata_setting = 'Метадані'
763  suite_setup_setting = 'Налаштування Suite'
764  suite_teardown_setting = 'Розбірка Suite'
765  test_setup_setting = 'Налаштування тесту'
766  test_teardown_setting = 'Розбирання тестy'
767  test_template_setting = 'Тестовий шаблон'
768  test_timeout_setting = 'Час тестування'
769  test_tags_setting = 'Тестові теги'
770  task_setup_setting = 'Налаштування завдання'
771  task_teardown_setting = 'Розбір завдання'
772  task_template_setting = 'Шаблон завдання'
773  task_timeout_setting = 'Час очікування завдання'
774  task_tags_setting = 'Теги завдань'
775  keyword_tags_setting = 'Теги ключових слів'
776  tags_setting = 'Теги'
777  setup_setting = 'Встановлення'
778  teardown_setting = 'Cпростовувати пункт за пунктом'
779  template_setting = 'Шаблон'
780  timeout_setting = 'Час вийшов'
781  arguments_setting = 'Аргументи'
782  given_prefixes = ['Дано']
783  when_prefixes = ['Коли']
784  then_prefixes = ['Тоді']
785  and_prefixes = ['Та']
786  but_prefixes = ['Але']
787 
788 
789 
790 class Es(Language):
791  settings_header = 'Configuraciones'
792  variables_header = 'Variables'
793  test_cases_header = 'Casos de prueba'
794  tasks_header = 'Tareas'
795  keywords_header = 'Palabras clave'
796  comments_header = 'Comentarios'
797  library_setting = 'Biblioteca'
798  resource_setting = 'Recursos'
799  variables_setting = 'Variable'
800  documentation_setting = 'Documentación'
801  metadata_setting = 'Metadatos'
802  suite_setup_setting = 'Configuración de la Suite'
803  suite_teardown_setting = 'Desmontaje de la Suite'
804  test_setup_setting = 'Configuración de prueba'
805  test_teardown_setting = 'Desmontaje de la prueba'
806  test_template_setting = 'Plantilla de prueba'
807  test_timeout_setting = 'Tiempo de espera de la prueba'
808  test_tags_setting = 'Etiquetas de la prueba'
809  task_setup_setting = 'Configuración de tarea'
810  task_teardown_setting = 'Desmontaje de tareas'
811  task_template_setting = 'Plantilla de tareas'
812  task_timeout_setting = 'Tiempo de espera de las tareas'
813  task_tags_setting = 'Etiquetas de las tareas'
814  keyword_tags_setting = 'Etiquetas de palabras clave'
815  tags_setting = 'Etiquetas'
816  setup_setting = 'Configuración'
817  teardown_setting = 'Desmontaje'
818  template_setting = 'Plantilla'
819  timeout_setting = 'Tiempo agotado'
820  arguments_setting = 'Argumentos'
821  given_prefixes = ['Dado']
822  when_prefixes = ['Cuando']
823  then_prefixes = ['Entonces']
824  and_prefixes = ['Y']
825  but_prefixes = ['Pero']
826  true_strings = ['Verdadero', 'Si', 'On']
827  false_strings = ['Falso', 'No', 'Off', 'Ninguno']
828 
829 
830 
831 class Ru(Language):
832  settings_header = 'Настройки'
833  variables_header = 'Переменные'
834  test_cases_header = 'Заголовки тестов'
835  tasks_header = 'Задача'
836  keywords_header = 'Ключевые слова'
837  comments_header = 'Комментарии'
838  library_setting = 'Библиотека'
839  resource_setting = 'Ресурс'
840  variables_setting = 'Переменные'
841  documentation_setting = 'Документация'
842  metadata_setting = 'Метаданные'
843  suite_setup_setting = 'Инициализация комплекта тестов'
844  suite_teardown_setting = 'Завершение комплекта тестов'
845  test_setup_setting = 'Инициализация теста'
846  test_teardown_setting = 'Завершение теста'
847  test_template_setting = 'Шаблон теста'
848  test_timeout_setting = 'Лимит выполнения теста'
849  test_tags_setting = 'Теги тестов'
850  task_setup_setting = 'Инициализация задания'
851  task_teardown_setting = 'Завершение задания'
852  task_template_setting = 'Шаблон задания'
853  task_timeout_setting = 'Лимит задания'
854  task_tags_setting = 'Метки заданий'
855  keyword_tags_setting = 'Метки ключевых слов'
856  tags_setting = 'Метки'
857  setup_setting = 'Инициализация'
858  teardown_setting = 'Завершение'
859  template_setting = 'Шаблон'
860  timeout_setting = 'Лимит'
861  arguments_setting = 'Аргументы'
862  given_prefixes = ['Дано']
863  when_prefixes = ['Когда']
864  then_prefixes = ['Тогда']
865  and_prefixes = ['И']
866  but_prefixes = ['Но']
867 
868 
869 
870 class ZhCn(Language):
871  settings_header = '设置'
872  variables_header = '变量'
873  test_cases_header = '用例'
874  tasks_header = '任务'
875  keywords_header = '关键字'
876  comments_header = '备注'
877  library_setting = '程序库'
878  resource_setting = '资源文件'
879  variables_setting = '变量文件'
880  documentation_setting = '说明'
881  metadata_setting = '元数据'
882  suite_setup_setting = '用例集启程'
883  suite_teardown_setting = '用例集终程'
884  test_setup_setting = '用例启程'
885  test_teardown_setting = '用例终程'
886  test_template_setting = '用例模板'
887  test_timeout_setting = '用例超时'
888  test_tags_setting = '用例标签'
889  task_setup_setting = '任务启程'
890  task_teardown_setting = '任务终程'
891  task_template_setting = '任务模板'
892  task_timeout_setting = '任务超时'
893  task_tags_setting = '任务标签'
894  keyword_tags_setting = '关键字标签'
895  tags_setting = '标签'
896  setup_setting = '启程'
897  teardown_setting = '终程'
898  template_setting = '模板'
899  timeout_setting = '超时'
900  arguments_setting = '参数'
901  given_prefixes = ['假定']
902  when_prefixes = ['当']
903  then_prefixes = ['那么']
904  and_prefixes = ['并且']
905  but_prefixes = ['但是']
906  true_strings = ['真', '是', '开']
907  false_strings = ['假', '否', '关', '空']
908 
909 
910 
911 class ZhTw(Language):
912  settings_header = '設置'
913  variables_header = '變量'
914  test_cases_header = '案例'
915  tasks_header = '任務'
916  keywords_header = '關鍵字'
917  comments_header = '備註'
918  library_setting = '函式庫'
919  resource_setting = '資源文件'
920  variables_setting = '變量文件'
921  documentation_setting = '說明'
922  metadata_setting = '元數據'
923  suite_setup_setting = '測試套啟程'
924  suite_teardown_setting = '測試套終程'
925  test_setup_setting = '測試啟程'
926  test_teardown_setting = '測試終程'
927  test_template_setting = '測試模板'
928  test_timeout_setting = '測試逾時'
929  test_tags_setting = '測試標籤'
930  task_setup_setting = '任務啟程'
931  task_teardown_setting = '任務終程'
932  task_template_setting = '任務模板'
933  task_timeout_setting = '任務逾時'
934  task_tags_setting = '任務標籤'
935  keyword_tags_setting = '關鍵字標籤'
936  tags_setting = '標籤'
937  setup_setting = '啟程'
938  teardown_setting = '終程'
939  template_setting = '模板'
940  timeout_setting = '逾時'
941  arguments_setting = '参数'
942  given_prefixes = ['假定']
943  when_prefixes = ['當']
944  then_prefixes = ['那麼']
945  and_prefixes = ['並且']
946  but_prefixes = ['但是']
947  true_strings = ['真', '是', '開']
948  false_strings = ['假', '否', '關', '空']
949 
950 
951 
952 class Tr(Language):
953  settings_header = 'Ayarlar'
954  variables_header = 'Değişkenler'
955  test_cases_header = 'Test Durumları'
956  tasks_header = 'Görevler'
957  keywords_header = 'Anahtar Kelimeler'
958  comments_header = 'Yorumlar'
959  library_setting = 'Kütüphane'
960  resource_setting = 'Kaynak'
961  variables_setting = 'Değişkenler'
962  documentation_setting = 'Dokümantasyon'
963  metadata_setting = 'Üstveri'
964  suite_setup_setting = 'Takım Kurulumu'
965  suite_teardown_setting = 'Takım Bitişi'
966  test_setup_setting = 'Test Kurulumu'
967  task_setup_setting = 'Görev Kurulumu'
968  test_teardown_setting = 'Test Bitişi'
969  task_teardown_setting = 'Görev Bitişi'
970  test_template_setting = 'Test Taslağı'
971  task_template_setting = 'Görev Taslağı'
972  test_timeout_setting = 'Test Zaman Aşımı'
973  task_timeout_setting = 'Görev Zaman Aşımı'
974  test_tags_setting = 'Test Etiketleri'
975  task_tags_setting = 'Görev Etiketleri'
976  keyword_tags_setting = 'Anahtar Kelime Etiketleri'
977  setup_setting = 'Kurulum'
978  teardown_setting = 'Bitiş'
979  template_setting = 'Taslak'
980  tags_setting = 'Etiketler'
981  timeout_setting = 'Zaman Aşımı'
982  arguments_setting = 'Argümanlar'
983  given_prefixes = ['Diyelim ki']
984  when_prefixes = ['Eğer ki']
985  then_prefixes = ['O zaman']
986  and_prefixes = ['Ve']
987  but_prefixes = ['Ancak']
988  true_strings = ['Doğru', 'Evet', 'Açik']
989  false_strings = ['Yanliş', 'Hayir', 'Kapali']
990 
991 
992 
993 class Sv(Language):
994  settings_header = 'Inställningar'
995  variables_header = 'Variabler'
996  test_cases_header = 'Testfall'
997  tasks_header = 'Taskar'
998  keywords_header = 'Nyckelord'
999  comments_header = 'Kommentarer'
1000  library_setting = 'Bibliotek'
1001  resource_setting = 'Resurs'
1002  variables_setting = 'Variabel'
1003  documentation_setting = 'Dokumentation'
1004  metadata_setting = 'Metadata'
1005  suite_setup_setting = 'Svit konfigurering'
1006  suite_teardown_setting = 'Svit nedrivning'
1007  test_setup_setting = 'Test konfigurering'
1008  test_teardown_setting = 'Test nedrivning'
1009  test_template_setting = 'Test mall'
1010  test_timeout_setting = 'Test timeout'
1011  test_tags_setting = 'Test taggar'
1012  task_setup_setting = 'Task konfigurering'
1013  task_teardown_setting = 'Task nedrivning'
1014  task_template_setting = 'Task mall'
1015  task_timeout_setting = 'Task timeout'
1016  task_tags_setting = 'Arbetsuppgift taggar'
1017  keyword_tags_setting = 'Nyckelord taggar'
1018  tags_setting = 'Taggar'
1019  setup_setting = 'Konfigurering'
1020  teardown_setting = 'Nedrivning'
1021  template_setting = 'Mall'
1022  timeout_setting = 'Timeout'
1023  arguments_setting = 'Argument'
1024  given_prefixes = ['Givet']
1025  when_prefixes = ['När']
1026  then_prefixes = ['Då']
1027  and_prefixes = ['Och']
1028  but_prefixes = ['Men']
1029  true_strings = ['Sant', 'Ja', 'På']
1030  false_strings = ['Falskt', 'Nej', 'Av', 'Ingen']
1031 
1032 
1033 
1034 class Bg(Language):
1035  settings_header = 'Настройки'
1036  variables_header = 'Променливи'
1037  test_cases_header = 'Тестови случаи'
1038  tasks_header = 'Задачи'
1039  keywords_header = 'Ключови думи'
1040  comments_header = 'Коментари'
1041  library_setting = 'Библиотека'
1042  resource_setting = 'Ресурс'
1043  variables_setting = 'Променлива'
1044  documentation_setting = 'Документация'
1045  metadata_setting = 'Метаданни'
1046  suite_setup_setting = 'Първоначални настройки на комплекта'
1047  suite_teardown_setting = 'Приключване на комплекта'
1048  test_setup_setting = 'Първоначални настройки на тестове'
1049  test_teardown_setting = 'Приключване на тестове'
1050  test_template_setting = 'Шаблон за тестове'
1051  test_timeout_setting = 'Таймаут за тестове'
1052  test_tags_setting = 'Етикети за тестове'
1053  task_setup_setting = 'Първоначални настройки на задачи'
1054  task_teardown_setting = 'Приключване на задачи'
1055  task_template_setting = 'Шаблон за задачи'
1056  task_timeout_setting = 'Таймаут за задачи'
1057  task_tags_setting = 'Етикети за задачи'
1058  keyword_tags_setting = 'Етикети за ключови думи'
1059  tags_setting = 'Етикети'
1060  setup_setting = 'Първоначални настройки'
1061  teardown_setting = 'Приключване'
1062  template_setting = 'Шаблон'
1063  timeout_setting = 'Таймаут'
1064  arguments_setting = 'Аргументи'
1065  given_prefixes = ['В случай че']
1066  when_prefixes = ['Когато']
1067  then_prefixes = ['Тогава']
1068  and_prefixes = ['И']
1069  but_prefixes = ['Но']
1070  true_strings = ['Вярно', 'Да', 'Включен']
1071  false_strings = ['Невярно', 'Не', 'Изключен', 'Нищо']
1072 
1073 
1074 
1075 class Ro(Language):
1076  settings_header = 'Setari'
1077  variables_header = 'Variabile'
1078  test_cases_header = 'Cazuri De Test'
1079  tasks_header = 'Sarcini'
1080  keywords_header = 'Cuvinte Cheie'
1081  comments_header = 'Comentarii'
1082  library_setting = 'Librarie'
1083  resource_setting = 'Resursa'
1084  variables_setting = 'Variabila'
1085  documentation_setting = 'Documentatie'
1086  metadata_setting = 'Metadate'
1087  suite_setup_setting = 'Configurare De Suita'
1088  suite_teardown_setting = 'Configurare De Intrerupere'
1089  test_setup_setting = 'Setare De Test'
1090  test_teardown_setting = 'Inrerupere De Test'
1091  test_template_setting = 'Sablon De Test'
1092  test_timeout_setting = 'Timp Expirare Test'
1093  test_tags_setting = 'Taguri De Test'
1094  task_setup_setting = 'Configuarare activitate'
1095  task_teardown_setting = 'Intrerupere activitate'
1096  task_template_setting = 'Sablon de activitate'
1097  task_timeout_setting = 'Timp de expirare activitate'
1098  task_tags_setting = 'Etichete activitate'
1099  keyword_tags_setting = 'Etichete metode'
1100  tags_setting = 'Etichete'
1101  setup_setting = 'Setare'
1102  teardown_setting = 'Intrerupere'
1103  template_setting = 'Sablon'
1104  timeout_setting = 'Expirare'
1105  arguments_setting = 'Argumente'
1106  given_prefixes = ['Fie ca']
1107  when_prefixes = ['Cand']
1108  then_prefixes = ['Atunci']
1109  and_prefixes = ['Si']
1110  but_prefixes = ['Dar']
1111  true_strings = ['Adevarat', 'Da', 'Cand']
1112  false_strings = ['Fals', 'Nu', 'Oprit', 'Niciun']
1113 
1114 
1115 
1116 class It(Language):
1117  settings_header = 'Impostazioni'
1118  variables_header = 'Variabili'
1119  test_cases_header = 'Casi Di Test'
1120  tasks_header = 'Attività'
1121  keywords_header = 'Parole Chiave'
1122  comments_header = 'Commenti'
1123  library_setting = 'Libreria'
1124  resource_setting = 'Risorsa'
1125  variables_setting = 'Variabile'
1126  documentation_setting = 'Documentazione'
1127  metadata_setting = 'Metadati'
1128  suite_setup_setting = 'Configurazione Suite'
1129  suite_teardown_setting = 'Distruzione Suite'
1130  test_setup_setting = 'Configurazione Test'
1131  test_teardown_setting = 'Distruzione Test'
1132  test_template_setting = 'Modello Test'
1133  test_timeout_setting = 'Timeout Test'
1134  test_tags_setting = 'Tag Del Test'
1135  task_setup_setting = 'Configurazione Attività'
1136  task_teardown_setting = 'Distruzione Attività'
1137  task_template_setting = 'Modello Attività'
1138  task_timeout_setting = 'Timeout Attività'
1139  task_tags_setting = 'Tag Attività'
1140  keyword_tags_setting = 'Tag Parola Chiave'
1141  tags_setting = 'Tag'
1142  setup_setting = 'Configurazione'
1143  teardown_setting = 'Distruzione'
1144  template_setting = 'Template'
1145  timeout_setting = 'Timeout'
1146  arguments_setting = 'Parametri'
1147  given_prefixes = ['Dato']
1148  when_prefixes = ['Quando']
1149  then_prefixes = ['Allora']
1150  and_prefixes = ['E']
1151  but_prefixes = ['Ma']
1152  true_strings = ['Vero', 'Sì', 'On']
1153  false_strings = ['Falso', 'No', 'Off', 'Nessuno']
1154 
1155 
1156 
1157 class Hi(Language):
1158  settings_header = 'स्थापना'
1159  variables_header = 'चर'
1160  test_cases_header = 'नियत कार्य प्रवेशिका'
1161  tasks_header = 'कार्य प्रवेशिका'
1162  keywords_header = 'कुंजीशब्द'
1163  comments_header = 'टिप्पणी'
1164  library_setting = 'कोड़ प्रतिबिंब संग्रह'
1165  resource_setting = 'संसाधन'
1166  variables_setting = 'चर'
1167  documentation_setting = 'प्रलेखन'
1168  metadata_setting = 'अधि-आंकड़ा'
1169  suite_setup_setting = 'जांच की शुरुवात'
1170  suite_teardown_setting = 'परीक्षण कार्य अंत'
1171  test_setup_setting = 'परीक्षण कार्य प्रारंभ'
1172  test_teardown_setting = 'परीक्षण कार्य अंत'
1173  test_template_setting = 'परीक्षण ढांचा'
1174  test_timeout_setting = 'परीक्षण कार्य समय समाप्त'
1175  test_tags_setting = 'जाँचका उपनाम'
1176  task_setup_setting = 'परीक्षण कार्य प्रारंभ'
1177  task_teardown_setting = 'परीक्षण कार्य अंत'
1178  task_template_setting = 'परीक्षण ढांचा'
1179  task_timeout_setting = 'कार्य समयबाह्य'
1180  task_tags_setting = 'कार्यका उपनाम'
1181  keyword_tags_setting = 'कुंजीशब्द का उपनाम'
1182  tags_setting = 'निशान'
1183  setup_setting = 'व्यवस्थापना'
1184  teardown_setting = 'विमोचन'
1185  template_setting = 'साँचा'
1186  timeout_setting = 'समय समाप्त'
1187  arguments_setting = 'प्राचल'
1188  given_prefixes = ['दिया हुआ']
1189  when_prefixes = ['जब']
1190  then_prefixes = ['तब']
1191  and_prefixes = ['और']
1192  but_prefixes = ['परंतु']
1193  true_strings = ['यथार्थ', 'निश्चित', 'हां', 'पर']
1194  false_strings = ['गलत', 'नहीं', 'हालाँकि', 'यद्यपि', 'नहीं', 'हैं']
Base class for language definitions.
Definition: languages.py:159
def __eq__(self, other)
Definition: languages.py:296
def from_name(cls, name)
Return language class based on given name.
Definition: languages.py:207
def name(cls)
Language name like 'Finnish' or 'Brazilian Portuguese'.
Definition: languages.py:240
def code(cls)
Language code like 'fi' or 'pt-BR'.
Definition: languages.py:225
Keeps a list of languages and unifies the translations in the properties.
Definition: languages.py:34
def __init__(self, languages=None, add_english=True)
:param languages: Initial language or list of languages.
Definition: languages.py:45
def _import_languages(self, lang)
Definition: languages.py:137
def _get_languages(self, languages, add_english=True)
Definition: languages.py:93
def _add_language(self, lang)
Definition: languages.py:83
def reset(self, languages=None, add_english=True)
Resets the instance to the given languages.
Definition: languages.py:56
def _resolve_languages(self, languages, add_english=True)
Definition: languages.py:108
def add_language(self, lang)
Add new language.
Definition: languages.py:69
Brazilian Portuguese.
Definition: languages.py:589
Chinese Simplified.
Definition: languages.py:870
Chinese Traditional.
Definition: languages.py:911
def normalize(string, ignore=(), caseless=True, spaceless=True)
Normalizes given string according to given spec.
Definition: normalizing.py:27
def is_list_like(item)
Definition: robottypes.py:66