public
Description: BDD that talks to domain experts first and code second
Home | Edit | New

Spoken languages

Communication within a team always works better when people can use their spoken language. Cucumber supports around 40 spoken languages. and the number is steadily growing. This is Norwegian:

# language: no
Egenskap: Summering
  For å ungå at firmaet går konkurs
  Må regnskapsførerere bruke en regnemaskin for å legge sammen

  Scenario: to tall
    Gitt at jeg har tastet inn 5
    Og at jeg har tastet inn 7
    Når jeg summerer
    Så skal resultatet være 12

  Scenario: tre tall
    Gitt at jeg har tastet inn 5
    Og at jeg har tastet inn 7
    Og at jeg har tastet inn 1
    Når jeg summerer
    Så skal resultatet være 13

A # language: header on the first line of a feature file tells Cucumber what spoken language to use – for example # language: fr for French. If you omit this header, Cucumber will default to English (en), unless you use the --language command line option.

Listing the available languages

cucumber --language help

Listing the keywords of a particular language

For example Russian:

cucumber --language ru help

Adding a new language

(or completing an existing one). It’s easy!

  1. Make a fork of Cucumber and pull it down
  2. Add your language’s keywords to languages.yml
  3. Commit and push your changes – then send a pull request at GitHub.

Alternatively – if you don’t know Git and just grabbed the Gem:

  1. Edit the languages.yml in your gem.
  2. Get in touch and attach the updated languages.yml to a new Lighthouse ticket.

That’s it! You have a new language that you can pass to Cucumber’s --language option.

Adding examples for a new language

Just copy the examples/i18n/en example to a new directory with the same name as the language you added.
Then translate everything in there. When you’re done you should be able to run rake i18n from the examples/i18n directory. If you want this code back into the official source you have to do those changes in your
own cloned Git repo.

Last edited by aslakhellesoy, Wed Oct 07 05:03:46 -0700 2009
Home | Edit | New
Versions: