gherkin 2.11.5-x86-mswin32 → 2.11.6-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/.travis.yml +1 -1
  2. data/History.md +13 -0
  3. data/README.md +20 -19
  4. data/cucumber.yml +1 -0
  5. data/features/parser_with_native_lexer.feature +1 -1
  6. data/features/pretty_formatter.feature +1 -0
  7. data/gherkin.gemspec +9 -9
  8. data/lib/1.8/gherkin_lexer_ar.so +0 -0
  9. data/lib/1.8/gherkin_lexer_bg.so +0 -0
  10. data/lib/1.8/gherkin_lexer_bm.so +0 -0
  11. data/lib/1.8/gherkin_lexer_ca.so +0 -0
  12. data/lib/1.8/gherkin_lexer_cs.so +0 -0
  13. data/lib/1.8/gherkin_lexer_cy_gb.so +0 -0
  14. data/lib/1.8/gherkin_lexer_da.so +0 -0
  15. data/lib/1.8/gherkin_lexer_de.so +0 -0
  16. data/lib/1.8/gherkin_lexer_en.so +0 -0
  17. data/lib/1.8/gherkin_lexer_en_au.so +0 -0
  18. data/lib/1.8/gherkin_lexer_en_lol.so +0 -0
  19. data/lib/1.8/gherkin_lexer_en_pirate.so +0 -0
  20. data/lib/1.8/gherkin_lexer_en_scouse.so +0 -0
  21. data/lib/1.8/gherkin_lexer_en_tx.so +0 -0
  22. data/lib/1.8/gherkin_lexer_eo.so +0 -0
  23. data/lib/1.8/gherkin_lexer_es.so +0 -0
  24. data/lib/1.8/gherkin_lexer_et.so +0 -0
  25. data/lib/1.8/gherkin_lexer_fa.so +0 -0
  26. data/lib/1.8/gherkin_lexer_fi.so +0 -0
  27. data/lib/1.8/gherkin_lexer_fr.so +0 -0
  28. data/lib/1.8/gherkin_lexer_he.so +0 -0
  29. data/lib/1.8/gherkin_lexer_hi.so +0 -0
  30. data/lib/1.8/gherkin_lexer_hr.so +0 -0
  31. data/lib/1.8/gherkin_lexer_hu.so +0 -0
  32. data/lib/1.8/gherkin_lexer_id.so +0 -0
  33. data/lib/1.8/gherkin_lexer_is.so +0 -0
  34. data/lib/1.8/gherkin_lexer_it.so +0 -0
  35. data/lib/1.8/gherkin_lexer_ja.so +0 -0
  36. data/lib/1.8/gherkin_lexer_ko.so +0 -0
  37. data/lib/1.8/gherkin_lexer_lt.so +0 -0
  38. data/lib/1.8/gherkin_lexer_lu.so +0 -0
  39. data/lib/1.8/gherkin_lexer_lv.so +0 -0
  40. data/lib/1.8/gherkin_lexer_nl.so +0 -0
  41. data/lib/1.8/gherkin_lexer_no.so +0 -0
  42. data/lib/1.8/gherkin_lexer_pl.so +0 -0
  43. data/lib/1.8/gherkin_lexer_pt.so +0 -0
  44. data/lib/1.8/gherkin_lexer_ro.so +0 -0
  45. data/lib/1.8/gherkin_lexer_ru.so +0 -0
  46. data/lib/1.8/gherkin_lexer_sk.so +0 -0
  47. data/lib/1.8/gherkin_lexer_sr_cyrl.so +0 -0
  48. data/lib/1.8/gherkin_lexer_sr_latn.so +0 -0
  49. data/lib/1.8/gherkin_lexer_sv.so +0 -0
  50. data/lib/1.8/gherkin_lexer_tl.so +0 -0
  51. data/lib/1.8/gherkin_lexer_tr.so +0 -0
  52. data/lib/1.8/gherkin_lexer_tt.so +0 -0
  53. data/lib/1.8/gherkin_lexer_uk.so +0 -0
  54. data/lib/1.8/gherkin_lexer_uz.so +0 -0
  55. data/lib/1.8/gherkin_lexer_vi.so +0 -0
  56. data/lib/1.8/gherkin_lexer_zh_cn.so +0 -0
  57. data/lib/1.8/gherkin_lexer_zh_tw.so +0 -0
  58. data/lib/1.9/gherkin_lexer_ar.so +0 -0
  59. data/lib/1.9/gherkin_lexer_bg.so +0 -0
  60. data/lib/1.9/gherkin_lexer_bm.so +0 -0
  61. data/lib/1.9/gherkin_lexer_ca.so +0 -0
  62. data/lib/1.9/gherkin_lexer_cs.so +0 -0
  63. data/lib/1.9/gherkin_lexer_cy_gb.so +0 -0
  64. data/lib/1.9/gherkin_lexer_da.so +0 -0
  65. data/lib/1.9/gherkin_lexer_de.so +0 -0
  66. data/lib/1.9/gherkin_lexer_en.so +0 -0
  67. data/lib/1.9/gherkin_lexer_en_au.so +0 -0
  68. data/lib/1.9/gherkin_lexer_en_lol.so +0 -0
  69. data/lib/1.9/gherkin_lexer_en_pirate.so +0 -0
  70. data/lib/1.9/gherkin_lexer_en_scouse.so +0 -0
  71. data/lib/1.9/gherkin_lexer_en_tx.so +0 -0
  72. data/lib/1.9/gherkin_lexer_eo.so +0 -0
  73. data/lib/1.9/gherkin_lexer_es.so +0 -0
  74. data/lib/1.9/gherkin_lexer_et.so +0 -0
  75. data/lib/1.9/gherkin_lexer_fa.so +0 -0
  76. data/lib/1.9/gherkin_lexer_fi.so +0 -0
  77. data/lib/1.9/gherkin_lexer_fr.so +0 -0
  78. data/lib/1.9/gherkin_lexer_he.so +0 -0
  79. data/lib/1.9/gherkin_lexer_hi.so +0 -0
  80. data/lib/1.9/gherkin_lexer_hr.so +0 -0
  81. data/lib/1.9/gherkin_lexer_hu.so +0 -0
  82. data/lib/1.9/gherkin_lexer_id.so +0 -0
  83. data/lib/1.9/gherkin_lexer_is.so +0 -0
  84. data/lib/1.9/gherkin_lexer_it.so +0 -0
  85. data/lib/1.9/gherkin_lexer_ja.so +0 -0
  86. data/lib/1.9/gherkin_lexer_ko.so +0 -0
  87. data/lib/1.9/gherkin_lexer_lt.so +0 -0
  88. data/lib/1.9/gherkin_lexer_lu.so +0 -0
  89. data/lib/1.9/gherkin_lexer_lv.so +0 -0
  90. data/lib/1.9/gherkin_lexer_nl.so +0 -0
  91. data/lib/1.9/gherkin_lexer_no.so +0 -0
  92. data/lib/1.9/gherkin_lexer_pl.so +0 -0
  93. data/lib/1.9/gherkin_lexer_pt.so +0 -0
  94. data/lib/1.9/gherkin_lexer_ro.so +0 -0
  95. data/lib/1.9/gherkin_lexer_ru.so +0 -0
  96. data/lib/1.9/gherkin_lexer_sk.so +0 -0
  97. data/lib/1.9/gherkin_lexer_sr_cyrl.so +0 -0
  98. data/lib/1.9/gherkin_lexer_sr_latn.so +0 -0
  99. data/lib/1.9/gherkin_lexer_sv.so +0 -0
  100. data/lib/1.9/gherkin_lexer_tl.so +0 -0
  101. data/lib/1.9/gherkin_lexer_tr.so +0 -0
  102. data/lib/1.9/gherkin_lexer_tt.so +0 -0
  103. data/lib/1.9/gherkin_lexer_uk.so +0 -0
  104. data/lib/1.9/gherkin_lexer_uz.so +0 -0
  105. data/lib/1.9/gherkin_lexer_vi.so +0 -0
  106. data/lib/1.9/gherkin_lexer_zh_cn.so +0 -0
  107. data/lib/1.9/gherkin_lexer_zh_tw.so +0 -0
  108. data/lib/gherkin/README.md +3 -3
  109. data/lib/gherkin/formatter/hashable.rb +7 -1
  110. data/lib/gherkin/formatter/json_formatter.rb +11 -0
  111. data/lib/gherkin/i18n.json +63 -21
  112. data/lib/gherkin/lexer/i18n_lexer.rb +4 -3
  113. data/lib/gherkin/lexer/tl.rb +1723 -0
  114. data/lib/gherkin/lexer/tt.rb +1640 -0
  115. data/lib/gherkin/rubify.rb +15 -8
  116. data/ragel/lexer.js.rl.erb +2 -2
  117. data/spec/gherkin/fixtures/with_bom_and_language_spec.feature +4 -0
  118. data/spec/gherkin/i18n_spec.rb +5 -2
  119. data/spec/gherkin/rubify_spec.rb +23 -0
  120. data/spec/gherkin/shared/encoding_group.rb +14 -0
  121. data/tasks/cucumber.rake +1 -0
  122. data/tasks/gems.rake +2 -2
  123. metadata +29 -17
