# A Guided Tour of Swedish Grammar

Aarne Ranta

- Computer prerequisites
- Words and inflection
  - Nouns
    - Quizzes with nouns
  - Numerals and determiners
  - Adjectives
  - The use of adjectives
  - Personal pronouns
  - Prepositions
  - Verbs
- Syntactic combinations
  - Predication
  - Verbs with different predication patterns
  - Questions
- For developers

This is an introduction to the basic grammar of Swedish. It is guided by a computer program that knows the rules of the grammar. All examples shown during the tour have been produced by that program. You can read this document as it is, to get an overview of Swedish grammar. However, really to exploit the linguistic knowledge included in the program, you should try out every rule by itself and also vary the rules in interaction with the computer.

The same tour is (or will be) available for 17 languages.

- Arabic
- Bulgarian
- Catalan
- Danish
- Dutch
- English
- Finnish
- French
- German
- Italian
- Norwegian
- Polish
- Romanian
- Russian
- Spanish
- Swedish
- Urdu

See the last section of this document for how to contribute support for new languages as a developer.

# Computer prerequisites

To use the Swedish grammar program and test the grammar yourself, you need

- a computer with Linux, Mac OS, or Windows
- the program GF (Grammatical Framework), downloadable from the GF website
- the grammar package `Demo.pgf`, downloadable from here

In the future, we plan to provide a web-based version of this grammar tour, so that you can ran the program without downloading or installing anything.

After installing GF (see instructions at GF website), just start it by the shell command

        gf Demo.pgf

Then initialize the shell with a couple of handy commands:

`%forms` | show the forms of a word or a phrase in Swedish
`%numeral` | translate a number to a Swedish numeral expression
`%table` | show the inflection table a word or a phrase in Swedish
`%translate` | translate an utterance from English to Swedish

Initialization is made with the command macro definitions in GF:

      > dc translate ps -lextext ?0 | parse -cat=Utt -lang=Eng | linearize -lang=Swe
      > dc table linearize -table -lang=Swe ?0
      > dc forms linearize -list -lang=Swe ?0
      > dc numeral ps -chars ?0 | p -cat=Digits -lang=Swe | pt -transfer=digits2num | l -bind -lang=Swe

This is just to save you some work afterwards and to make this document clearer; you could quite as well use the basic commands that are predifined in GF, and for some less frequent cases we'll actually use them directly.

The prompt sign `>` is produced by GF, and you should only write what is after it. In this document, we will use two kinds of markings of type-written lines:

- `>` followed by a command you type
- `*` followed by output from GF

# Words and inflection

We are ready to start the tour. We begin in the same way as grammar books usually do: from words and their forms. We will also show the most basic syntactic combinations, to explain how the words are used, but syntax proper is treated in the next chapter.

## Nouns

The inflection forms of nouns are shown in the following example:

      > %table flower_N
      s Sg Indef Nom : blomma
      s Sg Indef Gen : blommas
      s Sg Def Nom : blomman
      s Sg Def Gen : blommans
      s Pl Indef Nom : blommor
      s Pl Indef Gen : blommors
      s Pl Def Nom : blommorna
      s Pl Def Gen : blommornas

The forms together are an example of an inflection pattern. Here are some inflection patterns. They show the declensions 1 to 5.

      > %forms flower_N
      blomma, blommas, blomman, blommans, blommor, blommors, blommorna, blommornas

      > %forms car_N
      bil, bils, bilen, bilens, bilar, bilars, bilarna, bilarnas

      > %forms cat_N
      katt, katts, katten, kattens, katter, katters, katterna, katternas

      > %forms apple_N
      äpple, äpples, äpplet, äpplets, äpplen, äpplens, äpplena, äpplenas

      > %forms house_N
      hus, hus, huset, husets, hus, hus, husen, husens

The symbol `N` is used in the program to denote nouns. Here it is suffixed to English words to indicate the meanings of the Swedish nouns. This meaning can be approximative, or just cover one of the possible senses.

In addition to inflection forms, Swedish nouns also have a gender. The gender is reflected, among other things, in the indefinite article used with the nouns.

      > %translate "a man"
      en man

      > %translate "a woman"
      en kvinna

      > %translate "a house"
      ett hus

The grammar training program has a small lexicon, with just 182 nouns. To see all there nouns, together with their inflection forms and senses explained in English, you can do as follows:

      > generate_trees -cat=N -number=5 | linearize -treebank -list -lang=Swe
      Demo: airplane_N
      DemoSwe: flygplan, flygplans, flygplanet, flygplanets, flygplan, flygplans, flygplanen, flygplanens
       Demo: animal_N
      DemoSwe: djur, djurs, djuret, djurets, djur, djurs, djuren, djurens
       Demo: apartment_N
      DemoSwe: lägenhet, lägenhets, lägenheten, lägenhetens, lägenheter, lägenheters, lägenheterna, lägenheternas
       Demo: apple_N
      DemoSwe: äpple, äpples, äpplet, äpplets, äpplen, äpplens, äpplena, äpplenas
       Demo: art_N
      DemoSwe: konst, konsts, konsten, konstens, konster, konsters, konsterna, konsternas

### Quizzes with nouns

If you already know some Swedish, you can try out a morphology quiz, which lets you train your knowledge of Swedish noun inflection. You can later train your inflection skills with other parts of speech, just changing the symbol `N` to some other symbol.

        morpho_quiz -cat=N -lang=Swe

        Welcome to GF Morphology Quiz.
        The quiz is over when you have done at least 10 examples
        with at least 75 % success.
        You can interrupt the quiz by entering a line consisting of a dot ('.').

        vetenskap s Sg Def Gen
        vetenskapens
        > Yes.
        Score 1/1

        kyrka s Pl Indef Nom
        kyrker
        > No, not kyrker, but
        kyrkor
        Score 1/2

(The above quiz example is swedish for all languages, for technical reasons.)

The quiz questions are randomly generated, so you can use the same quiz for increasing your Swedish skills over and over again.

Another quiz is the translation quiz, which lets you to train translations of nouns from English to Swedish (or, in fact, of any part of speech from any language to any other one). Here is how it goes (to Swedish, for the sake of example):

        translation_quiz -from=DemoEng -to=DemoSwe -cat=N
        Welcome to GF Translation Quiz.
        The quiz is over when you have done at least 10 examples
        with at least 75 % success.
        You can interrupt the quiz by entering a line consisting of a dot ('.').

        ceiling
        tak
        > Yes.
        Score 1/1
        night
        nat
        > No, not nat, but
        natt

## Numerals and determiners

Numerals are in Swedish the easiest way to build complex noun phrases from nouns, since their forms are independent of the noun; the noun is just inflected in the plural indefinite. This is with the exception of "one", whose form depends on the gender of the noun. Here is a quick way to generate the numerals from 1 to 9:

      > generate_trees -cat=Sub10 -number=9 | l -lang=Eng,Swe
      two
      två
       three
      tre
       four
      fyra
       five
      fem
       six
      sex
       seven
      sju
       eight
      åtta
       nine
      nio
       two
      två

Any sequence of digits from 1 to 999999 can be translated to a Swedish numeral with the `%numeral` command:

      > %numeral "10"
      tio

      > %numeral "11"
      elva

      > %numeral "20"
      tjugo

      > %numeral "123"
      etthundra tjugotre

      > %numeral "999999"
      niohundra nittioniotusen niohundra nittionio

Numerals can be combined with nouns to form noun phrases:

      > %translate "one boy"
      en pojke
      > %translate "one apple"
      ett äpple
      > %translate "two boys"
      två pojkar
      > %translate "eleven cars"
      elva bilar

Numerals are a special case of determiners: words that are combined with nouns to form noun phrases. Articles are anouther special case; we already saw the indefinite articles:

      > %translate "a man"
      en man

      > %translate "a woman"
      en kvinna

      > %translate "a car"
      en bil

      > %translate "a house"
      ett hus

Here are examples with definite articles. In Swedish, they are expressed by inflecting the noun rather than adding a word like English the.

      > %translate "the man"
      mannen

      > %translate "the woman"
      kvinnan

      > %translate "the car"
      bilen

      > %translate "the house"
      huset

Definite articles in the plural:

      > %translate "the men"
      männen

      > %translate "the women"
      kvinnorna

      > %translate "the cars"
      bilarna

      > %translate "the houses"
      husen

The indefinite forms in the plural form look as follows. English, like many other languages, have no explicit indefinite article: just use the plural form of the noun.

      > %translate "men"
      män

      > %translate "women"
      kvinnor

      > %translate "cars"
      bilar

      > %translate "houses"
      hus

Other common determiners are shown in the following:

      > %translate "this car"
      den här bilen

      > %translate "that car"
      den där bilen

      > %translate "these cars"
      de här bilarna

      > %translate "those cars"
      de där bilarna

      > %translate "some cars"
      några bilar

      > %translate "all cars"

