diff --git a/.github/workflows/release-php.yaml b/.github/workflows/release-php.yaml index 2441d5ab1..f637a345d 100644 --- a/.github/workflows/release-php.yaml +++ b/.github/workflows/release-php.yaml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: '0' - - uses: cucumber/action-publish-subrepo@v1.1.0 + - uses: cucumber/action-publish-subrepo@v1.1.1 with: working-directory: php github-token: ${{ secrets.CUKEBOT_GITHUB_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index ebd6e305c..248efbabe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,10 @@ This document is formatted according to the principles of [Keep A CHANGELOG](htt ## [Unreleased] ### Fixed - [Python] Provide informative exception for trailing escapes in tables ([#241](https://github.com/cucumber/gherkin/pull/241)) -- (i18n) Provide trailing space in Irish keywords ([#243](https://github.com/cucumber/gherkin/pull/243)) +- (i18n) Provide trailing space in Irish step keywords ([#243](https://github.com/cucumber/gherkin/pull/243)) +- (i18n) Provide trailing space in Korean step keywords ([#254](https://github.com/cucumber/gherkin/pull/254)) - (i18n) Tamil "And" and "But" translations should have single trailing space ([#243](https://github.com/cucumber/gherkin/pull/243)) +- Intermittent failure of cpp test jobs in CI ([#217](https://github.com/cucumber/gherkin/issues/217)) ## [28.0.0] - 2024-02-15 ### Added diff --git a/c/src/dialect.c b/c/src/dialect.c index 52002820f..f9088aa09 100644 --- a/c/src/dialect.c +++ b/c/src/dialect.c @@ -2115,13 +2115,13 @@ static const Dialect kn_dialect = { &kn_then_keywords, &kn_when_keywords }; -static const wchar_t* const ko_and_KEYWORDS[] = { L"* ", L"그리고" }; +static const wchar_t* const ko_and_KEYWORDS[] = { L"* ", L"그리고 " }; static const Keywords ko_and_keywords = { 2, ko_and_KEYWORDS }; static const wchar_t* const ko_background_KEYWORDS[] = { L"배경" }; static const Keywords ko_background_keywords = { 1, ko_background_KEYWORDS }; -static const wchar_t* const ko_but_KEYWORDS[] = { L"* ", L"하지만", L"단" }; +static const wchar_t* const ko_but_KEYWORDS[] = { L"* ", L"하지만 ", L"단 " }; static const Keywords ko_but_keywords = { 3, ko_but_KEYWORDS }; static const wchar_t* const ko_examples_KEYWORDS[] = { L"예" }; @@ -2130,7 +2130,7 @@ static const Keywords ko_examples_keywords = { 1, ko_examples_KEYWORDS }; static const wchar_t* const ko_feature_KEYWORDS[] = { L"기능" }; static const Keywords ko_feature_keywords = { 1, ko_feature_KEYWORDS }; -static const wchar_t* const ko_given_KEYWORDS[] = { L"* ", L"조건", L"먼저" }; +static const wchar_t* const ko_given_KEYWORDS[] = { L"* ", L"조건 ", L"먼저 " }; static const Keywords ko_given_keywords = { 3, ko_given_KEYWORDS }; static const wchar_t* const ko_rule_KEYWORDS[] = { L"Rule" }; @@ -2142,10 +2142,10 @@ static const Keywords ko_scenario_keywords = { 1, ko_scenario_KEYWORDS }; static const wchar_t* const ko_scenarioOutline_KEYWORDS[] = { L"시나리오 개요" }; static const Keywords ko_scenarioOutline_keywords = { 1, ko_scenarioOutline_KEYWORDS }; -static const wchar_t* const ko_then_KEYWORDS[] = { L"* ", L"그러면" }; +static const wchar_t* const ko_then_KEYWORDS[] = { L"* ", L"그러면 " }; static const Keywords ko_then_keywords = { 2, ko_then_KEYWORDS }; -static const wchar_t* const ko_when_KEYWORDS[] = { L"* ", L"만일", L"만약" }; +static const wchar_t* const ko_when_KEYWORDS[] = { L"* ", L"만일 ", L"만약 " }; static const Keywords ko_when_keywords = { 3, ko_when_KEYWORDS }; static const Dialect ko_dialect = { diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 6b07b3b2a..be070e222 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -9,6 +9,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) +if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + add_compile_definitions(_CRT_SECURE_NO_WARNINGS _SCL_SECURE_NO_WARNINGS) +endif() + find_package(nlohmann_json CONFIG REQUIRED) find_package(cucumber_messages CONFIG REQUIRED) diff --git a/cpp/cmake/cmate b/cpp/cmake/cmate index 01ec6ca2e..6fd2bcf95 100755 --- a/cpp/cmake/cmate +++ b/cpp/cmake/cmate @@ -47,6 +47,10 @@ function(cmate_setgdir VAR VAL) file(MAKE_DIRECTORY ${${VAR}}) endfunction() +function(cmate_sleep DURATION) + execute_process(COMMAND ${CMAKE_COMMAND} -E sleep ${DURATION}) +endfunction() + function(cmate_load_version) if(NOT "${CMATE_VERSION}" STREQUAL "") return() @@ -176,15 +180,37 @@ endfunction() function(cmate_download URL FILE) if(CMATE_SIMULATE) cmate_msg("download ${URL} to ${FILE}") - else() - file(DOWNLOAD ${URL} ${FILE} STATUS ST) + return() endif() - list(GET ST 0 RC) + set(WAIT_INTERVAL 5) + set(MAX_RETRIES 10) + set(RETRIES ${MAX_RETRIES}) - if(RC) - cmate_die("download of ${URL} failed: ${ST}") - endif() + cmate_msg("downloading ${URL}") + + while(1) + file(DOWNLOAD ${URL} ${FILE} STATUS ST) + + list(GET ST 0 RC) + + if(RC) + if(RETRIES GREATER 1) + math(EXPR RETRIES "${RETRIES} - 1") + math(EXPR ATTEMPT "${MAX_RETRIES} - ${RETRIES}") + cmate_msg( + "download of ${URL} failed" + " (attempt ${ATTEMPT} of ${MAX_RETRIES}" + ", retrying in ${WAIT_INTERVAL}s)" + ) + cmate_sleep(${WAIT_INTERVAL}) + else() + cmate_die("download of ${URL} failed: ${ST}") + endif() + else() + break() + endif() + endwhile() endfunction() function(cmate_set_build_type RELEASE_FLAG_VAR) @@ -202,41 +228,16 @@ function(cmate_set_build_type RELEASE_FLAG_VAR) cmate_setg(CMATE_BUILD_DIR "${CMATE_BUILD_BASE_DIR}/${TDIR}") endfunction() -function(cmate_github_get_latest REPO VAR RE) - set(URL "https://api.github.com/repos/${REPO}/releases/latest") - set(TDIR "${CMATE_TMP_DIR}/${REPO}") - set(INFO "${TDIR}/info.json") - - if (NOT EXISTS ${INFO}) - file(MAKE_DIRECTORY ${TDIR}) - cmate_download(${URL} ${INFO}) - endif() - - file(READ ${INFO} VINFO) - cmate_json_get_array(${VINFO} "assets" ASSETS) - - foreach(ASSET ${ASSETS}) - string( - JSON - BDURL - ERROR_VARIABLE ERR - GET "${ASSET}" "browser_download_url" - ) +function(cmate_github_get_latest REPO PKG VAR) + set(URL "https://github.com/${REPO}/releases/latest/download/${PKG}") - if(NOT ERR AND ${BDURL} MATCHES ${RE}) - string(JSON FILE GET "${ASSET}" "name") - set(FILE "${CMATE_DL_DIR}/${FILE}") + set(FILE "${CMATE_DL_DIR}/${PKG}") - if (NOT EXISTS ${FILE}) - cmate_download(${BDURL} ${FILE}) - endif() - - set(${VAR} ${FILE} PARENT_SCOPE) - break() - endif() - endforeach() + if (NOT EXISTS ${FILE}) + cmate_download(${URL} ${FILE}) + endif() - file(REMOVE_RECURSE ${TDIR}) + set(${VAR} ${FILE} PARENT_SCOPE) endfunction() function(cmate_check_ninja VAR) @@ -259,11 +260,7 @@ function(cmate_check_ninja VAR) endif() if(NOT EXISTS "${CMATE_ENV_BIN_DIR}/${NCMD}") - cmate_github_get_latest( - "ninja-build/ninja" - NZIP - "ninja-${NOS}.zip$" - ) + cmate_github_get_latest("ninja-build/ninja" "ninja-${NOS}.zip" NZIP) file(REMOVE_RECURSE ${TDIR}) file(ARCHIVE_EXTRACT INPUT ${NZIP} DESTINATION ${TDIR}) diff --git a/cpp/src/lib/gherkin/cucumber/gherkin/dialect.cpp b/cpp/src/lib/gherkin/cucumber/gherkin/dialect.cpp index 118b65a74..b4d047c07 100644 --- a/cpp/src/lib/gherkin/cucumber/gherkin/dialect.cpp +++ b/cpp/src/lib/gherkin/cucumber/gherkin/dialect.cpp @@ -729,17 +729,17 @@ all_keywords() { "ko", { - { "and", { "* ", "그리고" } }, + { "and", { "* ", "그리고 " } }, { "background", { "배경" } }, - { "but", { "* ", "하지만", "단" } }, + { "but", { "* ", "하지만 ", "단 " } }, { "examples", { "예" } }, { "feature", { "기능" } }, - { "given", { "* ", "조건", "먼저" } }, + { "given", { "* ", "조건 ", "먼저 " } }, { "rule", { "Rule" } }, { "scenario", { "시나리오" } }, { "scenarioOutline", { "시나리오 개요" } }, - { "then", { "* ", "그러면" } }, - { "when", { "* ", "만일", "만약" } } + { "then", { "* ", "그러면 " } }, + { "when", { "* ", "만일 ", "만약 " } } } }, { diff --git a/dart/assets/gherkin-languages.json b/dart/assets/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/dart/assets/gherkin-languages.json +++ b/dart/assets/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/dotnet/Gherkin.Specs/Gherkin.Specs.csproj b/dotnet/Gherkin.Specs/Gherkin.Specs.csproj index df124ccb7..e5a115a99 100644 --- a/dotnet/Gherkin.Specs/Gherkin.Specs.csproj +++ b/dotnet/Gherkin.Specs/Gherkin.Specs.csproj @@ -7,10 +7,10 @@ - + - - + + all runtime; build; native; contentfiles; analyzers diff --git a/dotnet/Gherkin/gherkin-languages.json b/dotnet/Gherkin/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/dotnet/Gherkin/gherkin-languages.json +++ b/dotnet/Gherkin/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/elixir/mix.exs b/elixir/mix.exs index aa2508a76..019544270 100644 --- a/elixir/mix.exs +++ b/elixir/mix.exs @@ -28,7 +28,7 @@ defmodule CucumberGherkin.MixProject do [ {:elixir_uuid, "~> 1.2"}, {:cucumber_messages, "~> 15.0"}, - {:ex_doc, "~> 0.32", only: :dev, runtime: false} + {:ex_doc, "~> 0.34", only: :dev, runtime: false} ] end diff --git a/elixir/mix.lock b/elixir/mix.lock index d15c2b5bc..6c26082dd 100644 --- a/elixir/mix.lock +++ b/elixir/mix.lock @@ -2,11 +2,11 @@ "cucumber_messages": {:hex, :cucumber_messages, "15.0.0", "0c873193e55192d6f7c6fa58f311151d746ec2c8378adba384d3807a1a4c9a44", [:make, :mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:protox, "~> 1.3.0", [hex: :protox, repo: "hexpm", optional: false]}], "hexpm", "c26d123328661d8ec92333770bb017375497d16ca1d5913c07184645f5f27e24"}, "earmark_parser": {:hex, :earmark_parser, "1.4.39", "424642f8335b05bb9eb611aa1564c148a8ee35c9c8a8bba6e129d51a3e3c6769", [:mix], [], "hexpm", "06553a88d1f1846da9ef066b87b57c6f605552cfbe40d20bd8d59cc6bde41944"}, "elixir_uuid": {:hex, :elixir_uuid, "1.2.1", "dce506597acb7e6b0daeaff52ff6a9043f5919a4c3315abb4143f0b00378c097", [:mix], [], "hexpm", "f7eba2ea6c3555cea09706492716b0d87397b88946e6380898c2889d68585752"}, - "ex_doc": {:hex, :ex_doc, "0.32.0", "896afb57b1e00030f6ec8b2e19d3ca99a197afb23858d49d94aea673dc222f12", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.1", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1", [hex: :makeup_erlang, repo: "hexpm", optional: false]}], "hexpm", "ed2c3e42c558f49bda3ff37e05713432006e1719a6c4a3320c7e4735787374e7"}, + "ex_doc": {:hex, :ex_doc, "0.34.0", "ab95e0775db3df71d30cf8d78728dd9261c355c81382bcd4cefdc74610bef13e", [:mix], [{:earmark_parser, "~> 1.4.39", [hex: :earmark_parser, repo: "hexpm", optional: false]}, {:makeup_c, ">= 0.1.0", [hex: :makeup_c, repo: "hexpm", optional: true]}, {:makeup_elixir, "~> 0.14 or ~> 1.0", [hex: :makeup_elixir, repo: "hexpm", optional: false]}, {:makeup_erlang, "~> 0.1 or ~> 1.0", [hex: :makeup_erlang, repo: "hexpm", optional: false]}, {:makeup_html, ">= 0.1.0", [hex: :makeup_html, repo: "hexpm", optional: true]}], "hexpm", "60734fb4c1353f270c3286df4a0d51e65a2c1d9fba66af3940847cc65a8066d7"}, "jason": {:hex, :jason, "1.4.0", "e855647bc964a44e2f67df589ccf49105ae039d4179db7f6271dfd3843dc27e6", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "79a3791085b2a0f743ca04cec0f7be26443738779d09302e01318f97bdb82121"}, - "makeup": {:hex, :makeup, "1.1.1", "fa0bc768698053b2b3869fa8a62616501ff9d11a562f3ce39580d60860c3a55e", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "5dc62fbdd0de44de194898b6710692490be74baa02d9d108bc29f007783b0b48"}, + "makeup": {:hex, :makeup, "1.1.2", "9ba8837913bdf757787e71c1581c21f9d2455f4dd04cfca785c70bbfff1a76a3", [:mix], [{:nimble_parsec, "~> 1.2.2 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cce1566b81fbcbd21eca8ffe808f33b221f9eee2cbc7a1706fc3da9ff18e6cac"}, "makeup_elixir": {:hex, :makeup_elixir, "0.16.2", "627e84b8e8bf22e60a2579dad15067c755531fea049ae26ef1020cad58fe9578", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "41193978704763f6bbe6cc2758b84909e62984c7752b3784bd3c218bb341706b"}, - "makeup_erlang": {:hex, :makeup_erlang, "0.1.5", "e0ff5a7c708dda34311f7522a8758e23bfcd7d8d8068dc312b5eb41c6fd76eba", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "94d2e986428585a21516d7d7149781480013c56e30c6a233534bedf38867a59a"}, + "makeup_erlang": {:hex, :makeup_erlang, "1.0.0", "6f0eff9c9c489f26b69b61440bf1b238d95badae49adac77973cbacae87e3c2e", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "ea7a9307de9d1548d2a72d299058d1fd2339e3d398560a0e46c27dab4891e4d2"}, "nimble_parsec": {:hex, :nimble_parsec, "1.4.0", "51f9b613ea62cfa97b25ccc2c1b4216e81df970acd8e16e8d1bdc58fef21370d", [:mix], [], "hexpm", "9c565862810fb383e9838c1dd2d7d2c437b3d13b267414ba6af33e50d2d1cf28"}, "protox": {:hex, :protox, "1.3.2", "4d4cf313e93a46982933f9ce6fffe455ec0370e3ea50a382144cb82349c23426", [:mix], [], "hexpm", "6759cd5fed26a05c7deb51558023b588cc946c9cb2fbd5f7b5dc1832153815ca"}, } diff --git a/elixir/priv/gherkin_languages.json b/elixir/priv/gherkin_languages.json index 7bdb99831..de0db1ab9 100644 --- a/elixir/priv/gherkin_languages.json +++ b/elixir/priv/gherkin_languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/gherkin-languages.json b/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/gherkin-languages.json +++ b/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/go/dialects_builtin.go b/go/dialects_builtin.go index 72205cbe3..6b8d295d6 100644 --- a/go/dialects_builtin.go +++ b/go/dialects_builtin.go @@ -2987,44 +2987,44 @@ var builtinDialects = gherkinDialectMap{ }, given: { "* ", - "조건", - "먼저", + "조건 ", + "먼저 ", }, when: { "* ", - "만일", - "만약", + "만일 ", + "만약 ", }, then: { "* ", - "그러면", + "그러면 ", }, and: { "* ", - "그리고", + "그리고 ", }, but: { "* ", - "하지만", - "단", + "하지만 ", + "단 ", }, }, map[string]messages.StepKeywordType{ - "조건": messages.StepKeywordType_CONTEXT, + "조건 ": messages.StepKeywordType_CONTEXT, - "먼저": messages.StepKeywordType_CONTEXT, + "먼저 ": messages.StepKeywordType_CONTEXT, - "만일": messages.StepKeywordType_ACTION, + "만일 ": messages.StepKeywordType_ACTION, - "만약": messages.StepKeywordType_ACTION, + "만약 ": messages.StepKeywordType_ACTION, - "그러면": messages.StepKeywordType_OUTCOME, + "그러면 ": messages.StepKeywordType_OUTCOME, - "그리고": messages.StepKeywordType_CONJUNCTION, + "그리고 ": messages.StepKeywordType_CONJUNCTION, - "하지만": messages.StepKeywordType_CONJUNCTION, + "하지만 ": messages.StepKeywordType_CONJUNCTION, - "단": messages.StepKeywordType_CONJUNCTION, + "단 ": messages.StepKeywordType_CONJUNCTION, "* ": messages.StepKeywordType_UNKNOWN, }}, diff --git a/java/pom.xml b/java/pom.xml index 1a7a8ae81..889e69fe0 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -31,14 +31,14 @@ com.fasterxml.jackson jackson-bom - 2.17.0 + 2.17.2 pom import org.junit junit-bom - 5.10.2 + 5.10.3 pom import @@ -49,7 +49,7 @@ io.cucumber messages - [19.1.4,25.0.0) + [19.1.4,26.0.0) diff --git a/javascript/package-lock.json b/javascript/package-lock.json index 708decf01..2f473590c 100644 --- a/javascript/package-lock.json +++ b/javascript/package-lock.json @@ -9,16 +9,16 @@ "version": "28.0.0", "license": "MIT", "dependencies": { - "@cucumber/messages": ">=19.1.4 <=24" + "@cucumber/messages": "<=25" }, "devDependencies": { - "@types/mocha": "10.0.6", - "@types/node": "20.12.7", + "@types/mocha": "10.0.7", + "@types/node": "20.14.10", "commander": "^12.0.0", - "core-js": "3.36.1", - "mocha": "10.4.0", + "core-js": "3.37.1", + "mocha": "10.6.0", "ts-node": "10.9.2", - "typescript": "5.4.5" + "typescript": "5.5.3" } }, "node_modules/@cspotcode/source-map-support": { @@ -34,13 +34,13 @@ } }, "node_modules/@cucumber/messages": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-24.0.0.tgz", - "integrity": "sha512-WQalT7z1j7QBZC3BiTpJjuy5i0ZyAY364gIwiqkkim0PmPHuII02TnXgYWl32ATf8tM9+RoojQVgcy5nP0vYgw==", + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-25.0.1.tgz", + "integrity": "sha512-RjjhmzcauX5eYfcKns5pgenefDJQcfXE3ZDrVWdUDGcoaoyFVDmj+ZzQZWRWqFrfMjP3lKHJss6LtvIP/z+h8g==", "dependencies": { - "@types/uuid": "9.0.7", + "@types/uuid": "9.0.8", "class-transformer": "0.5.1", - "reflect-metadata": "0.1.13", + "reflect-metadata": "0.2.2", "uuid": "9.0.1" } }, @@ -94,24 +94,24 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", "dev": true }, "node_modules/@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/uuid": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", - "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==" + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" }, "node_modules/acorn": { "version": "8.8.0", @@ -135,9 +135,9 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { "node": ">=6" @@ -217,12 +217,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -345,9 +345,9 @@ } }, "node_modules/core-js": { - "version": "3.36.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", - "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", "dev": true, "hasInstallScript": true, "funding": { @@ -362,9 +362,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -397,9 +397,9 @@ } }, "node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "engines": { "node": ">=0.3.1" @@ -433,9 +433,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -685,9 +685,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -697,31 +697,31 @@ } }, "node_modules/mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", + "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -828,9 +828,9 @@ } }, "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" }, "node_modules/require-directory": { "version": "2.1.1", @@ -862,9 +862,9 @@ ] }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -988,9 +988,9 @@ } }, "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -1025,9 +1025,9 @@ "dev": true }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "node_modules/wrap-ansi": { @@ -1081,9 +1081,9 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -1137,13 +1137,13 @@ } }, "@cucumber/messages": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-24.0.0.tgz", - "integrity": "sha512-WQalT7z1j7QBZC3BiTpJjuy5i0ZyAY364gIwiqkkim0PmPHuII02TnXgYWl32ATf8tM9+RoojQVgcy5nP0vYgw==", + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-25.0.1.tgz", + "integrity": "sha512-RjjhmzcauX5eYfcKns5pgenefDJQcfXE3ZDrVWdUDGcoaoyFVDmj+ZzQZWRWqFrfMjP3lKHJss6LtvIP/z+h8g==", "requires": { - "@types/uuid": "9.0.7", + "@types/uuid": "9.0.8", "class-transformer": "0.5.1", - "reflect-metadata": "0.1.13", + "reflect-metadata": "0.2.2", "uuid": "9.0.1" } }, @@ -1194,24 +1194,24 @@ "dev": true }, "@types/mocha": { - "version": "10.0.6", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", - "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", "dev": true }, "@types/node": { - "version": "20.12.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", - "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", + "version": "20.14.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz", + "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==", "dev": true, "requires": { "undici-types": "~5.26.4" } }, "@types/uuid": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", - "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==" + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==" }, "acorn": { "version": "8.8.0", @@ -1226,9 +1226,9 @@ "dev": true }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-regex": { @@ -1290,12 +1290,12 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browser-stdout": { @@ -1385,9 +1385,9 @@ "dev": true }, "core-js": { - "version": "3.36.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz", - "integrity": "sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", "dev": true }, "create-require": { @@ -1397,9 +1397,9 @@ "dev": true }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "requires": { "ms": "2.1.2" @@ -1420,9 +1420,9 @@ "dev": true }, "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, "emoji-regex": { @@ -1444,9 +1444,9 @@ "dev": true }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -1620,40 +1620,40 @@ "dev": true }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" } }, "mocha": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.4.0.tgz", - "integrity": "sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", + "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" } }, "ms": { @@ -1726,9 +1726,9 @@ } }, "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==" }, "require-directory": { "version": "2.1.1", @@ -1743,9 +1743,9 @@ "dev": true }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -1825,9 +1825,9 @@ } }, "typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "dev": true }, "undici-types": { @@ -1848,9 +1848,9 @@ "dev": true }, "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -1892,9 +1892,9 @@ } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, "yargs-unparser": { diff --git a/javascript/package.json b/javascript/package.json index 479aa71c5..404dcdab9 100644 --- a/javascript/package.json +++ b/javascript/package.json @@ -31,16 +31,16 @@ }, "homepage": "https://github.com/cucumber/gherkin", "devDependencies": { - "@types/mocha": "10.0.6", - "@types/node": "20.12.7", + "@types/mocha": "10.0.7", + "@types/node": "20.14.10", "commander": "^12.0.0", - "core-js": "3.36.1", - "mocha": "10.4.0", + "core-js": "3.37.1", + "mocha": "10.6.0", "ts-node": "10.9.2", - "typescript": "5.4.5" + "typescript": "5.5.3" }, "dependencies": { - "@cucumber/messages": ">=19.1.4 <=24" + "@cucumber/messages": "<=25" }, "directories": { "test": "test" diff --git a/javascript/src/gherkin-languages.json b/javascript/src/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/javascript/src/gherkin-languages.json +++ b/javascript/src/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/objective-c/GherkinLanguages/gherkin-languages.json b/objective-c/GherkinLanguages/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/objective-c/GherkinLanguages/gherkin-languages.json +++ b/objective-c/GherkinLanguages/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/perl/cpanfile b/perl/cpanfile index cf65f08b5..8ab78990f 100644 --- a/perl/cpanfile +++ b/perl/cpanfile @@ -4,7 +4,7 @@ requires "Cpanel::JSON::XS"; requires "Class::XSAccessor"; requires "Cucumber::Messages", ">= 22.0.0, < 23.0.0"; requires "Data::UUID"; -requires "Getopt::Long", "2.57"; +requires "Getopt::Long", "2.58"; requires "List::Util", "1.63"; on 'test' => sub { diff --git a/perl/lib/Gherkin/Generated/Languages.pm b/perl/lib/Gherkin/Generated/Languages.pm index 91a4482cb..84ff15a07 100644 --- a/perl/lib/Gherkin/Generated/Languages.pm +++ b/perl/lib/Gherkin/Generated/Languages.pm @@ -3,5 +3,5 @@ package Gherkin::Generated::Languages; use strict; use warnings; use utf8; -our $data = {'af',{'and',['* ','En '],'background',['Agtergrond'],'but',['* ','Maar '],'examples',['Voorbeelde'],'feature',['Funksie','Besigheid Behoefte','Vermoë'],'given',['* ','Gegewe '],'name','Afrikaans','native','Afrikaans','rule',['Regel'],'scenario',['Voorbeeld','Situasie'],'scenarioOutline',['Situasie Uiteensetting'],'then',['* ','Dan '],'when',['* ','Wanneer ']},'am',{'and',['* ','Եվ '],'background',['Կոնտեքստ'],'but',['* ','Բայց '],'examples',['Օրինակներ'],'feature',['Ֆունկցիոնալություն','Հատկություն'],'given',['* ','Դիցուք '],'name','Armenian','native','հայերեն','rule',['Rule'],'scenario',['Օրինակ','Սցենար'],'scenarioOutline',['Սցենարի կառուցվացքը'],'then',['* ','Ապա '],'when',['* ','Եթե ','Երբ ']},'amh',{'and',['* ','እና '],'background',['ቅድመ ሁኔታ','መነሻ','መነሻ ሀሳብ'],'but',['* ','ግን '],'examples',['ምሳሌዎች','ሁናቴዎች'],'feature',['ስራ','የተፈለገው ስራ','የሚፈለገው ድርጊት'],'given',['* ','የተሰጠ '],'name','Amharic','native','አማርኛ','rule',['ህግ'],'scenario',['ምሳሌ','ሁናቴ'],'scenarioOutline',['ሁናቴ ዝርዝር','ሁናቴ አብነት'],'then',['* ','ከዚያ '],'when',['* ','መቼ ']},'an',{'and',['* ','Y ','E '],'background',['Antecedents'],'but',['* ','Pero '],'examples',['Eixemplos'],'feature',['Caracteristica'],'given',['* ','Dau ','Dada ','Daus ','Dadas '],'name','Aragonese','native','Aragonés','rule',['Rule'],'scenario',['Eixemplo','Caso'],'scenarioOutline',['Esquema del caso'],'then',['* ','Alavez ','Allora ','Antonces '],'when',['* ','Cuan ']},'ar',{'and',['* ','و '],'background',['الخلفية'],'but',['* ','لكن '],'examples',['امثلة'],'feature',['خاصية'],'given',['* ','بفرض '],'name','Arabic','native','العربية','rule',['Rule'],'scenario',['مثال','سيناريو'],'scenarioOutline',['سيناريو مخطط'],'then',['* ','اذاً ','ثم '],'when',['* ','متى ','عندما ']},'ast',{'and',['* ','Y ','Ya '],'background',['Antecedentes'],'but',['* ','Peru '],'examples',['Exemplos'],'feature',['Carauterística'],'given',['* ','Dáu ','Dada ','Daos ','Daes '],'name','Asturian','native','asturianu','rule',['Rule'],'scenario',['Exemplo','Casu'],'scenarioOutline',['Esbozu del casu'],'then',['* ','Entós '],'when',['* ','Cuando ']},'az',{'and',['* ','Və ','Həm '],'background',['Keçmiş','Kontekst'],'but',['* ','Amma ','Ancaq '],'examples',['Nümunələr'],'feature',['Özəllik'],'given',['* ','Tutaq ki ','Verilir '],'name','Azerbaijani','native','Azərbaycanca','rule',['Rule'],'scenario',['Nümunə','Ssenari'],'scenarioOutline',['Ssenarinin strukturu'],'then',['* ','O halda '],'when',['* ','Əgər ','Nə vaxt ki ']},'bg',{'and',['* ','И '],'background',['Предистория'],'but',['* ','Но '],'examples',['Примери'],'feature',['Функционалност'],'given',['* ','Дадено '],'name','Bulgarian','native','български','rule',['Правило'],'scenario',['Пример','Сценарий'],'scenarioOutline',['Рамка на сценарий'],'then',['* ','То '],'when',['* ','Когато ']},'bm',{'and',['* ','Dan '],'background',['Latar Belakang'],'but',['* ','Tetapi ','Tapi '],'examples',['Contoh'],'feature',['Fungsi'],'given',['* ','Diberi ','Bagi '],'name','Malay','native','Bahasa Melayu','rule',['Rule'],'scenario',['Senario','Situasi','Keadaan'],'scenarioOutline',['Kerangka Senario','Kerangka Situasi','Kerangka Keadaan','Garis Panduan Senario'],'then',['* ','Maka ','Kemudian '],'when',['* ','Apabila ']},'bs',{'and',['* ','I ','A '],'background',['Pozadina'],'but',['* ','Ali '],'examples',['Primjeri'],'feature',['Karakteristika'],'given',['* ','Dato '],'name','Bosnian','native','Bosanski','rule',['Rule'],'scenario',['Primjer','Scenariju','Scenario'],'scenarioOutline',['Scenariju-obris','Scenario-outline'],'then',['* ','Zatim '],'when',['* ','Kada ']},'ca',{'and',['* ','I '],'background',['Rerefons','Antecedents'],'but',['* ','Però '],'examples',['Exemples'],'feature',['Característica','Funcionalitat'],'given',['* ','Donat ','Donada ','Atès ','Atesa '],'name','Catalan','native','català','rule',['Rule'],'scenario',['Exemple','Escenari'],'scenarioOutline',['Esquema de l\'escenari'],'then',['* ','Aleshores ','Cal '],'when',['* ','Quan ']},'cs',{'and',['* ','A také ','A '],'background',['Pozadí','Kontext'],'but',['* ','Ale '],'examples',['Příklady'],'feature',['Požadavek'],'given',['* ','Pokud ','Za předpokladu '],'name','Czech','native','Česky','rule',['Pravidlo'],'scenario',['Příklad','Scénář'],'scenarioOutline',['Náčrt Scénáře','Osnova scénáře'],'then',['* ','Pak '],'when',['* ','Když ']},'cy-GB',{'and',['* ','A '],'background',['Cefndir'],'but',['* ','Ond '],'examples',['Enghreifftiau'],'feature',['Arwedd'],'given',['* ','Anrhegedig a '],'name','Welsh','native','Cymraeg','rule',['Rule'],'scenario',['Enghraifft','Scenario'],'scenarioOutline',['Scenario Amlinellol'],'then',['* ','Yna '],'when',['* ','Pryd ']},'da',{'and',['* ','Og '],'background',['Baggrund'],'but',['* ','Men '],'examples',['Eksempler'],'feature',['Egenskab'],'given',['* ','Givet '],'name','Danish','native','dansk','rule',['Rule'],'scenario',['Eksempel','Scenarie'],'scenarioOutline',['Abstrakt Scenario'],'then',['* ','Så '],'when',['* ','Når ']},'de',{'and',['* ','Und '],'background',['Grundlage','Hintergrund','Voraussetzungen','Vorbedingungen'],'but',['* ','Aber '],'examples',['Beispiele'],'feature',['Funktionalität','Funktion'],'given',['* ','Angenommen ','Gegeben sei ','Gegeben seien '],'name','German','native','Deutsch','rule',['Rule','Regel'],'scenario',['Beispiel','Szenario'],'scenarioOutline',['Szenariogrundriss','Szenarien'],'then',['* ','Dann '],'when',['* ','Wenn ']},'el',{'and',['* ','Και '],'background',['Υπόβαθρο'],'but',['* ','Αλλά '],'examples',['Παραδείγματα','Σενάρια'],'feature',['Δυνατότητα','Λειτουργία'],'given',['* ','Δεδομένου '],'name','Greek','native','Ελληνικά','rule',['Rule'],'scenario',['Παράδειγμα','Σενάριο'],'scenarioOutline',['Περιγραφή Σεναρίου','Περίγραμμα Σεναρίου'],'then',['* ','Τότε '],'when',['* ','Όταν ']},'em',{'and',['* ','😂'],'background',['💤'],'but',['* ','😔'],'examples',['📓'],'feature',['📚'],'given',['* ','😐'],'name','Emoji','native','😀','rule',['Rule'],'scenario',['🥒','📕'],'scenarioOutline',['📖'],'then',['* ','🙏'],'when',['* ','🎬']},'en',{'and',['* ','And '],'background',['Background'],'but',['* ','But '],'examples',['Examples','Scenarios'],'feature',['Feature','Business Need','Ability'],'given',['* ','Given '],'name','English','native','English','rule',['Rule'],'scenario',['Example','Scenario'],'scenarioOutline',['Scenario Outline','Scenario Template'],'then',['* ','Then '],'when',['* ','When ']},'en-Scouse',{'and',['* ','An '],'background',['Dis is what went down'],'but',['* ','Buh '],'examples',['Examples'],'feature',['Feature'],'given',['* ','Givun ','Youse know when youse got '],'name','Scouse','native','Scouse','rule',['Rule'],'scenario',['The thing of it is'],'scenarioOutline',['Wharrimean is'],'then',['* ','Dun ','Den youse gotta '],'when',['* ','Wun ','Youse know like when ']},'en-au',{'and',['* ','Too right '],'background',['First off'],'but',['* ','Yeah nah '],'examples',['You\'ll wanna'],'feature',['Pretty much'],'given',['* ','Y\'know '],'name','Australian','native','Australian','rule',['Rule'],'scenario',['Awww, look mate'],'scenarioOutline',['Reckon it\'s like'],'then',['* ','But at the end of the day I reckon '],'when',['* ','It\'s just unbelievable ']},'en-lol',{'and',['* ','AN '],'background',['B4'],'but',['* ','BUT '],'examples',['EXAMPLZ'],'feature',['OH HAI'],'given',['* ','I CAN HAZ '],'name','LOLCAT','native','LOLCAT','rule',['Rule'],'scenario',['MISHUN'],'scenarioOutline',['MISHUN SRSLY'],'then',['* ','DEN '],'when',['* ','WEN ']},'en-old',{'and',['* ','Ond ','7 '],'background',['Aer','Ær'],'but',['* ','Ac '],'examples',['Se the','Se þe','Se ðe'],'feature',['Hwaet','Hwæt'],'given',['* ','Thurh ','Þurh ','Ðurh '],'name','Old English','native','Englisc','rule',['Rule'],'scenario',['Swa'],'scenarioOutline',['Swa hwaer swa','Swa hwær swa'],'then',['* ','Tha ','Þa ','Ða ','Tha the ','Þa þe ','Ða ðe '],'when',['* ','Bæþsealf ','Bæþsealfa ','Bæþsealfe ','Ciricæw ','Ciricæwe ','Ciricæwa ']},'en-pirate',{'and',['* ','Aye '],'background',['Yo-ho-ho'],'but',['* ','Avast! '],'examples',['Dead men tell no tales'],'feature',['Ahoy matey!'],'given',['* ','Gangway! '],'name','Pirate','native','Pirate','rule',['Rule'],'scenario',['Heave to'],'scenarioOutline',['Shiver me timbers'],'then',['* ','Let go and haul '],'when',['* ','Blimey! ']},'en-tx',{'and',['Come hell or high water '],'background',['Lemme tell y\'all a story'],'but',['Well now hold on, I\'ll you what '],'examples',['Now that\'s a story longer than a cattle drive in July'],'feature',['This ain’t my first rodeo','All gussied up'],'given',['Fixin\' to ','All git out '],'name','Texas','native','Texas','rule',['Rule '],'scenario',['All hat and no cattle'],'scenarioOutline',['Serious as a snake bite','Busy as a hound in flea season'],'then',['There’s no tree but bears some fruit '],'when',['Quick out of the chute ']},'eo',{'and',['* ','Kaj '],'background',['Fono'],'but',['* ','Sed '],'examples',['Ekzemploj'],'feature',['Trajto'],'given',['* ','Donitaĵo ','Komence '],'name','Esperanto','native','Esperanto','rule',['Rule'],'scenario',['Ekzemplo','Scenaro','Kazo'],'scenarioOutline',['Konturo de la scenaro','Skizo','Kazo-skizo'],'then',['* ','Do '],'when',['* ','Se ']},'es',{'and',['* ','Y ','E '],'background',['Antecedentes'],'but',['* ','Pero '],'examples',['Ejemplos'],'feature',['Característica','Necesidad del negocio','Requisito'],'given',['* ','Dado ','Dada ','Dados ','Dadas '],'name','Spanish','native','español','rule',['Regla','Regla de negocio'],'scenario',['Ejemplo','Escenario'],'scenarioOutline',['Esquema del escenario'],'then',['* ','Entonces '],'when',['* ','Cuando ']},'et',{'and',['* ','Ja '],'background',['Taust'],'but',['* ','Kuid '],'examples',['Juhtumid'],'feature',['Omadus'],'given',['* ','Eeldades '],'name','Estonian','native','eesti keel','rule',['Reegel'],'scenario',['Juhtum','Stsenaarium'],'scenarioOutline',['Raamjuhtum','Raamstsenaarium'],'then',['* ','Siis '],'when',['* ','Kui ']},'fa',{'and',['* ','و '],'background',['زمینه'],'but',['* ','اما '],'examples',['نمونه ها'],'feature',['وِیژگی'],'given',['* ','با فرض '],'name','Persian','native','فارسی','rule',['Rule'],'scenario',['مثال','سناریو'],'scenarioOutline',['الگوی سناریو'],'then',['* ','آنگاه '],'when',['* ','هنگامی ']},'fi',{'and',['* ','Ja '],'background',['Tausta'],'but',['* ','Mutta '],'examples',['Tapaukset'],'feature',['Ominaisuus'],'given',['* ','Oletetaan '],'name','Finnish','native','suomi','rule',['Rule'],'scenario',['Tapaus'],'scenarioOutline',['Tapausaihio'],'then',['* ','Niin '],'when',['* ','Kun ']},'fr',{'and',['* ','Et que ','Et qu\'','Et '],'background',['Contexte'],'but',['* ','Mais que ','Mais qu\'','Mais '],'examples',['Exemples'],'feature',['Fonctionnalité'],'given',['* ','Soit ','Sachant que ','Sachant qu\'','Sachant ','Etant donné que ','Etant donné qu\'','Etant donné ','Etant donnée ','Etant donnés ','Etant données ','Étant donné que ','Étant donné qu\'','Étant donné ','Étant donnée ','Étant donnés ','Étant données '],'name','French','native','français','rule',['Règle'],'scenario',['Exemple','Scénario'],'scenarioOutline',['Plan du scénario','Plan du Scénario'],'then',['* ','Alors ','Donc '],'when',['* ','Quand ','Lorsque ','Lorsqu\'']},'ga',{'and',['* ','Agus'],'background',['Cúlra'],'but',['* ','Ach'],'examples',['Samplaí'],'feature',['Gné'],'given',['* ','Cuir i gcás go','Cuir i gcás nach','Cuir i gcás gur','Cuir i gcás nár'],'name','Irish','native','Gaeilge','rule',['Riail'],'scenario',['Sampla','Cás'],'scenarioOutline',['Cás Achomair'],'then',['* ','Ansin'],'when',['* ','Nuair a','Nuair nach','Nuair ba','Nuair nár']},'gj',{'and',['* ','અને '],'background',['બેકગ્રાઉન્ડ'],'but',['* ','પણ '],'examples',['ઉદાહરણો'],'feature',['લક્ષણ','વ્યાપાર જરૂર','ક્ષમતા'],'given',['* ','આપેલ છે '],'name','Gujarati','native','ગુજરાતી','rule',['Rule'],'scenario',['ઉદાહરણ','સ્થિતિ'],'scenarioOutline',['પરિદ્દશ્ય રૂપરેખા','પરિદ્દશ્ય ઢાંચો'],'then',['* ','પછી '],'when',['* ','ક્યારે ']},'gl',{'and',['* ','E '],'background',['Contexto'],'but',['* ','Mais ','Pero '],'examples',['Exemplos'],'feature',['Característica'],'given',['* ','Dado ','Dada ','Dados ','Dadas '],'name','Galician','native','galego','rule',['Rule'],'scenario',['Exemplo','Escenario'],'scenarioOutline',['Esbozo do escenario'],'then',['* ','Entón ','Logo '],'when',['* ','Cando ']},'he',{'and',['* ','וגם '],'background',['רקע'],'but',['* ','אבל '],'examples',['דוגמאות'],'feature',['תכונה'],'given',['* ','בהינתן '],'name','Hebrew','native','עברית','rule',['כלל'],'scenario',['דוגמא','תרחיש'],'scenarioOutline',['תבנית תרחיש'],'then',['* ','אז ','אזי '],'when',['* ','כאשר ']},'hi',{'and',['* ','और ','तथा '],'background',['पृष्ठभूमि'],'but',['* ','पर ','परन्तु ','किन्तु '],'examples',['उदाहरण'],'feature',['रूप लेख'],'given',['* ','अगर ','यदि ','चूंकि '],'name','Hindi','native','हिंदी','rule',['नियम'],'scenario',['परिदृश्य'],'scenarioOutline',['परिदृश्य रूपरेखा'],'then',['* ','तब ','तदा '],'when',['* ','जब ','कदा ']},'hr',{'and',['* ','I '],'background',['Pozadina'],'but',['* ','Ali '],'examples',['Primjeri','Scenariji'],'feature',['Osobina','Mogućnost','Mogucnost'],'given',['* ','Zadan ','Zadani ','Zadano ','Ukoliko '],'name','Croatian','native','hrvatski','rule',['Rule'],'scenario',['Primjer','Scenarij'],'scenarioOutline',['Skica','Koncept'],'then',['* ','Onda '],'when',['* ','Kada ','Kad ']},'ht',{'and',['* ','Ak ','Epi ','E '],'background',['Kontèks','Istorik'],'but',['* ','Men '],'examples',['Egzanp'],'feature',['Karakteristik','Mak','Fonksyonalite'],'given',['* ','Sipoze ','Sipoze ke ','Sipoze Ke '],'name','Creole','native','kreyòl','rule',['Rule'],'scenario',['Senaryo'],'scenarioOutline',['Plan senaryo','Plan Senaryo','Senaryo deskripsyon','Senaryo Deskripsyon','Dyagram senaryo','Dyagram Senaryo'],'then',['* ','Lè sa a ','Le sa a '],'when',['* ','Lè ','Le ']},'hu',{'and',['* ','És '],'background',['Háttér'],'but',['* ','De '],'examples',['Példák'],'feature',['Jellemző'],'given',['* ','Amennyiben ','Adott '],'name','Hungarian','native','magyar','rule',['Szabály'],'scenario',['Példa','Forgatókönyv'],'scenarioOutline',['Forgatókönyv vázlat'],'then',['* ','Akkor '],'when',['* ','Majd ','Ha ','Amikor ']},'id',{'and',['* ','Dan '],'background',['Dasar','Latar Belakang'],'but',['* ','Tapi ','Tetapi '],'examples',['Contoh','Misal'],'feature',['Fitur'],'given',['* ','Dengan ','Diketahui ','Diasumsikan ','Bila ','Jika '],'name','Indonesian','native','Bahasa Indonesia','rule',['Rule','Aturan'],'scenario',['Skenario'],'scenarioOutline',['Skenario konsep','Garis-Besar Skenario'],'then',['* ','Maka ','Kemudian '],'when',['* ','Ketika ']},'is',{'and',['* ','Og '],'background',['Bakgrunnur'],'but',['* ','En '],'examples',['Dæmi','Atburðarásir'],'feature',['Eiginleiki'],'given',['* ','Ef '],'name','Icelandic','native','Íslenska','rule',['Rule'],'scenario',['Atburðarás'],'scenarioOutline',['Lýsing Atburðarásar','Lýsing Dæma'],'then',['* ','Þá '],'when',['* ','Þegar ']},'it',{'and',['* ','E '],'background',['Contesto'],'but',['* ','Ma '],'examples',['Esempi'],'feature',['Funzionalità','Esigenza di Business','Abilità'],'given',['* ','Dato ','Data ','Dati ','Date '],'name','Italian','native','italiano','rule',['Regola'],'scenario',['Esempio','Scenario'],'scenarioOutline',['Schema dello scenario'],'then',['* ','Allora '],'when',['* ','Quando ']},'ja',{'and',['* ','且つ','かつ'],'background',['背景'],'but',['* ','然し','しかし','但し','ただし'],'examples',['例','サンプル'],'feature',['フィーチャ','機能'],'given',['* ','前提'],'name','Japanese','native','日本語','rule',['ルール'],'scenario',['シナリオ'],'scenarioOutline',['シナリオアウトライン','シナリオテンプレート','テンプレ','シナリオテンプレ'],'then',['* ','ならば'],'when',['* ','もし']},'jv',{'and',['* ','Lan '],'background',['Dasar'],'but',['* ','Tapi ','Nanging ','Ananging '],'examples',['Conto','Contone'],'feature',['Fitur'],'given',['* ','Nalika ','Nalikaning '],'name','Javanese','native','Basa Jawa','rule',['Rule'],'scenario',['Skenario'],'scenarioOutline',['Konsep skenario'],'then',['* ','Njuk ','Banjur '],'when',['* ','Manawa ','Menawa ']},'ka',{'and',['* ','და ','ასევე '],'background',['კონტექსტი'],'but',['* ','მაგრამ ','თუმცა '],'examples',['მაგალითები'],'feature',['თვისება','მოთხოვნა'],'given',['* ','მოცემული ','მოცემულია ','ვთქვათ '],'name','Georgian','native','ქართული','rule',['წესი'],'scenario',['მაგალითად','მაგალითი','მაგ','სცენარი'],'scenarioOutline',['სცენარის ნიმუში','სცენარის შაბლონი','ნიმუში','შაბლონი'],'then',['* ','მაშინ '],'when',['* ','როდესაც ','როცა ','როგორც კი ','თუ ']},'kn',{'and',['* ','ಮತ್ತು '],'background',['ಹಿನ್ನೆಲೆ'],'but',['* ','ಆದರೆ '],'examples',['ಉದಾಹರಣೆಗಳು'],'feature',['ಹೆಚ್ಚಳ'],'given',['* ','ನೀಡಿದ '],'name','Kannada','native','ಕನ್ನಡ','rule',['Rule'],'scenario',['ಉದಾಹರಣೆ','ಕಥಾಸಾರಾಂಶ'],'scenarioOutline',['ವಿವರಣೆ'],'then',['* ','ನಂತರ '],'when',['* ','ಸ್ಥಿತಿಯನ್ನು ']},'ko',{'and',['* ','그리고'],'background',['배경'],'but',['* ','하지만','단'],'examples',['예'],'feature',['기능'],'given',['* ','조건','먼저'],'name','Korean','native','한국어','rule',['Rule'],'scenario',['시나리오'],'scenarioOutline',['시나리오 개요'],'then',['* ','그러면'],'when',['* ','만일','만약']},'lt',{'and',['* ','Ir '],'background',['Kontekstas'],'but',['* ','Bet '],'examples',['Pavyzdžiai','Scenarijai','Variantai'],'feature',['Savybė'],'given',['* ','Duota '],'name','Lithuanian','native','lietuvių kalba','rule',['Rule'],'scenario',['Pavyzdys','Scenarijus'],'scenarioOutline',['Scenarijaus šablonas'],'then',['* ','Tada '],'when',['* ','Kai ']},'lu',{'and',['* ','an ','a '],'background',['Hannergrond'],'but',['* ','awer ','mä '],'examples',['Beispiller'],'feature',['Funktionalitéit'],'given',['* ','ugeholl '],'name','Luxemburgish','native','Lëtzebuergesch','rule',['Rule'],'scenario',['Beispill','Szenario'],'scenarioOutline',['Plang vum Szenario'],'then',['* ','dann '],'when',['* ','wann ']},'lv',{'and',['* ','Un '],'background',['Konteksts','Situācija'],'but',['* ','Bet '],'examples',['Piemēri','Paraugs'],'feature',['Funkcionalitāte','Fīča'],'given',['* ','Kad '],'name','Latvian','native','latviešu','rule',['Rule'],'scenario',['Piemērs','Scenārijs'],'scenarioOutline',['Scenārijs pēc parauga'],'then',['* ','Tad '],'when',['* ','Ja ']},'mk-Cyrl',{'and',['* ','И '],'background',['Контекст','Содржина'],'but',['* ','Но '],'examples',['Примери','Сценарија'],'feature',['Функционалност','Бизнис потреба','Можност'],'given',['* ','Дадено ','Дадена '],'name','Macedonian','native','Македонски','rule',['Rule'],'scenario',['Пример','Сценарио','На пример'],'scenarioOutline',['Преглед на сценарија','Скица','Концепт'],'then',['* ','Тогаш '],'when',['* ','Кога ']},'mk-Latn',{'and',['* ','I '],'background',['Kontekst','Sodrzhina'],'but',['* ','No '],'examples',['Primeri','Scenaria'],'feature',['Funkcionalnost','Biznis potreba','Mozhnost'],'given',['* ','Dadeno ','Dadena '],'name','Macedonian (Latin)','native','Makedonski (Latinica)','rule',['Rule'],'scenario',['Scenario','Na primer'],'scenarioOutline',['Pregled na scenarija','Skica','Koncept'],'then',['* ','Togash '],'when',['* ','Koga ']},'mn',{'and',['* ','Мөн ','Тэгээд '],'background',['Агуулга'],'but',['* ','Гэхдээ ','Харин '],'examples',['Тухайлбал'],'feature',['Функц','Функционал'],'given',['* ','Өгөгдсөн нь ','Анх '],'name','Mongolian','native','монгол','rule',['Rule'],'scenario',['Сценар'],'scenarioOutline',['Сценарын төлөвлөгөө'],'then',['* ','Тэгэхэд ','Үүний дараа '],'when',['* ','Хэрэв ']},'mr',{'and',['* ','आणि ','तसेच '],'background',['पार्श्वभूमी'],'but',['* ','पण ','परंतु '],'examples',['उदाहरण'],'feature',['वैशिष्ट्य','सुविधा'],'given',['* ','जर','दिलेल्या प्रमाणे '],'name','Marathi','native','मराठी','rule',['नियम'],'scenario',['परिदृश्य'],'scenarioOutline',['परिदृश्य रूपरेखा'],'then',['* ','मग ','तेव्हा '],'when',['* ','जेव्हा ']},'ne',{'and',['* ','र ','अनि '],'background',['पृष्ठभूमी'],'but',['* ','तर '],'examples',['उदाहरण','उदाहरणहरु'],'feature',['सुविधा','विशेषता'],'given',['* ','दिइएको ','दिएको ','यदि '],'name','Nepali','native','नेपाली','rule',['नियम'],'scenario',['परिदृश्य'],'scenarioOutline',['परिदृश्य रूपरेखा'],'then',['* ','त्यसपछि ','अनी '],'when',['* ','जब ']},'nl',{'and',['* ','En '],'background',['Achtergrond'],'but',['* ','Maar '],'examples',['Voorbeelden'],'feature',['Functionaliteit'],'given',['* ','Gegeven ','Stel '],'name','Dutch','native','Nederlands','rule',['Rule'],'scenario',['Voorbeeld','Scenario'],'scenarioOutline',['Abstract Scenario'],'then',['* ','Dan '],'when',['* ','Als ','Wanneer ']},'no',{'and',['* ','Og '],'background',['Bakgrunn'],'but',['* ','Men '],'examples',['Eksempler'],'feature',['Egenskap'],'given',['* ','Gitt '],'name','Norwegian','native','norsk','rule',['Regel'],'scenario',['Eksempel','Scenario'],'scenarioOutline',['Scenariomal','Abstrakt Scenario'],'then',['* ','Så '],'when',['* ','Når ']},'pa',{'and',['* ','ਅਤੇ '],'background',['ਪਿਛੋਕੜ'],'but',['* ','ਪਰ '],'examples',['ਉਦਾਹਰਨਾਂ'],'feature',['ਖਾਸੀਅਤ','ਮੁਹਾਂਦਰਾ','ਨਕਸ਼ ਨੁਹਾਰ'],'given',['* ','ਜੇਕਰ ','ਜਿਵੇਂ ਕਿ '],'name','Panjabi','native','ਪੰਜਾਬੀ','rule',['Rule'],'scenario',['ਉਦਾਹਰਨ','ਪਟਕਥਾ'],'scenarioOutline',['ਪਟਕਥਾ ਢਾਂਚਾ','ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ'],'then',['* ','ਤਦ '],'when',['* ','ਜਦੋਂ ']},'pl',{'and',['* ','Oraz ','I '],'background',['Założenia'],'but',['* ','Ale '],'examples',['Przykłady'],'feature',['Właściwość','Funkcja','Aspekt','Potrzeba biznesowa'],'given',['* ','Zakładając ','Mając ','Zakładając, że '],'name','Polish','native','polski','rule',['Zasada','Reguła'],'scenario',['Przykład','Scenariusz'],'scenarioOutline',['Szablon scenariusza'],'then',['* ','Wtedy '],'when',['* ','Jeżeli ','Jeśli ','Gdy ','Kiedy ']},'pt',{'and',['* ','E '],'background',['Contexto','Cenário de Fundo','Cenario de Fundo','Fundo'],'but',['* ','Mas '],'examples',['Exemplos','Cenários','Cenarios'],'feature',['Funcionalidade','Característica','Caracteristica'],'given',['* ','Dado ','Dada ','Dados ','Dadas '],'name','Portuguese','native','português','rule',['Regra'],'scenario',['Exemplo','Cenário','Cenario'],'scenarioOutline',['Esquema do Cenário','Esquema do Cenario','Delineação do Cenário','Delineacao do Cenario'],'then',['* ','Então ','Entao '],'when',['* ','Quando ']},'ro',{'and',['* ','Si ','Și ','Şi '],'background',['Context'],'but',['* ','Dar '],'examples',['Exemple'],'feature',['Functionalitate','Funcționalitate','Funcţionalitate'],'given',['* ','Date fiind ','Dat fiind ','Dată fiind','Dati fiind ','Dați fiind ','Daţi fiind '],'name','Romanian','native','română','rule',['Rule'],'scenario',['Exemplu','Scenariu'],'scenarioOutline',['Structura scenariu','Structură scenariu'],'then',['* ','Atunci '],'when',['* ','Cand ','Când ']},'ru',{'and',['* ','И ','К тому же ','Также '],'background',['Предыстория','Контекст'],'but',['* ','Но ','А ','Иначе '],'examples',['Примеры'],'feature',['Функция','Функциональность','Функционал','Свойство','Фича'],'given',['* ','Допустим ','Дано ','Пусть '],'name','Russian','native','русский','rule',['Правило'],'scenario',['Пример','Сценарий'],'scenarioOutline',['Структура сценария','Шаблон сценария'],'then',['* ','То ','Затем ','Тогда '],'when',['* ','Когда ','Если ']},'sk',{'and',['* ','A ','A tiež ','A taktiež ','A zároveň '],'background',['Pozadie'],'but',['* ','Ale '],'examples',['Príklady'],'feature',['Požiadavka','Funkcia','Vlastnosť'],'given',['* ','Pokiaľ ','Za predpokladu '],'name','Slovak','native','Slovensky','rule',['Rule'],'scenario',['Príklad','Scenár'],'scenarioOutline',['Náčrt Scenáru','Náčrt Scenára','Osnova Scenára'],'then',['* ','Tak ','Potom '],'when',['* ','Keď ','Ak ']},'sl',{'and',['In ','Ter '],'background',['Kontekst','Osnova','Ozadje'],'but',['Toda ','Ampak ','Vendar '],'examples',['Primeri','Scenariji'],'feature',['Funkcionalnost','Funkcija','Možnosti','Moznosti','Lastnost','Značilnost'],'given',['Dano ','Podano ','Zaradi ','Privzeto '],'name','Slovenian','native','Slovenski','rule',['Rule'],'scenario',['Primer','Scenarij'],'scenarioOutline',['Struktura scenarija','Skica','Koncept','Oris scenarija','Osnutek'],'then',['Nato ','Potem ','Takrat '],'when',['Ko ','Ce ','Če ','Kadar ']},'sr-Cyrl',{'and',['* ','И '],'background',['Контекст','Основа','Позадина'],'but',['* ','Али '],'examples',['Примери','Сценарији'],'feature',['Функционалност','Могућност','Особина'],'given',['* ','За дато ','За дате ','За дати '],'name','Serbian','native','Српски','rule',['Правило'],'scenario',['Пример','Сценарио','Пример'],'scenarioOutline',['Структура сценарија','Скица','Концепт'],'then',['* ','Онда '],'when',['* ','Када ','Кад ']},'sr-Latn',{'and',['* ','I '],'background',['Kontekst','Osnova','Pozadina'],'but',['* ','Ali '],'examples',['Primeri','Scenariji'],'feature',['Funkcionalnost','Mogućnost','Mogucnost','Osobina'],'given',['* ','Za dato ','Za date ','Za dati '],'name','Serbian (Latin)','native','Srpski (Latinica)','rule',['Pravilo'],'scenario',['Scenario','Primer'],'scenarioOutline',['Struktura scenarija','Skica','Koncept'],'then',['* ','Onda '],'when',['* ','Kada ','Kad ']},'sv',{'and',['* ','Och '],'background',['Bakgrund'],'but',['* ','Men '],'examples',['Exempel'],'feature',['Egenskap'],'given',['* ','Givet '],'name','Swedish','native','Svenska','rule',['Regel'],'scenario',['Scenario'],'scenarioOutline',['Abstrakt Scenario','Scenariomall'],'then',['* ','Så '],'when',['* ','När ']},'ta',{'and',['* ','மேலும் ','மற்றும் '],'background',['பின்னணி'],'but',['* ','ஆனால் '],'examples',['எடுத்துக்காட்டுகள்','காட்சிகள்','நிலைமைகளில்'],'feature',['அம்சம்','வணிக தேவை','திறன்'],'given',['* ','கொடுக்கப்பட்ட '],'name','Tamil','native','தமிழ்','rule',['Rule'],'scenario',['உதாரணமாக','காட்சி'],'scenarioOutline',['காட்சி சுருக்கம்','காட்சி வார்ப்புரு'],'then',['* ','அப்பொழுது '],'when',['* ','எப்போது ']},'te',{'and',['* ','మరియు '],'background',['నేపథ్యం'],'but',['* ','కాని '],'examples',['ఉదాహరణలు'],'feature',['గుణము'],'given',['* ','చెప్పబడినది '],'name','Telugu','native','తెలుగు','rule',['Rule'],'scenario',['ఉదాహరణ','సన్నివేశం'],'scenarioOutline',['కథనం'],'then',['* ','అప్పుడు '],'when',['* ','ఈ పరిస్థితిలో ']},'th',{'and',['* ','และ '],'background',['แนวคิด'],'but',['* ','แต่ '],'examples',['ชุดของตัวอย่าง','ชุดของเหตุการณ์'],'feature',['โครงหลัก','ความต้องการทางธุรกิจ','ความสามารถ'],'given',['* ','กำหนดให้ '],'name','Thai','native','ไทย','rule',['Rule'],'scenario',['เหตุการณ์'],'scenarioOutline',['สรุปเหตุการณ์','โครงสร้างของเหตุการณ์'],'then',['* ','ดังนั้น '],'when',['* ','เมื่อ ']},'tlh',{'and',['* ','\'ej ','latlh '],'background',['mo\''],'but',['* ','\'ach ','\'a '],'examples',['ghantoH','lutmey'],'feature',['Qap','Qu\'meH \'ut','perbogh','poQbogh malja\'','laH'],'given',['* ','ghu\' noblu\' ','DaH ghu\' bejlu\' '],'name','Klingon','native','tlhIngan','rule',['Rule'],'scenario',['lut'],'scenarioOutline',['lut chovnatlh'],'then',['* ','vaj '],'when',['* ','qaSDI\' ']},'tr',{'and',['* ','Ve '],'background',['Geçmiş'],'but',['* ','Fakat ','Ama '],'examples',['Örnekler'],'feature',['Özellik'],'given',['* ','Diyelim ki '],'name','Turkish','native','Türkçe','rule',['Kural'],'scenario',['Örnek','Senaryo'],'scenarioOutline',['Senaryo taslağı'],'then',['* ','O zaman '],'when',['* ','Eğer ki ']},'tt',{'and',['* ','Һәм ','Вә '],'background',['Кереш'],'but',['* ','Ләкин ','Әмма '],'examples',['Үрнәкләр','Мисаллар'],'feature',['Мөмкинлек','Үзенчәлеклелек'],'given',['* ','Әйтик '],'name','Tatar','native','Татарча','rule',['Rule'],'scenario',['Сценарий'],'scenarioOutline',['Сценарийның төзелеше'],'then',['* ','Нәтиҗәдә '],'when',['* ','Әгәр ']},'uk',{'and',['* ','І ','А також ','Та '],'background',['Передумова'],'but',['* ','Але '],'examples',['Приклади'],'feature',['Функціонал'],'given',['* ','Припустимо ','Припустимо, що ','Нехай ','Дано '],'name','Ukrainian','native','Українська','rule',['Rule'],'scenario',['Приклад','Сценарій'],'scenarioOutline',['Структура сценарію'],'then',['* ','То ','Тоді '],'when',['* ','Якщо ','Коли ']},'ur',{'and',['* ','اور '],'background',['پس منظر'],'but',['* ','لیکن '],'examples',['مثالیں'],'feature',['صلاحیت','کاروبار کی ضرورت','خصوصیت'],'given',['* ','اگر ','بالفرض ','فرض کیا '],'name','Urdu','native','اردو','rule',['Rule'],'scenario',['منظرنامہ'],'scenarioOutline',['منظر نامے کا خاکہ'],'then',['* ','پھر ','تب '],'when',['* ','جب ']},'uz',{'and',['* ','Ва '],'background',['Тарих'],'but',['* ','Лекин ','Бирок ','Аммо '],'examples',['Мисоллар'],'feature',['Функционал'],'given',['* ','Belgilangan '],'name','Uzbek','native','Узбекча','rule',['Rule'],'scenario',['Сценарий'],'scenarioOutline',['Сценарий структураси'],'then',['* ','Унда '],'when',['* ','Агар ']},'vi',{'and',['* ','Và '],'background',['Bối cảnh'],'but',['* ','Nhưng '],'examples',['Dữ liệu'],'feature',['Tính năng'],'given',['* ','Biết ','Cho '],'name','Vietnamese','native','Tiếng Việt','rule',['Rule'],'scenario',['Tình huống','Kịch bản'],'scenarioOutline',['Khung tình huống','Khung kịch bản'],'then',['* ','Thì '],'when',['* ','Khi ']},'zh-CN',{'and',['* ','而且','并且','同时'],'background',['背景'],'but',['* ','但是'],'examples',['例子'],'feature',['功能'],'given',['* ','假如','假设','假定'],'name','Chinese simplified','native','简体中文','rule',['Rule','规则'],'scenario',['场景','剧本'],'scenarioOutline',['场景大纲','剧本大纲'],'then',['* ','那么'],'when',['* ','当']},'zh-TW',{'and',['* ','而且','並且','同時'],'background',['背景'],'but',['* ','但是'],'examples',['例子'],'feature',['功能'],'given',['* ','假如','假設','假定'],'name','Chinese traditional','native','繁體中文','rule',['Rule'],'scenario',['場景','劇本'],'scenarioOutline',['場景大綱','劇本大綱'],'then',['* ','那麼'],'when',['* ','當']}}; +our $data = {'af',{'and',['* ','En '],'background',['Agtergrond'],'but',['* ','Maar '],'examples',['Voorbeelde'],'feature',['Funksie','Besigheid Behoefte','Vermoë'],'given',['* ','Gegewe '],'name','Afrikaans','native','Afrikaans','rule',['Regel'],'scenario',['Voorbeeld','Situasie'],'scenarioOutline',['Situasie Uiteensetting'],'then',['* ','Dan '],'when',['* ','Wanneer ']},'am',{'and',['* ','Եվ '],'background',['Կոնտեքստ'],'but',['* ','Բայց '],'examples',['Օրինակներ'],'feature',['Ֆունկցիոնալություն','Հատկություն'],'given',['* ','Դիցուք '],'name','Armenian','native','հայերեն','rule',['Rule'],'scenario',['Օրինակ','Սցենար'],'scenarioOutline',['Սցենարի կառուցվացքը'],'then',['* ','Ապա '],'when',['* ','Եթե ','Երբ ']},'amh',{'and',['* ','እና '],'background',['ቅድመ ሁኔታ','መነሻ','መነሻ ሀሳብ'],'but',['* ','ግን '],'examples',['ምሳሌዎች','ሁናቴዎች'],'feature',['ስራ','የተፈለገው ስራ','የሚፈለገው ድርጊት'],'given',['* ','የተሰጠ '],'name','Amharic','native','አማርኛ','rule',['ህግ'],'scenario',['ምሳሌ','ሁናቴ'],'scenarioOutline',['ሁናቴ ዝርዝር','ሁናቴ አብነት'],'then',['* ','ከዚያ '],'when',['* ','መቼ ']},'an',{'and',['* ','Y ','E '],'background',['Antecedents'],'but',['* ','Pero '],'examples',['Eixemplos'],'feature',['Caracteristica'],'given',['* ','Dau ','Dada ','Daus ','Dadas '],'name','Aragonese','native','Aragonés','rule',['Rule'],'scenario',['Eixemplo','Caso'],'scenarioOutline',['Esquema del caso'],'then',['* ','Alavez ','Allora ','Antonces '],'when',['* ','Cuan ']},'ar',{'and',['* ','و '],'background',['الخلفية'],'but',['* ','لكن '],'examples',['امثلة'],'feature',['خاصية'],'given',['* ','بفرض '],'name','Arabic','native','العربية','rule',['Rule'],'scenario',['مثال','سيناريو'],'scenarioOutline',['سيناريو مخطط'],'then',['* ','اذاً ','ثم '],'when',['* ','متى ','عندما ']},'ast',{'and',['* ','Y ','Ya '],'background',['Antecedentes'],'but',['* ','Peru '],'examples',['Exemplos'],'feature',['Carauterística'],'given',['* ','Dáu ','Dada ','Daos ','Daes '],'name','Asturian','native','asturianu','rule',['Rule'],'scenario',['Exemplo','Casu'],'scenarioOutline',['Esbozu del casu'],'then',['* ','Entós '],'when',['* ','Cuando ']},'az',{'and',['* ','Və ','Həm '],'background',['Keçmiş','Kontekst'],'but',['* ','Amma ','Ancaq '],'examples',['Nümunələr'],'feature',['Özəllik'],'given',['* ','Tutaq ki ','Verilir '],'name','Azerbaijani','native','Azərbaycanca','rule',['Rule'],'scenario',['Nümunə','Ssenari'],'scenarioOutline',['Ssenarinin strukturu'],'then',['* ','O halda '],'when',['* ','Əgər ','Nə vaxt ki ']},'bg',{'and',['* ','И '],'background',['Предистория'],'but',['* ','Но '],'examples',['Примери'],'feature',['Функционалност'],'given',['* ','Дадено '],'name','Bulgarian','native','български','rule',['Правило'],'scenario',['Пример','Сценарий'],'scenarioOutline',['Рамка на сценарий'],'then',['* ','То '],'when',['* ','Когато ']},'bm',{'and',['* ','Dan '],'background',['Latar Belakang'],'but',['* ','Tetapi ','Tapi '],'examples',['Contoh'],'feature',['Fungsi'],'given',['* ','Diberi ','Bagi '],'name','Malay','native','Bahasa Melayu','rule',['Rule'],'scenario',['Senario','Situasi','Keadaan'],'scenarioOutline',['Kerangka Senario','Kerangka Situasi','Kerangka Keadaan','Garis Panduan Senario'],'then',['* ','Maka ','Kemudian '],'when',['* ','Apabila ']},'bs',{'and',['* ','I ','A '],'background',['Pozadina'],'but',['* ','Ali '],'examples',['Primjeri'],'feature',['Karakteristika'],'given',['* ','Dato '],'name','Bosnian','native','Bosanski','rule',['Rule'],'scenario',['Primjer','Scenariju','Scenario'],'scenarioOutline',['Scenariju-obris','Scenario-outline'],'then',['* ','Zatim '],'when',['* ','Kada ']},'ca',{'and',['* ','I '],'background',['Rerefons','Antecedents'],'but',['* ','Però '],'examples',['Exemples'],'feature',['Característica','Funcionalitat'],'given',['* ','Donat ','Donada ','Atès ','Atesa '],'name','Catalan','native','català','rule',['Rule'],'scenario',['Exemple','Escenari'],'scenarioOutline',['Esquema de l\'escenari'],'then',['* ','Aleshores ','Cal '],'when',['* ','Quan ']},'cs',{'and',['* ','A také ','A '],'background',['Pozadí','Kontext'],'but',['* ','Ale '],'examples',['Příklady'],'feature',['Požadavek'],'given',['* ','Pokud ','Za předpokladu '],'name','Czech','native','Česky','rule',['Pravidlo'],'scenario',['Příklad','Scénář'],'scenarioOutline',['Náčrt Scénáře','Osnova scénáře'],'then',['* ','Pak '],'when',['* ','Když ']},'cy-GB',{'and',['* ','A '],'background',['Cefndir'],'but',['* ','Ond '],'examples',['Enghreifftiau'],'feature',['Arwedd'],'given',['* ','Anrhegedig a '],'name','Welsh','native','Cymraeg','rule',['Rule'],'scenario',['Enghraifft','Scenario'],'scenarioOutline',['Scenario Amlinellol'],'then',['* ','Yna '],'when',['* ','Pryd ']},'da',{'and',['* ','Og '],'background',['Baggrund'],'but',['* ','Men '],'examples',['Eksempler'],'feature',['Egenskab'],'given',['* ','Givet '],'name','Danish','native','dansk','rule',['Rule'],'scenario',['Eksempel','Scenarie'],'scenarioOutline',['Abstrakt Scenario'],'then',['* ','Så '],'when',['* ','Når ']},'de',{'and',['* ','Und '],'background',['Grundlage','Hintergrund','Voraussetzungen','Vorbedingungen'],'but',['* ','Aber '],'examples',['Beispiele'],'feature',['Funktionalität','Funktion'],'given',['* ','Angenommen ','Gegeben sei ','Gegeben seien '],'name','German','native','Deutsch','rule',['Rule','Regel'],'scenario',['Beispiel','Szenario'],'scenarioOutline',['Szenariogrundriss','Szenarien'],'then',['* ','Dann '],'when',['* ','Wenn ']},'el',{'and',['* ','Και '],'background',['Υπόβαθρο'],'but',['* ','Αλλά '],'examples',['Παραδείγματα','Σενάρια'],'feature',['Δυνατότητα','Λειτουργία'],'given',['* ','Δεδομένου '],'name','Greek','native','Ελληνικά','rule',['Rule'],'scenario',['Παράδειγμα','Σενάριο'],'scenarioOutline',['Περιγραφή Σεναρίου','Περίγραμμα Σεναρίου'],'then',['* ','Τότε '],'when',['* ','Όταν ']},'em',{'and',['* ','😂'],'background',['💤'],'but',['* ','😔'],'examples',['📓'],'feature',['📚'],'given',['* ','😐'],'name','Emoji','native','😀','rule',['Rule'],'scenario',['🥒','📕'],'scenarioOutline',['📖'],'then',['* ','🙏'],'when',['* ','🎬']},'en',{'and',['* ','And '],'background',['Background'],'but',['* ','But '],'examples',['Examples','Scenarios'],'feature',['Feature','Business Need','Ability'],'given',['* ','Given '],'name','English','native','English','rule',['Rule'],'scenario',['Example','Scenario'],'scenarioOutline',['Scenario Outline','Scenario Template'],'then',['* ','Then '],'when',['* ','When ']},'en-Scouse',{'and',['* ','An '],'background',['Dis is what went down'],'but',['* ','Buh '],'examples',['Examples'],'feature',['Feature'],'given',['* ','Givun ','Youse know when youse got '],'name','Scouse','native','Scouse','rule',['Rule'],'scenario',['The thing of it is'],'scenarioOutline',['Wharrimean is'],'then',['* ','Dun ','Den youse gotta '],'when',['* ','Wun ','Youse know like when ']},'en-au',{'and',['* ','Too right '],'background',['First off'],'but',['* ','Yeah nah '],'examples',['You\'ll wanna'],'feature',['Pretty much'],'given',['* ','Y\'know '],'name','Australian','native','Australian','rule',['Rule'],'scenario',['Awww, look mate'],'scenarioOutline',['Reckon it\'s like'],'then',['* ','But at the end of the day I reckon '],'when',['* ','It\'s just unbelievable ']},'en-lol',{'and',['* ','AN '],'background',['B4'],'but',['* ','BUT '],'examples',['EXAMPLZ'],'feature',['OH HAI'],'given',['* ','I CAN HAZ '],'name','LOLCAT','native','LOLCAT','rule',['Rule'],'scenario',['MISHUN'],'scenarioOutline',['MISHUN SRSLY'],'then',['* ','DEN '],'when',['* ','WEN ']},'en-old',{'and',['* ','Ond ','7 '],'background',['Aer','Ær'],'but',['* ','Ac '],'examples',['Se the','Se þe','Se ðe'],'feature',['Hwaet','Hwæt'],'given',['* ','Thurh ','Þurh ','Ðurh '],'name','Old English','native','Englisc','rule',['Rule'],'scenario',['Swa'],'scenarioOutline',['Swa hwaer swa','Swa hwær swa'],'then',['* ','Tha ','Þa ','Ða ','Tha the ','Þa þe ','Ða ðe '],'when',['* ','Bæþsealf ','Bæþsealfa ','Bæþsealfe ','Ciricæw ','Ciricæwe ','Ciricæwa ']},'en-pirate',{'and',['* ','Aye '],'background',['Yo-ho-ho'],'but',['* ','Avast! '],'examples',['Dead men tell no tales'],'feature',['Ahoy matey!'],'given',['* ','Gangway! '],'name','Pirate','native','Pirate','rule',['Rule'],'scenario',['Heave to'],'scenarioOutline',['Shiver me timbers'],'then',['* ','Let go and haul '],'when',['* ','Blimey! ']},'en-tx',{'and',['Come hell or high water '],'background',['Lemme tell y\'all a story'],'but',['Well now hold on, I\'ll you what '],'examples',['Now that\'s a story longer than a cattle drive in July'],'feature',['This ain’t my first rodeo','All gussied up'],'given',['Fixin\' to ','All git out '],'name','Texas','native','Texas','rule',['Rule '],'scenario',['All hat and no cattle'],'scenarioOutline',['Serious as a snake bite','Busy as a hound in flea season'],'then',['There’s no tree but bears some fruit '],'when',['Quick out of the chute ']},'eo',{'and',['* ','Kaj '],'background',['Fono'],'but',['* ','Sed '],'examples',['Ekzemploj'],'feature',['Trajto'],'given',['* ','Donitaĵo ','Komence '],'name','Esperanto','native','Esperanto','rule',['Rule'],'scenario',['Ekzemplo','Scenaro','Kazo'],'scenarioOutline',['Konturo de la scenaro','Skizo','Kazo-skizo'],'then',['* ','Do '],'when',['* ','Se ']},'es',{'and',['* ','Y ','E '],'background',['Antecedentes'],'but',['* ','Pero '],'examples',['Ejemplos'],'feature',['Característica','Necesidad del negocio','Requisito'],'given',['* ','Dado ','Dada ','Dados ','Dadas '],'name','Spanish','native','español','rule',['Regla','Regla de negocio'],'scenario',['Ejemplo','Escenario'],'scenarioOutline',['Esquema del escenario'],'then',['* ','Entonces '],'when',['* ','Cuando ']},'et',{'and',['* ','Ja '],'background',['Taust'],'but',['* ','Kuid '],'examples',['Juhtumid'],'feature',['Omadus'],'given',['* ','Eeldades '],'name','Estonian','native','eesti keel','rule',['Reegel'],'scenario',['Juhtum','Stsenaarium'],'scenarioOutline',['Raamjuhtum','Raamstsenaarium'],'then',['* ','Siis '],'when',['* ','Kui ']},'fa',{'and',['* ','و '],'background',['زمینه'],'but',['* ','اما '],'examples',['نمونه ها'],'feature',['وِیژگی'],'given',['* ','با فرض '],'name','Persian','native','فارسی','rule',['Rule'],'scenario',['مثال','سناریو'],'scenarioOutline',['الگوی سناریو'],'then',['* ','آنگاه '],'when',['* ','هنگامی ']},'fi',{'and',['* ','Ja '],'background',['Tausta'],'but',['* ','Mutta '],'examples',['Tapaukset'],'feature',['Ominaisuus'],'given',['* ','Oletetaan '],'name','Finnish','native','suomi','rule',['Rule'],'scenario',['Tapaus'],'scenarioOutline',['Tapausaihio'],'then',['* ','Niin '],'when',['* ','Kun ']},'fr',{'and',['* ','Et que ','Et qu\'','Et '],'background',['Contexte'],'but',['* ','Mais que ','Mais qu\'','Mais '],'examples',['Exemples'],'feature',['Fonctionnalité'],'given',['* ','Soit ','Sachant que ','Sachant qu\'','Sachant ','Etant donné que ','Etant donné qu\'','Etant donné ','Etant donnée ','Etant donnés ','Etant données ','Étant donné que ','Étant donné qu\'','Étant donné ','Étant donnée ','Étant donnés ','Étant données '],'name','French','native','français','rule',['Règle'],'scenario',['Exemple','Scénario'],'scenarioOutline',['Plan du scénario','Plan du Scénario'],'then',['* ','Alors ','Donc '],'when',['* ','Quand ','Lorsque ','Lorsqu\'']},'ga',{'and',['* ','Agus'],'background',['Cúlra'],'but',['* ','Ach'],'examples',['Samplaí'],'feature',['Gné'],'given',['* ','Cuir i gcás go','Cuir i gcás nach','Cuir i gcás gur','Cuir i gcás nár'],'name','Irish','native','Gaeilge','rule',['Riail'],'scenario',['Sampla','Cás'],'scenarioOutline',['Cás Achomair'],'then',['* ','Ansin'],'when',['* ','Nuair a','Nuair nach','Nuair ba','Nuair nár']},'gj',{'and',['* ','અને '],'background',['બેકગ્રાઉન્ડ'],'but',['* ','પણ '],'examples',['ઉદાહરણો'],'feature',['લક્ષણ','વ્યાપાર જરૂર','ક્ષમતા'],'given',['* ','આપેલ છે '],'name','Gujarati','native','ગુજરાતી','rule',['Rule'],'scenario',['ઉદાહરણ','સ્થિતિ'],'scenarioOutline',['પરિદ્દશ્ય રૂપરેખા','પરિદ્દશ્ય ઢાંચો'],'then',['* ','પછી '],'when',['* ','ક્યારે ']},'gl',{'and',['* ','E '],'background',['Contexto'],'but',['* ','Mais ','Pero '],'examples',['Exemplos'],'feature',['Característica'],'given',['* ','Dado ','Dada ','Dados ','Dadas '],'name','Galician','native','galego','rule',['Rule'],'scenario',['Exemplo','Escenario'],'scenarioOutline',['Esbozo do escenario'],'then',['* ','Entón ','Logo '],'when',['* ','Cando ']},'he',{'and',['* ','וגם '],'background',['רקע'],'but',['* ','אבל '],'examples',['דוגמאות'],'feature',['תכונה'],'given',['* ','בהינתן '],'name','Hebrew','native','עברית','rule',['כלל'],'scenario',['דוגמא','תרחיש'],'scenarioOutline',['תבנית תרחיש'],'then',['* ','אז ','אזי '],'when',['* ','כאשר ']},'hi',{'and',['* ','और ','तथा '],'background',['पृष्ठभूमि'],'but',['* ','पर ','परन्तु ','किन्तु '],'examples',['उदाहरण'],'feature',['रूप लेख'],'given',['* ','अगर ','यदि ','चूंकि '],'name','Hindi','native','हिंदी','rule',['नियम'],'scenario',['परिदृश्य'],'scenarioOutline',['परिदृश्य रूपरेखा'],'then',['* ','तब ','तदा '],'when',['* ','जब ','कदा ']},'hr',{'and',['* ','I '],'background',['Pozadina'],'but',['* ','Ali '],'examples',['Primjeri','Scenariji'],'feature',['Osobina','Mogućnost','Mogucnost'],'given',['* ','Zadan ','Zadani ','Zadano ','Ukoliko '],'name','Croatian','native','hrvatski','rule',['Rule'],'scenario',['Primjer','Scenarij'],'scenarioOutline',['Skica','Koncept'],'then',['* ','Onda '],'when',['* ','Kada ','Kad ']},'ht',{'and',['* ','Ak ','Epi ','E '],'background',['Kontèks','Istorik'],'but',['* ','Men '],'examples',['Egzanp'],'feature',['Karakteristik','Mak','Fonksyonalite'],'given',['* ','Sipoze ','Sipoze ke ','Sipoze Ke '],'name','Creole','native','kreyòl','rule',['Rule'],'scenario',['Senaryo'],'scenarioOutline',['Plan senaryo','Plan Senaryo','Senaryo deskripsyon','Senaryo Deskripsyon','Dyagram senaryo','Dyagram Senaryo'],'then',['* ','Lè sa a ','Le sa a '],'when',['* ','Lè ','Le ']},'hu',{'and',['* ','És '],'background',['Háttér'],'but',['* ','De '],'examples',['Példák'],'feature',['Jellemző'],'given',['* ','Amennyiben ','Adott '],'name','Hungarian','native','magyar','rule',['Szabály'],'scenario',['Példa','Forgatókönyv'],'scenarioOutline',['Forgatókönyv vázlat'],'then',['* ','Akkor '],'when',['* ','Majd ','Ha ','Amikor ']},'id',{'and',['* ','Dan '],'background',['Dasar','Latar Belakang'],'but',['* ','Tapi ','Tetapi '],'examples',['Contoh','Misal'],'feature',['Fitur'],'given',['* ','Dengan ','Diketahui ','Diasumsikan ','Bila ','Jika '],'name','Indonesian','native','Bahasa Indonesia','rule',['Rule','Aturan'],'scenario',['Skenario'],'scenarioOutline',['Skenario konsep','Garis-Besar Skenario'],'then',['* ','Maka ','Kemudian '],'when',['* ','Ketika ']},'is',{'and',['* ','Og '],'background',['Bakgrunnur'],'but',['* ','En '],'examples',['Dæmi','Atburðarásir'],'feature',['Eiginleiki'],'given',['* ','Ef '],'name','Icelandic','native','Íslenska','rule',['Rule'],'scenario',['Atburðarás'],'scenarioOutline',['Lýsing Atburðarásar','Lýsing Dæma'],'then',['* ','Þá '],'when',['* ','Þegar ']},'it',{'and',['* ','E '],'background',['Contesto'],'but',['* ','Ma '],'examples',['Esempi'],'feature',['Funzionalità','Esigenza di Business','Abilità'],'given',['* ','Dato ','Data ','Dati ','Date '],'name','Italian','native','italiano','rule',['Regola'],'scenario',['Esempio','Scenario'],'scenarioOutline',['Schema dello scenario'],'then',['* ','Allora '],'when',['* ','Quando ']},'ja',{'and',['* ','且つ','かつ'],'background',['背景'],'but',['* ','然し','しかし','但し','ただし'],'examples',['例','サンプル'],'feature',['フィーチャ','機能'],'given',['* ','前提'],'name','Japanese','native','日本語','rule',['ルール'],'scenario',['シナリオ'],'scenarioOutline',['シナリオアウトライン','シナリオテンプレート','テンプレ','シナリオテンプレ'],'then',['* ','ならば'],'when',['* ','もし']},'jv',{'and',['* ','Lan '],'background',['Dasar'],'but',['* ','Tapi ','Nanging ','Ananging '],'examples',['Conto','Contone'],'feature',['Fitur'],'given',['* ','Nalika ','Nalikaning '],'name','Javanese','native','Basa Jawa','rule',['Rule'],'scenario',['Skenario'],'scenarioOutline',['Konsep skenario'],'then',['* ','Njuk ','Banjur '],'when',['* ','Manawa ','Menawa ']},'ka',{'and',['* ','და ','ასევე '],'background',['კონტექსტი'],'but',['* ','მაგრამ ','თუმცა '],'examples',['მაგალითები'],'feature',['თვისება','მოთხოვნა'],'given',['* ','მოცემული ','მოცემულია ','ვთქვათ '],'name','Georgian','native','ქართული','rule',['წესი'],'scenario',['მაგალითად','მაგალითი','მაგ','სცენარი'],'scenarioOutline',['სცენარის ნიმუში','სცენარის შაბლონი','ნიმუში','შაბლონი'],'then',['* ','მაშინ '],'when',['* ','როდესაც ','როცა ','როგორც კი ','თუ ']},'kn',{'and',['* ','ಮತ್ತು '],'background',['ಹಿನ್ನೆಲೆ'],'but',['* ','ಆದರೆ '],'examples',['ಉದಾಹರಣೆಗಳು'],'feature',['ಹೆಚ್ಚಳ'],'given',['* ','ನೀಡಿದ '],'name','Kannada','native','ಕನ್ನಡ','rule',['Rule'],'scenario',['ಉದಾಹರಣೆ','ಕಥಾಸಾರಾಂಶ'],'scenarioOutline',['ವಿವರಣೆ'],'then',['* ','ನಂತರ '],'when',['* ','ಸ್ಥಿತಿಯನ್ನು ']},'ko',{'and',['* ','그리고 '],'background',['배경'],'but',['* ','하지만 ','단 '],'examples',['예'],'feature',['기능'],'given',['* ','조건 ','먼저 '],'name','Korean','native','한국어','rule',['Rule'],'scenario',['시나리오'],'scenarioOutline',['시나리오 개요'],'then',['* ','그러면 '],'when',['* ','만일 ','만약 ']},'lt',{'and',['* ','Ir '],'background',['Kontekstas'],'but',['* ','Bet '],'examples',['Pavyzdžiai','Scenarijai','Variantai'],'feature',['Savybė'],'given',['* ','Duota '],'name','Lithuanian','native','lietuvių kalba','rule',['Rule'],'scenario',['Pavyzdys','Scenarijus'],'scenarioOutline',['Scenarijaus šablonas'],'then',['* ','Tada '],'when',['* ','Kai ']},'lu',{'and',['* ','an ','a '],'background',['Hannergrond'],'but',['* ','awer ','mä '],'examples',['Beispiller'],'feature',['Funktionalitéit'],'given',['* ','ugeholl '],'name','Luxemburgish','native','Lëtzebuergesch','rule',['Rule'],'scenario',['Beispill','Szenario'],'scenarioOutline',['Plang vum Szenario'],'then',['* ','dann '],'when',['* ','wann ']},'lv',{'and',['* ','Un '],'background',['Konteksts','Situācija'],'but',['* ','Bet '],'examples',['Piemēri','Paraugs'],'feature',['Funkcionalitāte','Fīča'],'given',['* ','Kad '],'name','Latvian','native','latviešu','rule',['Rule'],'scenario',['Piemērs','Scenārijs'],'scenarioOutline',['Scenārijs pēc parauga'],'then',['* ','Tad '],'when',['* ','Ja ']},'mk-Cyrl',{'and',['* ','И '],'background',['Контекст','Содржина'],'but',['* ','Но '],'examples',['Примери','Сценарија'],'feature',['Функционалност','Бизнис потреба','Можност'],'given',['* ','Дадено ','Дадена '],'name','Macedonian','native','Македонски','rule',['Rule'],'scenario',['Пример','Сценарио','На пример'],'scenarioOutline',['Преглед на сценарија','Скица','Концепт'],'then',['* ','Тогаш '],'when',['* ','Кога ']},'mk-Latn',{'and',['* ','I '],'background',['Kontekst','Sodrzhina'],'but',['* ','No '],'examples',['Primeri','Scenaria'],'feature',['Funkcionalnost','Biznis potreba','Mozhnost'],'given',['* ','Dadeno ','Dadena '],'name','Macedonian (Latin)','native','Makedonski (Latinica)','rule',['Rule'],'scenario',['Scenario','Na primer'],'scenarioOutline',['Pregled na scenarija','Skica','Koncept'],'then',['* ','Togash '],'when',['* ','Koga ']},'mn',{'and',['* ','Мөн ','Тэгээд '],'background',['Агуулга'],'but',['* ','Гэхдээ ','Харин '],'examples',['Тухайлбал'],'feature',['Функц','Функционал'],'given',['* ','Өгөгдсөн нь ','Анх '],'name','Mongolian','native','монгол','rule',['Rule'],'scenario',['Сценар'],'scenarioOutline',['Сценарын төлөвлөгөө'],'then',['* ','Тэгэхэд ','Үүний дараа '],'when',['* ','Хэрэв ']},'mr',{'and',['* ','आणि ','तसेच '],'background',['पार्श्वभूमी'],'but',['* ','पण ','परंतु '],'examples',['उदाहरण'],'feature',['वैशिष्ट्य','सुविधा'],'given',['* ','जर','दिलेल्या प्रमाणे '],'name','Marathi','native','मराठी','rule',['नियम'],'scenario',['परिदृश्य'],'scenarioOutline',['परिदृश्य रूपरेखा'],'then',['* ','मग ','तेव्हा '],'when',['* ','जेव्हा ']},'ne',{'and',['* ','र ','अनि '],'background',['पृष्ठभूमी'],'but',['* ','तर '],'examples',['उदाहरण','उदाहरणहरु'],'feature',['सुविधा','विशेषता'],'given',['* ','दिइएको ','दिएको ','यदि '],'name','Nepali','native','नेपाली','rule',['नियम'],'scenario',['परिदृश्य'],'scenarioOutline',['परिदृश्य रूपरेखा'],'then',['* ','त्यसपछि ','अनी '],'when',['* ','जब ']},'nl',{'and',['* ','En '],'background',['Achtergrond'],'but',['* ','Maar '],'examples',['Voorbeelden'],'feature',['Functionaliteit'],'given',['* ','Gegeven ','Stel '],'name','Dutch','native','Nederlands','rule',['Rule'],'scenario',['Voorbeeld','Scenario'],'scenarioOutline',['Abstract Scenario'],'then',['* ','Dan '],'when',['* ','Als ','Wanneer ']},'no',{'and',['* ','Og '],'background',['Bakgrunn'],'but',['* ','Men '],'examples',['Eksempler'],'feature',['Egenskap'],'given',['* ','Gitt '],'name','Norwegian','native','norsk','rule',['Regel'],'scenario',['Eksempel','Scenario'],'scenarioOutline',['Scenariomal','Abstrakt Scenario'],'then',['* ','Så '],'when',['* ','Når ']},'pa',{'and',['* ','ਅਤੇ '],'background',['ਪਿਛੋਕੜ'],'but',['* ','ਪਰ '],'examples',['ਉਦਾਹਰਨਾਂ'],'feature',['ਖਾਸੀਅਤ','ਮੁਹਾਂਦਰਾ','ਨਕਸ਼ ਨੁਹਾਰ'],'given',['* ','ਜੇਕਰ ','ਜਿਵੇਂ ਕਿ '],'name','Panjabi','native','ਪੰਜਾਬੀ','rule',['Rule'],'scenario',['ਉਦਾਹਰਨ','ਪਟਕਥਾ'],'scenarioOutline',['ਪਟਕਥਾ ਢਾਂਚਾ','ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ'],'then',['* ','ਤਦ '],'when',['* ','ਜਦੋਂ ']},'pl',{'and',['* ','Oraz ','I '],'background',['Założenia'],'but',['* ','Ale '],'examples',['Przykłady'],'feature',['Właściwość','Funkcja','Aspekt','Potrzeba biznesowa'],'given',['* ','Zakładając ','Mając ','Zakładając, że '],'name','Polish','native','polski','rule',['Zasada','Reguła'],'scenario',['Przykład','Scenariusz'],'scenarioOutline',['Szablon scenariusza'],'then',['* ','Wtedy '],'when',['* ','Jeżeli ','Jeśli ','Gdy ','Kiedy ']},'pt',{'and',['* ','E '],'background',['Contexto','Cenário de Fundo','Cenario de Fundo','Fundo'],'but',['* ','Mas '],'examples',['Exemplos','Cenários','Cenarios'],'feature',['Funcionalidade','Característica','Caracteristica'],'given',['* ','Dado ','Dada ','Dados ','Dadas '],'name','Portuguese','native','português','rule',['Regra'],'scenario',['Exemplo','Cenário','Cenario'],'scenarioOutline',['Esquema do Cenário','Esquema do Cenario','Delineação do Cenário','Delineacao do Cenario'],'then',['* ','Então ','Entao '],'when',['* ','Quando ']},'ro',{'and',['* ','Si ','Și ','Şi '],'background',['Context'],'but',['* ','Dar '],'examples',['Exemple'],'feature',['Functionalitate','Funcționalitate','Funcţionalitate'],'given',['* ','Date fiind ','Dat fiind ','Dată fiind','Dati fiind ','Dați fiind ','Daţi fiind '],'name','Romanian','native','română','rule',['Rule'],'scenario',['Exemplu','Scenariu'],'scenarioOutline',['Structura scenariu','Structură scenariu'],'then',['* ','Atunci '],'when',['* ','Cand ','Când ']},'ru',{'and',['* ','И ','К тому же ','Также '],'background',['Предыстория','Контекст'],'but',['* ','Но ','А ','Иначе '],'examples',['Примеры'],'feature',['Функция','Функциональность','Функционал','Свойство','Фича'],'given',['* ','Допустим ','Дано ','Пусть '],'name','Russian','native','русский','rule',['Правило'],'scenario',['Пример','Сценарий'],'scenarioOutline',['Структура сценария','Шаблон сценария'],'then',['* ','То ','Затем ','Тогда '],'when',['* ','Когда ','Если ']},'sk',{'and',['* ','A ','A tiež ','A taktiež ','A zároveň '],'background',['Pozadie'],'but',['* ','Ale '],'examples',['Príklady'],'feature',['Požiadavka','Funkcia','Vlastnosť'],'given',['* ','Pokiaľ ','Za predpokladu '],'name','Slovak','native','Slovensky','rule',['Rule'],'scenario',['Príklad','Scenár'],'scenarioOutline',['Náčrt Scenáru','Náčrt Scenára','Osnova Scenára'],'then',['* ','Tak ','Potom '],'when',['* ','Keď ','Ak ']},'sl',{'and',['In ','Ter '],'background',['Kontekst','Osnova','Ozadje'],'but',['Toda ','Ampak ','Vendar '],'examples',['Primeri','Scenariji'],'feature',['Funkcionalnost','Funkcija','Možnosti','Moznosti','Lastnost','Značilnost'],'given',['Dano ','Podano ','Zaradi ','Privzeto '],'name','Slovenian','native','Slovenski','rule',['Rule'],'scenario',['Primer','Scenarij'],'scenarioOutline',['Struktura scenarija','Skica','Koncept','Oris scenarija','Osnutek'],'then',['Nato ','Potem ','Takrat '],'when',['Ko ','Ce ','Če ','Kadar ']},'sr-Cyrl',{'and',['* ','И '],'background',['Контекст','Основа','Позадина'],'but',['* ','Али '],'examples',['Примери','Сценарији'],'feature',['Функционалност','Могућност','Особина'],'given',['* ','За дато ','За дате ','За дати '],'name','Serbian','native','Српски','rule',['Правило'],'scenario',['Пример','Сценарио','Пример'],'scenarioOutline',['Структура сценарија','Скица','Концепт'],'then',['* ','Онда '],'when',['* ','Када ','Кад ']},'sr-Latn',{'and',['* ','I '],'background',['Kontekst','Osnova','Pozadina'],'but',['* ','Ali '],'examples',['Primeri','Scenariji'],'feature',['Funkcionalnost','Mogućnost','Mogucnost','Osobina'],'given',['* ','Za dato ','Za date ','Za dati '],'name','Serbian (Latin)','native','Srpski (Latinica)','rule',['Pravilo'],'scenario',['Scenario','Primer'],'scenarioOutline',['Struktura scenarija','Skica','Koncept'],'then',['* ','Onda '],'when',['* ','Kada ','Kad ']},'sv',{'and',['* ','Och '],'background',['Bakgrund'],'but',['* ','Men '],'examples',['Exempel'],'feature',['Egenskap'],'given',['* ','Givet '],'name','Swedish','native','Svenska','rule',['Regel'],'scenario',['Scenario'],'scenarioOutline',['Abstrakt Scenario','Scenariomall'],'then',['* ','Så '],'when',['* ','När ']},'ta',{'and',['* ','மேலும் ','மற்றும் '],'background',['பின்னணி'],'but',['* ','ஆனால் '],'examples',['எடுத்துக்காட்டுகள்','காட்சிகள்','நிலைமைகளில்'],'feature',['அம்சம்','வணிக தேவை','திறன்'],'given',['* ','கொடுக்கப்பட்ட '],'name','Tamil','native','தமிழ்','rule',['Rule'],'scenario',['உதாரணமாக','காட்சி'],'scenarioOutline',['காட்சி சுருக்கம்','காட்சி வார்ப்புரு'],'then',['* ','அப்பொழுது '],'when',['* ','எப்போது ']},'te',{'and',['* ','మరియు '],'background',['నేపథ్యం'],'but',['* ','కాని '],'examples',['ఉదాహరణలు'],'feature',['గుణము'],'given',['* ','చెప్పబడినది '],'name','Telugu','native','తెలుగు','rule',['Rule'],'scenario',['ఉదాహరణ','సన్నివేశం'],'scenarioOutline',['కథనం'],'then',['* ','అప్పుడు '],'when',['* ','ఈ పరిస్థితిలో ']},'th',{'and',['* ','และ '],'background',['แนวคิด'],'but',['* ','แต่ '],'examples',['ชุดของตัวอย่าง','ชุดของเหตุการณ์'],'feature',['โครงหลัก','ความต้องการทางธุรกิจ','ความสามารถ'],'given',['* ','กำหนดให้ '],'name','Thai','native','ไทย','rule',['Rule'],'scenario',['เหตุการณ์'],'scenarioOutline',['สรุปเหตุการณ์','โครงสร้างของเหตุการณ์'],'then',['* ','ดังนั้น '],'when',['* ','เมื่อ ']},'tlh',{'and',['* ','\'ej ','latlh '],'background',['mo\''],'but',['* ','\'ach ','\'a '],'examples',['ghantoH','lutmey'],'feature',['Qap','Qu\'meH \'ut','perbogh','poQbogh malja\'','laH'],'given',['* ','ghu\' noblu\' ','DaH ghu\' bejlu\' '],'name','Klingon','native','tlhIngan','rule',['Rule'],'scenario',['lut'],'scenarioOutline',['lut chovnatlh'],'then',['* ','vaj '],'when',['* ','qaSDI\' ']},'tr',{'and',['* ','Ve '],'background',['Geçmiş'],'but',['* ','Fakat ','Ama '],'examples',['Örnekler'],'feature',['Özellik'],'given',['* ','Diyelim ki '],'name','Turkish','native','Türkçe','rule',['Kural'],'scenario',['Örnek','Senaryo'],'scenarioOutline',['Senaryo taslağı'],'then',['* ','O zaman '],'when',['* ','Eğer ki ']},'tt',{'and',['* ','Һәм ','Вә '],'background',['Кереш'],'but',['* ','Ләкин ','Әмма '],'examples',['Үрнәкләр','Мисаллар'],'feature',['Мөмкинлек','Үзенчәлеклелек'],'given',['* ','Әйтик '],'name','Tatar','native','Татарча','rule',['Rule'],'scenario',['Сценарий'],'scenarioOutline',['Сценарийның төзелеше'],'then',['* ','Нәтиҗәдә '],'when',['* ','Әгәр ']},'uk',{'and',['* ','І ','А також ','Та '],'background',['Передумова'],'but',['* ','Але '],'examples',['Приклади'],'feature',['Функціонал'],'given',['* ','Припустимо ','Припустимо, що ','Нехай ','Дано '],'name','Ukrainian','native','Українська','rule',['Rule'],'scenario',['Приклад','Сценарій'],'scenarioOutline',['Структура сценарію'],'then',['* ','То ','Тоді '],'when',['* ','Якщо ','Коли ']},'ur',{'and',['* ','اور '],'background',['پس منظر'],'but',['* ','لیکن '],'examples',['مثالیں'],'feature',['صلاحیت','کاروبار کی ضرورت','خصوصیت'],'given',['* ','اگر ','بالفرض ','فرض کیا '],'name','Urdu','native','اردو','rule',['Rule'],'scenario',['منظرنامہ'],'scenarioOutline',['منظر نامے کا خاکہ'],'then',['* ','پھر ','تب '],'when',['* ','جب ']},'uz',{'and',['* ','Ва '],'background',['Тарих'],'but',['* ','Лекин ','Бирок ','Аммо '],'examples',['Мисоллар'],'feature',['Функционал'],'given',['* ','Belgilangan '],'name','Uzbek','native','Узбекча','rule',['Rule'],'scenario',['Сценарий'],'scenarioOutline',['Сценарий структураси'],'then',['* ','Унда '],'when',['* ','Агар ']},'vi',{'and',['* ','Và '],'background',['Bối cảnh'],'but',['* ','Nhưng '],'examples',['Dữ liệu'],'feature',['Tính năng'],'given',['* ','Biết ','Cho '],'name','Vietnamese','native','Tiếng Việt','rule',['Rule'],'scenario',['Tình huống','Kịch bản'],'scenarioOutline',['Khung tình huống','Khung kịch bản'],'then',['* ','Thì '],'when',['* ','Khi ']},'zh-CN',{'and',['* ','而且','并且','同时'],'background',['背景'],'but',['* ','但是'],'examples',['例子'],'feature',['功能'],'given',['* ','假如','假设','假定'],'name','Chinese simplified','native','简体中文','rule',['Rule','规则'],'scenario',['场景','剧本'],'scenarioOutline',['场景大纲','剧本大纲'],'then',['* ','那么'],'when',['* ','当']},'zh-TW',{'and',['* ','而且','並且','同時'],'background',['背景'],'but',['* ','但是'],'examples',['例子'],'feature',['功能'],'given',['* ','假如','假設','假定'],'name','Chinese traditional','native','繁體中文','rule',['Rule'],'scenario',['場景','劇本'],'scenarioOutline',['場景大綱','劇本大綱'],'then',['* ','那麼'],'when',['* ','當']}}; 1; diff --git a/php/composer.json b/php/composer.json index 085300254..829822bc9 100644 --- a/php/composer.json +++ b/php/composer.json @@ -15,11 +15,11 @@ "require": { "php": "^8.1", "ext-mbstring": "*", - "cucumber/messages": ">=19.1.4 <=24" + "cucumber/messages": ">=19.1.4 <=25" }, "require-dev": { - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "5.23.1", + "phpunit/phpunit": "^10.5||^11.0", + "vimeo/psalm": "5.25.0", "friendsofphp/php-cs-fixer": "^3.51", "psalm/plugin-phpunit": "^0.19.0" }, diff --git a/php/resources/gherkin-languages.json b/php/resources/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/php/resources/gherkin-languages.json +++ b/php/resources/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/python/gherkin/gherkin-languages.json b/python/gherkin/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/python/gherkin/gherkin-languages.json +++ b/python/gherkin/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": { diff --git a/python/requirements.txt b/python/requirements.txt index b590cd7ea..245a3b4ab 100644 --- a/python/requirements.txt +++ b/python/requirements.txt @@ -1,5 +1,5 @@ # -- FOR TESTING: -pytest <8.2; python_version < '3.0' +pytest <8.3; python_version < '3.0' pytest >= 5.0; python_version >= '3.0' # MAYBE: For pytest HTML reports. # pytest-html diff --git a/ruby/lib/gherkin/gherkin-languages.json b/ruby/lib/gherkin/gherkin-languages.json index 7bdb99831..de0db1ab9 100644 --- a/ruby/lib/gherkin/gherkin-languages.json +++ b/ruby/lib/gherkin/gherkin-languages.json @@ -2133,15 +2133,15 @@ "ko": { "and": [ "* ", - "그리고" + "그리고 " ], "background": [ "배경" ], "but": [ "* ", - "하지만", - "단" + "하지만 ", + "단 " ], "examples": [ "예" @@ -2151,8 +2151,8 @@ ], "given": [ "* ", - "조건", - "먼저" + "조건 ", + "먼저 " ], "name": "Korean", "native": "한국어", @@ -2167,12 +2167,12 @@ ], "then": [ "* ", - "그러면" + "그러면 " ], "when": [ "* ", - "만일", - "만약" + "만일 ", + "만약 " ] }, "lt": {