@@ -1,4 +1,4 @@
1
- before_install: gem install bundler -v 1.2.1
1
+ before_install: gem install bundler -v 1.2.3
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 1.9.2
data/History.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [2.11.6](https://github.com/cucumber/gherkin/compare/v2.11.5...v2.11.6)
2
+
3
+ * [JavaScript] Add duration value to json formatter ([#204](https://github.com/cucumber/gherkin/pull/204) Rick Beyer)
4
+ * [JavaScript] Fix for JS Lexer ([#215](https://github.com/cucumber/gherkin/pull/215) Alexis Hevia)
5
+ * [JavaScript] Failing JS Features ([#228](https://github.com/cucumber/gherkin/issues/228) Aslak Hellesøy)
6
+ * [Core] Better Slovak ([#208](https://github.com/cucumber/gherkin/pull/208) Michal Kvasnicak)
7
+ * [Core] New: Tatar ([#213](https://github.com/cucumber/gherkin/pull/213) Valeriy Utyaganov)
8
+ * [Core] New: Telugu ([#218](https://github.com/cucumber/gherkin/pull/218) srinivasvedantam)
9
+ * [Core] New: Hindi ([#222](https://github.com/cucumber/gherkin/pull/222) Kumar Harsh)
10
+ * [Java] Fix JSON formatter ([#216](https://github.com/cucumber/gherkin/pull/216), [#195](https://github.com/cucumber/gherkin/pull/195) Joseph Hughes, Rex Hoffman)
11
+ * [Ruby,Java] Gherkin does not seem to parse BOM when feature contains language specification. ([#211](https://github.com/cucumber/gherkin/issues/211), [#212](https://github.com/cucumber/gherkin/pull/212) Rob Westgeest)
12
+ * [Java] Fixed a couple of build problems ([#226](https://github.com/cucumber/gherkin/pull/226), [#227](https://github.com/cucumber/gherkin/pull/227) signed)
13
+
1
14
  ## [2.11.5](https://github.com/cucumber/gherkin/compare/v2.11.4...v2.11.5)
2
15
 
3
16
  * [Core] Czech translation cleaned a little bit up. ([#202](https://github.com/cucumber/gherkin/pull/202) Jakub Linhart)
data/README.md CHANGED
@@ -54,7 +54,7 @@ The jar file is in the central Maven repo.
54
54
  <dependency>
55
55
  <groupId>info.cukes</groupId>
56
56
  <artifactId>gherkin</artifactId>
57
- <version>2.11.5</version>
57
+ <version>2.11.6</version>
58
58
  </dependency>
59
59
 
60
60
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
@@ -65,8 +65,8 @@ Get the dll from [NuGet](http://nuget.org/List/Packages/gherkin)
65
65
 
66
66
  ## API Docs
67
67
 
68
- * [Ruby](http://cukes.info/gherkin/api/ruby/latest/)
69
- * [Java](http://cukes.info/gherkin/api/java/latest/apidocs/index.html)
68
+ * [Ruby](http://cukes.info/api/gherkin/yardoc/)
69
+ * [Java](http://cukes.info/api/gherkin/javadoc/)
70
70
 
71
71
  ## Hacking: Installing the toolchain
72
72
 
@@ -174,7 +174,7 @@ You must also download NuGet.exe from [CodePlex](http://nuget.codeplex.com/relea
174
174
 
175
175
  Now you can build the .NET dll with:
176
176
 
177
- mkdir release
177
+ mkdir release
178
178
  rake ikvm
179
179
  rake release/nuspec/lib/gherkin.dll
180
180
 
@@ -184,7 +184,7 @@ This should build `release/nuspec/lib/gherkin.dll`
184
184
 
185
185
  In order to build Windows binaries (so we can release Windows gems from OS X/Linux) we first need to install MinGW:
186
186
 
187
- ./install_mingw_os_x.sh
187
+ ./install_mingw_os_x.sh
188
188
 
189
189
  Now, make sure you have openssl installed - it's needed to build the rubies.
190
190
 
@@ -194,6 +194,9 @@ Next, we're going to install Ruby 1.8.7 and Ruby 1.9.3 for MinGW. We need both v
194
194
  OS X Lion (or later) doesn't ship with an LLVM free gcc, which you will need in order to install ruby 1.8.7. We can install it with:
195
195
 
196
196
  brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
197
+ export PATH=/usr/local/mingw/bin:$PATH
198
+ # Test that it's on your PATH
199
+ i686-w64-mingw32-gcc -v
197
200
 
198
201
  For more info see:
199
202
 
@@ -205,22 +208,22 @@ Now we're ready to install the Windows rubies:
205
208
  unset GHERKIN_JS
206
209
 
207
210
  # 1.9.3
208
- rvm install 1.9.3-p194
209
- rvm use 1.9.3-p194
211
+ rvm install 1.9.3-p362
212
+ rvm use 1.9.3-p362
210
213
  rvm gemset create cucumber
211
214
  rvm gemset use cucumber
212
215
  gem install bundler
213
216
  bundle install
214
- PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.9.3-p194
217
+ PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.9.3-p362
215
218
 
216
219
  # 1.8.7
217
- CC=gcc-4.2 rvm install 1.8.7-p352
218
- rvm use 1.8.7-p352
220
+ CC=gcc-4.2 rvm install 1.8.7-p371
221
+ rvm use 1.8.7-p371
219
222
  rvm gemset create cucumber
220
223
  rvm gemset use cucumber
221
224
  gem install bundler
222
225
  bundle install
223
- PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.8.7-p352
226
+ PATH=/usr/local/mingw/bin:$PATH CC=/usr/local/mingw/bin/i686-w64-mingw32-gcc rake-compiler cross-ruby VERSION=1.8.7-p371
224
227
 
225
228
  Now you can build Windows gems:
226
229
 
@@ -254,20 +257,18 @@ Now we can release:
254
257
  * History.md
255
258
  * Run `bundle update`, so Gemfile.lock gets updated with the changes.
256
259
  * Commit changes, otherwise you will get an error at the end when a tag is made.
257
- * Run `bundle exec rake gems:prepare && ./build_native_gems.sh && bundle exec rake release:ALL`
260
+ * Run `i686-w64-mingw32-gcc -v && bundle exec rake gems:prepare && ./build_native_gems.sh && bundle exec rake release:ALL`
258
261
 
259
262
  ## Note on Patches/Pull Requests
260
263
 
261
264
  * Fork the project.
262
- * Run rake ragel:rb to generate all the I18n lexers
265
+ * Run `bundle install` to install dependencies.
266
+ * Run `rake` to make sure all the tests are passing.
263
267
  * Make your feature addition or bug fix.
264
- * Add tests for it. This is important so I don't break it in a
265
- future version unintentionally.
266
- * Commit, do not mess with Rakefile, VERSION, or History.txt.
267
- (if you want to have your own version, that is fine but
268
- bump version in a commit by itself I can ignore when I pull)
268
+ * Add tests for it. This is important so I don't break it in a future version unintentionally.
269
+ * Commit, do not mess with History.md.
269
270
  * Send me a pull request. Bonus points for topic branches.
270
271
 
271
272
  ## Copyright
272
273
 
273
- Copyright (c) 2009-2012 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.
274
+ Copyright (c) 2009-2013 Mike Sassak, Gregory Hnatiuk, Aslak Hellesøy. See LICENSE for details.
@@ -2,3 +2,4 @@ default: --format pretty --tags ~@pending,~@wip --strict --color --dotcucumber f
2
2
  wip: --format pretty --tags @wip --wip features
3
3
  pending: --format pretty --tags @pending,~@native_lexer
4
4
  travis: --format pretty --tags ~@cucumber-source-available
5
+ javascript: --format pretty --tags ~@no-javascript
@@ -120,7 +120,7 @@ Feature: Gherkin Feature lexer/parser
120
120
  Feature: Documentation is fun
121
121
  Scenario Outline: With lots of docs
122
122
  We need lots of embedded documentation for some reason
123
- \"\"\" # Not interpreted as a pystring, just plain text
123
+ \"\"\" # Not interpreted as a docstring, just plain text
124
124
  Oh hai
125
125
  \"\"\"
126
126
 
@@ -9,6 +9,7 @@ Feature: Pretty Formatter
9
9
  When I send each prettified original through the "pretty" machinery
10
10
  Then the machinery output should be identical to the prettified original
11
11
 
12
+ @no-javascript
12
13
  Scenario: Parse all the features in Cucumber with JSON
13
14
  Given I have Cucumber's source code next to Gherkin's
14
15
  And I find all of the .feature files
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  # When both are building OK, do a `bundle exec rake install` in both cucumber and gherkin projects, revert the changes in the first 2 steps
16
16
  # and release both projects. Do this for both ruby 1.8.7, ruby 1.9.3 and jruby.
17
17
  #
18
- s.version = "2.11.5"
18
+ s.version = "2.11.6"
19
19
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
20
20
  s.description = "A fast Gherkin lexer/parser based on the Ragel State Machine Compiler."
21
21
  s.summary = "#{s.name}-#{s.version}"
@@ -52,26 +52,26 @@ Gem::Specification.new do |s|
52
52
  s.files += Dir['lib/gherkin/rb_lexer/*.rb']
53
53
  s.files += Dir['ext/**/*.c']
54
54
  s.extensions = Dir['ext/**/extconf.rb']
55
- s.add_development_dependency('rake-compiler', '>= 0.8.1')
55
+ s.add_development_dependency('rake-compiler', '>= 0.8.2')
56
56
  end
57
57
  s.files -= Dir['**/.gitignore']
58
58
 
59
- s.add_runtime_dependency('json', '>= 1.4.6')
59
+ s.add_runtime_dependency('json', '>= 1.7.6')
60
60
 
61
61
  s.add_development_dependency('cucumber', '>= 1.2.1')
62
- s.add_development_dependency('rake', '>= 0.9.2')
63
- s.add_development_dependency('bundler', '>= 1.2.1') # Make sure it's in sync with /.travis.yml
64
- s.add_development_dependency('rspec', '~> 2.11.0')
62
+ s.add_development_dependency('rake', '>= 10.0.3')
63
+ s.add_development_dependency('bundler', '>= 1.2.3') # Make sure it's in sync with /.travis.yml
64
+ s.add_development_dependency('rspec', '~> 2.12.0')
65
65
  s.add_development_dependency('rubyzip', '>= 0.9.9')
66
66
 
67
67
  unless ENV['RUBY_CC_VERSION'] || defined?(JRUBY_VERSION)
68
- s.add_development_dependency('therubyracer', '>= 0.10.2') if ENV['GHERKIN_JS']
68
+ s.add_development_dependency('therubyracer', '>= 0.11.2') if ENV['GHERKIN_JS']
69
69
  # For Documentation:
70
- s.add_development_dependency('yard', '>= 0.8.2.1')
70
+ s.add_development_dependency('yard', '>= 0.8.3')
71
71
  s.add_development_dependency('rdiscount', '>= 1.6.8')
72
72
  end
73
73
 
74
74
  # Only needed by Cucumber. Remove when Cucumber no longer needs those.
75
75
  s.add_development_dependency('term-ansicolor', '>= 1.0.7')
76
- s.add_development_dependency('builder', '>= 3.1.3')
76
+ s.add_development_dependency('builder', '>= 3.1.4')
77
77
  end
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,7 +1,7 @@
1
- The i18n.json file uses "ISO 639-1":http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes and "ISO 3166 alpha-2":http://en.wikipedia.org/wiki/ISO_3166-1 (region - if applicable):
1
+ The i18n.json file uses [ISO 639-1](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) and [ISO 3166 alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1) (region - if applicable):
2
2
 
3
3
  If you want several aliases for a keyword, just separate them
4
- with a | character. The * is a step keyword alias for all translations.
4
+ with a `|` character. The `*` is a step keyword alias for all translations.
5
5
 
6
- If you do *not* want a trailing space after a keyword, end it with a < character.
6
+ If you do *not* want a trailing space after a keyword, end it with a `<` character.
7
7
  (See Chinese for examples).
@@ -2,7 +2,13 @@ module Gherkin
2
2
  module Formatter
3
3
  class Hashable
4
4
  def to_hash
5
- instance_variables.inject({}) do |hash, ivar|
5
+ ivars = instance_variables
6
+ # When tests are runn with therubyracer (JavaScript), an extra field might
7
+ # exist - added by Ref::WeakReference
8
+ # https://github.com/bdurand/ref/blob/master/lib/ref/weak_reference/pure_ruby.rb
9
+ # Remove it - we don't want it in the JSON.
10
+ ivars.delete(:@__weak_backreferences__)
11
+ ivars.inject({}) do |hash, ivar|
6
12
  value = instance_variable_get(ivar)
7
13
  value = value.to_hash if value.respond_to?(:to_hash)
8
14
  if Array === value
@@ -61,6 +61,17 @@ module Gherkin
61
61
  def result(result)
62
62
  @current_step_or_hook['result'] = result.to_hash
63
63
  end
64
+
65
+ def append_duration(timestamp)
66
+ #check to make sure result exists (scenario outlines do not have results yet)
67
+ if !@current_step_or_hook['result'].nil?
68
+ #convert to nanoseconds
69
+ timestamp = timestamp * 1000000000
70
+ rshash = @current_step_or_hook['result'].to_hash
71
+ rshash['duration'] = timestamp.to_i
72
+ @current_step_or_hook['result'] = rshash
73
+ end
74
+ end
64
75
 
65
76
  def before(match, result)
66
77
  add_hook(match, result, "before")
@@ -237,20 +237,20 @@
237
237
  "and": "*|Ja",
238
238
  "but": "*|Kuid"
239
239
  },
240
- "fa": {
241
- "name": "Persian",
242
- "native": "فارسی",
243
- "feature": "وِیژگی",
244
- "background": "زمینه",
245
- "scenario": "سناریو",
246
- "scenario_outline": "الگوی سناریو",
247
- "examples": "نمونه ها",
248
- "given": "*|با فرض",
249
- "when": "*|هنگامی",
250
- "then": "*|آنگاه",
251
- "and": "*|و",
252
- "but": "*|اما"
253
- },
240
+ "fa": {
241
+ "name": "Persian",
242
+ "native": "فارسی",
243
+ "feature": "وِیژگی",
244
+ "background": "زمینه",
245
+ "scenario": "سناریو",
246
+ "scenario_outline": "الگوی سناریو",
247
+ "examples": "نمونه ها",
248
+ "given": "*|با فرض",
249
+ "when": "*|هنگامی",
250
+ "then": "*|آنگاه",
251
+ "and": "*|و",
252
+ "but": "*|اما"
253
+ },
254
254
  "fi": {
255
255
  "name": "Finnish",
256
256
  "native": "suomi",
@@ -293,6 +293,20 @@
293
293
  "and": "*|וגם",
294
294
  "but": "*|אבל"
295
295
  },
296
+ "hi": {
297
+ "name": "Hindi",
298
+ "native": "हिंदी",
299
+ "feature": "रूप लेख",
300
+ "background": "पृष्ठभूमि",
301
+ "scenario": "परिदृश्य",
302
+ "scenario_outline": "परिदृश्य रूपरेखा",
303
+ "examples": "उदाहरण",
304
+ "given": "*|अगर|यदि|चूंकि",
305
+ "when": "*|जब",
306
+ "then": "*|तब",
307
+ "and": "*|और|तथा",
308
+ "but": "*|पर"
309
+ },
296
310
  "hr": {
297
311
  "name": "Croatian",
298
312
  "native": "hrvatski",
@@ -534,15 +548,15 @@
534
548
  "sk": {
535
549
  "name": "Slovak",
536
550
  "native": "Slovensky",
537
- "feature": "Požiadavka",
551
+ "feature": "Požiadavka|Funkcia|Vlastnosť",
538
552
  "background": "Pozadie",
539
553
  "scenario": "Scenár",
540
- "scenario_outline": "Náčrt Scenáru",
554
+ "scenario_outline": "Náčrt Scenáru|Náčrt Scenára|Osnova Scenára",
541
555
  "examples": "Príklady",
542
- "given": "*|Pokiaľ",
543
- "when": "*|Keď",
544
- "then": "*|Tak",
545
- "and": "*|A",
556
+ "given": "*|Pokiaľ|Za predpokladu",
557
+ "when": "*|Keď|Ak",
558
+ "then": "*|Tak|Potom",
559
+ "and": "*|A|A tiež|A taktiež|A zároveň",
546
560
  "but": "*|Ale"
547
561
  },
548
562
  "sr-Latn": {
@@ -573,6 +587,20 @@
573
587
  "and": "*|И",
574
588
  "but": "*|Али"
575
589
  },
590
+ "tl": {
591
+ "name": "Telugu",
592
+ "native": "తెలుగు",
593
+ "feature": "గుణము",
594
+ "background": "నేపథ్యం",
595
+ "scenario": "సన్నివేశం",
596
+ "scenario_outline": "కథనం",
597
+ "examples": "ఉదాహరణలు",
598
+ "given": "*|చెప్పబడినది",
599
+ "when": "*|ఈ పరిస్థితిలో",
600
+ "then": "*|అప్పుడు",
601
+ "and": "*|మరియు",
602
+ "but": "*|కాని"
603
+ },
576
604
  "tr": {
577
605
  "name": "Turkish",
578
606
  "native": "Türkçe",
@@ -587,6 +615,20 @@
587
615
  "and": "*|Ve",
588
616
  "but": "*|Fakat|Ama"
589
617
  },
618
+ "tt": {
619
+ "name": "Tatar",
620
+ "native": "Татарча",
621
+ "feature": "Мөмкинлек|Үзенчәлеклелек",
622
+ "background": "Кереш",
623
+ "scenario": "Сценарий",
624
+ "scenario_outline": "Сценарийның төзелеше",
625
+ "examples": "Үрнәкләр|Мисаллар",
626
+ "given": "*|Әйтик",
627
+ "when": "*|Әгәр",
628
+ "then": "*|Нәтиҗәдә",
629
+ "and": "*|Һәм|Вә",
630
+ "but": "*|Ләкин|Әмма"
631
+ },
590
632
  "uk": {
591
633
  "name": "Ukrainian",
592
634
  "native": "Українська",
@@ -657,4 +699,4 @@
657
699
  "and": "*|而且<|並且<|同時<",
658
700
  "but": "*|但是<"
659
701
  }
660
- }
702
+ }