Generate more examples of nouns with determiners:

      > gr -number=11 (UttNP (DetCN ? (UseN ?))) | l -lang=Eng,Swe
      some sister
      någon syster
       many men
      många män
       those dusts
      de där dammen
       many pens
      många pennor
       some sticks
      några pinnar
       every boss
      varje chef
       few houses
      få hus
       some wars
      några krig
       some school
      någon skola
       many moons
      många månar
       a flower
      en blomma

You will find out that other determiners can combine with numerals, such as in

      > %translate "these seven sisters"
      de här sju systrarna

      > %translate "the seven sisters"
      de sju systrarna

thus with a numeral, the definite article suddenly appears as a word.

The random generation above used a pattern for generating expressions of the form `(UttNP (DetCN ? (UseN ?)))`, where just the question marks may vary. Such patterns can also be used to fine-tune quizzes. For instance, here is a translation quiz for nouns with determiners:

        trans_quiz -from=DemoEng -to=DemoSwe (UttNP (DetCN ? (UseN ?)))

## Adjectives

Adjectives generally have more forms than nouns. Here is an example showing the available forms for Swedish adjectives:

      > %table warm_A
      s (AF (APosit (Strong (GSg Utr))) Nom) : varm
      s (AF (APosit (Strong (GSg Utr))) Gen) : varms
      s (AF (APosit (Strong (GSg Neutr))) Nom) : varmt
      s (AF (APosit (Strong (GSg Neutr))) Gen) : varmts
      s (AF (APosit (Strong GPl)) Nom) : varma
      s (AF (APosit (Strong GPl)) Gen) : varmas
      s (AF (APosit (Weak Sg)) Nom) : varma
      s (AF (APosit (Weak Sg)) Gen) : varmas
      s (AF (APosit (Weak Pl)) Nom) : varma
      s (AF (APosit (Weak Pl)) Gen) : varmas
      s (AF ACompar Nom) : varmare
      s (AF ACompar Gen) : varmares
      s (AF (ASuperl SupStrong) Nom) : varmast
      s (AF (ASuperl SupStrong) Gen) : varmasts
      s (AF (ASuperl SupWeak) Nom) : varmaste
      s (AF (ASuperl SupWeak) Gen) : varmastes

The comparative and superlative forms are often formed syntactically, by using words similar to more and most.

Here are some examples of adjective inflections:

      > %forms good_A
      god, gods, gott, gotts, goda, godas, goda, godas, goda, godas, bättre, bättres, bäst, bästs, bästa, bästas

      > %forms bad_A
      dålig, dåligs, dåligt, dåligts, dåliga, dåligas, dåliga, dåligas, dåliga, dåligas, sämre, sämres, sämst, sämsts, sämsta, sämstas

      > %forms rotten_A
      rutten, ruttens, ruttet, ruttets, ruttna, ruttnas, ruttna, ruttnas, ruttna, ruttnas, ruttnare, ruttnares, ruttnast, ruttnasts, ruttnaste, ruttnastes

      > %forms important_A
      viktig, viktigs, viktigt, viktigts, viktiga, viktigas, viktiga, viktigas, viktiga, viktigas, viktigare, viktigares, viktigast, viktigasts, viktigaste, viktigastes

      > %forms stupid_A
      dum, dums, dumt, dumts, dumma, dummas, dumma, dummas, dumma, dummas, dummare, dummares, dummast, dummasts, dummaste, dummastes

The morpho quiz for adjectives is as one would expect:

        morpho_quiz -cat=A -lang=DemoSwe

## The use of adjectives

Adjectives can be used to modify nouns. The form of the adjective may then depend on the gender of the noun.

      > %translate "old man"
      gammal man

      > %translate "old woman"
      gammal kvinna

      > %translate "old house"
      gammalt hus

The adjective+noun combination is inflected for the same forms as the bare noun:

      > parse -cat=CN "old house" | %forms
      gammalt hus, gammalt hus, gamla hus, gamla hus, gamla huset, gamla husets, gamla hus, gamla hus, gamla hus, gamla hus, gamla husen, gamla husens

Here are the quizzes for training the adjectival modification of nouns:

        translate_quiz -from=DemoEng -to=DemoSwe (AdjCN (PositA ?) (UseN ?))

        morpho_quiz -lang=DemoSwe (AdjCN (PositA ?) (UseN ?))

