gherkin 2.12.2 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -15
  3. data/CONTRIBUTING.md +23 -0
  4. data/Gemfile +0 -3
  5. data/LICENSE +18 -17
  6. data/Makefile +65 -0
  7. data/README.md +9 -268
  8. data/Rakefile +17 -19
  9. data/bin/gherkin-generate-ast +21 -0
  10. data/bin/gherkin-generate-pickles +25 -0
  11. data/bin/gherkin-generate-tokens +12 -0
  12. data/gherkin-ruby.razor +218 -0
  13. data/gherkin.gemspec +22 -76
  14. data/lib/gherkin/ast_builder.rb +243 -0
  15. data/lib/gherkin/ast_node.rb +30 -0
  16. data/lib/gherkin/dialect.rb +58 -0
  17. data/lib/gherkin/errors.rb +45 -0
  18. data/lib/gherkin/gherkin-languages.json +2968 -0
  19. data/lib/gherkin/gherkin_line.rb +95 -0
  20. data/lib/gherkin/parser.rb +1910 -0
  21. data/lib/gherkin/pickles/compiler.rb +164 -0
  22. data/lib/gherkin/token.rb +18 -0
  23. data/lib/gherkin/token_formatter_builder.rb +39 -0
  24. data/lib/gherkin/token_matcher.rb +169 -0
  25. data/lib/gherkin/token_scanner.rb +40 -0
  26. data/spec/capture_warnings.rb +68 -0
  27. data/spec/coverage.rb +10 -0
  28. data/spec/gherkin/parser_spec.rb +146 -0
  29. metadata +60 -567
  30. data/.gitattributes +0 -2
  31. data/.mailmap +0 -2
  32. data/.rbenv-gemsets +0 -1
  33. data/.rspec +0 -1
  34. data/.ruby-gemset +0 -1
  35. data/.ruby-version +0 -1
  36. data/.yardopts +0 -5
  37. data/History.md +0 -881
  38. data/build_native_gems.sh +0 -7
  39. data/cucumber.yml +0 -5
  40. data/examples/parse_and_output_json.rb +0 -19
  41. data/ext/gherkin_lexer_ar/extconf.rb +0 -6
  42. data/ext/gherkin_lexer_ar/gherkin_lexer_ar.c +0 -1432
  43. data/ext/gherkin_lexer_bg/extconf.rb +0 -6
  44. data/ext/gherkin_lexer_bg/gherkin_lexer_bg.c +0 -1655
  45. data/ext/gherkin_lexer_bm/extconf.rb +0 -6
  46. data/ext/gherkin_lexer_bm/gherkin_lexer_bm.c +0 -1516
  47. data/ext/gherkin_lexer_ca/extconf.rb +0 -6
  48. data/ext/gherkin_lexer_ca/gherkin_lexer_ca.c +0 -1581
  49. data/ext/gherkin_lexer_cs/extconf.rb +0 -6
  50. data/ext/gherkin_lexer_cs/gherkin_lexer_cs.c +0 -1515
  51. data/ext/gherkin_lexer_cy_gb/extconf.rb +0 -6
  52. data/ext/gherkin_lexer_cy_gb/gherkin_lexer_cy_gb.c +0 -1282
  53. data/ext/gherkin_lexer_da/extconf.rb +0 -6
  54. data/ext/gherkin_lexer_da/gherkin_lexer_da.c +0 -1298
  55. data/ext/gherkin_lexer_de/extconf.rb +0 -6
  56. data/ext/gherkin_lexer_de/gherkin_lexer_de.c +0 -1425
  57. data/ext/gherkin_lexer_el/extconf.rb +0 -6
  58. data/ext/gherkin_lexer_el/gherkin_lexer_el.c +0 -1919
  59. data/ext/gherkin_lexer_en/extconf.rb +0 -6
  60. data/ext/gherkin_lexer_en/gherkin_lexer_en.c +0 -1418
  61. data/ext/gherkin_lexer_en_au/extconf.rb +0 -6
  62. data/ext/gherkin_lexer_en_au/gherkin_lexer_en_au.c +0 -1765
  63. data/ext/gherkin_lexer_en_lol/extconf.rb +0 -6
  64. data/ext/gherkin_lexer_en_lol/gherkin_lexer_en_lol.c +0 -1177
  65. data/ext/gherkin_lexer_en_old/extconf.rb +0 -6
  66. data/ext/gherkin_lexer_en_old/gherkin_lexer_en_old.c +0 -1309
  67. data/ext/gherkin_lexer_en_pirate/extconf.rb +0 -6
  68. data/ext/gherkin_lexer_en_pirate/gherkin_lexer_en_pirate.c +0 -1471
  69. data/ext/gherkin_lexer_en_scouse/extconf.rb +0 -6
  70. data/ext/gherkin_lexer_en_scouse/gherkin_lexer_en_scouse.c +0 -1634
  71. data/ext/gherkin_lexer_en_tx/extconf.rb +0 -6
  72. data/ext/gherkin_lexer_en_tx/gherkin_lexer_en_tx.c +0 -1265
  73. data/ext/gherkin_lexer_eo/extconf.rb +0 -6
  74. data/ext/gherkin_lexer_eo/gherkin_lexer_eo.c +0 -1241
  75. data/ext/gherkin_lexer_es/extconf.rb +0 -6
  76. data/ext/gherkin_lexer_es/gherkin_lexer_es.c +0 -1399
  77. data/ext/gherkin_lexer_et/extconf.rb +0 -6
  78. data/ext/gherkin_lexer_et/gherkin_lexer_et.c +0 -1236
  79. data/ext/gherkin_lexer_fa/extconf.rb +0 -6
  80. data/ext/gherkin_lexer_fa/gherkin_lexer_fa.c +0 -1475
  81. data/ext/gherkin_lexer_fi/extconf.rb +0 -6
  82. data/ext/gherkin_lexer_fi/gherkin_lexer_fi.c +0 -1215
  83. data/ext/gherkin_lexer_fr/extconf.rb +0 -6
  84. data/ext/gherkin_lexer_fr/gherkin_lexer_fr.c +0 -1493
  85. data/ext/gherkin_lexer_gl/extconf.rb +0 -6
  86. data/ext/gherkin_lexer_gl/gherkin_lexer_gl.c +0 -1374
  87. data/ext/gherkin_lexer_he/extconf.rb +0 -6
  88. data/ext/gherkin_lexer_he/gherkin_lexer_he.c +0 -1374
  89. data/ext/gherkin_lexer_hi/extconf.rb +0 -6
  90. data/ext/gherkin_lexer_hi/gherkin_lexer_hi.c +0 -1848
  91. data/ext/gherkin_lexer_hr/extconf.rb +0 -6
  92. data/ext/gherkin_lexer_hr/gherkin_lexer_hr.c +0 -1323
  93. data/ext/gherkin_lexer_hu/extconf.rb +0 -6
  94. data/ext/gherkin_lexer_hu/gherkin_lexer_hu.c +0 -1376
  95. data/ext/gherkin_lexer_id/extconf.rb +0 -6
  96. data/ext/gherkin_lexer_id/gherkin_lexer_id.c +0 -1208
  97. data/ext/gherkin_lexer_is/extconf.rb +0 -6
  98. data/ext/gherkin_lexer_is/gherkin_lexer_is.c +0 -1376
  99. data/ext/gherkin_lexer_it/extconf.rb +0 -6
  100. data/ext/gherkin_lexer_it/gherkin_lexer_it.c +0 -1340
  101. data/ext/gherkin_lexer_ja/extconf.rb +0 -6
  102. data/ext/gherkin_lexer_ja/gherkin_lexer_ja.c +0 -1699
  103. data/ext/gherkin_lexer_kn/extconf.rb +0 -6
  104. data/ext/gherkin_lexer_kn/gherkin_lexer_kn.c +0 -1965
  105. data/ext/gherkin_lexer_ko/extconf.rb +0 -6
  106. data/ext/gherkin_lexer_ko/gherkin_lexer_ko.c +0 -1360
  107. data/ext/gherkin_lexer_lt/extconf.rb +0 -6
  108. data/ext/gherkin_lexer_lt/gherkin_lexer_lt.c +0 -1296
  109. data/ext/gherkin_lexer_lu/extconf.rb +0 -6
  110. data/ext/gherkin_lexer_lu/gherkin_lexer_lu.c +0 -1389
  111. data/ext/gherkin_lexer_lv/extconf.rb +0 -6
  112. data/ext/gherkin_lexer_lv/gherkin_lexer_lv.c +0 -1425
  113. data/ext/gherkin_lexer_nl/extconf.rb +0 -6
  114. data/ext/gherkin_lexer_nl/gherkin_lexer_nl.c +0 -1368
  115. data/ext/gherkin_lexer_no/extconf.rb +0 -6
  116. data/ext/gherkin_lexer_no/gherkin_lexer_no.c +0 -1311
  117. data/ext/gherkin_lexer_pa/extconf.rb +0 -6
  118. data/ext/gherkin_lexer_pa/gherkin_lexer_pa.c +0 -2160
  119. data/ext/gherkin_lexer_pl/extconf.rb +0 -6
  120. data/ext/gherkin_lexer_pl/gherkin_lexer_pl.c +0 -1738
  121. data/ext/gherkin_lexer_pt/extconf.rb +0 -6
  122. data/ext/gherkin_lexer_pt/gherkin_lexer_pt.c +0 -1711
  123. data/ext/gherkin_lexer_ro/extconf.rb +0 -6
  124. data/ext/gherkin_lexer_ro/gherkin_lexer_ro.c +0 -1427
  125. data/ext/gherkin_lexer_ru/extconf.rb +0 -6
  126. data/ext/gherkin_lexer_ru/gherkin_lexer_ru.c +0 -2071
  127. data/ext/gherkin_lexer_sk/extconf.rb +0 -6
  128. data/ext/gherkin_lexer_sk/gherkin_lexer_sk.c +0 -1739
  129. data/ext/gherkin_lexer_sr_cyrl/extconf.rb +0 -6
  130. data/ext/gherkin_lexer_sr_cyrl/gherkin_lexer_sr_cyrl.c +0 -2112
  131. data/ext/gherkin_lexer_sr_latn/extconf.rb +0 -6
  132. data/ext/gherkin_lexer_sr_latn/gherkin_lexer_sr_latn.c +0 -1567
  133. data/ext/gherkin_lexer_sv/extconf.rb +0 -6
  134. data/ext/gherkin_lexer_sv/gherkin_lexer_sv.c +0 -1324
  135. data/ext/gherkin_lexer_th/extconf.rb +0 -6
  136. data/ext/gherkin_lexer_th/gherkin_lexer_th.c +0 -2840
  137. data/ext/gherkin_lexer_tl/extconf.rb +0 -6
  138. data/ext/gherkin_lexer_tl/gherkin_lexer_tl.c +0 -2021
  139. data/ext/gherkin_lexer_tr/extconf.rb +0 -6
  140. data/ext/gherkin_lexer_tr/gherkin_lexer_tr.c +0 -1347
  141. data/ext/gherkin_lexer_tt/extconf.rb +0 -6
  142. data/ext/gherkin_lexer_tt/gherkin_lexer_tt.c +0 -1936
  143. data/ext/gherkin_lexer_uk/extconf.rb +0 -6
  144. data/ext/gherkin_lexer_uk/gherkin_lexer_uk.c +0 -1941
  145. data/ext/gherkin_lexer_uz/extconf.rb +0 -6
  146. data/ext/gherkin_lexer_uz/gherkin_lexer_uz.c +0 -1651
  147. data/ext/gherkin_lexer_vi/extconf.rb +0 -6
  148. data/ext/gherkin_lexer_vi/gherkin_lexer_vi.c +0 -1458
  149. data/ext/gherkin_lexer_zh_cn/extconf.rb +0 -6
  150. data/ext/gherkin_lexer_zh_cn/gherkin_lexer_zh_cn.c +0 -1314
  151. data/ext/gherkin_lexer_zh_tw/extconf.rb +0 -6
  152. data/ext/gherkin_lexer_zh_tw/gherkin_lexer_zh_tw.c +0 -1307
  153. data/features/.cucumber/stepdefs.json +0 -244
  154. data/features/escaped_pipes.feature +0 -8
  155. data/features/feature_parser.feature +0 -237
  156. data/features/json_formatter.feature +0 -498
  157. data/features/json_parser.feature +0 -331
  158. data/features/native_lexer.feature +0 -19
  159. data/features/parser_with_native_lexer.feature +0 -205
  160. data/features/pretty_formatter.feature +0 -17
  161. data/features/step_definitions/eyeball_steps.rb +0 -3
  162. data/features/step_definitions/gherkin_steps.rb +0 -29
  163. data/features/step_definitions/json_formatter_steps.rb +0 -30
  164. data/features/step_definitions/json_parser_steps.rb +0 -21
  165. data/features/step_definitions/pretty_formatter_steps.rb +0 -85
  166. data/features/steps_parser.feature +0 -46
  167. data/features/support/env.rb +0 -41
  168. data/install_mingw_os_x.sh +0 -5
  169. data/js/.npmignore +0 -1
  170. data/js/lib/gherkin/lexer/.npmignore +0 -0
  171. data/lib/gherkin.rb +0 -2
  172. data/lib/gherkin/README.md +0 -7
  173. data/lib/gherkin/c_lexer.rb +0 -17
  174. data/lib/gherkin/formatter/ansi_escapes.rb +0 -97
  175. data/lib/gherkin/formatter/argument.rb +0 -16
  176. data/lib/gherkin/formatter/escaping.rb +0 -15
  177. data/lib/gherkin/formatter/filter_formatter.rb +0 -150
  178. data/lib/gherkin/formatter/hashable.rb +0 -25
  179. data/lib/gherkin/formatter/json_formatter.rb +0 -133
  180. data/lib/gherkin/formatter/line_filter.rb +0 -26
  181. data/lib/gherkin/formatter/model.rb +0 -281
  182. data/lib/gherkin/formatter/pretty_formatter.rb +0 -245
  183. data/lib/gherkin/formatter/regexp_filter.rb +0 -21
  184. data/lib/gherkin/formatter/step_printer.rb +0 -21
  185. data/lib/gherkin/formatter/tag_count_formatter.rb +0 -47
  186. data/lib/gherkin/formatter/tag_filter.rb +0 -19
  187. data/lib/gherkin/i18n.json +0 -786
  188. data/lib/gherkin/i18n.rb +0 -176
  189. data/lib/gherkin/json_parser.rb +0 -177
  190. data/lib/gherkin/lexer/ar.rb +0 -1170
  191. data/lib/gherkin/lexer/bg.rb +0 -1382
  192. data/lib/gherkin/lexer/bm.rb +0 -1250
  193. data/lib/gherkin/lexer/ca.rb +0 -1310
  194. data/lib/gherkin/lexer/cs.rb +0 -1246
  195. data/lib/gherkin/lexer/cy_gb.rb +0 -1032
  196. data/lib/gherkin/lexer/da.rb +0 -1048
  197. data/lib/gherkin/lexer/de.rb +0 -1166
  198. data/lib/gherkin/lexer/el.rb +0 -1628
  199. data/lib/gherkin/lexer/en.rb +0 -1156
  200. data/lib/gherkin/lexer/en_au.rb +0 -1486
  201. data/lib/gherkin/lexer/en_lol.rb +0 -934
  202. data/lib/gherkin/lexer/en_old.rb +0 -1037
  203. data/lib/gherkin/lexer/en_pirate.rb +0 -1210
  204. data/lib/gherkin/lexer/en_scouse.rb +0 -1362
  205. data/lib/gherkin/lexer/en_tx.rb +0 -1016
  206. data/lib/gherkin/lexer/encoding.rb +0 -41
  207. data/lib/gherkin/lexer/eo.rb +0 -995
  208. data/lib/gherkin/lexer/es.rb +0 -1140
  209. data/lib/gherkin/lexer/et.rb +0 -990
  210. data/lib/gherkin/lexer/fa.rb +0 -1214
  211. data/lib/gherkin/lexer/fi.rb +0 -969
  212. data/lib/gherkin/lexer/fr.rb +0 -1228
  213. data/lib/gherkin/lexer/gl.rb +0 -1117
  214. data/lib/gherkin/lexer/he.rb +0 -1118
  215. data/lib/gherkin/lexer/hi.rb +0 -1559
  216. data/lib/gherkin/lexer/hr.rb +0 -1066
  217. data/lib/gherkin/lexer/hu.rb +0 -1118
  218. data/lib/gherkin/lexer/i18n_lexer.rb +0 -48
  219. data/lib/gherkin/lexer/id.rb +0 -963
  220. data/lib/gherkin/lexer/is.rb +0 -1120
  221. data/lib/gherkin/lexer/it.rb +0 -1086
  222. data/lib/gherkin/lexer/ja.rb +0 -1418
  223. data/lib/gherkin/lexer/kn.rb +0 -1672
  224. data/lib/gherkin/lexer/ko.rb +0 -1102
  225. data/lib/gherkin/lexer/lt.rb +0 -1045
  226. data/lib/gherkin/lexer/lu.rb +0 -1132
  227. data/lib/gherkin/lexer/lv.rb +0 -1166
  228. data/lib/gherkin/lexer/nl.rb +0 -1115
  229. data/lib/gherkin/lexer/no.rb +0 -1060
  230. data/lib/gherkin/lexer/pa.rb +0 -1852
  231. data/lib/gherkin/lexer/pl.rb +0 -1457
  232. data/lib/gherkin/lexer/pt.rb +0 -1430
  233. data/lib/gherkin/lexer/ro.rb +0 -1164
  234. data/lib/gherkin/lexer/ru.rb +0 -1766
  235. data/lib/gherkin/lexer/sk.rb +0 -1452
  236. data/lib/gherkin/lexer/sr_cyrl.rb +0 -1803
  237. data/lib/gherkin/lexer/sr_latn.rb +0 -1294
  238. data/lib/gherkin/lexer/sv.rb +0 -1070
  239. data/lib/gherkin/lexer/th.rb +0 -2492
  240. data/lib/gherkin/lexer/tl.rb +0 -1726
  241. data/lib/gherkin/lexer/tr.rb +0 -1092
  242. data/lib/gherkin/lexer/tt.rb +0 -1643
  243. data/lib/gherkin/lexer/uk.rb +0 -1646
  244. data/lib/gherkin/lexer/uz.rb +0 -1376
  245. data/lib/gherkin/lexer/vi.rb +0 -1198
  246. data/lib/gherkin/lexer/zh_cn.rb +0 -1058
  247. data/lib/gherkin/lexer/zh_tw.rb +0 -1052
  248. data/lib/gherkin/listener/event.rb +0 -45
  249. data/lib/gherkin/listener/formatter_listener.rb +0 -150
  250. data/lib/gherkin/native.rb +0 -7
  251. data/lib/gherkin/native/java.rb +0 -72
  252. data/lib/gherkin/native/null.rb +0 -5
  253. data/lib/gherkin/native/therubyracer.rb +0 -41
  254. data/lib/gherkin/parser/meta.txt +0 -5
  255. data/lib/gherkin/parser/parser.rb +0 -166
  256. data/lib/gherkin/parser/root.txt +0 -11
  257. data/lib/gherkin/parser/steps.txt +0 -4
  258. data/lib/gherkin/platform.rb +0 -13
  259. data/lib/gherkin/rubify.rb +0 -31
  260. data/lib/gherkin/tag_expression.rb +0 -63
  261. data/ragel/lexer.c.rl.erb +0 -454
  262. data/ragel/lexer.java.rl.erb +0 -219
  263. data/ragel/lexer.js.rl.erb +0 -322
  264. data/ragel/lexer.rb.rl.erb +0 -179
  265. data/ragel/lexer_common.rl.erb +0 -50
  266. data/spec/gherkin/c_lexer_spec.rb +0 -22
  267. data/spec/gherkin/fixtures/1.feature +0 -8
  268. data/spec/gherkin/fixtures/comments_in_table.feature +0 -9
  269. data/spec/gherkin/fixtures/complex.feature +0 -45
  270. data/spec/gherkin/fixtures/complex.json +0 -139
  271. data/spec/gherkin/fixtures/complex_for_filtering.feature +0 -60
  272. data/spec/gherkin/fixtures/complex_with_tags.feature +0 -61
  273. data/spec/gherkin/fixtures/dos_line_endings.feature +0 -45
  274. data/spec/gherkin/fixtures/examples_with_only_header.feature +0 -14
  275. data/spec/gherkin/fixtures/hantu_pisang.feature +0 -35
  276. data/spec/gherkin/fixtures/i18n_fr.feature +0 -14
  277. data/spec/gherkin/fixtures/i18n_fr2.feature +0 -8
  278. data/spec/gherkin/fixtures/i18n_no.feature +0 -7
  279. data/spec/gherkin/fixtures/i18n_pt1.feature +0 -44
  280. data/spec/gherkin/fixtures/i18n_pt2.feature +0 -4
  281. data/spec/gherkin/fixtures/i18n_pt3.feature +0 -4
  282. data/spec/gherkin/fixtures/i18n_pt4.feature +0 -4
  283. data/spec/gherkin/fixtures/i18n_zh-CN.feature +0 -9
  284. data/spec/gherkin/fixtures/iso-8859-1.feature +0 -6
  285. data/spec/gherkin/fixtures/issue_145.feature +0 -22
  286. data/spec/gherkin/fixtures/scenario_outline_with_tags.feature +0 -13
  287. data/spec/gherkin/fixtures/scenario_without_steps.feature +0 -5
  288. data/spec/gherkin/fixtures/simple_with_comments.feature +0 -7
  289. data/spec/gherkin/fixtures/simple_with_tags.feature +0 -11
  290. data/spec/gherkin/fixtures/with_bom.feature +0 -3
  291. data/spec/gherkin/fixtures/with_bom_and_language_spec.feature +0 -4
  292. data/spec/gherkin/formatter/ansi_escapes_spec.rb +0 -32
  293. data/spec/gherkin/formatter/filter_formatter_spec.rb +0 -204
  294. data/spec/gherkin/formatter/json_formatter_spec.rb +0 -179
  295. data/spec/gherkin/formatter/model_spec.rb +0 -28
  296. data/spec/gherkin/formatter/pretty_formatter_spec.rb +0 -184
  297. data/spec/gherkin/formatter/spaces.feature +0 -9
  298. data/spec/gherkin/formatter/step_printer_spec.rb +0 -55
  299. data/spec/gherkin/formatter/tabs.feature +0 -9
  300. data/spec/gherkin/formatter/tag_count_formatter_spec.rb +0 -30
  301. data/spec/gherkin/i18n_spec.rb +0 -256
  302. data/spec/gherkin/java_lexer_spec.rb +0 -20
  303. data/spec/gherkin/json_parser_spec.rb +0 -165
  304. data/spec/gherkin/lexer/i18n_lexer_spec.rb +0 -65
  305. data/spec/gherkin/native_lexer_spec.rb +0 -29
  306. data/spec/gherkin/parser/parser_spec.rb +0 -16
  307. data/spec/gherkin/rubify_spec.rb +0 -23
  308. data/spec/gherkin/sexp_recorder.rb +0 -59
  309. data/spec/gherkin/shared/doc_string_group.rb +0 -161
  310. data/spec/gherkin/shared/encoding_group.rb +0 -48
  311. data/spec/gherkin/shared/lexer_group.rb +0 -589
  312. data/spec/gherkin/shared/row_group.rb +0 -123
  313. data/spec/gherkin/shared/tags_group.rb +0 -52
  314. data/spec/gherkin/tag_expression_spec.rb +0 -146
  315. data/spec/spec_helper.rb +0 -94
  316. data/tasks/apidoc.rake +0 -32
  317. data/tasks/bench.rake +0 -184
  318. data/tasks/bench/feature_builder.rb +0 -49
  319. data/tasks/bench/null_listener.rb +0 -4
  320. data/tasks/compile.rake +0 -83
  321. data/tasks/cucumber.rake +0 -23
  322. data/tasks/gems.rake +0 -46
  323. data/tasks/ikvm.rake +0 -126
  324. data/tasks/ragel_task.rb +0 -124
  325. data/tasks/release.rake +0 -34
  326. data/tasks/rspec.rake +0 -6
  327. data/tasks/yard/default/layout/html/bubble_32x32.png +0 -0
  328. data/tasks/yard/default/layout/html/bubble_48x48.png +0 -0
  329. data/tasks/yard/default/layout/html/footer.erb +0 -5
  330. data/tasks/yard/default/layout/html/index.erb +0 -1
  331. data/tasks/yard/default/layout/html/layout.erb +0 -25
  332. data/tasks/yard/default/layout/html/logo.erb +0 -1
  333. data/tasks/yard/default/layout/html/setup.rb +0 -4
