rouge 3.30.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: acc37e14414bcaa3f67dda77f1b746f8035cfc972dc807610b4a1ef4fcffe848
4
- data.tar.gz: 2380291e01345a7251f229dddf858d612f64d89f7ef93d7b75b2c44fa9a093a6
3
+ metadata.gz: 6fd615b640597f10ec86cd80dd21e8c9d52690a16cf176eba508e9f1e9793722
4
+ data.tar.gz: e52e22c42130a1173fd9996886ea012a6196b40a2277e1be3815464712724226
5
5
  SHA512:
6
- metadata.gz: a4d60e1f37e66b4991b040ff82db8cc59983f37923a7f8b41a44a149407167467b443cd6ac8bb47f8800588e82301be1d58c14175bb1513a728952be21144ed8
7
- data.tar.gz: 6f0e6ab3786ac315f0a2d658d02091bb3b8a0b6cd75ef3aac6dc2a116eee9dd5a45b1a4c9ef11f40f0f6338ae50d7c0f0b219e9ab20de950e4ae865f3824e002
6
+ metadata.gz: 680d70dd8cf5d576a02de5d692fd381531431fb547943d251941795180315959b7a8efae23413916cca9e4cf937ff4b13cf42934201ec8b9e0b43f2e01f1ef93
7
+ data.tar.gz: cca0ecbdb95aa8f6001df798a2d0c99b32afa8bedd9887a3f4292d29f38a3132d092b8a7a57da60d246142adafe29e0a6650f3cbeacc3a1d0c1ae93bc07c30c3
data/Gemfile CHANGED
@@ -10,17 +10,14 @@ gem 'minitest', '>= 5.0'
10
10
  gem 'minitest-power_assert'
11
11
  gem 'power_assert', '~> 1.2'
12
12
 
13
- gem 'parallel', '~> 1.13.0' if RUBY_VERSION < '2.2.0'
14
13
  gem 'rubocop', '~> 1.0', '<= 1.11'
15
14
  gem 'rubocop-performance'
16
15
 
17
16
  # don't try to install redcarpet under jruby
18
- gem 'redcarpet', :platforms => :ruby
17
+ gem 'redcarpet', platforms: :ruby
19
18
 
20
19
  # Profiling
21
- if RUBY_VERSION >= '2.3.0'
22
- gem 'memory_profiler', :require => false
23
- end
20
+ gem 'memory_profiler', require: false
24
21
 
25
22
  # Needed for a Rake task
26
23
  gem 'git'
@@ -33,11 +30,7 @@ group :development do
33
30
  gem 'github-markup'
34
31
 
35
32
  # for visual tests
36
- if RUBY_VERSION < '2.2.0'
37
- gem 'sinatra', '~> 1.4.8'
38
- else
39
- gem 'sinatra'
40
- end
33
+ gem 'sinatra'
41
34
 
42
35
  # Ruby 3 no longer ships with a web server
43
36
  gem 'puma' if RUBY_VERSION >= '3'
data/lib/rouge/demos/coq CHANGED
@@ -10,4 +10,7 @@ Section with_T.
10
10
  end.
11
11
  End with_T.
12
12
 
13
- Definition a_string := "hello \" world".
13
+ Definition a_string := "hello
14
+ world".
15
+ Definition escape_string := "0123".
16
+ Definition zero_string := "0".
@@ -0,0 +1,33 @@
1
+ // A system agnostic domain specific language for runtime monitoring and verification
2
+ // Basic events
3
+
4
+ insert(index,elem) matches {event:'func_pre',name:'my_insert',args:[index,elem]};
5
+
6
+ relevant matches insert(_,_)|remove(_,_)|size(_)|get(_,_);
7
+
8
+ insert_in_bounds(size) matches insert(index,_) with index >= 0 && index <= size;
9
+
10
+ del_false matches del(_,false);
11
+ not_add_true_del(el) not matches add(el,true) | del(el,_);
12
+
13
+ Main = relevant >> (CheckIndex<0> /\ add_rm_get >> CheckElem)!;
14
+ CheckIndex<size> =
15
+ get_size(size)* (insert_in_bounds(size) CheckIndex<size+1> \/ remove_in_bounds(size) CheckIndex<size-1>);
16
+
17
+ Msg<inf,sup> = if(inf<=sup) msg(inf) Msg<inf+1,sup> else empty;
18
+ Main=relevant>>Msg<1,4>*!;
19
+
20
+ acquire(id) matches {event:'func_pre',name:'acquire',args:[_,id,...]};
21
+
22
+ Main = relevant >> Resources;
23
+ Resources =
24
+ {let id; acquire(id)
25
+ ((Resources | use(id)* release(id)) /\
26
+ acqRel(id) >> release(id) all)
27
+ }?;
28
+
29
+ msg(ty) matches {event:'func_pre',name:'msg',args:[ty]};
30
+ relevant matches msg(_);
31
+
32
+ Msg<inf,sup> = if(inf<=sup) msg(inf) Msg<inf+1,sup> else empty;
33
+ Main=relevant>>Msg<1,4>*!;
@@ -5,6 +5,14 @@ module Rouge
5
5
  module Formatters
6
6
  # Transforms a token stream into HTML output.
7
7
  class HTML < Formatter
8
+ TABLE_FOR_ESCAPE_HTML = {
9
+ '&' => '&amp;',
10
+ '<' => '&lt;',
11
+ '>' => '&gt;',
12
+ }.freeze
13
+
14
+ ESCAPE_REGEX = /[&<>]/.freeze
15
+
8
16
  tag 'html'
9
17
 
10
18
  # @yield the html output.
@@ -22,20 +30,14 @@ module Rouge
22
30
  if tok == Token::Tokens::Text
23
31
  safe_val
24
32
  else
25
- shortname = tok.shortname \
26
- or raise "unknown token: #{tok.inspect} for #{safe_val.inspect}"
33
+ shortname = tok.shortname or raise "unknown token: #{tok.inspect} for #{safe_val.inspect}"
27
34
 
28
35
  "<span class=\"#{shortname}\">#{safe_val}</span>"
29
36
  end
30
37
  end
31
38
 
32
- TABLE_FOR_ESCAPE_HTML = {
33
- '&' => '&amp;',
34
- '<' => '&lt;',
35
- '>' => '&gt;',
36
- }
39
+ private
37
40
 
38
- private
39
41
  # A performance-oriented helper method to escape `&`, `<` and `>` for the rendered
40
42
  # HTML from this formatter.
41
43
  #
@@ -46,10 +48,9 @@ module Rouge
46
48
  # Returns either the given `value` argument string as is or a new string with the
47
49
  # special characters replaced with their escaped counterparts.
48
50
  def escape_special_html_chars(value)
49
- escape_regex = /[&<>]/
50
- return value unless value =~ escape_regex
51
+ return value unless value =~ ESCAPE_REGEX
51
52
 
52
- value.gsub(escape_regex, TABLE_FOR_ESCAPE_HTML)
53
+ value.gsub(ESCAPE_REGEX, TABLE_FOR_ESCAPE_HTML)
53
54
  end
54
55
  end
55
56
  end
@@ -133,7 +133,8 @@ module Rouge
133
133
  end
134
134
 
135
135
  disambiguate '*.pp' do
136
- next Pascal if matches?(/\b(function|begin|var)\b/)
136
+ next Puppet if matches?(/(::)?([a-z]\w*::)/)
137
+ next Pascal if matches?(/^(function|begin|var)\b/)
137
138
  next Pascal if matches?(/\b(end(;|\.))/)
138
139
 
139
140
  Puppet