Adjectives can be combined to adjectival phrases (AP). One way to do this is by means of adadjectives, such as very and too:

      > p -lang=Eng -cat=AP "very old" | l -lang=Swe
      mycket gammal

      > p -lang=Eng -cat=AP "too heavy" | l -lang=Swe
      för tung

The comparative forms can be used for building adjectival phrases together with noun phrase complements:

      > p -lang=Eng -cat=AP  "warmer than the sun" | l -lang=Swe

Also these complex AP's can modify common nouns. The word order can be different from modification with simple adjectives.

      > p -lang=Eng -cat=CN  "country warmer than the sun" | l -lang=Swe

      > p -lang=Eng -cat=CN  "very warm country" | l -lang=Swe
      mycket varmt land

Quizzes for such constructions are as follows:

        translate_quiz -from=DemoEng -to=DemoSwe (AdjCN ? (UseN ?))

        morpho_quiz -lang=DemoSwe (AdjCN ? (UseN ?))

## Personal pronouns

Personal pronouns have many forms:

      > %table we_Pron
      s NPNom : vi
      s NPAcc : oss
      s (NPPoss (GSg Utr)) : vår
      s (NPPoss (GSg Neutr)) : vårt
      s (NPPoss GPl) : våra

Here are the forms of all personal pronouns of Swedish:

      > %forms i_Pron
      jag, mig, min, mitt, mina

      > %forms youSg_Pron
      du, dig, din, ditt, dina

      > %forms youPol_Pron
      ni, er, er, ert, era

      > %forms he_Pron
      han, honom, hans, hans, hans

      > %forms she_Pron
      hon, henne, hennes, hennes, hennes

      > %forms we_Pron
      vi, oss, vår, vårt, våra

      > %forms youPl_Pron
      ni, er, er, ert, era

      > %forms they_Pron
      de, dem, deras, deras, deras

Notice the polite and plural forms of you, which English doesn't have.

The possessive forms of pronouns are used as determiners:

      > %translate "her house , my car and our children"

Here's the pattern for training the combination of possessive pronouns and nouns, with the `morpho_quiz` and `translate_quiz` commands:

        (DetCN (DetQuant (PossPron ?) ?) (UseN ?))

## Prepositions

Prepositions are not inflected. But when attached to noun phrases, they may affect the inflection of the noun phrase. In some languages, no preposition word may be shown, but just a different form of the noun phrase.

      > %translate "my yellow house"
      mitt gula hus

      > %translate "in my yellow house"
      i mitt gula hus

      > %translate "to my yellow house"
      till mitt gula hus

      > %translate "from my yellow house"
      från mitt gula hus

      > %translate "with my yellow house"
      med mitt gula hus

      > %translate "without my yellow house"
      utan mitt gula hus

Pronouns show in some languages even more variation.

To train prepositional phrases, use the pattern

        (PrepNP ? ?)

## Verbs

Verbs usually have more inflection forms than any other words:

      > %table sleep_V
      s (VF (VPres Act)) : sover
      s (VF (VPres Pass)) : sovs
      s (VF (VPret Act)) : sov
      s (VF (VPret Pass)) : sovs
      s (VF (VImper Act)) : sov
      s (VF (VImper Pass)) : sovs
      s (VI (VInfin Act)) : sova
      s (VI (VInfin Pass)) : sovas
      s (VI (VSupin Act)) : sovit
      s (VI (VSupin Pass)) : sovits
      s (VI (VPtPret (Strong (GSg Utr)) Nom)) : soven
      s (VI (VPtPret (Strong (GSg Utr)) Gen)) : sovens
      s (VI (VPtPret (Strong (GSg Neutr)) Nom)) : sovet
      s (VI (VPtPret (Strong (GSg Neutr)) Gen)) : sovets
      s (VI (VPtPret (Strong GPl) Nom)) : sovna
      s (VI (VPtPret (Strong GPl) Gen)) : sovnas
      s (VI (VPtPret (Weak Sg) Nom)) : sovna
      s (VI (VPtPret (Weak Sg) Gen)) : sovnas
      s (VI (VPtPret (Weak Pl) Nom)) : sovna
      s (VI (VPtPret (Weak Pl) Gen)) : sovnas
      part :