@@ -0,0 +1,30 @@
1
+ module Gherkin
2
+ class AstNode
3
+ attr_reader :rule_type
4
+
5
+ def initialize(rule_type)
6
+ @rule_type = rule_type
7
+ @_sub_items = Hash.new { |hash, key| hash[key] = [] } # returns [] for unknown key
8
+ end
9
+
10
+ def add(rule_type, obj)
11
+ @_sub_items[rule_type].push(obj)
12
+ end
13
+
14
+ def get_single(rule_type)
15
+ @_sub_items[rule_type].first
16
+ end
17
+
18
+ def get_items(rule_type)
19
+ @_sub_items[rule_type]
20
+ end
21
+
22
+ def get_token(token_type)
23
+ get_single(token_type)
24
+ end
25
+
26
+ def get_tokens(token_type)
27
+ @_sub_items[token_type]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,58 @@
1
+ require 'json'
2
+
3
+ module Gherkin
4
+ DIALECT_FILE_PATH = File.expand_path("gherkin-languages.json", File.dirname(__FILE__))
5
+ DIALECTS = JSON.parse File.read(DIALECT_FILE_PATH)
6
+
7
+ class Dialect
8
+ def self.for(name)
9
+ spec = DIALECTS[name]
10
+ return nil unless spec
11
+ new(spec)
12
+ end
13
+
14
+ def initialize(spec)
15
+ @spec = spec
16
+ end
17
+
18
+ def feature_keywords
19
+ @spec.fetch('feature')
20
+ end
21
+
22
+ def scenario_keywords
23
+ @spec.fetch('scenario')
24
+ end
25
+
26
+ def scenario_outline_keywords
27
+ @spec.fetch('scenarioOutline')
28
+ end
29
+
30
+ def examples_keywords
31
+ @spec.fetch('examples')
32
+ end
33
+
34
+ def background_keywords
35
+ @spec.fetch('background')
36
+ end
37
+
38
+ def given_keywords
39
+ @spec.fetch('given')
40
+ end
41
+
42
+ def when_keywords
43
+ @spec.fetch('when')
44
+ end
45
+
46
+ def then_keywords
47
+ @spec.fetch('then')
48
+ end
49
+
50
+ def and_keywords
51
+ @spec.fetch('and')
52
+ end
53
+
54
+ def but_keywords
55
+ @spec.fetch('but')
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,45 @@
1
+ module Gherkin
2
+ class ParserError < StandardError; end
3
+
4
+ class ParserException < ParserError
5
+ attr_reader :location
6
+
7
+ def initialize(message, location)
8
+ @location = location
9
+ super("(#{location[:line]}:#{location[:column] || 0}): #{message}")
10
+ end
11
+ end
12
+
13
+ class NoSuchLanguageException < ParserException
14
+ def initialize(language, location)
15
+ super "Language not supported: #{language}", location
16
+ end
17
+ end
18
+
19
+ class AstBuilderException < ParserException; end
20
+
21
+ class CompositeParserException < ParserError
22
+ attr_reader :errors
23
+
24
+ def initialize(errors)
25
+ @errors = errors
26
+ super "Parser errors:\n" + errors.map(&:message).join("\n")
27
+ end
28
+ end
29
+
30
+ class UnexpectedTokenException < ParserException
31
+ def initialize(received_token, expected_token_types, state_comment)
32
+ message = "expected: #{expected_token_types.join(", ")}, got '#{received_token.token_value.strip}'"
33
+ column = received_token.location[:column]
34
+ location = (column.nil? || column.zero?) ? {line: received_token.location[:line], column: received_token.line.indent + 1} : received_token.location
35
+ super(message, location)
36
+ end
37
+ end
38
+
39
+ class UnexpectedEOFException < ParserException
40
+ def initialize(received_token, expected_token_types, state_comment)
41
+ message = "unexpected end of file, expected: #{expected_token_types.join(", ")}"
42
+ super(message, received_token.location)
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,2968 @@
1
+ {
2
+ "af": {
3
+ "and": [
4
+ "* ",
5
+ "En "
6
+ ],
7
+ "background": [
8
+ "Agtergrond"
9
+ ],
10
+ "but": [
11
+ "* ",
12
+ "Maar "
13
+ ],
14
+ "examples": [
15
+ "Voorbeelde"
16
+ ],
17
+ "feature": [
18
+ "Funksie",
19
+ "Besigheid Behoefte",
20
+ "Vermoë"
21
+ ],
22
+ "given": [
23
+ "* ",
24
+ "Gegewe "
25
+ ],
26
+ "name": "Afrikaans",
27
+ "native": "Afrikaans",
28
+ "scenario": [
29
+ "Situasie"
30
+ ],
31
+ "scenarioOutline": [
32
+ "Situasie Uiteensetting"
33
+ ],
34
+ "then": [
35
+ "* ",
36
+ "Dan "
37
+ ],
38
+ "when": [
39
+ "* ",
40
+ "Wanneer "
41
+ ]
42
+ },
43
+ "am": {
44
+ "and": [
45
+ "* ",
46
+ "Եվ "
47
+ ],
48
+ "background": [
49
+ "Կոնտեքստ"
50
+ ],
51
+ "but": [
52
+ "* ",
53
+ "Բայց "
54
+ ],
55
+ "examples": [
56
+ "Օրինակներ"
57
+ ],
58
+ "feature": [
59
+ "Ֆունկցիոնալություն",
60
+ "Հատկություն"
61
+ ],
62
+ "given": [
63
+ "* ",
64
+ "Դիցուք "
65
+ ],
66
+ "name": "Armenian",
67
+ "native": "հայերեն",
68
+ "scenario": [
69
+ "Սցենար"
70
+ ],
71
+ "scenarioOutline": [
72
+ "Սցենարի կառուցվացքը"
73
+ ],
74
+ "then": [
75
+ "* ",
76
+ "Ապա "
77
+ ],
78
+ "when": [
79
+ "* ",
80
+ "Եթե ",
81
+ "Երբ "
82
+ ]
83
+ },
84
+ "ar": {
85
+ "and": [
86
+ "* ",
87
+ "و "
88
+ ],
89
+ "background": [
90
+ "الخلفية"
91
+ ],
92
+ "but": [
93
+ "* ",
94
+ "لكن "
95
+ ],
96
+ "examples": [
97
+ "امثلة"
98
+ ],
99
+ "feature": [
100
+ "خاصية"
101
+ ],
102
+ "given": [
103
+ "* ",
104
+ "بفرض "
105
+ ],
106
+ "name": "Arabic",
107
+ "native": "العربية",
108
+ "scenario": [
109
+ "سيناريو"
110
+ ],
111
+ "scenarioOutline": [
112
+ "سيناريو مخطط"
113
+ ],
114
+ "then": [
115
+ "* ",
116
+ "اذاً ",
117
+ "ثم "
118
+ ],
119
+ "when": [
120
+ "* ",
121
+ "متى ",
122
+ "عندما "
123
+ ]
124
+ },
125
+ "bg": {
126
+ "and": [
127
+ "* ",
128
+ "И "
129
+ ],
130
+ "background": [
131
+ "Предистория"
132
+ ],
133
+ "but": [
134
+ "* ",
135
+ "Но "
136
+ ],
137
+ "examples": [
138
+ "Примери"
139
+ ],
140
+ "feature": [
141
+ "Функционалност"
142
+ ],
143
+ "given": [
144
+ "* ",
145
+ "Дадено "
146
+ ],
147
+ "name": "Bulgarian",
148
+ "native": "български",
149
+ "scenario": [
150
+ "Сценарий"
151
+ ],
152
+ "scenarioOutline": [
153
+ "Рамка на сценарий"
154
+ ],
155
+ "then": [
156
+ "* ",
157
+ "То "
158
+ ],
159
+ "when": [
160
+ "* ",
161
+ "Когато "
162
+ ]
163
+ },
164
+ "bm": {
165
+ "and": [
166
+ "* ",
167
+ "Dan "
168
+ ],
169
+ "background": [
170
+ "Latar Belakang"
171
+ ],
172
+ "but": [
173
+ "* ",
174
+ "Tetapi ",
175
+ "Tapi "
176
+ ],
177
+ "examples": [
178
+ "Contoh"
179
+ ],
180
+ "feature": [
181
+ "Fungsi"
182
+ ],
183
+ "given": [
184
+ "* ",
185
+ "Diberi ",
186
+ "Bagi "
187
+ ],
188
+ "name": "Malay",
189
+ "native": "Bahasa Melayu",
190
+ "scenario": [
191
+ "Senario",
192
+ "Situasi",
193
+ "Keadaan"
194
+ ],
195
+ "scenarioOutline": [
196
+ "Kerangka Senario",
197
+ "Kerangka Situasi",
198
+ "Kerangka Keadaan",
199
+ "Garis Panduan Senario"
200
+ ],
201
+ "then": [
202
+ "* ",
203
+ "Maka ",
204
+ "Kemudian "
205
+ ],
206
+ "when": [
207
+ "* ",
208
+ "Apabila "
209
+ ]
210
+ },
211
+ "bs": {
212
+ "and": [
213
+ "* ",
214
+ "I ",
215
+ "A "
216
+ ],
217
+ "background": [
218
+ "Pozadina"
219
+ ],
220
+ "but": [
221
+ "* ",
222
+ "Ali "
223
+ ],
224
+ "examples": [
225
+ "Primjeri"
226
+ ],
227
+ "feature": [
228
+ "Karakteristika"
229
+ ],
230
+ "given": [
231
+ "* ",
232
+ "Dato "
233
+ ],
234
+ "name": "Bosnian",
235
+ "native": "Bosanski",
236
+ "scenario": [
237
+ "Scenariju",
238
+ "Scenario"
239
+ ],
240
+ "scenarioOutline": [
241
+ "Scenariju-obris",
242
+ "Scenario-outline"
243
+ ],
244
+ "then": [
245
+ "* ",
246
+ "Zatim "
247
+ ],
248
+ "when": [
249
+ "* ",
250
+ "Kada "
251
+ ]
252
+ },
253
+ "ca": {
254
+ "and": [
255
+ "* ",
256
+ "I "
257
+ ],
258
+ "background": [
259
+ "Rerefons",
260
+ "Antecedents"
261
+ ],
262
+ "but": [
263
+ "* ",
264
+ "Però "
265
+ ],
266
+ "examples": [
267
+ "Exemples"
268
+ ],
269
+ "feature": [
270
+ "Característica",
271
+ "Funcionalitat"
272
+ ],
273
+ "given": [
274
+ "* ",
275
+ "Donat ",
276
+ "Donada ",
277
+ "Atès ",
278
+ "Atesa "
279
+ ],
280
+ "name": "Catalan",
281
+ "native": "català",
282
+ "scenario": [
283
+ "Escenari"
284
+ ],
285
+ "scenarioOutline": [
286
+ "Esquema de l'escenari"
287
+ ],
288
+ "then": [
289
+ "* ",
290
+ "Aleshores ",
291
+ "Cal "
292
+ ],
293
+ "when": [
294
+ "* ",
295
+ "Quan "
296
+ ]
297
+ },
298
+ "cs": {
299
+ "and": [
300
+ "* ",
301
+ "A také ",
302
+ "A "
303
+ ],
304
+ "background": [
305
+ "Pozadí",
306
+ "Kontext"
307
+ ],
308
+ "but": [
309
+ "* ",
310
+ "Ale "
311
+ ],
312
+ "examples": [
313
+ "Příklady"
314
+ ],
315
+ "feature": [
316
+ "Požadavek"
317
+ ],
318
+ "given": [
319
+ "* ",
320
+ "Pokud ",
321
+ "Za předpokladu "
322
+ ],
323
+ "name": "Czech",
324
+ "native": "Česky",
325
+ "scenario": [
326
+ "Scénář"
327
+ ],
328
+ "scenarioOutline": [
329
+ "Náčrt Scénáře",
330
+ "Osnova scénáře"
331
+ ],
332
+ "then": [
333
+ "* ",
334
+ "Pak "
335
+ ],
336
+ "when": [
337
+ "* ",
338
+ "Když "
339
+ ]
340
+ },
341
+ "cy-GB": {
342
+ "and": [
343
+ "* ",
344
+ "A "
345
+ ],
346
+ "background": [
347
+ "Cefndir"
348
+ ],
349
+ "but": [
350
+ "* ",
351
+ "Ond "
352
+ ],
353
+ "examples": [
354
+ "Enghreifftiau"
355
+ ],
356
+ "feature": [
357
+ "Arwedd"
358
+ ],
359
+ "given": [
360
+ "* ",
361
+ "Anrhegedig a "
362
+ ],
363
+ "name": "Welsh",
364
+ "native": "Cymraeg",
365
+ "scenario": [
366
+ "Scenario"
367
+ ],
368
+ "scenarioOutline": [
369
+ "Scenario Amlinellol"
370
+ ],
371
+ "then": [
372
+ "* ",
373
+ "Yna "
374
+ ],
375
+ "when": [
376
+ "* ",
377
+ "Pryd "
378
+ ]
379
+ },
380
+ "da": {
381
+ "and": [
382
+ "* ",
383
+ "Og "
384
+ ],
385
+ "background": [
386
+ "Baggrund"
387
+ ],
388
+ "but": [
389
+ "* ",
390
+ "Men "
391
+ ],
392
+ "examples": [
393
+ "Eksempler"
394
+ ],
395
+ "feature": [
396
+ "Egenskab"
397
+ ],
398
+ "given": [
399
+ "* ",
400
+ "Givet "
401
+ ],
402
+ "name": "Danish",
403
+ "native": "dansk",
404
+ "scenario": [
405
+ "Scenarie"
406
+ ],
407
+ "scenarioOutline": [
408
+ "Abstrakt Scenario"
409
+ ],
410
+ "then": [
411
+ "* ",
412
+ "Så "
413
+ ],
414
+ "when": [
415
+ "* ",
416
+ "Når "
417
+ ]
418
+ },
419
+ "de": {
420
+ "and": [
421
+ "* ",
422
+ "Und "
423
+ ],
424
+ "background": [
425
+ "Grundlage"
426
+ ],
427
+ "but": [
428
+ "* ",
429
+ "Aber "
430
+ ],
431
+ "examples": [
432
+ "Beispiele"
433
+ ],
434
+ "feature": [
435
+ "Funktionalität"
436
+ ],
437
+ "given": [
438
+ "* ",
439
+ "Angenommen ",
440
+ "Gegeben sei ",
441
+ "Gegeben seien "
442
+ ],
443
+ "name": "German",
444
+ "native": "Deutsch",
445
+ "scenario": [
446
+ "Szenario"
447
+ ],
448
+ "scenarioOutline": [
449
+ "Szenariogrundriss"
450
+ ],
451
+ "then": [
452
+ "* ",
453
+ "Dann "
454
+ ],
455
+ "when": [
456
+ "* ",
457
+ "Wenn "
458
+ ]
459
+ },
460
+ "el": {
461
+ "and": [
462
+ "* ",
463
+ "Και "
464
+ ],
465
+ "background": [
466
+ "Υπόβαθρο"
467
+ ],
468
+ "but": [
469
+ "* ",
470
+ "Αλλά "
471
+ ],
472
+ "examples": [
473
+ "Παραδείγματα",
474
+ "Σενάρια"
475
+ ],
476
+ "feature": [
477
+ "Δυνατότητα",
478
+ "Λειτουργία"
479
+ ],
480
+ "given": [
481
+ "* ",
482
+ "Δεδομένου "
483
+ ],
484
+ "name": "Greek",
485
+ "native": "Ελληνικά",
486
+ "scenario": [
487
+ "Σενάριο"
488
+ ],
489
+ "scenarioOutline": [
490
+ "Περιγραφή Σεναρίου"
491
+ ],
492
+ "then": [
493
+ "* ",
494
+ "Τότε "
495
+ ],
496
+ "when": [
497
+ "* ",
498
+ "Όταν "
499
+ ]
500
+ },
501
+ "em": {
502
+ "and": [
503
+ "* ",
504
+ "😂"
505
+ ],
506
+ "background": [
507
+ "💤"
508
+ ],
509
+ "but": [
510
+ "* ",
511
+ "😔"
512
+ ],
513
+ "examples": [
514
+ "📓"
515
+ ],
516
+ "feature": [
517
+ "📚"
518
+ ],
519
+ "given": [
520
+ "* ",
521
+ "😐"
522
+ ],
523
+ "name": "Emoji",
524
+ "native": "😀",
525
+ "scenario": [
526
+ "📕"
527
+ ],
528
+ "scenarioOutline": [
529
+ "📖"
530
+ ],
531
+ "then": [
532
+ "* ",
533
+ "🙏"
534
+ ],
535
+ "when": [
536
+ "* ",
537
+ "🎬"
538
+ ]
539
+ },
540
+ "en": {
541
+ "and": [
542
+ "* ",
543
+ "And "
544
+ ],
545
+ "background": [
546
+ "Background"
547
+ ],
548
+ "but": [
549
+ "* ",
550
+ "But "
551
+ ],
552
+ "examples": [
553
+ "Examples",
554
+ "Scenarios"
555
+ ],
556
+ "feature": [
557
+ "Feature",
558
+ "Business Need",
559
+ "Ability"
560
+ ],
561
+ "given": [
562
+ "* ",
563
+ "Given "
564
+ ],
565
+ "name": "English",
566
+ "native": "English",
567
+ "scenario": [
568
+ "Scenario"
569
+ ],
570
+ "scenarioOutline": [
571
+ "Scenario Outline",
572
+ "Scenario Template"
573
+ ],
574
+ "then": [
575
+ "* ",
576
+ "Then "
577
+ ],
578
+ "when": [
579
+ "* ",
580
+ "When "
581
+ ]
582
+ },
583
+ "en-Scouse": {
584
+ "and": [
585
+ "* ",
586
+ "An "
587
+ ],
588
+ "background": [
589
+ "Dis is what went down"
590
+ ],
591
+ "but": [
592
+ "* ",
593
+ "Buh "
594
+ ],
595
+ "examples": [
596
+ "Examples"
597
+ ],
598
+ "feature": [
599
+ "Feature"
600
+ ],
601
+ "given": [
602
+ "* ",
603
+ "Givun ",
604
+ "Youse know when youse got "
605
+ ],
606
+ "name": "Scouse",
607
+ "native": "Scouse",
608
+ "scenario": [
609
+ "The thing of it is"
610
+ ],
611
+ "scenarioOutline": [
612
+ "Wharrimean is"
613
+ ],
614
+ "then": [
615
+ "* ",
616
+ "Dun ",
617
+ "Den youse gotta "
618
+ ],
619
+ "when": [
620
+ "* ",
621
+ "Wun ",
622
+ "Youse know like when "
623
+ ]
624
+ },
625
+ "en-au": {
626
+ "and": [
627
+ "* ",
628
+ "Too right "
629
+ ],
630
+ "background": [
631
+ "First off"
632
+ ],
633
+ "but": [
634
+ "* ",
635
+ "Yeah nah "
636
+ ],
637
+ "examples": [
638
+ "You'll wanna"
639
+ ],
640
+ "feature": [
641
+ "Pretty much"
642
+ ],
643
+ "given": [
644
+ "* ",
645
+ "Y'know "
646
+ ],
647
+ "name": "Australian",
648
+ "native": "Australian",
649
+ "scenario": [
650
+ "Awww, look mate"
651
+ ],
652
+ "scenarioOutline": [
653
+ "Reckon it's like"
654
+ ],
655
+ "then": [
656
+ "* ",
657
+ "But at the end of the day I reckon "
658
+ ],
659
+ "when": [
660
+ "* ",
661
+ "It's just unbelievable "
662
+ ]
663
+ },
664
+ "en-lol": {
665
+ "and": [
666
+ "* ",
667
+ "AN "
668
+ ],
669
+ "background": [
670
+ "B4"
671
+ ],
672
+ "but": [
673
+ "* ",
674
+ "BUT "
675
+ ],
676
+ "examples": [
677
+ "EXAMPLZ"
678
+ ],
679
+ "feature": [
680
+ "OH HAI"
681
+ ],
682
+ "given": [
683
+ "* ",
684
+ "I CAN HAZ "
685
+ ],
686
+ "name": "LOLCAT",
687
+ "native": "LOLCAT",
688
+ "scenario": [
689
+ "MISHUN"
690
+ ],
691
+ "scenarioOutline": [
692
+ "MISHUN SRSLY"
693
+ ],
694
+ "then": [
695
+ "* ",
696
+ "DEN "
697
+ ],
698
+ "when": [
699
+ "* ",
700
+ "WEN "
701
+ ]
702
+ },
703
+ "en-old": {
704
+ "and": [
705
+ "* ",
706
+ "Ond ",
707
+ "7 "
708
+ ],
709
+ "background": [
710
+ "Aer",
711
+ "Ær"
712
+ ],
713
+ "but": [
714
+ "* ",
715
+ "Ac "
716
+ ],
717
+ "examples": [
718
+ "Se the",
719
+ "Se þe",
720
+ "Se ðe"
721
+ ],
722
+ "feature": [
723
+ "Hwaet",
724
+ "Hwæt"
725
+ ],
726
+ "given": [
727
+ "* ",
728
+ "Thurh ",
729
+ "Þurh ",
730
+ "Ðurh "
731
+ ],
732
+ "name": "Old English",
733
+ "native": "Englisc",
734
+ "scenario": [
735
+ "Swa"
736
+ ],
737
+ "scenarioOutline": [
738
+ "Swa hwaer swa",
739
+ "Swa hwær swa"
740
+ ],
741
+ "then": [
742
+ "* ",
743
+ "Tha ",
744
+ "Þa ",
745
+ "Ða ",
746
+ "Tha the ",
747
+ "Þa þe ",
748
+ "Ða ðe "
749
+ ],
750
+ "when": [
751
+ "* ",
752
+ "Tha ",
753
+ "Þa ",
754
+ "Ða "
755
+ ]
756
+ },
757
+ "en-pirate": {
758
+ "and": [
759
+ "* ",
760
+ "Aye "
761
+ ],
762
+ "background": [
763
+ "Yo-ho-ho"
764
+ ],
765
+ "but": [
766
+ "* ",
767
+ "Avast! "
768
+ ],
769
+ "examples": [
770
+ "Dead men tell no tales"
771
+ ],
772
+ "feature": [
773
+ "Ahoy matey!"
774
+ ],
775
+ "given": [
776
+ "* ",
777
+ "Gangway! "
778
+ ],
779
+ "name": "Pirate",
780
+ "native": "Pirate",
781
+ "scenario": [
782
+ "Heave to"
783
+ ],
784
+ "scenarioOutline": [
785
+ "Shiver me timbers"
786
+ ],
787
+ "then": [
788
+ "* ",
789
+ "Let go and haul "
790
+ ],
791
+ "when": [
792
+ "* ",
793
+ "Blimey! "
794
+ ]
795
+ },
796
+ "eo": {
797
+ "and": [
798
+ "* ",
799
+ "Kaj "
800
+ ],
801
+ "background": [
802
+ "Fono"
803
+ ],
804
+ "but": [
805
+ "* ",
806
+ "Sed "
807
+ ],
808
+ "examples": [
809
+ "Ekzemploj"
810
+ ],
811
+ "feature": [
812
+ "Trajto"
813
+ ],
814
+ "given": [
815
+ "* ",
816
+ "Donitaĵo ",
817
+ "Komence "
818
+ ],
819
+ "name": "Esperanto",
820
+ "native": "Esperanto",
821
+ "scenario": [
822
+ "Scenaro",
823
+ "Kazo"
824
+ ],
825
+ "scenarioOutline": [
826
+ "Konturo de la scenaro",
827
+ "Skizo",
828
+ "Kazo-skizo"
829
+ ],
830
+ "then": [
831
+ "* ",
832
+ "Do "
833
+ ],
834
+ "when": [
835
+ "* ",
836
+ "Se "
837
+ ]
838
+ },
839
+ "es": {
840
+ "and": [
841
+ "* ",
842
+ "Y ",
843
+ "E "
844
+ ],
845
+ "background": [
846
+ "Antecedentes"
847
+ ],
848
+ "but": [
849
+ "* ",
850
+ "Pero "
851
+ ],
852
+ "examples": [
853
+ "Ejemplos"
854
+ ],
855
+ "feature": [
856
+ "Característica"
857
+ ],
858
+ "given": [
859
+ "* ",
860
+ "Dado ",
861
+ "Dada ",
862
+ "Dados ",
863
+ "Dadas "
864
+ ],
865
+ "name": "Spanish",
866
+ "native": "español",
867
+ "scenario": [
868
+ "Escenario"
869
+ ],
870
+ "scenarioOutline": [
871
+ "Esquema del escenario"
872
+ ],
873
+ "then": [
874
+ "* ",
875
+ "Entonces "
876
+ ],
877
+ "when": [
878
+ "* ",
879
+ "Cuando "
880
+ ]
881
+ },
882
+ "et": {
883
+ "and": [
884
+ "* ",
885
+ "Ja "
886
+ ],
887
+ "background": [
888
+ "Taust"
889
+ ],
890
+ "but": [
891
+ "* ",
892
+ "Kuid "
893
+ ],
894
+ "examples": [
895
+ "Juhtumid"
896
+ ],
897
+ "feature": [
898
+ "Omadus"
899
+ ],
900
+ "given": [
901
+ "* ",
902
+ "Eeldades "
903
+ ],
904
+ "name": "Estonian",
905
+ "native": "eesti keel",
906
+ "scenario": [
907
+ "Stsenaarium"
908
+ ],
909
+ "scenarioOutline": [
910
+ "Raamstsenaarium"
911
+ ],
912
+ "then": [
913
+ "* ",
914
+ "Siis "
915
+ ],
916
+ "when": [
917
+ "* ",
918
+ "Kui "
919
+ ]
920
+ },
921
+ "fa": {
922
+ "and": [
923
+ "* ",
924
+ "و "
925
+ ],
926
+ "background": [
927
+ "زمینه"
928
+ ],
929
+ "but": [
930
+ "* ",
931
+ "اما "
932
+ ],
933
+ "examples": [
934
+ "نمونه ها"
935
+ ],
936
+ "feature": [
937
+ "وِیژگی"
938
+ ],
939
+ "given": [
940
+ "* ",
941
+ "با فرض "
942
+ ],
943
+ "name": "Persian",
944
+ "native": "فارسی",
945
+ "scenario": [
946
+ "سناریو"
947
+ ],
948
+ "scenarioOutline": [
949
+ "الگوی سناریو"
950
+ ],
951
+ "then": [
952
+ "* ",
953
+ "آنگاه "
954
+ ],
955
+ "when": [
956
+ "* ",
957
+ "هنگامی "
958
+ ]
959
+ },
960
+ "fi": {
961
+ "and": [
962
+ "* ",
963
+ "Ja "
964
+ ],
965
+ "background": [
966
+ "Tausta"
967
+ ],
968
+ "but": [
969
+ "* ",
970
+ "Mutta "
971
+ ],
972
+ "examples": [
973
+ "Tapaukset"
974
+ ],
975
+ "feature": [
976
+ "Ominaisuus"
977
+ ],
978
+ "given": [
979
+ "* ",
980
+ "Oletetaan "
981
+ ],
982
+ "name": "Finnish",
983
+ "native": "suomi",
984
+ "scenario": [
985
+ "Tapaus"
986
+ ],
987
+ "scenarioOutline": [
988
+ "Tapausaihio"
989
+ ],
990
+ "then": [
991
+ "* ",
992
+ "Niin "
993
+ ],
994
+ "when": [
995
+ "* ",
996
+ "Kun "
997
+ ]
998
+ },
999
+ "fr": {
1000
+ "and": [
1001
+ "* ",
1002
+ "Et que ",
1003
+ "Et qu'",
1004
+ "Et "
1005
+ ],
1006
+ "background": [
1007
+ "Contexte"
1008
+ ],
1009
+ "but": [
1010
+ "* ",
1011
+ "Mais que ",
1012
+ "Mais qu'",
1013
+ "Mais "
1014
+ ],
1015
+ "examples": [
1016
+ "Exemples"
1017
+ ],
1018
+ "feature": [
1019
+ "Fonctionnalité"
1020
+ ],
1021
+ "given": [
1022
+ "* ",
1023
+ "Soit ",
1024
+ "Etant donné que ",
1025
+ "Etant donné qu'",
1026
+ "Etant donné ",
1027
+ "Etant donnée ",
1028
+ "Etant donnés ",
1029
+ "Etant données ",
1030
+ "Étant donné que ",
1031
+ "Étant donné qu'",
1032
+ "Étant donné ",
1033
+ "Étant donnée ",
1034
+ "Étant donnés ",
1035
+ "Étant données "
1036
+ ],
1037
+ "name": "French",
1038
+ "native": "français",
1039
+ "scenario": [
1040
+ "Scénario"
1041
+ ],
1042
+ "scenarioOutline": [
1043
+ "Plan du scénario",
1044
+ "Plan du Scénario"
1045
+ ],
1046
+ "then": [
1047
+ "* ",
1048
+ "Alors "
1049
+ ],
1050
+ "when": [
1051
+ "* ",
1052
+ "Quand ",
1053
+ "Lorsque ",
1054
+ "Lorsqu'"
1055
+ ]
1056
+ },
1057
+ "ga": {
1058
+ "and": [
1059
+ "* ",
1060
+ "Agus"
1061
+ ],
1062
+ "background": [
1063
+ "Cúlra"
1064
+ ],
1065
+ "but": [
1066
+ "* ",
1067
+ "Ach"
1068
+ ],
1069
+ "examples": [
1070
+ "Samplaí"
1071
+ ],
1072
+ "feature": [
1073
+ "Gné"
1074
+ ],
1075
+ "given": [
1076
+ "* ",
1077
+ "Cuir i gcás go",
1078
+ "Cuir i gcás nach",
1079
+ "Cuir i gcás gur",
1080
+ "Cuir i gcás nár"
1081
+ ],
1082
+ "name": "Irish",
1083
+ "native": "Gaeilge",
1084
+ "scenario": [
1085
+ "Cás"
1086
+ ],
1087
+ "scenarioOutline": [
1088
+ "Cás Achomair"
1089
+ ],
1090
+ "then": [
1091
+ "* ",
1092
+ "Ansin"
1093
+ ],
1094
+ "when": [
1095
+ "* ",
1096
+ "Nuair a",
1097
+ "Nuair nach",
1098
+ "Nuair ba",
1099
+ "Nuair nár"
1100
+ ]
1101
+ },
1102
+ "gj": {
1103
+ "and": [
1104
+ "* ",
1105
+ "અને "
1106
+ ],
1107
+ "background": [
1108
+ "બેકગ્રાઉન્ડ"
1109
+ ],
1110
+ "but": [
1111
+ "* ",
1112
+ "પણ "
1113
+ ],
1114
+ "examples": [
1115
+ "ઉદાહરણો"
1116
+ ],
1117
+ "feature": [
1118
+ "લક્ષણ",
1119
+ "વ્યાપાર જરૂર",
1120
+ "ક્ષમતા"
1121
+ ],
1122
+ "given": [
1123
+ "* ",
1124
+ "આપેલ છે "
1125
+ ],
1126
+ "name": "Gujarati",
1127
+ "native": "ગુજરાતી",
1128
+ "scenario": [
1129
+ "સ્થિતિ"
1130
+ ],
1131
+ "scenarioOutline": [
1132
+ "પરિદ્દશ્ય રૂપરેખા",
1133
+ "પરિદ્દશ્ય ઢાંચો"
1134
+ ],
1135
+ "then": [
1136
+ "* ",
1137
+ "પછી "
1138
+ ],
1139
+ "when": [
1140
+ "* ",
1141
+ "ક્યારે "
1142
+ ]
1143
+ },
1144
+ "gl": {
1145
+ "and": [
1146
+ "* ",
1147
+ "E "
1148
+ ],
1149
+ "background": [
1150
+ "Contexto"
1151
+ ],
1152
+ "but": [
1153
+ "* ",
1154
+ "Mais ",
1155
+ "Pero "
1156
+ ],
1157
+ "examples": [
1158
+ "Exemplos"
1159
+ ],
1160
+ "feature": [
1161
+ "Característica"
1162
+ ],
1163
+ "given": [
1164
+ "* ",
1165
+ "Dado ",
1166
+ "Dada ",
1167
+ "Dados ",
1168
+ "Dadas "
1169
+ ],
1170
+ "name": "Galician",
1171
+ "native": "galego",
1172
+ "scenario": [
1173
+ "Escenario"
1174
+ ],
1175
+ "scenarioOutline": [
1176
+ "Esbozo do escenario"
1177
+ ],
1178
+ "then": [
1179
+ "* ",
1180
+ "Entón ",
1181
+ "Logo "
1182
+ ],
1183
+ "when": [
1184
+ "* ",
1185
+ "Cando "
1186
+ ]
1187
+ },
1188
+ "he": {
1189
+ "and": [
1190
+ "* ",
1191
+ "וגם "
1192
+ ],
1193
+ "background": [
1194
+ "רקע"
1195
+ ],
1196
+ "but": [
1197
+ "* ",
1198
+ "אבל "
1199
+ ],
1200
+ "examples": [
1201
+ "דוגמאות"
1202
+ ],
1203
+ "feature": [
1204
+ "תכונה"
1205
+ ],
1206
+ "given": [
1207
+ "* ",
1208
+ "בהינתן "
1209
+ ],
1210
+ "name": "Hebrew",
1211
+ "native": "עברית",
1212
+ "scenario": [
1213
+ "תרחיש"
1214
+ ],
1215
+ "scenarioOutline": [
1216
+ "תבנית תרחיש"
1217
+ ],
1218
+ "then": [
1219
+ "* ",
1220
+ "אז ",
1221
+ "אזי "
1222
+ ],
1223
+ "when": [
1224
+ "* ",
1225
+ "כאשר "
1226
+ ]
1227
+ },
1228
+ "hi": {
1229
+ "and": [
1230
+ "* ",
1231
+ "और ",
1232
+ "तथा "
1233
+ ],
1234
+ "background": [
1235
+ "पृष्ठभूमि"
1236
+ ],
1237
+ "but": [
1238
+ "* ",
1239
+ "पर ",
1240
+ "परन्तु ",
1241
+ "किन्तु "
1242
+ ],
1243
+ "examples": [
1244
+ "उदाहरण"
1245
+ ],
1246
+ "feature": [
1247
+ "रूप लेख"
1248
+ ],
1249
+ "given": [
1250
+ "* ",
1251
+ "अगर ",
1252
+ "यदि ",
1253
+ "चूंकि "
1254
+ ],
1255
+ "name": "Hindi",
1256
+ "native": "हिंदी",
1257
+ "scenario": [
1258
+ "परिदृश्य"
1259
+ ],
1260
+ "scenarioOutline": [
1261
+ "परिदृश्य रूपरेखा"
1262
+ ],
1263
+ "then": [
1264
+ "* ",
1265
+ "तब ",
1266
+ "तदा "
1267
+ ],
1268
+ "when": [
1269
+ "* ",
1270
+ "जब ",
1271
+ "कदा "
1272
+ ]
1273
+ },
1274
+ "hr": {
1275
+ "and": [
1276
+ "* ",
1277
+ "I "
1278
+ ],
1279
+ "background": [
1280
+ "Pozadina"
1281
+ ],
1282
+ "but": [
1283
+ "* ",
1284
+ "Ali "
1285
+ ],
1286
+ "examples": [
1287
+ "Primjeri",
1288
+ "Scenariji"
1289
+ ],
1290
+ "feature": [
1291
+ "Osobina",
1292
+ "Mogućnost",
1293
+ "Mogucnost"
1294
+ ],
1295
+ "given": [
1296
+ "* ",
1297
+ "Zadan ",
1298
+ "Zadani ",
1299
+ "Zadano "
1300
+ ],
1301
+ "name": "Croatian",
1302
+ "native": "hrvatski",
1303
+ "scenario": [
1304
+ "Scenarij"
1305
+ ],
1306
+ "scenarioOutline": [
1307
+ "Skica",
1308
+ "Koncept"
1309
+ ],
1310
+ "then": [
1311
+ "* ",
1312
+ "Onda "
1313
+ ],
1314
+ "when": [
1315
+ "* ",
1316
+ "Kada ",
1317
+ "Kad "
1318
+ ]
1319
+ },
1320
+ "ht": {
1321
+ "and": [
1322
+ "* ",
1323
+ "Ak ",
1324
+ "Epi ",
1325
+ "E "
1326
+ ],
1327
+ "background": [
1328
+ "Kontèks",
1329
+ "Istorik"
1330
+ ],
1331
+ "but": [
1332
+ "* ",
1333
+ "Men "
1334
+ ],
1335
+ "examples": [
1336
+ "Egzanp"
1337
+ ],
1338
+ "feature": [
1339
+ "Karakteristik",
1340
+ "Mak",
1341
+ "Fonksyonalite"
1342
+ ],
1343
+ "given": [
1344
+ "* ",
1345
+ "Sipoze ",
1346
+ "Sipoze ke ",
1347
+ "Sipoze Ke "
1348
+ ],
1349
+ "name": "Creole",
1350
+ "native": "kreyòl",
1351
+ "scenario": [
1352
+ "Senaryo"
1353
+ ],
1354
+ "scenarioOutline": [
1355
+ "Plan senaryo",
1356
+ "Plan Senaryo",
1357
+ "Senaryo deskripsyon",
1358
+ "Senaryo Deskripsyon",
1359
+ "Dyagram senaryo",
1360
+ "Dyagram Senaryo"
1361
+ ],
1362
+ "then": [
1363
+ "* ",
1364
+ "Lè sa a ",
1365
+ "Le sa a "
1366
+ ],
1367
+ "when": [
1368
+ "* ",
1369
+ "Lè ",
1370
+ "Le "
1371
+ ]
1372
+ },
1373
+ "hu": {
1374
+ "and": [
1375
+ "* ",
1376
+ "És "
1377
+ ],
1378
+ "background": [
1379
+ "Háttér"
1380
+ ],
1381
+ "but": [
1382
+ "* ",
1383
+ "De "
1384
+ ],
1385
+ "examples": [
1386
+ "Példák"
1387
+ ],
1388
+ "feature": [
1389
+ "Jellemző"
1390
+ ],
1391
+ "given": [
1392
+ "* ",
1393
+ "Amennyiben ",
1394
+ "Adott "
1395
+ ],
1396
+ "name": "Hungarian",
1397
+ "native": "magyar",
1398
+ "scenario": [
1399
+ "Forgatókönyv"
1400
+ ],
1401
+ "scenarioOutline": [
1402
+ "Forgatókönyv vázlat"
1403
+ ],
1404
+ "then": [
1405
+ "* ",
1406
+ "Akkor "
1407
+ ],
1408
+ "when": [
1409
+ "* ",
1410
+ "Majd ",
1411
+ "Ha ",
1412
+ "Amikor "
1413
+ ]
1414
+ },
1415
+ "id": {
1416
+ "and": [
1417
+ "* ",
1418
+ "Dan "
1419
+ ],
1420
+ "background": [
1421
+ "Dasar"
1422
+ ],
1423
+ "but": [
1424
+ "* ",
1425
+ "Tapi "
1426
+ ],
1427
+ "examples": [
1428
+ "Contoh"
1429
+ ],
1430
+ "feature": [
1431
+ "Fitur"
1432
+ ],
1433
+ "given": [
1434
+ "* ",
1435
+ "Dengan "
1436
+ ],
1437
+ "name": "Indonesian",
1438
+ "native": "Bahasa Indonesia",
1439
+ "scenario": [
1440
+ "Skenario"
1441
+ ],
1442
+ "scenarioOutline": [
1443
+ "Skenario konsep"
1444
+ ],
1445
+ "then": [
1446
+ "* ",
1447
+ "Maka "
1448
+ ],
1449
+ "when": [
1450
+ "* ",
1451
+ "Ketika "
1452
+ ]
1453
+ },
1454
+ "is": {
1455
+ "and": [
1456
+ "* ",
1457
+ "Og "
1458
+ ],
1459
+ "background": [
1460
+ "Bakgrunnur"
1461
+ ],
1462
+ "but": [
1463
+ "* ",
1464
+ "En "
1465
+ ],
1466
+ "examples": [
1467
+ "Dæmi",
1468
+ "Atburðarásir"
1469
+ ],
1470
+ "feature": [
1471
+ "Eiginleiki"
1472
+ ],
1473
+ "given": [
1474
+ "* ",
1475
+ "Ef "
1476
+ ],
1477
+ "name": "Icelandic",
1478
+ "native": "Íslenska",
1479
+ "scenario": [
1480
+ "Atburðarás"
1481
+ ],
1482
+ "scenarioOutline": [
1483
+ "Lýsing Atburðarásar",
1484
+ "Lýsing Dæma"
1485
+ ],
1486
+ "then": [
1487
+ "* ",
1488
+ "Þá "
1489
+ ],
1490
+ "when": [
1491
+ "* ",
1492
+ "Þegar "
1493
+ ]
1494
+ },
1495
+ "it": {
1496
+ "and": [
1497
+ "* ",
1498
+ "E "
1499
+ ],
1500
+ "background": [
1501
+ "Contesto"
1502
+ ],
1503
+ "but": [
1504
+ "* ",
1505
+ "Ma "
1506
+ ],
1507
+ "examples": [
1508
+ "Esempi"
1509
+ ],
1510
+ "feature": [
1511
+ "Funzionalità"
1512
+ ],
1513
+ "given": [
1514
+ "* ",
1515
+ "Dato ",
1516
+ "Data ",
1517
+ "Dati ",
1518
+ "Date "
1519
+ ],
1520
+ "name": "Italian",
1521
+ "native": "italiano",
1522
+ "scenario": [
1523
+ "Scenario"
1524
+ ],
1525
+ "scenarioOutline": [
1526
+ "Schema dello scenario"
1527
+ ],
1528
+ "then": [
1529
+ "* ",
1530
+ "Allora "
1531
+ ],
1532
+ "when": [
1533
+ "* ",
1534
+ "Quando "
1535
+ ]
1536
+ },
1537
+ "ja": {
1538
+ "and": [
1539
+ "* ",
1540
+ "かつ"
1541
+ ],
1542
+ "background": [
1543
+ "背景"
1544
+ ],
1545
+ "but": [
1546
+ "* ",
1547
+ "しかし",
1548
+ "但し",
1549
+ "ただし"
1550
+ ],
1551
+ "examples": [
1552
+ "例",
1553
+ "サンプル"
1554
+ ],
1555
+ "feature": [
1556
+ "フィーチャ",
1557
+ "機能"
1558
+ ],
1559
+ "given": [
1560
+ "* ",
1561
+ "前提"
1562
+ ],
1563
+ "name": "Japanese",
1564
+ "native": "日本語",
1565
+ "scenario": [
1566
+ "シナリオ"
1567
+ ],
1568
+ "scenarioOutline": [
1569
+ "シナリオアウトライン",
1570
+ "シナリオテンプレート",
1571
+ "テンプレ",
1572
+ "シナリオテンプレ"
1573
+ ],
1574
+ "then": [
1575
+ "* ",
1576
+ "ならば"
1577
+ ],
1578
+ "when": [
1579
+ "* ",
1580
+ "もし"
1581
+ ]
1582
+ },
1583
+ "jv": {
1584
+ "and": [
1585
+ "* ",
1586
+ "Lan "
1587
+ ],
1588
+ "background": [
1589
+ "Dasar"
1590
+ ],
1591
+ "but": [
1592
+ "* ",
1593
+ "Tapi ",
1594
+ "Nanging ",
1595
+ "Ananging "
1596
+ ],
1597
+ "examples": [
1598
+ "Conto",
1599
+ "Contone"
1600
+ ],
1601
+ "feature": [
1602
+ "Fitur"
1603
+ ],
1604
+ "given": [
1605
+ "* ",
1606
+ "Nalika ",
1607
+ "Nalikaning "
1608
+ ],
1609
+ "name": "Javanese",
1610
+ "native": "Basa Jawa",
1611
+ "scenario": [
1612
+ "Skenario"
1613
+ ],
1614
+ "scenarioOutline": [
1615
+ "Konsep skenario"
1616
+ ],
1617
+ "then": [
1618
+ "* ",
1619
+ "Njuk ",
1620
+ "Banjur "
1621
+ ],
1622
+ "when": [
1623
+ "* ",
1624
+ "Manawa ",
1625
+ "Menawa "
1626
+ ]
1627
+ },
1628
+ "kn": {
1629
+ "and": [
1630
+ "* ",
1631
+ "ಮತ್ತು "
1632
+ ],
1633
+ "background": [
1634
+ "ಹಿನ್ನೆಲೆ"
1635
+ ],
1636
+ "but": [
1637
+ "* ",
1638
+ "ಆದರೆ "
1639
+ ],
1640
+ "examples": [
1641
+ "ಉದಾಹರಣೆಗಳು"
1642
+ ],
1643
+ "feature": [
1644
+ "ಹೆಚ್ಚಳ"
1645
+ ],
1646
+ "given": [
1647
+ "* ",
1648
+ "ನೀಡಿದ "
1649
+ ],
1650
+ "name": "Kannada",
1651
+ "native": "ಕನ್ನಡ",
1652
+ "scenario": [
1653
+ "ಕಥಾಸಾರಾಂಶ"
1654
+ ],
1655
+ "scenarioOutline": [
1656
+ "ವಿವರಣೆ"
1657
+ ],
1658
+ "then": [
1659
+ "* ",
1660
+ "ನಂತರ "
1661
+ ],
1662
+ "when": [
1663
+ "* ",
1664
+ "ಸ್ಥಿತಿಯನ್ನು "
1665
+ ]
1666
+ },
1667
+ "ko": {
1668
+ "and": [
1669
+ "* ",
1670
+ "그리고"
1671
+ ],
1672
+ "background": [
1673
+ "배경"
1674
+ ],
1675
+ "but": [
1676
+ "* ",
1677
+ "하지만",
1678
+ "단"
1679
+ ],
1680
+ "examples": [
1681
+ "예"
1682
+ ],
1683
+ "feature": [
1684
+ "기능"
1685
+ ],
1686
+ "given": [
1687
+ "* ",
1688
+ "조건",
1689
+ "먼저"
1690
+ ],
1691
+ "name": "Korean",
1692
+ "native": "한국어",
1693
+ "scenario": [
1694
+ "시나리오"
1695
+ ],
1696
+ "scenarioOutline": [
1697
+ "시나리오 개요"
1698
+ ],
1699
+ "then": [
1700
+ "* ",
1701
+ "그러면"
1702
+ ],
1703
+ "when": [
1704
+ "* ",
1705
+ "만일",
1706
+ "만약"
1707
+ ]
1708
+ },
1709
+ "lt": {
1710
+ "and": [
1711
+ "* ",
1712
+ "Ir "
1713
+ ],
1714
+ "background": [
1715
+ "Kontekstas"
1716
+ ],
1717
+ "but": [
1718
+ "* ",
1719
+ "Bet "
1720
+ ],
1721
+ "examples": [
1722
+ "Pavyzdžiai",
1723
+ "Scenarijai",
1724
+ "Variantai"
1725
+ ],
1726
+ "feature": [
1727
+ "Savybė"
1728
+ ],
1729
+ "given": [
1730
+ "* ",
1731
+ "Duota "
1732
+ ],
1733
+ "name": "Lithuanian",
1734
+ "native": "lietuvių kalba",
1735
+ "scenario": [
1736
+ "Scenarijus"
1737
+ ],
1738
+ "scenarioOutline": [
1739
+ "Scenarijaus šablonas"
1740
+ ],
1741
+ "then": [
1742
+ "* ",
1743
+ "Tada "
1744
+ ],
1745
+ "when": [
1746
+ "* ",
1747
+ "Kai "
1748
+ ]
1749
+ },
1750
+ "lu": {
1751
+ "and": [
1752
+ "* ",
1753
+ "an ",
1754
+ "a "
1755
+ ],
1756
+ "background": [
1757
+ "Hannergrond"
1758
+ ],
1759
+ "but": [
1760
+ "* ",
1761
+ "awer ",
1762
+ "mä "
1763
+ ],
1764
+ "examples": [
1765
+ "Beispiller"
1766
+ ],
1767
+ "feature": [
1768
+ "Funktionalitéit"
1769
+ ],
1770
+ "given": [
1771
+ "* ",
1772
+ "ugeholl "
1773
+ ],
1774
+ "name": "Luxemburgish",
1775
+ "native": "Lëtzebuergesch",
1776
+ "scenario": [
1777
+ "Szenario"
1778
+ ],
1779
+ "scenarioOutline": [
1780
+ "Plang vum Szenario"
1781
+ ],
1782
+ "then": [
1783
+ "* ",
1784
+ "dann "
1785
+ ],
1786
+ "when": [
1787
+ "* ",
1788
+ "wann "
1789
+ ]
1790
+ },
1791
+ "lv": {
1792
+ "and": [
1793
+ "* ",
1794
+ "Un "
1795
+ ],
1796
+ "background": [
1797
+ "Konteksts",
1798
+ "Situācija"
1799
+ ],
1800
+ "but": [
1801
+ "* ",
1802
+ "Bet "
1803
+ ],
1804
+ "examples": [
1805
+ "Piemēri",
1806
+ "Paraugs"
1807
+ ],
1808
+ "feature": [
1809
+ "Funkcionalitāte",
1810
+ "Fīča"
1811
+ ],
1812
+ "given": [
1813
+ "* ",
1814
+ "Kad "
1815
+ ],
1816
+ "name": "Latvian",
1817
+ "native": "latviešu",
1818
+ "scenario": [
1819
+ "Scenārijs"
1820
+ ],
1821
+ "scenarioOutline": [
1822
+ "Scenārijs pēc parauga"
1823
+ ],
1824
+ "then": [
1825
+ "* ",
1826
+ "Tad "
1827
+ ],
1828
+ "when": [
1829
+ "* ",
1830
+ "Ja "
1831
+ ]
1832
+ },
1833
+ "mn": {
1834
+ "and": [
1835
+ "* ",
1836
+ "Мөн ",
1837
+ "Тэгээд "
1838
+ ],
1839
+ "background": [
1840
+ "Агуулга"
1841
+ ],
1842
+ "but": [
1843
+ "* ",
1844
+ "Гэхдээ ",
1845
+ "Харин "
1846
+ ],
1847
+ "examples": [
1848
+ "Тухайлбал"
1849
+ ],
1850
+ "feature": [
1851
+ "Функц",
1852
+ "Функционал"
1853
+ ],
1854
+ "given": [
1855
+ "* ",
1856
+ "Өгөгдсөн нь ",
1857
+ "Анх "
1858
+ ],
1859
+ "name": "Mongolian",
1860
+ "native": "монгол",
1861
+ "scenario": [
1862
+ "Сценар"
1863
+ ],
1864
+ "scenarioOutline": [
1865
+ "Сценарын төлөвлөгөө"
1866
+ ],
1867
+ "then": [
1868
+ "* ",
1869
+ "Тэгэхэд ",
1870
+ "Үүний дараа "
1871
+ ],
1872
+ "when": [
1873
+ "* ",
1874
+ "Хэрэв "
1875
+ ]
1876
+ },
1877
+ "nl": {
1878
+ "and": [
1879
+ "* ",
1880
+ "En "
1881
+ ],
1882
+ "background": [
1883
+ "Achtergrond"
1884
+ ],
1885
+ "but": [
1886
+ "* ",
1887
+ "Maar "
1888
+ ],
1889
+ "examples": [
1890
+ "Voorbeelden"
1891
+ ],
1892
+ "feature": [
1893
+ "Functionaliteit"
1894
+ ],
1895
+ "given": [
1896
+ "* ",
1897
+ "Gegeven ",
1898
+ "Stel "
1899
+ ],
1900
+ "name": "Dutch",
1901
+ "native": "Nederlands",
1902
+ "scenario": [
1903
+ "Scenario"
1904
+ ],
1905
+ "scenarioOutline": [
1906
+ "Abstract Scenario"
1907
+ ],
1908
+ "then": [
1909
+ "* ",
1910
+ "Dan "
1911
+ ],
1912
+ "when": [
1913
+ "* ",
1914
+ "Als "
1915
+ ]
1916
+ },
1917
+ "no": {
1918
+ "and": [
1919
+ "* ",
1920
+ "Og "
1921
+ ],
1922
+ "background": [
1923
+ "Bakgrunn"
1924
+ ],
1925
+ "but": [
1926
+ "* ",
1927
+ "Men "
1928
+ ],
1929
+ "examples": [
1930
+ "Eksempler"
1931
+ ],
1932
+ "feature": [
1933
+ "Egenskap"
1934
+ ],
1935
+ "given": [
1936
+ "* ",
1937
+ "Gitt "
1938
+ ],
1939
+ "name": "Norwegian",
1940
+ "native": "norsk",
1941
+ "scenario": [
1942
+ "Scenario"
1943
+ ],
1944
+ "scenarioOutline": [
1945
+ "Scenariomal",
1946
+ "Abstrakt Scenario"
1947
+ ],
1948
+ "then": [
1949
+ "* ",
1950
+ "Så "
1951
+ ],
1952
+ "when": [
1953
+ "* ",
1954
+ "Når "
1955
+ ]
1956
+ },
1957
+ "pa": {
1958
+ "and": [
1959
+ "* ",
1960
+ "ਅਤੇ "
1961
+ ],
1962
+ "background": [
1963
+ "ਪਿਛੋਕੜ"
1964
+ ],
1965
+ "but": [
1966
+ "* ",
1967
+ "ਪਰ "
1968
+ ],
1969
+ "examples": [
1970
+ "ਉਦਾਹਰਨਾਂ"
1971
+ ],
1972
+ "feature": [
1973
+ "ਖਾਸੀਅਤ",
1974
+ "ਮੁਹਾਂਦਰਾ",
1975
+ "ਨਕਸ਼ ਨੁਹਾਰ"
1976
+ ],
1977
+ "given": [
1978
+ "* ",
1979
+ "ਜੇਕਰ ",
1980
+ "ਜਿਵੇਂ ਕਿ "
1981
+ ],
1982
+ "name": "Panjabi",
1983
+ "native": "ਪੰਜਾਬੀ",
1984
+ "scenario": [
1985
+ "ਪਟਕਥਾ"
1986
+ ],
1987
+ "scenarioOutline": [
1988
+ "ਪਟਕਥਾ ਢਾਂਚਾ",
1989
+ "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ"
1990
+ ],
1991
+ "then": [
1992
+ "* ",
1993
+ "ਤਦ "
1994
+ ],
1995
+ "when": [
1996
+ "* ",
1997
+ "ਜਦੋਂ "
1998
+ ]
1999
+ },
2000
+ "pl": {
2001
+ "and": [
2002
+ "* ",
2003
+ "Oraz ",
2004
+ "I "
2005
+ ],
2006
+ "background": [
2007
+ "Założenia"
2008
+ ],
2009
+ "but": [
2010
+ "* ",
2011
+ "Ale "
2012
+ ],
2013
+ "examples": [
2014
+ "Przykłady"
2015
+ ],
2016
+ "feature": [
2017
+ "Właściwość",
2018
+ "Funkcja",
2019
+ "Aspekt",
2020
+ "Potrzeba biznesowa"
2021
+ ],
2022
+ "given": [
2023
+ "* ",
2024
+ "Zakładając ",
2025
+ "Mając ",
2026
+ "Zakładając, że "
2027
+ ],
2028
+ "name": "Polish",
2029
+ "native": "polski",
2030
+ "scenario": [
2031
+ "Scenariusz"
2032
+ ],
2033
+ "scenarioOutline": [
2034
+ "Szablon scenariusza"
2035
+ ],
2036
+ "then": [
2037
+ "* ",
2038
+ "Wtedy "
2039
+ ],
2040
+ "when": [
2041
+ "* ",
2042
+ "Jeżeli ",
2043
+ "Jeśli ",
2044
+ "Gdy ",
2045
+ "Kiedy "
2046
+ ]
2047
+ },
2048
+ "pt": {
2049
+ "and": [
2050
+ "* ",
2051
+ "E "
2052
+ ],
2053
+ "background": [
2054
+ "Contexto",
2055
+ "Cenário de Fundo",
2056
+ "Cenario de Fundo",
2057
+ "Fundo"
2058
+ ],
2059
+ "but": [
2060
+ "* ",
2061
+ "Mas "
2062
+ ],
2063
+ "examples": [
2064
+ "Exemplos",
2065
+ "Cenários",
2066
+ "Cenarios"
2067
+ ],
2068
+ "feature": [
2069
+ "Funcionalidade",
2070
+ "Característica",
2071
+ "Caracteristica"
2072
+ ],
2073
+ "given": [
2074
+ "* ",
2075
+ "Dado ",
2076
+ "Dada ",
2077
+ "Dados ",
2078
+ "Dadas "
2079
+ ],
2080
+ "name": "Portuguese",
2081
+ "native": "português",
2082
+ "scenario": [
2083
+ "Cenário",
2084
+ "Cenario"
2085
+ ],
2086
+ "scenarioOutline": [
2087
+ "Esquema do Cenário",
2088
+ "Esquema do Cenario",
2089
+ "Delineação do Cenário",
2090
+ "Delineacao do Cenario"
2091
+ ],
2092
+ "then": [
2093
+ "* ",
2094
+ "Então ",
2095
+ "Entao "
2096
+ ],
2097
+ "when": [
2098
+ "* ",
2099
+ "Quando "
2100
+ ]
2101
+ },
2102
+ "ro": {
2103
+ "and": [
2104
+ "* ",
2105
+ "Si ",
2106
+ "Și ",
2107
+ "Şi "
2108
+ ],
2109
+ "background": [
2110
+ "Context"
2111
+ ],
2112
+ "but": [
2113
+ "* ",
2114
+ "Dar "
2115
+ ],
2116
+ "examples": [
2117
+ "Exemple"
2118
+ ],
2119
+ "feature": [
2120
+ "Functionalitate",
2121
+ "Funcționalitate",
2122
+ "Funcţionalitate"
2123
+ ],
2124
+ "given": [
2125
+ "* ",
2126
+ "Date fiind ",
2127
+ "Dat fiind ",
2128
+ "Dati fiind ",
2129
+ "Dați fiind ",
2130
+ "Daţi fiind "
2131
+ ],
2132
+ "name": "Romanian",
2133
+ "native": "română",
2134
+ "scenario": [
2135
+ "Scenariu"
2136
+ ],
2137
+ "scenarioOutline": [
2138
+ "Structura scenariu",
2139
+ "Structură scenariu"
2140
+ ],
2141
+ "then": [
2142
+ "* ",
2143
+ "Atunci "
2144
+ ],
2145
+ "when": [
2146
+ "* ",
2147
+ "Cand ",
2148
+ "Când "
2149
+ ]
2150
+ },
2151
+ "ru": {
2152
+ "and": [
2153
+ "* ",
2154
+ "И ",
2155
+ "К тому же ",
2156
+ "Также "
2157
+ ],
2158
+ "background": [
2159
+ "Предыстория",
2160
+ "Контекст"
2161
+ ],
2162
+ "but": [
2163
+ "* ",
2164
+ "Но ",
2165
+ "А "
2166
+ ],
2167
+ "examples": [
2168
+ "Примеры"
2169
+ ],
2170
+ "feature": [
2171
+ "Функция",
2172
+ "Функционал",
2173
+ "Свойство"
2174
+ ],
2175
+ "given": [
2176
+ "* ",
2177
+ "Допустим ",
2178
+ "Дано ",
2179
+ "Пусть "
2180
+ ],
2181
+ "name": "Russian",
2182
+ "native": "русский",
2183
+ "scenario": [
2184
+ "Сценарий"
2185
+ ],
2186
+ "scenarioOutline": [
2187
+ "Структура сценария"
2188
+ ],
2189
+ "then": [
2190
+ "* ",
2191
+ "То ",
2192
+ "Тогда "
2193
+ ],
2194
+ "when": [
2195
+ "* ",
2196
+ "Если ",
2197
+ "Когда "
2198
+ ]
2199
+ },
2200
+ "sk": {
2201
+ "and": [
2202
+ "* ",
2203
+ "A ",
2204
+ "A tiež ",
2205
+ "A taktiež ",
2206
+ "A zároveň "
2207
+ ],
2208
+ "background": [
2209
+ "Pozadie"
2210
+ ],
2211
+ "but": [
2212
+ "* ",
2213
+ "Ale "
2214
+ ],
2215
+ "examples": [
2216
+ "Príklady"
2217
+ ],
2218
+ "feature": [
2219
+ "Požiadavka",
2220
+ "Funkcia",
2221
+ "Vlastnosť"
2222
+ ],
2223
+ "given": [
2224
+ "* ",
2225
+ "Pokiaľ ",
2226
+ "Za predpokladu "
2227
+ ],
2228
+ "name": "Slovak",
2229
+ "native": "Slovensky",
2230
+ "scenario": [
2231
+ "Scenár"
2232
+ ],
2233
+ "scenarioOutline": [
2234
+ "Náčrt Scenáru",
2235
+ "Náčrt Scenára",
2236
+ "Osnova Scenára"
2237
+ ],
2238
+ "then": [
2239
+ "* ",
2240
+ "Tak ",
2241
+ "Potom "
2242
+ ],
2243
+ "when": [
2244
+ "* ",
2245
+ "Keď ",
2246
+ "Ak "
2247
+ ]
2248
+ },
2249
+ "sl": {
2250
+ "and": [
2251
+ "In ",
2252
+ "Ter "
2253
+ ],
2254
+ "background": [
2255
+ "Kontekst",
2256
+ "Osnova",
2257
+ "Ozadje"
2258
+ ],
2259
+ "but": [
2260
+ "Toda ",
2261
+ "Ampak ",
2262
+ "Vendar "
2263
+ ],
2264
+ "examples": [
2265
+ "Primeri",
2266
+ "Scenariji"
2267
+ ],
2268
+ "feature": [
2269
+ "Funkcionalnost",
2270
+ "Funkcija",
2271
+ "Možnosti",
2272
+ "Moznosti",
2273
+ "Lastnost",
2274
+ "Značilnost"
2275
+ ],
2276
+ "given": [
2277
+ "Dano ",
2278
+ "Podano ",
2279
+ "Zaradi ",
2280
+ "Privzeto "
2281
+ ],
2282
+ "name": "Slovenian",
2283
+ "native": "Slovenski",
2284
+ "scenario": [
2285
+ "Scenarij",
2286
+ "Primer"
2287
+ ],
2288
+ "scenarioOutline": [
2289
+ "Struktura scenarija",
2290
+ "Skica",
2291
+ "Koncept",
2292
+ "Oris scenarija",
2293
+ "Osnutek"
2294
+ ],
2295
+ "then": [
2296
+ "Nato ",
2297
+ "Potem ",
2298
+ "Takrat "
2299
+ ],
2300
+ "when": [
2301
+ "Ko ",
2302
+ "Ce ",
2303
+ "Če ",
2304
+ "Kadar "
2305
+ ]
2306
+ },
2307
+ "sr-Cyrl": {
2308
+ "and": [
2309
+ "* ",
2310
+ "И "
2311
+ ],
2312
+ "background": [
2313
+ "Контекст",
2314
+ "Основа",
2315
+ "Позадина"
2316
+ ],
2317
+ "but": [
2318
+ "* ",
2319
+ "Али "
2320
+ ],
2321
+ "examples": [
2322
+ "Примери",
2323
+ "Сценарији"
2324
+ ],
2325
+ "feature": [
2326
+ "Функционалност",
2327
+ "Могућност",
2328
+ "Особина"
2329
+ ],
2330
+ "given": [
2331
+ "* ",
2332
+ "За дато ",
2333
+ "За дате ",
2334
+ "За дати "
2335
+ ],
2336
+ "name": "Serbian",
2337
+ "native": "Српски",
2338
+ "scenario": [
2339
+ "Сценарио",
2340
+ "Пример"
2341
+ ],
2342
+ "scenarioOutline": [
2343
+ "Структура сценарија",
2344
+ "Скица",
2345
+ "Концепт"
2346
+ ],
2347
+ "then": [
2348
+ "* ",
2349
+ "Онда "
2350
+ ],
2351
+ "when": [
2352
+ "* ",
2353
+ "Када ",
2354
+ "Кад "
2355
+ ]
2356
+ },
2357
+ "sr-Latn": {
2358
+ "and": [
2359
+ "* ",
2360
+ "I "
2361
+ ],
2362
+ "background": [
2363
+ "Kontekst",
2364
+ "Osnova",
2365
+ "Pozadina"
2366
+ ],
2367
+ "but": [
2368
+ "* ",
2369
+ "Ali "
2370
+ ],
2371
+ "examples": [
2372
+ "Primeri",
2373
+ "Scenariji"
2374
+ ],
2375
+ "feature": [
2376
+ "Funkcionalnost",
2377
+ "Mogućnost",
2378
+ "Mogucnost",
2379
+ "Osobina"
2380
+ ],
2381
+ "given": [
2382
+ "* ",
2383
+ "Za dato ",
2384
+ "Za date ",
2385
+ "Za dati "
2386
+ ],
2387
+ "name": "Serbian (Latin)",
2388
+ "native": "Srpski (Latinica)",
2389
+ "scenario": [
2390
+ "Scenario",
2391
+ "Primer"
2392
+ ],
2393
+ "scenarioOutline": [
2394
+ "Struktura scenarija",
2395
+ "Skica",
2396
+ "Koncept"
2397
+ ],
2398
+ "then": [
2399
+ "* ",
2400
+ "Onda "
2401
+ ],
2402
+ "when": [
2403
+ "* ",
2404
+ "Kada ",
2405
+ "Kad "
2406
+ ]
2407
+ },
2408
+ "sv": {
2409
+ "and": [
2410
+ "* ",
2411
+ "Och "
2412
+ ],
2413
+ "background": [
2414
+ "Bakgrund"
2415
+ ],
2416
+ "but": [
2417
+ "* ",
2418
+ "Men "
2419
+ ],
2420
+ "examples": [
2421
+ "Exempel"
2422
+ ],
2423
+ "feature": [
2424
+ "Egenskap"
2425
+ ],
2426
+ "given": [
2427
+ "* ",
2428
+ "Givet "
2429
+ ],
2430
+ "name": "Swedish",
2431
+ "native": "Svenska",
2432
+ "scenario": [
2433
+ "Scenario"
2434
+ ],
2435
+ "scenarioOutline": [
2436
+ "Abstrakt Scenario",
2437
+ "Scenariomall"
2438
+ ],
2439
+ "then": [
2440
+ "* ",
2441
+ "Så "
2442
+ ],
2443
+ "when": [
2444
+ "* ",
2445
+ "När "
2446
+ ]
2447
+ },
2448
+ "ta": {
2449
+ "and": [
2450
+ "* ",
2451
+ "மேலும் ",
2452
+ "மற்றும் "
2453
+ ],
2454
+ "background": [
2455
+ "பின்னணி"
2456
+ ],
2457
+ "but": [
2458
+ "* ",
2459
+ "ஆனால் "
2460
+ ],
2461
+ "examples": [
2462
+ "எடுத்துக்காட்டுகள்",
2463
+ "காட்சிகள்",
2464
+ " நிலைமைகளில்"
2465
+ ],
2466
+ "feature": [
2467
+ "அம்சம்",
2468
+ "வணிக தேவை",
2469
+ "திறன்"
2470
+ ],
2471
+ "given": [
2472
+ "* ",
2473
+ "கொடுக்கப்பட்ட "
2474
+ ],
2475
+ "name": "Tamil",
2476
+ "native": "தமிழ்",
2477
+ "scenario": [
2478
+ "காட்சி"
2479
+ ],
2480
+ "scenarioOutline": [
2481
+ "காட்சி சுருக்கம்",
2482
+ "காட்சி வார்ப்புரு"
2483
+ ],
2484
+ "then": [
2485
+ "* ",
2486
+ "அப்பொழுது "
2487
+ ],
2488
+ "when": [
2489
+ "* ",
2490
+ "எப்போது "
2491
+ ]
2492
+ },
2493
+ "th": {
2494
+ "and": [
2495
+ "* ",
2496
+ "และ "
2497
+ ],
2498
+ "background": [
2499
+ "แนวคิด"
2500
+ ],
2501
+ "but": [
2502
+ "* ",
2503
+ "แต่ "
2504
+ ],
2505
+ "examples": [
2506
+ "ชุดของตัวอย่าง",
2507
+ "ชุดของเหตุการณ์"
2508
+ ],
2509
+ "feature": [
2510
+ "โครงหลัก",
2511
+ "ความต้องการทางธุรกิจ",
2512
+ "ความสามารถ"
2513
+ ],
2514
+ "given": [
2515
+ "* ",
2516
+ "กำหนดให้ "
2517
+ ],
2518
+ "name": "Thai",
2519
+ "native": "ไทย",
2520
+ "scenario": [
2521
+ "เหตุการณ์"
2522
+ ],
2523
+ "scenarioOutline": [
2524
+ "สรุปเหตุการณ์",
2525
+ "โครงสร้างของเหตุการณ์"
2526
+ ],
2527
+ "then": [
2528
+ "* ",
2529
+ "ดังนั้น "
2530
+ ],
2531
+ "when": [
2532
+ "* ",
2533
+ "เมื่อ "
2534
+ ]
2535
+ },
2536
+ "tl": {
2537
+ "and": [
2538
+ "* ",
2539
+ "మరియు "
2540
+ ],
2541
+ "background": [
2542
+ "నేపథ్యం"
2543
+ ],
2544
+ "but": [
2545
+ "* ",
2546
+ "కాని "
2547
+ ],
2548
+ "examples": [
2549
+ "ఉదాహరణలు"
2550
+ ],
2551
+ "feature": [
2552
+ "గుణము"
2553
+ ],
2554
+ "given": [
2555
+ "* ",
2556
+ "చెప్పబడినది "
2557
+ ],
2558
+ "name": "Telugu",
2559
+ "native": "తెలుగు",
2560
+ "scenario": [
2561
+ "సన్నివేశం"
2562
+ ],
2563
+ "scenarioOutline": [
2564
+ "కథనం"
2565
+ ],
2566
+ "then": [
2567
+ "* ",
2568
+ "అప్పుడు "
2569
+ ],
2570
+ "when": [
2571
+ "* ",
2572
+ "ఈ పరిస్థితిలో "
2573
+ ]
2574
+ },
2575
+ "tlh": {
2576
+ "and": [
2577
+ "* ",
2578
+ "'ej ",
2579
+ "latlh "
2580
+ ],
2581
+ "background": [
2582
+ "mo'"
2583
+ ],
2584
+ "but": [
2585
+ "* ",
2586
+ "'ach ",
2587
+ "'a "
2588
+ ],
2589
+ "examples": [
2590
+ "ghantoH",
2591
+ "lutmey"
2592
+ ],
2593
+ "feature": [
2594
+ "Qap",
2595
+ "Qu'meH 'ut",
2596
+ "perbogh",
2597
+ "poQbogh malja'",
2598
+ "laH"
2599
+ ],
2600
+ "given": [
2601
+ "* ",
2602
+ "ghu' noblu' ",
2603
+ "DaH ghu' bejlu' "
2604
+ ],
2605
+ "name": "Klingon",
2606
+ "native": "tlhIngan",
2607
+ "scenario": [
2608
+ "lut"
2609
+ ],
2610
+ "scenarioOutline": [
2611
+ "lut chovnatlh"
2612
+ ],
2613
+ "then": [
2614
+ "* ",
2615
+ "vaj "
2616
+ ],
2617
+ "when": [
2618
+ "* ",
2619
+ "qaSDI' "
2620
+ ]
2621
+ },
2622
+ "tr": {
2623
+ "and": [
2624
+ "* ",
2625
+ "Ve "
2626
+ ],
2627
+ "background": [
2628
+ "Geçmiş"
2629
+ ],
2630
+ "but": [
2631
+ "* ",
2632
+ "Fakat ",
2633
+ "Ama "
2634
+ ],
2635
+ "examples": [
2636
+ "Örnekler"
2637
+ ],
2638
+ "feature": [
2639
+ "Özellik"
2640
+ ],
2641
+ "given": [
2642
+ "* ",
2643
+ "Diyelim ki "
2644
+ ],
2645
+ "name": "Turkish",
2646
+ "native": "Türkçe",
2647
+ "scenario": [
2648
+ "Senaryo"
2649
+ ],
2650
+ "scenarioOutline": [
2651
+ "Senaryo taslağı"
2652
+ ],
2653
+ "then": [
2654
+ "* ",
2655
+ "O zaman "
2656
+ ],
2657
+ "when": [
2658
+ "* ",
2659
+ "Eğer ki "
2660
+ ]
2661
+ },
2662
+ "tt": {
2663
+ "and": [
2664
+ "* ",
2665
+ "Һәм ",
2666
+ "Вә "
2667
+ ],
2668
+ "background": [
2669
+ "Кереш"
2670
+ ],
2671
+ "but": [
2672
+ "* ",
2673
+ "Ләкин ",
2674
+ "Әмма "
2675
+ ],
2676
+ "examples": [
2677
+ "Үрнәкләр",
2678
+ "Мисаллар"
2679
+ ],
2680
+ "feature": [
2681
+ "Мөмкинлек",
2682
+ "Үзенчәлеклелек"
2683
+ ],
2684
+ "given": [
2685
+ "* ",
2686
+ "Әйтик "
2687
+ ],
2688
+ "name": "Tatar",
2689
+ "native": "Татарча",
2690
+ "scenario": [
2691
+ "Сценарий"
2692
+ ],
2693
+ "scenarioOutline": [
2694
+ "Сценарийның төзелеше"
2695
+ ],
2696
+ "then": [
2697
+ "* ",
2698
+ "Нәтиҗәдә "
2699
+ ],
2700
+ "when": [
2701
+ "* ",
2702
+ "Әгәр "
2703
+ ]
2704
+ },
2705
+ "uk": {
2706
+ "and": [
2707
+ "* ",
2708
+ "І ",
2709
+ "А також ",
2710
+ "Та "
2711
+ ],
2712
+ "background": [
2713
+ "Передумова"
2714
+ ],
2715
+ "but": [
2716
+ "* ",
2717
+ "Але "
2718
+ ],
2719
+ "examples": [
2720
+ "Приклади"
2721
+ ],
2722
+ "feature": [
2723
+ "Функціонал"
2724
+ ],
2725
+ "given": [
2726
+ "* ",
2727
+ "Припустимо ",
2728
+ "Припустимо, що ",
2729
+ "Нехай ",
2730
+ "Дано "
2731
+ ],
2732
+ "name": "Ukrainian",
2733
+ "native": "Українська",
2734
+ "scenario": [
2735
+ "Сценарій"
2736
+ ],
2737
+ "scenarioOutline": [
2738
+ "Структура сценарію"
2739
+ ],
2740
+ "then": [
2741
+ "* ",
2742
+ "То ",
2743
+ "Тоді "
2744
+ ],
2745
+ "when": [
2746
+ "* ",
2747
+ "Якщо ",
2748
+ "Коли "
2749
+ ]
2750
+ },
2751
+ "ur": {
2752
+ "and": [
2753
+ "* ",
2754
+ "اور "
2755
+ ],
2756
+ "background": [
2757
+ "پس منظر"
2758
+ ],
2759
+ "but": [
2760
+ "* ",
2761
+ "لیکن "
2762
+ ],
2763
+ "examples": [
2764
+ "مثالیں"
2765
+ ],
2766
+ "feature": [
2767
+ "صلاحیت",
2768
+ "کاروبار کی ضرورت",
2769
+ "خصوصیت"
2770
+ ],
2771
+ "given": [
2772
+ "* ",
2773
+ "اگر ",
2774
+ "بالفرض ",
2775
+ "فرض کیا "
2776
+ ],
2777
+ "name": "Urdu",
2778
+ "native": "اردو",
2779
+ "scenario": [
2780
+ "منظرنامہ"
2781
+ ],
2782
+ "scenarioOutline": [
2783
+ "منظر نامے کا خاکہ"
2784
+ ],
2785
+ "then": [
2786
+ "* ",
2787
+ "پھر ",
2788
+ "تب "
2789
+ ],
2790
+ "when": [
2791
+ "* ",
2792
+ "جب "
2793
+ ]
2794
+ },
2795
+ "uz": {
2796
+ "and": [
2797
+ "* ",
2798
+ "Ва "
2799
+ ],
2800
+ "background": [
2801
+ "Тарих"
2802
+ ],
2803
+ "but": [
2804
+ "* ",
2805
+ "Лекин ",
2806
+ "Бирок ",
2807
+ "Аммо "
2808
+ ],
2809
+ "examples": [
2810
+ "Мисоллар"
2811
+ ],
2812
+ "feature": [
2813
+ "Функционал"
2814
+ ],
2815
+ "given": [
2816
+ "* ",
2817
+ "Агар "
2818
+ ],
2819
+ "name": "Uzbek",
2820
+ "native": "Узбекча",
2821
+ "scenario": [
2822
+ "Сценарий"
2823
+ ],
2824
+ "scenarioOutline": [
2825
+ "Сценарий структураси"
2826
+ ],
2827
+ "then": [
2828
+ "* ",
2829
+ "Унда "
2830
+ ],
2831
+ "when": [
2832
+ "* ",
2833
+ "Агар "
2834
+ ]
2835
+ },
2836
+ "vi": {
2837
+ "and": [
2838
+ "* ",
2839
+ "Và "
2840
+ ],
2841
+ "background": [
2842
+ "Bối cảnh"
2843
+ ],
2844
+ "but": [
2845
+ "* ",
2846
+ "Nhưng "
2847
+ ],
2848
+ "examples": [
2849
+ "Dữ liệu"
2850
+ ],
2851
+ "feature": [
2852
+ "Tính năng"
2853
+ ],
2854
+ "given": [
2855
+ "* ",
2856
+ "Biết ",
2857
+ "Cho "
2858
+ ],
2859
+ "name": "Vietnamese",
2860
+ "native": "Tiếng Việt",
2861
+ "scenario": [
2862
+ "Tình huống",
2863
+ "Kịch bản"
2864
+ ],
2865
+ "scenarioOutline": [
2866
+ "Khung tình huống",
2867
+ "Khung kịch bản"
2868
+ ],
2869
+ "then": [
2870
+ "* ",
2871
+ "Thì "
2872
+ ],
2873
+ "when": [
2874
+ "* ",
2875
+ "Khi "
2876
+ ]
2877
+ },
2878
+ "zh-CN": {
2879
+ "and": [
2880
+ "* ",
2881
+ "而且",
2882
+ "并且",
2883
+ "同时"
2884
+ ],
2885
+ "background": [
2886
+ "背景"
2887
+ ],
2888
+ "but": [
2889
+ "* ",
2890
+ "但是"
2891
+ ],
2892
+ "examples": [
2893
+ "例子"
2894
+ ],
2895
+ "feature": [
2896
+ "功能"
2897
+ ],
2898
+ "given": [
2899
+ "* ",
2900
+ "假如",
2901
+ "假设",
2902
+ "假定"
2903
+ ],
2904
+ "name": "Chinese simplified",
2905
+ "native": "简体中文",
2906
+ "scenario": [
2907
+ "场景",
2908
+ "剧本"
2909
+ ],
2910
+ "scenarioOutline": [
2911
+ "场景大纲",
2912
+ "剧本大纲"
2913
+ ],
2914
+ "then": [
2915
+ "* ",
2916
+ "那么"
2917
+ ],
2918
+ "when": [
2919
+ "* ",
2920
+ "当"
2921
+ ]
2922
+ },
2923
+ "zh-TW": {
2924
+ "and": [
2925
+ "* ",
2926
+ "而且",
2927
+ "並且",
2928
+ "同時"
2929
+ ],
2930
+ "background": [
2931
+ "背景"
2932
+ ],
2933
+ "but": [
2934
+ "* ",
2935
+ "但是"
2936
+ ],
2937
+ "examples": [
2938
+ "例子"
2939
+ ],
2940
+ "feature": [
2941
+ "功能"
2942
+ ],
2943
+ "given": [
2944
+ "* ",
2945
+ "假如",
2946
+ "假設",
2947
+ "假定"
2948
+ ],
2949
+ "name": "Chinese traditional",
2950
+ "native": "繁體中文",
2951
+ "scenario": [
2952
+ "場景",
2953
+ "劇本"
2954
+ ],
2955
+ "scenarioOutline": [
2956
+ "場景大綱",
2957
+ "劇本大綱"
2958
+ ],
2959
+ "then": [
2960
+ "* ",
2961
+ "那麼"
2962
+ ],
2963
+ "when": [
2964
+ "* ",
2965
+ "當"
2966
+ ]
2967
+ }
2968
+ }