@@ -25,7 +25,7 @@ module Rouge
25
25
  Variables Class Instance Global Local Include
26
26
  Printing Notation Infix Arguments Hint Rewrite Immediate
27
27
  Qed Defined Opaque Transparent Existing
28
- Compute Eval Print SearchAbout Search About Check
28
+ Compute Eval Print SearchAbout Search About Check Admitted
29
29
  )
30
30
  end
31
31
 
@@ -56,16 +56,6 @@ module Rouge
56
56
  )
57
57
  end
58
58
 
59
- def self.keyopts
60
- @keyopts ||= Set.new %w(
61
- := => -> /\\ \\/ _ ; :> : ⇒ → ↔ ⇔ ≔ ≡ ∀ ∃ ∧ ∨ ¬ ⊤ ⊥ ⊢ ⊨ ∈
62
- )
63
- end
64
-
65
- def self.end_sentence
66
- @end_sentence ||= Punctuation::Indicator
67
- end
68
-
69
59
  def self.classify(x)
70
60
  if self.coq.include? x
71
61
  return Keyword
@@ -82,58 +72,133 @@ module Rouge
82
72
  end
83
73
  end
84
74
 
85
- operator = %r([\[\];,{}_()!$%&*+./:<=>?@^|~#-]+)
86
- id = /(?:[a-z][\w']*)|(?:[_a-z][\w']+)/i
87
- dot_id = /\.((?:[a-z][\w']*)|(?:[_a-z][\w']+))/i
75
+ # https://github.com/coq/coq/blob/110921a449fcb830ec2a1cd07e3acc32319feae6/clib/unicode.ml#L67
76
+ # https://coq.inria.fr/refman/language/core/basic.html#grammar-token-ident
77
+ id_first = /\p{L}/
78
+ id_first_underscore = /(?:\p{L}|_)/
79
+ id_subsequent = /(?:\p{L}|\p{N}|_|')/ # a few missing? some mathematical ' primes and subscripts
80
+ id = /(?:#{id_first}#{id_subsequent}*)|(?:#{id_first_underscore}#{id_subsequent}+)/i
81
+ dot_id = /\.(#{id})/i
88
82
  dot_space = /\.(\s+)/
89
- module_type = /Module(\s+)Type(\s+)/
90
- set_options = /(Set|Unset)(\s+)(Universe|Printing|Implicit|Strict)(\s+)(Polymorphism|All|Notations|Arguments|Universes|Implicit)(\s*)\./m
91
83
 
92
84
  state :root do
93
- rule %r/[(][*](?![)])/, Comment, :comment
85
+ mixin :begin_proof
86
+ mixin :sentence
87
+ end
88
+
89
+ state :sentence do
90
+ mixin :comment_whitespace
91
+ mixin :module_setopts
92
+ # After parsing the id, end up in sentence_postid
93
+ rule id do |m|
94
+ @name = m[0]
95
+ @id_dotted = false
96
+ push :sentence_postid
97
+ push :continue_id
98
+ end
99
+ end
100
+
101
+ state :begin_proof do
102
+ rule %r/(Proof)(\s*)(\.)(\s+)/i do
103
+ groups Keyword, Text::Whitespace, Punctuation::Indicator, Text::Whitespace
104
+ push :proof_mode
105
+ end
106
+ end
107
+
108
+ state :proof_mode do
109
+ mixin :comment_whitespace
110
+ mixin :module_setopts
111
+ mixin :begin_proof
112
+
113
+ rule %r/(Qed|Defined|Save|Admitted)(\s*)(\.)(\s+)/i do
114
+ groups Keyword, Text::Whitespace, Punctuation::Indicator, Text::Whitespace
115
+ pop!
116
+ end
117
+ # the whole point of parsing Proof/Qed, normally some of these will be operators
118
+ rule %r/(?:\-+|\++|\*+)/, Punctuation
119
+ rule %r/[{}]/, Punctuation
120
+ # toplevel_selector
121
+ rule %r/(!|all|par)(:)/ do
122
+ groups Keyword::Pseudo, Punctuation
123
+ end
124
+ # numbered goals 1: {} 1,2: {}
125
+ rule %r/\d+/, Num::Integer, :numeric_labels
126
+ # [named_goal]: { ... }
127
+ rule %r/(\[)(\s*)(#{id})(\s*)(\])(\s*)(:)/ do
128
+ groups Punctuation, Text::Whitespace, Name::Constant, Text::Whitespace, Punctuation, Text::Whitespace, Punctuation
129
+ end
130
+ # After parsing the id, end up in sentence_postid
131
+ rule id do |m|
132
+ @name = m[0]
133
+ @id_dotted = false
134
+ push :sentence_postid
135
+ push :continue_id
136
+ end
137
+ end
138
+
139
+ state :numeric_labels do
140
+ mixin :whitespace
141
+ rule %r/(,)(\s*)(\d+)/ do
142
+ groups Punctuation, Text::Whitespace, Num::Integer
143
+ end
144
+
145
+ rule %r(:), Punctuation, :pop!
146
+ end
147
+
148
+ state :whitespace do
94
149
  rule %r/\s+/m, Text::Whitespace
95
- rule module_type do |m|
96
- token Keyword , 'Module'
97
- token Text::Whitespace , m[1]
98
- token Keyword , 'Type'
99
- token Text::Whitespace , m[2]
150
+ end
151
+
152
+ state :comment_whitespace do
153
+ rule %r/[(][*](?![)])/, Comment, :comment
154
+ mixin :whitespace
155
+ end
156
+
157
+ state :module_setopts do
158
+ rule %r/(Module)(\s+)(Type)(\s+)/ do
159
+ groups Keyword, Text::Whitespace, Keyword, Text::Whitespace
100
160
  end
101
- rule set_options do |m|
102
- token Keyword , m[1]
103
- i = 2
104
- while m[i] != ''
105
- token Text::Whitespace , m[i]
106
- token Keyword , m[i+1]
107
- i += 2
108
- end
109
- token self.class.end_sentence , '.'
161
+
162
+ rule %r(
163
+ (Set|Unset)(\s+)
164
+ (Universe|Printing|Implicit|Strict)(\s+)
165
+ (Polymorphism|All|Notations|Arguments|Universes|Implicit)?(\s*)(\.)
166
+ )x do
167
+ groups Keyword, Text::Whitespace, Keyword, Text::Whitespace, Keyword, Text::Whitespace, Punctuation::Indicator
110
168
  end
169
+ end
170
+
171
+ state :sentence_postid do
172
+ mixin :comment_whitespace
173
+ mixin :module_setopts
174
+
175
+ # up here to beat the id rule for lambda
176
+ rule %r(:=|=>|;|:>|:|::|_), Punctuation
177
+ rule %r(->|/\\|\\/|;|:>|[⇒→↔⇔≔≡∀∃∧∨¬⊤⊥⊢⊨∈λ]), Operator
178
+
111
179
  rule id do |m|
112
180
  @name = m[0]
113
- @continue = false
181
+ @id_dotted = false
114
182
  push :continue_id
115
183
  end
116
- rule %r(/\\), Operator
117
- rule %r/\\\//, Operator
184
+
185
+ # must be followed by whitespace, so that we don't match notations like sym.(a + b)
186
+ rule %r/\.(?=\s)/, Punctuation::Indicator, :pop! # :sentence_postid
118
187
 
119
188
  rule %r/-?\d[\d_]*(.[\d_]*)?(e[+-]?\d[\d_]*)/i, Num::Float
120
- rule %r/\d[\d_]*/, Num::Integer
189
+ rule %r/-?\d[\d_]*/, Num::Integer
121
190
 
122
191
  rule %r/'(?:(\\[\\"'ntbr ])|(\\[0-9]{3})|(\\x\h{2}))'/, Str::Char
123
192
  rule %r/'/, Keyword
124
193
  rule %r/"/, Str::Double, :string
125
194
  rule %r/[~?]#{id}/, Name::Variable
126
195
 
127
- rule %r/./ do |m|
128
- match = m[0]
129
- if self.class.keyopts.include? match
130
- token Punctuation
131
- elsif match =~ operator
132
- token Operator
133
- else
134
- token Error
135
- end
136
- end
196
+ rule %r(`{|[{}\[\]()?|;,.]), Punctuation
197
+ rule %r([!@^|~#.%/]+), Operator
198
+ # any other combo of S (symbol), P (punctuation) and some extras just to be sure
199
+ rule %r((?:\p{S}|\p{Pc}|[./\:\<=>\-+*])+), Operator
200
+
201
+ rule %r/./, Error
137
202
  end
138
203
 
139
204
  state :comment do
@@ -144,48 +209,47 @@ module Rouge
144
209
  end
145
210
 
146
211
  state :string do
147
- rule %r/(?:\\")+|[^"]/, Str::Double
148
- mixin :escape_sequence
149
- rule %r/\\\n/, Str::Double
212
+ rule %r/[^"]+/, Str::Double
213
+ rule %r/""/, Str::Double
150
214
  rule %r/"/, Str::Double, :pop!
151
215
  end
152
216
 
153
- state :escape_sequence do
154
- rule %r/\\[\\"'ntbr]/, Str::Escape
155
- end
156
-
157
217
  state :continue_id do
158
218
  # the stream starts with an id (stored in @name) and continues here
159
219
  rule dot_id do |m|
160
- token Name::Namespace , @name
161
- token Punctuation , '.'
162
- @continue = true
220
+ token Name::Namespace, @name
221
+ token Punctuation, '.'
222
+ @id_dotted = true
163
223
  @name = m[1]
164
224
  end
225
+
165
226
  rule dot_space do |m|
166
- if @continue
167
- token Name::Constant , @name
227
+ if @id_dotted
228
+ token Name::Constant, @name
168
229
  else
169
- token self.class.classify(@name) , @name
230
+ token self.class.classify(@name), @name
170
231
  end
171
- token self.class.end_sentence , '.'
172
- token Text::Whitespace , m[1]
232
+
233
+ token Punctuation::Indicator, '.'
234
+ token Text::Whitespace, m[1]
173
235
  @name = false
174
- @continue = false
175
- pop!
236
+ @id_dotted = false
237
+ pop! # :continue_id
238
+ pop! # :sentence_postid
176
239
  end
240
+
177
241
  rule %r// do
178
- if @continue
179
- token Name::Constant , @name
242
+ if @id_dotted
243
+ token Name::Constant, @name
180
244
  else
181
- token self.class.classify(@name) , @name
245
+ token self.class.classify(@name), @name
182
246
  end
183
247
  @name = false
184
- @continue = false
185
- pop!
248
+ @id_dotted = false
249
+ # we finished parsing an id, drop back into the sentence_postid that was pushed first.
250
+ pop! # :continue_id
186
251
  end
187
252
  end
188
-
189
253
  end
190
254
  end
191
255
  end
@@ -20,9 +20,19 @@ module Rouge
20
20
  state :root do
21
21
  rule(/^ .*$\n?/, Text)
22
22
  rule(/^---$\n?/, Punctuation)
23
- rule(/^[+>]+.*$\n?/, Generic::Inserted)
24
- rule(/^\+.*$\n?/, Generic::Inserted)
25
- rule(/^[-<]+.*$\n?/, Generic::Deleted)
23
+
24
+ rule %r(
25
+ (^\++.*$\n?) |
26
+ (^>+[ \t]+.*$\n?) |
27
+ (^>+$\n?)
28
+ )x, Generic::Inserted
29
+
30
+ rule %r(
31
+ (^-+.*$\n?) |
32
+ (^<+[ \t]+.*$\n?) |
33
+ (^<+$\n?)
34
+ )x, Generic::Deleted
35
+
26
36
  rule(/^!.*$\n?/, Generic::Strong)
27
37
  rule(/^([Ii]ndex|diff).*$\n?/, Generic::Heading)
28
38
  rule(/^(@@[^@]*@@)([^\n]*\n)/) do
@@ -30,7 +40,7 @@ module Rouge
30
40
  end
31
41
  rule(/^\w.*$\n?/, Punctuation)
32
42
  rule(/^=.*$\n?/, Generic::Heading)
33
- rule(/\s.*$\n?/, Text)
43
+ rule(/.+$\n?/, Text)
34
44
  end
35
45
  end
36
46
  end
@@ -9,10 +9,10 @@ module Rouge
9
9
  module Lexers
10
10
  def Gherkin.keywords
11
11
  @keywords ||= {}.tap do |k|
12
- k[:step] = Set.new ["'a ", "'ach ", "'ej ", "* ", "7 ", "A ", "A taktiež ", "A také ", "A tiež ", "A zároveň ", "AN ", "Aber ", "Ac ", "Ach", "Adott ", "Agus", "Ak ", "Akkor ", "Alavez ", "Ale ", "Aleshores ", "Ali ", "Allora ", "Alors ", "Als ", "Ama ", "Amennyiben ", "Amikor ", "Amma ", "Ampak ", "An ", "Ananging ", "Ancaq ", "And ", "Angenommen ", "Anrhegedig a ", "Ansin", "Antonces ", "Apabila ", "Atesa ", "Atunci ", "Atès ", "Avast! ", "Aye ", "BUT ", "Bagi ", "Banjur ", "Bet ", "Bila ", "Biết ", "Blimey! ", "Buh ", "But ", "But at the end of the day I reckon ", "Cal ", "Cand ", "Cando ", "Ce ", "Cho ", "Cuan ", "Cuando ", "Cuir i gcás go", "Cuir i gcás gur", "Cuir i gcás nach", "Cuir i gcás nár", "Când ", "DEN ", "DaH ghu' bejlu' ", "Dada ", "Dadas ", "Dadena ", "Dadeno ", "Dado ", "Dados ", "Daes ", "Dan ", "Dann ", "Dano ", "Daos ", "Dar ", "Dat fiind ", "Data ", "Date ", "Date fiind ", "Dati ", "Dati fiind ", "Dato ", "Dată fiind", "Dau ", "Daus ", "Daţi fiind ", "Dați fiind ", "De ", "Den youse gotta ", "Dengan ", "Diasumsikan ", "Diberi ", "Diketahui ", "Diyelim ki ", "Do ", "Donada ", "Donat ", "Donc ", "Donitaĵo ", "Dun ", "Duota ", "Dáu ", "E ", "Eeldades ", "Ef ", "En ", "Entao ", "Entonces ", "Então ", "Entón ", "Entós ", "Epi ", "Et ", "Et qu'", "Et que ", "Etant donné ", "Etant donné qu'", "Etant donné que ", "Etant donnée ", "Etant données ", "Etant donnés ", "Eğer ki ", "Fakat ", "Gangway! ", "Gdy ", "Gegeben sei ", "Gegeben seien ", "Gegeven ", "Gegewe ", "Gitt ", "Given ", "Givet ", "Givun ", "Ha ", "Həm ", "I ", "I CAN HAZ ", "In ", "Ir ", "It's just unbelievable ", "Ja ", "Jeśli ", "Jeżeli ", "Jika ", "Kad ", "Kada ", "Kadar ", "Kai ", "Kaj ", "Když ", "Kemudian ", "Ketika ", "Keď ", "Khi ", "Kiedy ", "Ko ", "Koga ", "Komence ", "Kui ", "Kuid ", "Kun ", "Lan ", "Le ", "Le sa a ", "Let go and haul ", "Logo ", "Lorsqu'", "Lorsque ", "Lè ", "Lè sa a ", "Ma ", "Maar ", "Mais ", "Mais qu'", "Mais que ", "Majd ", "Mając ", "Maka ", "Manawa ", "Mas ", "Men ", "Menawa ", "Mutta ", "Nalika ", "Nalikaning ", "Nanging ", "Nato ", "Nhưng ", "Niin ", "Njuk ", "No ", "Nuair a", "Nuair ba", "Nuair nach", "Nuair nár", "När ", "Når ", "Nə vaxt ki ", "O halda ", "O zaman ", "Och ", "Og ", "Oletetaan ", "Ond ", "Onda ", "Oraz ", "Pak ", "Pero ", "Peru ", "Però ", "Podano ", "Pokiaľ ", "Pokud ", "Potem ", "Potom ", "Privzeto ", "Pryd ", "Quan ", "Quand ", "Quando ", "Sachant ", "Sachant qu'", "Sachant que ", "Se ", "Sed ", "Si ", "Siis ", "Sipoze ", "Sipoze Ke ", "Sipoze ke ", "Soit ", "Stel ", "Så ", "Tad ", "Tada ", "Tak ", "Takrat ", "Tapi ", "Ter ", "Tetapi ", "Tha ", "Tha the ", "Then ", "Thurh ", "Thì ", "Toda ", "Togash ", "Too right ", "Tutaq ki ", "Ukoliko ", "Un ", "Und ", "Ve ", "Vendar ", "Verilir ", "Và ", "Və ", "WEN ", "Wanneer ", "Wenn ", "When ", "Wtedy ", "Wun ", "Y ", "Y'know ", "Ya ", "Yeah nah ", "Yna ", "Youse know like when ", "Youse know when youse got ", "Za date ", "Za dati ", "Za dato ", "Za predpokladu ", "Za předpokladu ", "Zadan ", "Zadani ", "Zadano ", "Zakładając ", "Zakładając, że ", "Zaradi ", "Zatim ", "a ", "an ", "awer ", "dann ", "ghu' noblu' ", "latlh ", "mä ", "qaSDI' ", "ugeholl ", "vaj ", "wann ", "És ", "Étant donné ", "Étant donné qu'", "Étant donné que ", "Étant donnée ", "Étant données ", "Étant donnés ", "Ða ", "Ða ðe ", "Ðurh ", "Þa ", "Þa þe ", "Þegar ", "Þurh ", "Þá ", "Če ", "Şi ", "Əgər ", "Și ", "Όταν ", "Αλλά ", "Δεδομένου ", "Και ", "Τότε ", "І ", "А ", "А також ", "Агар ", "Але ", "Али ", "Аммо ", "Анх ", "Бирок ", "Ва ", "Вә ", "Гэхдээ ", "Дадена ", "Дадено ", "Дано ", "Допустим ", "Если ", "За дате ", "За дати ", "За дато ", "Затем ", "И ", "Иначе ", "К тому же ", "Кад ", "Када ", "Кога ", "Когато ", "Когда ", "Коли ", "Лекин ", "Ләкин ", "Мөн ", "Нехай ", "Но ", "Нәтиҗәдә ", "Онда ", "Припустимо ", "Припустимо, що ", "Пусть ", "Та ", "Также ", "То ", "Тогаш ", "Тогда ", "Тоді ", "Тэгэхэд ", "Тэгээд ", "Унда ", "Харин ", "Хэрэв ", "Якщо ", "Үүний дараа ", "Һәм ", "Әгәр ", "Әйтик ", "Әмма ", "Өгөгдсөн нь ", "Ապա ", "Բայց ", "Դիցուք ", "Եթե ", "Եվ ", "Երբ ", "אבל ", "אז ", "אזי ", "בהינתן ", "וגם ", "כאשר ", "آنگاه ", "اذاً ", "اما ", "اور ", "اگر ", "با فرض ", "بالفرض ", "بفرض ", "تب ", "ثم ", "جب ", "عندما ", "فرض کیا ", "لكن ", "لیکن ", "متى ", "هنگامی ", "و ", "پھر ", "अगर ", "अनी ", "आणि ", "और ", "कदा ", "किन्तु ", "चूंकि ", "जब ", "जर", "जेव्हा ", "तथा ", "तदा ", "तब ", "तर ", "तसेच ", "तेव्हा ", "त्यसपछि ", "दिइएको ", "दिएको ", "दिलेल्या प्रमाणे ", "पण ", "पर ", "परंतु ", "परन्तु ", "मग ", "यदि ", "र ", "ਅਤੇ ", "ਜਦੋਂ ", "ਜਿਵੇਂ ਕਿ ", "ਜੇਕਰ ", "ਤਦ ", "ਪਰ ", "અને ", "આપેલ છે ", "ક્યારે ", "પછી ", "પણ ", "அப்பொழுது ", "ஆனால் ", "எப்போது ", "கொடுக்கப்பட்ட ", "மற்றும் ", "மேலும் ", "అప్పుడు ", "ఈ పరిస్థితిలో ", "కాని ", "చెప్పబడినది ", "మరియు ", "ಆದರೆ ", "ನಂತರ ", "ನೀಡಿದ ", "ಮತ್ತು ", "ಸ್ಥಿತಿಯನ್ನು ", "กำหนดให้ ", "ดังนั้น ", "เมื่อ ", "แต่ ", "และ ", "და", "მაგ­რამ", "მაშინ", "მოცემული", "როდესაც", "かつ", "しかし", "ただし", "ならば", "もし", "並且", "但し", "但是", "假如", "假定", "假設", "假设", "前提", "同时", "同時", "并且", "当", "當", "而且", "那么", "那麼", "그러면", "그리고", "단", "만약", "만일", "먼저", "조건", "하지만", "🎬", "😂", "😐", "😔", "🙏"]
13
- k[:element] = Set.new ["Abstract Scenario", "Abstrakt Scenario", "Achtergrond", "Aer", "Agtergrond", "Antecedentes", "Antecedents", "Atburðarás", "Awww, look mate", "B4", "Background", "Baggrund", "Bakgrund", "Bakgrunn", "Bakgrunnur", "Beispiel", "Beispill", "Bối cảnh", "Caso", "Casu", "Cefndir", "Cenario", "Cenario de Fundo", "Cenário", "Cenário de Fundo", "Contesto", "Context", "Contexte", "Contexto", "Cás", "Cás Achomair", "Cúlra", "Dasar", "Delineacao do Cenario", "Delineação do Cenário", "Dis is what went down", "Dyagram Senaryo", "Dyagram senaryo", "Eixemplo", "Ejemplo", "Eksempel", "Ekzemplo", "Enghraifft", "Esbozo do escenario", "Esbozu del casu", "Escenari", "Escenario", "Esempio", "Esquema de l'escenari", "Esquema del caso", "Esquema del escenario", "Esquema do Cenario", "Esquema do Cenário", "Example", "Exemple", "Exemplo", "Exemplu", "First off", "Fono", "Forgatókönyv", "Forgatókönyv vázlat", "Fundo", "Garis Panduan Senario", "Garis-Besar Skenario", "Geçmiş", "Grundlage", "Hannergrond", "Heave to", "Hintergrund", "Háttér", "Istorik", "Juhtum", "Kazo", "Kazo-skizo", "Keadaan", "Kerangka Keadaan", "Kerangka Senario", "Kerangka Situasi", "Keçmiş", "Khung kịch bản", "Khung tình huống", "Koncept", "Konsep skenario", "Kontekst", "Kontekstas", "Konteksts", "Kontext", "Konturo de la scenaro", "Kontèks", "Kịch bản", "Latar Belakang", "Lýsing Atburðarásar", "Lýsing Dæma", "MISHUN", "MISHUN SRSLY", "Na primer", "Náčrt Scenára", "Náčrt Scenáru", "Náčrt Scénáře", "Nümunə", "Oris scenarija", "Osnova", "Osnova Scenára", "Osnova scénáře", "Osnutek", "Ozadje", "Pavyzdys", "Piemērs", "Plan Senaryo", "Plan du Scénario", "Plan du scénario", "Plan senaryo", "Plang vum Szenario", "Pozadie", "Pozadina", "Pozadí", "Pregled na scenarija", "Primer", "Primjer", "Przykład", "Príklad", "Példa", "Příklad", "Raamjuhtum", "Raamstsenaarium", "Reckon it's like", "Rerefons", "Sampla", "Scenarie", "Scenarij", "Scenarijaus šablonas", "Scenariju", "Scenariju-obris", "Scenarijus", "Scenario", "Scenario Amlinellol", "Scenario Outline", "Scenario Template", "Scenario-outline", "Scenariomal", "Scenariomall", "Scenariu", "Scenariusz", "Scenaro", "Scenár", "Scenārijs", "Scenārijs pēc parauga", "Schema dello scenario", "Scénario", "Scénář", "Senario", "Senaryo", "Senaryo Deskripsyon", "Senaryo deskripsyon", "Senaryo taslağı", "Shiver me timbers", "Situasi", "Situasie", "Situasie Uiteensetting", "Situācija", "Skenario", "Skenario konsep", "Skica", "Skizo", "Sodrzhina", "Ssenari", "Ssenarinin strukturu", "Structura scenariu", "Structură scenariu", "Struktura scenarija", "Stsenaarium", "Swa", "Swa hwaer swa", "Swa hwær swa", "Szablon scenariusza", "Szenarien", "Szenario", "Szenariogrundriss", "Tapaus", "Tapausaihio", "Taust", "Tausta", "The thing of it is", "Tình huống", "Voorbeeld", "Voraussetzungen", "Vorbedingungen", "Wharrimean is", "Yo-ho-ho", "Założenia", "lut", "lut chovnatlh", "mo'", "Ær", "Örnek", "Παράδειγμα", "Περίγραμμα Σεναρίου", "Περιγραφή Σεναρίου", "Σενάριο", "Υπόβαθρο", "Агуулга", "Кереш", "Контекст", "Концепт", "На пример", "Основа", "Передумова", "Позадина", "Преглед на сценарија", "Предистория", "Предыстория", "Приклад", "Пример", "Рамка на сценарий", "Скица", "Содржина", "Структура сценария", "Структура сценарија", "Структура сценарію", "Сценар", "Сценарий", "Сценарий структураси", "Сценарийның төзелеше", "Сценарио", "Сценарын төлөвлөгөө", "Сценарій", "Тарих", "Կոնտեքստ", "Սցենար", "Սցենարի կառուցվացքը", "Օրինակ", "דוגמא", "רקע", "תבנית תרחיש", "תרחיש", "الخلفية", "الگوی سناریو", "زمینه", "سناریو", "سيناريو", "سيناريو مخطط", "مثال", "منظر نامے کا خاکہ", "منظرنامہ", "پس منظر", "परिदृश्य", "परिदृश्य रूपरेखा", "पार्श्वभूमी", "पृष्ठभूमि", "पृष्ठभूमी", "ਉਦਾਹਰਨ", "ਪਟਕਥਾ", "ਪਟਕਥਾ ਢਾਂਚਾ", "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ", "ਪਿਛੋਕੜ", "ઉદાહરણ", "પરિદ્દશ્ય ઢાંચો", "પરિદ્દશ્ય રૂપરેખા", "બેકગ્રાઉન્ડ", "સ્થિતિ", "உதாரணமாக", "காட்சி", "காட்சி சுருக்கம்", "காட்சி வார்ப்புரு", "பின்னணி", "ఉదాహరణ", "కథనం", "నేపథ్యం", "సన్నివేశం", "ಉದಾಹರಣೆ", "ಕಥಾಸಾರಾಂಶ", "ವಿವರಣೆ", "ಹಿನ್ನೆಲೆ", "สรุปเหตุการณ์", "เหตุการณ์", "แนวคิด", "โครงสร้างของเหตุการณ์", "კონტექსტი", "მაგალითად", "სცენარის", "სცენარის ნიმუში", "シナリオ", "シナリオアウトライン", "シナリオテンプレ", "シナリオテンプレート", "テンプレ", "剧本", "剧本大纲", "劇本", "劇本大綱", "场景", "场景大纲", "場景", "場景大綱", "背景", "배경", "시나리오", "시나리오 개요", "💤", "📕", "📖", "🥒"]
14
- k[:examples] = Set.new ["Atburðarásir", "Beispiele", "Beispiller", "Cenarios", "Cenários", "Conto", "Contoh", "Contone", "Dead men tell no tales", "Dæmi", "Dữ liệu", "EXAMPLZ", "Egzanp", "Eixemplos", "Ejemplos", "Eksempler", "Ekzemploj", "Enghreifftiau", "Esempi", "Examples", "Exempel", "Exemple", "Exemples", "Exemplos", "Juhtumid", "Misal", "Nümunələr", "Paraugs", "Pavyzdžiai", "Piemēri", "Primeri", "Primjeri", "Przykłady", "Príklady", "Példák", "Příklady", "Samplaí", "Scenaria", "Scenarijai", "Scenariji", "Scenarios", "Se the", "Se ðe", "Se þe", "Tapaukset", "Variantai", "Voorbeelde", "Voorbeelden", "You'll wanna", "ghantoH", "lutmey", "Örnekler", "Παραδείγματα", "Σενάρια", "Мисаллар", "Мисоллар", "Приклади", "Примери", "Примеры", "Сценарија", "Сценарији", "Тухайлбал", "Үрнәкләр", "Օրինակներ", "דוגמאות", "امثلة", "مثالیں", "نمونه ها", "उदाहरण", "उदाहरणहरु", "ਉਦਾਹਰਨਾਂ", "ઉદાહરણો", "எடுத்துக்காட்டுகள்", "காட்சிகள்", "நிலைமைகளில்", "ఉదాహరణలు", "ಉದಾಹರಣೆಗಳು", "ชุดของตัวอย่าง", "ชุดของเหตุการณ์", "მაგალითები", "サンプル", "例", "例子", "예", "📓"]
15
- k[:feature] = Set.new ["Ability", "Ahoy matey!", "Arwedd", "Aspekt", "Besigheid Behoefte", "Biznis potreba", "Business Need", "Caracteristica", "Característica", "Carauterística", "Egenskab", "Egenskap", "Eiginleiki", "Feature", "Fitur", "Fonctionnalité", "Fonksyonalite", "Funcionalidade", "Funcionalitat", "Functionalitate", "Functionaliteit", "Funcţionalitate", "Funcționalitate", "Fungsi", "Funkcia", "Funkcija", "Funkcionalitāte", "Funkcionalnost", "Funkcja", "Funksie", "Funktion", "Funktionalität", "Funktionalitéit", "Funzionalità", "Fīča", "Gné", "Hwaet", "Hwæt", "Jellemző", "Karakteristik", "Karakteristika", "Lastnost", "Mak", "Mogucnost", "Mogućnost", "Mozhnost", "Moznosti", "Možnosti", "OH HAI", "Omadus", "Ominaisuus", "Osobina", "Potrzeba biznesowa", "Požadavek", "Požiadavka", "Pretty much", "Qap", "Qu'meH 'ut", "Savybė", "Trajto", "Tính năng", "Vermoë", "Vlastnosť", "Właściwość", "Značilnost", "laH", "perbogh", "poQbogh malja'", "Özellik", "Özəllik", "Δυνατότητα", "Λειτουργία", "Бизнис потреба", "Могућност", "Можност", "Мөмкинлек", "Особина", "Свойство", "Функц", "Функционал", "Функционалност", "Функциональность", "Функция", "Функціонал", "Үзенчәлеклелек", "Հատկություն", "Ֆունկցիոնալություն", "תכונה", "خاصية", "خصوصیت", "صلاحیت", "وِیژگی", "کاروبار کی ضرورت", "रूप लेख", "विशेषता", "वैशिष्ट्य", "सुविधा", "ਖਾਸੀਅਤ", "ਨਕਸ਼ ਨੁਹਾਰ", "ਮੁਹਾਂਦਰਾ", "ક્ષમતા", "લક્ષણ", "વ્યાપાર જરૂર", "அம்சம்", "திறன்", "வணிக தேவை", "గుణము", "ಹೆಚ್ಚಳ", "ความต้องการทางธุรกิจ", "ความสามารถ", "โครงหลัก", "თვისება", "フィーチャ", "功能", "機能", "기능", "📚"]
12
+ k[:step] = Set.new ["'a ", "'ach ", "'ej ", "* ", "7 ", "A ", "A taktiež ", "A také ", "A tiež ", "A zároveň ", "AN ", "Aber ", "Ac ", "Ach", "Adott ", "Agus", "Ak ", "Akkor ", "Alavez ", "Ale ", "Aleshores ", "Ali ", "All git out ", "Allora ", "Alors ", "Als ", "Ama ", "Amennyiben ", "Amikor ", "Amma ", "Ampak ", "An ", "Ananging ", "Ancaq ", "And ", "Angenommen ", "Anrhegedig a ", "Ansin", "Antonces ", "Apabila ", "Atesa ", "Atunci ", "Atès ", "Avast! ", "Aye ", "BUT ", "Bagi ", "Banjur ", "Belgilangan ", "Bet ", "Bila ", "Biết ", "Blimey! ", "Buh ", "But ", "But at the end of the day I reckon ", "Bæþsealf ", "Bæþsealfa ", "Bæþsealfe ", "Cal ", "Cand ", "Cando ", "Ce ", "Cho ", "Ciricæw ", "Ciricæwa ", "Ciricæwe ", "Come hell or high water ", "Cuan ", "Cuando ", "Cuir i gcás go", "Cuir i gcás gur", "Cuir i gcás nach", "Cuir i gcás nár", "Când ", "DEN ", "DaH ghu' bejlu' ", "Dada ", "Dadas ", "Dadena ", "Dadeno ", "Dado ", "Dados ", "Daes ", "Dan ", "Dann ", "Dano ", "Daos ", "Dar ", "Dat fiind ", "Data ", "Date ", "Date fiind ", "Dati ", "Dati fiind ", "Dato ", "Dată fiind", "Dau ", "Daus ", "Daţi fiind ", "Dați fiind ", "De ", "Den youse gotta ", "Dengan ", "Diasumsikan ", "Diberi ", "Diketahui ", "Diyelim ki ", "Do ", "Donada ", "Donat ", "Donc ", "Donitaĵo ", "Dun ", "Duota ", "Dáu ", "E ", "Eeldades ", "Ef ", "En ", "Entao ", "Entonces ", "Então ", "Entón ", "Entós ", "Epi ", "Et ", "Et qu'", "Et que ", "Etant donné ", "Etant donné qu'", "Etant donné que ", "Etant donnée ", "Etant données ", "Etant donnés ", "Eğer ki ", "Fakat ", "Fixin' to ", "Gangway! ", "Gdy ", "Gegeben sei ", "Gegeben seien ", "Gegeven ", "Gegewe ", "Gitt ", "Given ", "Givet ", "Givun ", "Ha ", "Həm ", "I ", "I CAN HAZ ", "In ", "Ir ", "It's just unbelievable ", "Ja ", "Jeśli ", "Jeżeli ", "Jika ", "Kad ", "Kada ", "Kadar ", "Kai ", "Kaj ", "Když ", "Kemudian ", "Ketika ", "Keď ", "Khi ", "Kiedy ", "Ko ", "Koga ", "Komence ", "Kui ", "Kuid ", "Kun ", "Lan ", "Le ", "Le sa a ", "Let go and haul ", "Logo ", "Lorsqu'", "Lorsque ", "Lè ", "Lè sa a ", "Ma ", "Maar ", "Mais ", "Mais qu'", "Mais que ", "Majd ", "Mając ", "Maka ", "Manawa ", "Mas ", "Men ", "Menawa ", "Mutta ", "Nalika ", "Nalikaning ", "Nanging ", "Nato ", "Nhưng ", "Niin ", "Njuk ", "No ", "Nuair a", "Nuair ba", "Nuair nach", "Nuair nár", "När ", "Når ", "Nə vaxt ki ", "O halda ", "O zaman ", "Och ", "Og ", "Oletetaan ", "Ond ", "Onda ", "Oraz ", "Pak ", "Pero ", "Peru ", "Però ", "Podano ", "Pokiaľ ", "Pokud ", "Potem ", "Potom ", "Privzeto ", "Pryd ", "Quan ", "Quand ", "Quando ", "Quick out of the chute ", "Sachant ", "Sachant qu'", "Sachant que ", "Se ", "Sed ", "Si ", "Siis ", "Sipoze ", "Sipoze Ke ", "Sipoze ke ", "Soit ", "Stel ", "Så ", "Tad ", "Tada ", "Tak ", "Takrat ", "Tapi ", "Ter ", "Tetapi ", "Tha ", "Tha the ", "Then ", "There’s no tree but bears some fruit ", "Thurh ", "Thì ", "Toda ", "Togash ", "Too right ", "Tutaq ki ", "Ukoliko ", "Un ", "Und ", "Ve ", "Vendar ", "Verilir ", "Và ", "Və ", "WEN ", "Wanneer ", "Well now hold on, I'll you what ", "Wenn ", "When ", "Wtedy ", "Wun ", "Y ", "Y'know ", "Ya ", "Yeah nah ", "Yna ", "Youse know like when ", "Youse know when youse got ", "Za date ", "Za dati ", "Za dato ", "Za predpokladu ", "Za předpokladu ", "Zadan ", "Zadani ", "Zadano ", "Zakładając ", "Zakładając, że ", "Zaradi ", "Zatim ", "a ", "an ", "awer ", "dann ", "ghu' noblu' ", "latlh ", "mä ", "qaSDI' ", "ugeholl ", "vaj ", "wann ", "És ", "Étant donné ", "Étant donné qu'", "Étant donné que ", "Étant donnée ", "Étant données ", "Étant donnés ", "Ða ", "Ða ðe ", "Ðurh ", "Þa ", "Þa þe ", "Þegar ", "Þurh ", "Þá ", "Če ", "Şi ", "Əgər ", "Și ", "Όταν ", "Αλλά ", "Δεδομένου ", "Και ", "Τότε ", "І ", "А ", "А також ", "Агар ", "Але ", "Али ", "Аммо ", "Анх ", "Бирок ", "Ва ", "Вә ", "Гэхдээ ", "Дадена ", "Дадено ", "Дано ", "Допустим ", "Если ", "За дате ", "За дати ", "За дато ", "Затем ", "И ", "Иначе ", "К тому же ", "Кад ", "Када ", "Кога ", "Когато ", "Когда ", "Коли ", "Лекин ", "Ләкин ", "Мөн ", "Нехай ", "Но ", "Нәтиҗәдә ", "Онда ", "Припустимо ", "Припустимо, що ", "Пусть ", "Та ", "Также ", "То ", "Тогаш ", "Тогда ", "Тоді ", "Тэгэхэд ", "Тэгээд ", "Унда ", "Харин ", "Хэрэв ", "Якщо ", "Үүний дараа ", "Һәм ", "Әгәр ", "Әйтик ", "Әмма ", "Өгөгдсөн нь ", "Ապա ", "Բայց ", "Դիցուք ", "Եթե ", "Եվ ", "Երբ ", "אבל ", "אז ", "אזי ", "בהינתן ", "וגם ", "כאשר ", "آنگاه ", "اذاً ", "اما ", "اور ", "اگر ", "با فرض ", "بالفرض ", "بفرض ", "تب ", "ثم ", "جب ", "عندما ", "فرض کیا ", "لكن ", "لیکن ", "متى ", "هنگامی ", "و ", "پھر ", "अगर ", "अनि ", "अनी ", "आणि ", "और ", "कदा ", "किन्तु ", "चूंकि ", "जब ", "जर", "जेव्हा ", "तथा ", "तदा ", "तब ", "तर ", "तसेच ", "तेव्हा ", "त्यसपछि ", "दिइएको ", "दिएको ", "दिलेल्या प्रमाणे ", "पण ", "पर ", "परंतु ", "परन्तु ", "मग ", "यदि ", "र ", "ਅਤੇ ", "ਜਦੋਂ ", "ਜਿਵੇਂ ਕਿ ", "ਜੇਕਰ ", "ਤਦ ", "ਪਰ ", "અને ", "આપેલ છે ", "ક્યારે ", "પછી ", "પણ ", "அப்பொழுது ", "ஆனால் ", "எப்போது ", "கொடுக்கப்பட்ட ", "மற்றும் ", "மேலும் ", "అప్పుడు ", "ఈ పరిస్థితిలో ", "కాని ", "చెప్పబడినది ", "మరియు ", "ಆದರೆ ", "ನಂತರ ", "ನೀಡಿದ ", "ಮತ್ತು ", "ಸ್ಥಿತಿಯನ್ನು ", "กำหนดให้ ", "ดังนั้น ", "เมื่อ ", "แต่ ", "และ ", "ასევე ", "და ", "ვთქვათ ", "თუ ", "თუმცა ", "მაგრამ ", "მაშინ ", "მოცემული ", "მოცემულია ", "როგორც კი ", "როდესაც ", "როცა ", "መቼ ", "እና ", "ከዚያ ", "የተሰጠ ", "ግን ", "かつ", "しかし", "ただし", "ならば", "もし", "且つ", "並且", "但し", "但是", "假如", "假定", "假設", "假设", "前提", "同时", "同時", "并且", "当", "然し", "當", "而且", "那么", "那麼", "그러면", "그리고", "단", "만약", "만일", "먼저", "조건", "하지만", "🎬", "😂", "😐", "😔", "🙏"]
13
+ k[:element] = Set.new ["Abstract Scenario", "Abstrakt Scenario", "Achtergrond", "Aer", "Agtergrond", "All hat and no cattle", "Antecedentes", "Antecedents", "Atburðarás", "Aturan", "Awww, look mate", "B4", "Background", "Baggrund", "Bakgrund", "Bakgrunn", "Bakgrunnur", "Beispiel", "Beispill", "Busy as a hound in flea season", "Bối cảnh", "Caso", "Casu", "Cefndir", "Cenario", "Cenario de Fundo", "Cenário", "Cenário de Fundo", "Contesto", "Context", "Contexte", "Contexto", "Cás", "Cás Achomair", "Cúlra", "Dasar", "Delineacao do Cenario", "Delineação do Cenário", "Dis is what went down", "Dyagram Senaryo", "Dyagram senaryo", "Eixemplo", "Ejemplo", "Eksempel", "Ekzemplo", "Enghraifft", "Esbozo do escenario", "Esbozu del casu", "Escenari", "Escenario", "Esempio", "Esquema de l'escenari", "Esquema del caso", "Esquema del escenario", "Esquema do Cenario", "Esquema do Cenário", "Example", "Exemple", "Exemplo", "Exemplu", "First off", "Fono", "Forgatókönyv", "Forgatókönyv vázlat", "Fundo", "Garis Panduan Senario", "Garis-Besar Skenario", "Geçmiş", "Grundlage", "Hannergrond", "Heave to", "Hintergrund", "Háttér", "Istorik", "Juhtum", "Kazo", "Kazo-skizo", "Keadaan", "Kerangka Keadaan", "Kerangka Senario", "Kerangka Situasi", "Keçmiş", "Khung kịch bản", "Khung tình huống", "Koncept", "Konsep skenario", "Kontekst", "Kontekstas", "Konteksts", "Kontext", "Konturo de la scenaro", "Kontèks", "Kural", "Kịch bản", "Latar Belakang", "Lemme tell y'all a story", "Lýsing Atburðarásar", "Lýsing Dæma", "MISHUN", "MISHUN SRSLY", "Na primer", "Náčrt Scenára", "Náčrt Scenáru", "Náčrt Scénáře", "Nümunə", "Oris scenarija", "Osnova", "Osnova Scenára", "Osnova scénáře", "Osnutek", "Ozadje", "Pavyzdys", "Piemērs", "Plan Senaryo", "Plan du Scénario", "Plan du scénario", "Plan senaryo", "Plang vum Szenario", "Pozadie", "Pozadina", "Pozadí", "Pravidlo", "Pravilo", "Pregled na scenarija", "Primer", "Primjer", "Przykład", "Príklad", "Példa", "Příklad", "Raamjuhtum", "Raamstsenaarium", "Reckon it's like", "Reegel", "Regel", "Regla", "Regla de negocio", "Regola", "Regra", "Reguła", "Rerefons", "Rule", "Rule ", "Règle", "Sampla", "Scenarie", "Scenarij", "Scenarijaus šablonas", "Scenariju", "Scenariju-obris", "Scenarijus", "Scenario", "Scenario Amlinellol", "Scenario Outline", "Scenario Template", "Scenario-outline", "Scenariomal", "Scenariomall", "Scenariu", "Scenariusz", "Scenaro", "Scenár", "Scenārijs", "Scenārijs pēc parauga", "Schema dello scenario", "Scénario", "Scénář", "Senario", "Senaryo", "Senaryo Deskripsyon", "Senaryo deskripsyon", "Senaryo taslağı", "Serious as a snake bite", "Shiver me timbers", "Situasi", "Situasie", "Situasie Uiteensetting", "Situācija", "Skenario", "Skenario konsep", "Skica", "Skizo", "Sodrzhina", "Ssenari", "Ssenarinin strukturu", "Structura scenariu", "Structură scenariu", "Struktura scenarija", "Stsenaarium", "Swa", "Swa hwaer swa", "Swa hwær swa", "Szablon scenariusza", "Szabály", "Szenarien", "Szenario", "Szenariogrundriss", "Tapaus", "Tapausaihio", "Taust", "Tausta", "The thing of it is", "Tình huống", "Voorbeeld", "Voraussetzungen", "Vorbedingungen", "Wharrimean is", "Yo-ho-ho", "Zasada", "Założenia", "lut", "lut chovnatlh", "mo'", "Ær", "Örnek", "Παράδειγμα", "Περίγραμμα Σεναρίου", "Περιγραφή Σεναρίου", "Σενάριο", "Υπόβαθρο", "Агуулга", "Кереш", "Контекст", "Концепт", "На пример", "Основа", "Передумова", "Позадина", "Правило", "Преглед на сценарија", "Предистория", "Предыстория", "Приклад", "Пример", "Рамка на сценарий", "Скица", "Содржина", "Структура сценария", "Структура сценарија", "Структура сценарію", "Сценар", "Сценарий", "Сценарий структураси", "Сценарийның төзелеше", "Сценарио", "Сценарын төлөвлөгөө", "Сценарій", "Тарих", "Шаблон сценария", "Կոնտեքստ", "Սցենար", "Սցենարի կառուցվացքը", "Օրինակ", "דוגמא", "כלל", "רקע", "תבנית תרחיש", "תרחיש", "الخلفية", "الگوی سناریو", "زمینه", "سناریو", "سيناريو", "سيناريو مخطط", "مثال", "منظر نامے کا خاکہ", "منظرنامہ", "پس منظر", "नियम", "परिदृश्य", "परिदृश्य रूपरेखा", "पार्श्वभूमी", "पृष्ठभूमि", "पृष्ठभूमी", "ਉਦਾਹਰਨ", "ਪਟਕਥਾ", "ਪਟਕਥਾ ਢਾਂਚਾ", "ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ", "ਪਿਛੋਕੜ", "ઉદાહરણ", "પરિદ્દશ્ય ઢાંચો", "પરિદ્દશ્ય રૂપરેખા", "બેકગ્રાઉન્ડ", "સ્થિતિ", "உதாரணமாக", "காட்சி", "காட்சி சுருக்கம்", "காட்சி வார்ப்புரு", "பின்னணி", "ఉదాహరణ", "కథనం", "నేపథ్యం", "సన్నివేశం", "ಉದಾಹರಣೆ", "ಕಥಾಸಾರಾಂಶ", "ವಿವರಣೆ", "ಹಿನ್ನೆಲೆ", "สรุปเหตุการณ์", "เหตุการณ์", "แนวคิด", "โครงสร้างของเหตุการณ์", "კონტექსტი", "მაგ", "მაგალითად", "მაგალითი", "ნიმუში", "სცენარი", "სცენარის ნიმუში", "სცენარის შაბლონი", "შაბლონი", "წესი", "ሁናቴ", "ሁናቴ አብነት", "ሁናቴ ዝርዝር", "ህግ", "መነሻ", "መነሻ ሀሳብ", "ምሳሌ", "ቅድመ ሁኔታ", "シナリオ", "シナリオアウトライン", "シナリオテンプレ", "シナリオテンプレート", "テンプレ", "ルール", "剧本", "剧本大纲", "劇本", "劇本大綱", "场景", "场景大纲", "場景", "場景大綱", "背景", "规则", "배경", "시나리오", "시나리오 개요", "💤", "📕", "📖", "🥒"]
14
+ k[:examples] = Set.new ["Atburðarásir", "Beispiele", "Beispiller", "Cenarios", "Cenários", "Conto", "Contoh", "Contone", "Dead men tell no tales", "Dæmi", "Dữ liệu", "EXAMPLZ", "Egzanp", "Eixemplos", "Ejemplos", "Eksempler", "Ekzemploj", "Enghreifftiau", "Esempi", "Examples", "Exempel", "Exemple", "Exemples", "Exemplos", "Juhtumid", "Misal", "Now that's a story longer than a cattle drive in July", "Nümunələr", "Paraugs", "Pavyzdžiai", "Piemēri", "Primeri", "Primjeri", "Przykłady", "Príklady", "Példák", "Příklady", "Samplaí", "Scenaria", "Scenarijai", "Scenariji", "Scenarios", "Se the", "Se ðe", "Se þe", "Tapaukset", "Variantai", "Voorbeelde", "Voorbeelden", "You'll wanna", "ghantoH", "lutmey", "Örnekler", "Παραδείγματα", "Σενάρια", "Мисаллар", "Мисоллар", "Приклади", "Примери", "Примеры", "Сценарија", "Сценарији", "Тухайлбал", "Үрнәкләр", "Օրինակներ", "דוגמאות", "امثلة", "مثالیں", "نمونه ها", "उदाहरण", "उदाहरणहरु", "ਉਦਾਹਰਨਾਂ", "ઉદાહરણો", "எடுத்துக்காட்டுகள்", "காட்சிகள்", "நிலைமைகளில்", "ఉదాహరణలు", "ಉದಾಹರಣೆಗಳು", "ชุดของตัวอย่าง", "ชุดของเหตุการณ์", "მაგალითები", "ሁናቴዎች", "ምሳሌዎች", "サンプル", "例", "例子", "예", "📓"]
15
+ k[:feature] = Set.new ["Ability", "Abilità", "Ahoy matey!", "All gussied up", "Arwedd", "Aspekt", "Besigheid Behoefte", "Biznis potreba", "Business Need", "Caracteristica", "Característica", "Carauterística", "Egenskab", "Egenskap", "Eiginleiki", "Esigenza di Business", "Feature", "Fitur", "Fonctionnalité", "Fonksyonalite", "Funcionalidade", "Funcionalitat", "Functionalitate", "Functionaliteit", "Funcţionalitate", "Funcționalitate", "Fungsi", "Funkcia", "Funkcija", "Funkcionalitāte", "Funkcionalnost", "Funkcja", "Funksie", "Funktion", "Funktionalität", "Funktionalitéit", "Funzionalità", "Fīča", "Gné", "Hwaet", "Hwæt", "Jellemző", "Karakteristik", "Karakteristika", "Lastnost", "Mak", "Mogucnost", "Mogućnost", "Mozhnost", "Moznosti", "Možnosti", "Necesidad del negocio", "OH HAI", "Omadus", "Ominaisuus", "Osobina", "Potrzeba biznesowa", "Požadavek", "Požiadavka", "Pretty much", "Qap", "Qu'meH 'ut", "Requisito", "Savybė", "This ain’t my first rodeo", "Trajto", "Tính năng", "Vermoë", "Vlastnosť", "Właściwość", "Značilnost", "laH", "perbogh", "poQbogh malja'", "Özellik", "Özəllik", "Δυνατότητα", "Λειτουργία", "Бизнис потреба", "Могућност", "Можност", "Мөмкинлек", "Особина", "Свойство", "Фича", "Функц", "Функционал", "Функционалност", "Функциональность", "Функция", "Функціонал", "Үзенчәлеклелек", "Հատկություն", "Ֆունկցիոնալություն", "תכונה", "خاصية", "خصوصیت", "صلاحیت", "وِیژگی", "کاروبار کی ضرورت", "रूप लेख", "विशेषता", "वैशिष्ट्य", "सुविधा", "ਖਾਸੀਅਤ", "ਨਕਸ਼ ਨੁਹਾਰ", "ਮੁਹਾਂਦਰਾ", "ક્ષમતા", "લક્ષણ", "વ્યાપાર જરૂર", "அம்சம்", "திறன்", "வணிக தேவை", "గుణము", "ಹೆಚ್ಚಳ", "ความต้องการทางธุรกิจ", "ความสามารถ", "โครงหลัก", "თვისება", "მოთხოვნა", "ስራ", "የሚፈለገው ድርጊት", "የተፈለገው ስራ", "フィーチャ", "功能", "機能", "기능", "📚"]
16
16
  end
17
17
  end
18
18
  end