Here are some inflection examples:

      > %forms speak_V2
      talar, talas, talade, talades, tala, talas, tala, talas, talat, talats, talad, talads, talat, talats, talade, talades, talade, talades, talade, talades, ,

      > %forms play_V2
      spelar, spelas, spelade, spelades, spela, spelas, spela, spelas, spelat, spelats, spelad, spelads, spelat, spelats, spelade, spelades, spelade, spelades, spelade, spelades, ,

      > %forms buy_V2
      köper, köps, köpte, köptes, köp, köps, köpa, köpas, köpt, köpts, köpt, köpts, köpt, köpts, köpta, köptas, köpta, köptas, köpta, köptas, ,

      > %forms run_V
      springer, springs, sprang, sprangs, spring, springs, springa, springas, sprungit, sprungits, sprungen, sprungens, sprunget, sprungets, sprungna, sprungnas, sprungna, sprungnas, sprungna, sprungnas,

      > %forms walk_V
      går, gås, gick, gicks, gå, gås, gå, gås, gått, gåtts, gången, gångens, gånget, gångets, gångna, gångnas, gångna, gångnas, gångna, gångnas,

In some languages, verbs can be very irregular.

There are different subcategories of verbs: intransitive verbs (V), two-place verbs (V2), sentence-complement verbs (VS). The differences have to do with syntax, and will be discussed later.

# Syntactic combinations

Above, we have discussed some syntactic combinations: determination (the car, this car) and adjectival modification (old car). In this chapter, we concentrate on the formation of sentences.

## Predication

In predication, a verb is give its arguments: the subject (the one who does something) and the complements (what is done, to whom it is done, etc). The simplest predication is with intransitive verbs, which only have the subject:

      > %translate "he walks"
      han går

      > %translate "we sleep"
      vi sover

      > %translate "the very old woman sings"
      den mycket gamla kvinnan sjunger

A predication forms a clause, which corresponds to many different (yes or no), and possibly a word order (inverted question, subordinate clause), a mood (indicative, subjunctive). Here is a table showing what forms a clause can have in Swedish:

      > p -cat=Cl -lang=Eng "the man walks" | %table
      s Pres Simul Pos Main : mannen går
      s Pres Simul Pos Inv : går mannen
      s Pres Simul Pos Sub : mannen går
      s Pres Simul Neg Main : mannen går inte
      s Pres Simul Neg Inv : går mannen inte
      s Pres Simul Neg Sub : mannen inte går
      s Pres Anter Pos Main : mannen har gått
      s Pres Anter Pos Inv : har mannen gått
      s Pres Anter Pos Sub : mannen har gått
      s Pres Anter Neg Main : mannen har inte gått
      s Pres Anter Neg Inv : har mannen inte gått
      s Pres Anter Neg Sub : mannen inte har gått
      s Past Simul Pos Main : mannen gick
      s Past Simul Pos Inv : gick mannen
      s Past Simul Pos Sub : mannen gick
      s Past Simul Neg Main : mannen gick inte
      s Past Simul Neg Inv : gick mannen inte
      s Past Simul Neg Sub : mannen inte gick
      s Past Anter Pos Main : mannen hade gått
      s Past Anter Pos Inv : hade mannen gått
      s Past Anter Pos Sub : mannen hade gått
      s Past Anter Neg Main : mannen hade inte gått
      s Past Anter Neg Inv : hade mannen inte gått
      s Past Anter Neg Sub : mannen inte hade gått
      s Fut Simul Pos Main : mannen ska gå
      s Fut Simul Pos Inv : ska mannen gå
      s Fut Simul Pos Sub : mannen ska gå
      s Fut Simul Neg Main : mannen ska inte gå
      s Fut Simul Neg Inv : ska mannen inte gå
      s Fut Simul Neg Sub : mannen inte ska gå
      s Fut Anter Pos Main : mannen ska ha gått
      s Fut Anter Pos Inv : ska mannen ha gått
      s Fut Anter Pos Sub : mannen ska ha gått
      s Fut Anter Neg Main : mannen ska inte ha gått
      s Fut Anter Neg Inv : ska mannen inte ha gått
      s Fut Anter Neg Sub : mannen inte ska ha gått
      s Cond Simul Pos Main : mannen skulle gå
      s Cond Simul Pos Inv : skulle mannen gå
      s Cond Simul Pos Sub : mannen skulle gå
      s Cond Simul Neg Main : mannen skulle inte gå
      s Cond Simul Neg Inv : skulle mannen inte gå
      s Cond Simul Neg Sub : mannen inte skulle gå
      s Cond Anter Pos Main : mannen skulle ha gått
      s Cond Anter Pos Inv : skulle mannen ha gått
      s Cond Anter Pos Sub : mannen skulle ha gått
      s Cond Anter Neg Main : mannen skulle inte ha gått
      s Cond Anter Neg Inv : skulle mannen inte ha gått
      s Cond Anter Neg Sub : mannen inte skulle ha gått

The following quiz can be used for training the inflection of intransitive clauses:

        morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) (UseV ?))

The following quiz translates English sentences in random tenses and polarities:

        translate_quiz -from=DemoEng -to=DemoSwe (UseCl ? ? (PredVP (UsePron ?) (UseV ?)))

## Verbs with different predication patterns

Transitive verbs take an object in the accusative case (if there is a case):

      > %translate "he loves her"
      han älskar henne

A generalization is two-place verbs, where the object is in some other case, or has a preposition. What is transitive in one language can often require a preposition in another language:

      > %translate "he waits for her"
      han väntar på henne

      > %translate "he likes her"
      han tycker om henne

Three-place verbs usually take an object and another argument:

      > %translate "the king gave the city to the queen"
      kungen gav staden till drottningen

There are also verbs that have a sentence or a question as an argument, possibly with an object:

      > %translate "he said that the man walks"
      han sade att mannen går

      > %translate "he wonders who sleeps"
      han undrar vem som sover

      > %translate "he asked me who sleeps"
      han frågade mig vem som sover

      > %translate "we answer to him that everybody sleeps"
      vi svarar till honom att alla sover

There are also verbs that take other verbs (with their complements) as arguments:

      > %translate "we must sleep"
      vi måste sova

      > %translate "we want to wait for her"
      vi vill vänta på henne

The verb to be takes adjectives and noun phrases as arguments:

      > %translate "he is very old"
      han är mycket gammal

      > %translate "he is an old man"
      han är en gammal man

The following quiz can be used for training the inflection of clauses with any verb:

        morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) ?)

The following quiz can be used for training the inflection of clauses with to be:

        morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) (UseComp ?))

The following quiz translates English sentences in random tenses and polarities:

        translate_quiz -from=DemoEng -to=DemoSwe (UseCl ? ? (PredVP (UsePron ?) ?))

## Questions

Questions are similar to sentences, but can have a different word order:

      > %translate "is he very old"
      är han mycket gammal

      > %translate "would I sleep"
      skulle jag sova

Questions can moreover have interrogatives as their arguments, instead of norman nouns:

      > %translate "who doesn't sleep"
      vem sover inte

      > %translate "whom did she see"
      vem såg hon

Sentences without interrogatives can be made to questions with

      > %translate "where will we sleep"
      var ska vi sova

      > %translate "why didn't she wait for us"
      varför väntade hon inte på oss

# For developers

There are three levels of involvement, from the easiest to the hardest,

1. create the default tour for a language that is in the GF resource grammar library (takes less than a minute, if you have the tools listed below)
2. customize the tour for a language that is in the library (worth spending a couple of hours on)
3. add a language to the library and build the tour for it (an undertaking of a few months)

1. To create the tour for a language that is in the library, e.g. Spanish, just run

        make Spa

in the directory `GF/lib/doc/tour`. You need the following things for this to work out

- the program GF (Grammatical Framework), downloadable from the GF website
- the precompiled grammar package `Demo.pgf`, downloadable from here or makeable in `GF/lib/src` with `make demo`
- the command `runghc` available in any GHC installation
- the command `txt2tags`

2. To customize the tour, edit the master file `GF/lib/doc/tour/tour.txt`. The customization mainly proceeds by adding lines marked `#Spa` (if Spanish is your target language). This can be done both for text lines, e.g.

        #Spa Swedish has separate second-person plural pronouns for both genders.

and for GF command lines, e.g.

        #Spa %translate "you are very old"

In both cases, one can also add `#Spa` to the existing markings if they are adequate, e.g.

        #Fre,Spa Swedish has two genders: the masculine and the feminine.

It's in particular for this purpose that we recommend using the variable `Swedish` rather than the constant `Spanish`. The `make` procedure replaces the variable with the constant automatically. Similarly, the language code `Spa` used in GF commands should be avoided and the variable `Swe` used instead.

In general, the master file `tour.txt` is processed line by line. It has five kinds of lines, distinguished by the prefix of the line:

- `#` LANGS `>` COMMAND : language-specific GF command
- `#` LANGS TEXT : language-specific text
- `>` COMMAND : language-independent GF command
- `*` : ignored; included for the sake of documentation
- any other text : language-independet text

Here LANGS is a comma-separated list of 3-letter language codes, such as `Fre,Spa,Ita`.

3. To contribute a new language to the library, see the GF Resource Grammar Project.

In cases (2) and (3), please contribute your work to the GF community!