forked from GitHub/gf-core
globalized the resource tour
This commit is contained in:
@@ -37,5 +37,8 @@ Spa:
|
||||
runghc MkTour Spa Spanish
|
||||
|
||||
Swe:
|
||||
txt2tags -thtml -o tourSwe.html tour.txt
|
||||
runghc MkTour Swe Swedish
|
||||
|
||||
Urd:
|
||||
runghc MkTour Urd Urdu
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
module Main where
|
||||
|
||||
import Char
|
||||
import System
|
||||
|
||||
original = "tour.txt"
|
||||
@@ -14,27 +15,30 @@ main = do
|
||||
writeFile txt []
|
||||
script <- mkTour lan language src txt gfs
|
||||
system $ "gf -s Demo.pgf <" ++ gfs
|
||||
system $ "txt2tags -thtml " ++ txt
|
||||
system $ "txt2tags --toc -thtml " ++ txt
|
||||
|
||||
|
||||
mkTour :: String -> String -> [String] -> FilePath -> FilePath -> IO ()
|
||||
mkTour lan language src txt gfs = mapM_ mk src where
|
||||
|
||||
mk line = case line of
|
||||
'>':command -> do -- gf command
|
||||
let comm = loc command
|
||||
apptxt ('>':comm)
|
||||
appgfs (comm ++ " | " ++ appcomm)
|
||||
appgfs "\n"
|
||||
'*':_ -> return () -- gf-generated text
|
||||
'#':_ -> return () -- Swedish-specific line
|
||||
_ -> apptxt (loc line)
|
||||
mk ll = do
|
||||
let (lans,line) = lansline ll
|
||||
if (not (null lans) && not (elem lan lans)) -- language-specific, not for lan
|
||||
then return ()
|
||||
else case line of
|
||||
'>':command -> do -- gf command
|
||||
let comm = loc command
|
||||
apptxt ('>':comm)
|
||||
appgfs (comm ++ " | " ++ appcomm)
|
||||
appgfs "\n"
|
||||
'*':_ -> return () -- gf-generated text
|
||||
_ -> apptxt (loc line)
|
||||
|
||||
appgfs line = appendFile gfs line >> appendFile gfs "\n"
|
||||
|
||||
loc line = case line of
|
||||
'S':'w':'e':'d':'i':'s':'h':cs -> language ++ loc cs
|
||||
'S':'w':'e' :cs -> lan ++ loc cs
|
||||
'L':'A':'N':'G':'U':'A':'G':'E':cs -> language ++ loc cs
|
||||
'L':'N':'G' :cs -> lan ++ loc cs
|
||||
c :cs -> c : loc cs
|
||||
_ -> line
|
||||
|
||||
@@ -42,6 +46,9 @@ mkTour lan language src txt gfs = mapM_ mk src where
|
||||
|
||||
appcomm = "wf -append -file=" ++ txt
|
||||
|
||||
lansline ll = case ll of
|
||||
'#':cs -> let (la,li) = break isSpace cs in (langs la, drop 1 li)
|
||||
_ -> ([],ll)
|
||||
|
||||
langs = words . (map (\c -> if c==',' then ' ' else c))
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
A Guided Tour of Swedish Grammar
|
||||
A Guided Tour of LANGUAGE Grammar
|
||||
Aarne Ranta
|
||||
|
||||
%!style(html) : utf8
|
||||
%!postproc(html) : "#SWE" ""
|
||||
%!postproc(html) : "sswedish" "Swedish"
|
||||
|
||||
This is an introduction to the basic grammar of Swedish.
|
||||
%!style(html) : utf8
|
||||
|
||||
|
||||
This is an introduction to the basic grammar of LANGUAGE.
|
||||
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.
|
||||
overview of LANGUAGE 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 available for 16 languages.
|
||||
The same tour is (or will be) available for 17 languages.
|
||||
- [Arabic tourAra.html]
|
||||
- [Bulgarian tourBul.html]
|
||||
- [Catalan tourCat.html]
|
||||
@@ -30,16 +30,17 @@ The same tour is available for 16 languages.
|
||||
- [Romanian tourRon.html]
|
||||
- [Russian tourRus.html]
|
||||
- [Spanish tourSpa.html]
|
||||
- [swedish tour.html]
|
||||
- [Swedish tourSwe.html]
|
||||
- [Urdu tourUrd.html]
|
||||
|
||||
|
||||
To contribute a new language, see the
|
||||
[GF Resource Grammar Project http://grammaticalframework.org/doc/gfss].
|
||||
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
|
||||
To use the LANGUAGE 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 http://grammaticalframework.org]
|
||||
@@ -57,18 +58,18 @@ the shell command
|
||||
```
|
||||
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 |
|
||||
| ``%forms`` | show the forms of a word or a phrase in LANGUAGE |
|
||||
| ``%numeral`` | translate a number to a LANGUAGE numeral expression |
|
||||
| ``%table`` | show the inflection table a word or a phrase in LANGUAGE |
|
||||
| ``%translate`` | translate an utterance from English to LANGUAGE |
|
||||
|
||||
|
||||
Initialization is made with the command macro definitions in GF:
|
||||
```
|
||||
> dc translate ps -lextext ?0 | parse -cat=Utt -lang=DemoEng | linearize -lang=DemoSwe
|
||||
> dc table linearize -table -lang=DemoSwe ?0
|
||||
> dc forms linearize -list -lang=DemoSwe ?0
|
||||
> dc numeral ps -chars ?0 | p -cat=Digits -lang=DemoSwe | pt -transfer=digits2num | l -lang=DemoSwe
|
||||
> dc translate ps -lextext ?0 | parse -cat=Utt -lang=Eng | linearize -lang=LNG
|
||||
> dc table linearize -table -lang=LNG ?0
|
||||
> dc forms linearize -list -lang=LNG ?0
|
||||
> dc numeral ps -chars ?0 | p -cat=Digits -lang=LNG | pt -transfer=digits2num | l -bind -lang=LNG
|
||||
```
|
||||
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
|
||||
@@ -106,7 +107,7 @@ The inflection forms of nouns are shown in the following example:
|
||||
```
|
||||
The forms together are an example of an **inflection pattern**.
|
||||
Here are some inflection patterns.
|
||||
#SWE They show the declensions 1 to 5.
|
||||
#Swe They show the declensions 1 to 5.
|
||||
```
|
||||
> %forms flower_N
|
||||
* blomma, blommas, blomman, blommans, blommor, blommors, blommorna, blommornas
|
||||
@@ -118,17 +119,17 @@ Here are some inflection patterns.
|
||||
* katt, katts, katten, kattens, katter, katters, katterna, katternas
|
||||
|
||||
> %forms apple_N
|
||||
* äpple, äpples, äpplet, äpplets, äpplen, äpplens, äpplena, äpplenas
|
||||
* ä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
|
||||
English words to indicate the meanings of the LANGUAGE 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
|
||||
LANGUAGE nouns also have a gender. The gender is reflected, among
|
||||
other things, in the indefinite article used with the nouns.
|
||||
```
|
||||
> %translate "a man"
|
||||
@@ -144,7 +145,7 @@ 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=DemoSwe
|
||||
> generate_trees -cat=N -number=5 | linearize -treebank -list -lang=LNG
|
||||
|
||||
* airplane_N
|
||||
* flygplan, flygplans, flygplanet, flygplanets, flygplan, flygplans, flygplanen, flygplanens
|
||||
@@ -155,12 +156,12 @@ English, you can do as follows:
|
||||
|
||||
===Quizzes with nouns===
|
||||
|
||||
If you already know some Swedish,
|
||||
If you already know some LANGUAGE,
|
||||
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
|
||||
of LANGUAGE 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=DemoSwe
|
||||
morpho_quiz -cat=N -lang=LNG
|
||||
|
||||
Welcome to GF Morphology Quiz.
|
||||
The quiz is over when you have done at least 10 examples
|
||||
@@ -181,12 +182,12 @@ other parts of speech, just changing the symbol ``N`` to some other symbol.
|
||||
(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.
|
||||
quiz for increasing your LANGUAGE 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
|
||||
of nouns from English to LANGUAGE (or, in fact, of any part of speech from any
|
||||
language to any other one). Here is how it goes
|
||||
(to swedish, for technical reasons):
|
||||
(to Swedish, for the sake of example):
|
||||
```
|
||||
translation_quiz -from=DemoEng -to=DemoSwe -cat=N
|
||||
Welcome to GF Translation Quiz.
|
||||
@@ -207,25 +208,25 @@ language to any other one). Here is how it goes
|
||||
|
||||
==Numerals and determiners==
|
||||
|
||||
Numerals are in Swedish the easiest way to build complex noun phrases from nouns,
|
||||
Numerals are in LANGUAGE 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=DemoEng,DemoSwe
|
||||
> generate_trees -cat=Sub10 -number=9 | l -lang=Eng,LNG
|
||||
* en
|
||||
* två
|
||||
* två
|
||||
* tre
|
||||
* fyra
|
||||
* fem
|
||||
* sex
|
||||
* sju
|
||||
* åtta
|
||||
* åtta
|
||||
* nio
|
||||
```
|
||||
Any sequence of digits from 1 to 999999 can be translated
|
||||
to a Swedish numeral with the ``%numeral`` command:
|
||||
to a LANGUAGE numeral with the ``%numeral`` command:
|
||||
```
|
||||
> %numeral "10"
|
||||
* tio
|
||||
@@ -243,9 +244,9 @@ Numerals can be combined with nouns to form **noun phrases**:
|
||||
> %translate "one boy"
|
||||
* en pojke
|
||||
> %translate "one apple"
|
||||
* ett äpple
|
||||
* ett äpple
|
||||
> %translate "two boys"
|
||||
* två pojkar
|
||||
* två pojkar
|
||||
> %translate "eleven cars"
|
||||
* elva bilar
|
||||
```
|
||||
@@ -267,8 +268,8 @@ we already saw the indefinite articles:
|
||||
* ett hus
|
||||
```
|
||||
Here are examples with definite articles.
|
||||
#SWE In Swedish, they are expressed by inflecting the noun
|
||||
#SWE rather than adding a word like English //the//.
|
||||
#Swe In LANGUAGE, they are expressed by inflecting the noun
|
||||
#Swe rather than adding a word like English //the//.
|
||||
```
|
||||
> %translate "the man"
|
||||
* mannen
|
||||
@@ -285,7 +286,7 @@ Here are examples with definite articles.
|
||||
Definite articles in the plural:
|
||||
```
|
||||
> %translate "the men"
|
||||
* männen
|
||||
* männen
|
||||
|
||||
> %translate "the women"
|
||||
* kvinnorna
|
||||
@@ -301,7 +302,7 @@ English, like many other languages, have no explicit indefinite article:
|
||||
just use the plural form of the noun.
|
||||
```
|
||||
> %translate "men"
|
||||
* män
|
||||
* män
|
||||
|
||||
> %translate "women"
|
||||
* kvinnor
|
||||
@@ -315,58 +316,58 @@ just use the plural form of the noun.
|
||||
Other common determiners are shown in the following:
|
||||
```
|
||||
> %translate "this car"
|
||||
* den här bilen
|
||||
* den här bilen
|
||||
|
||||
> %translate "that car"
|
||||
* den där bilen
|
||||
* den där bilen
|
||||
|
||||
> %translate "these cars"
|
||||
* de här bilarna
|
||||
* de här bilarna
|
||||
|
||||
> %translate "those cars"
|
||||
* de där bilarna
|
||||
* de där bilarna
|
||||
|
||||
> %translate "some cars"
|
||||
* några bilar
|
||||
* några bilar
|
||||
|
||||
> %translate "all cars"
|
||||
* alla bilar
|
||||
```
|
||||
Generate more examples of nouns with determiners:
|
||||
```
|
||||
> gr -number=11 (UttNP (DetCN ? (UseN ?))) | l -lang=DemoEng,DemoSwe
|
||||
> gr -number=11 (UttNP (DetCN ? (UseN ?))) | l -lang=Eng,LNG
|
||||
* much reason
|
||||
* mycket anledning
|
||||
*
|
||||
* few grammars
|
||||
* få grammatiker
|
||||
* få grammatiker
|
||||
*
|
||||
* some teacher
|
||||
* någon lärare
|
||||
* någon lärare
|
||||
```
|
||||
You will find out that other determiners can combine with numerals, such as in
|
||||
```
|
||||
> %translate "these seven sisters"
|
||||
* de här sju systrarna
|
||||
* de här sju systrarna
|
||||
|
||||
> %translate "the seven sisters"
|
||||
* de sju systrarna
|
||||
```
|
||||
#SWE thus with a numeral, the definite article suddenly appears as a word.
|
||||
#Swe 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 ?)))
|
||||
trans_quiz -from=DemoEng -to=DemoLNG (UttNP (DetCN ? (UseN ?)))
|
||||
```
|
||||
|
||||
|
||||
==Adjectives==
|
||||
|
||||
Adjectives generally have more forms than nouns. Here is an example showing the
|
||||
available forms for Swedish adjectives:
|
||||
available forms for LANGUAGE adjectives:
|
||||
```
|
||||
> %table warm_A
|
||||
* s (AF (APosit (Strong (GSg Utr))) Nom) : varm
|
||||
@@ -392,10 +393,10 @@ 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
|
||||
* 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
|
||||
* 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
|
||||
@@ -408,7 +409,7 @@ Here are some examples of adjective inflections:
|
||||
```
|
||||
The morpho quiz for adjectives is as one would expect:
|
||||
```
|
||||
morpho_quiz -cat=A -lang=DemoSwe
|
||||
morpho_quiz -cat=A -lang=DemoLNG
|
||||
```
|
||||
|
||||
==The use of adjectives==
|
||||
@@ -433,39 +434,39 @@ bare noun:
|
||||
```
|
||||
Here are the quizzes for training the adjectival modification of nouns:
|
||||
```
|
||||
translate_quiz -from=DemoEng -to=DemoSwe (AdjCN (PositA ?) (UseN ?))
|
||||
translate_quiz -from=DemoEng -to=DemoLNG (AdjCN (PositA ?) (UseN ?))
|
||||
|
||||
morpho_quiz -lang=DemoSwe (AdjCN (PositA ?) (UseN ?))
|
||||
morpho_quiz -lang=DemoLNG (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=DemoEng -cat=AP "very old" | l -lang=DemoSwe
|
||||
> p -lang=Eng -cat=AP "very old" | l -lang=LNG
|
||||
* mycket gammal
|
||||
|
||||
> p -lang=DemoEng -cat=AP "too heavy" | l -lang=DemoSwe
|
||||
* för tung
|
||||
> p -lang=Eng -cat=AP "too heavy" | l -lang=LNG
|
||||
* för tung
|
||||
```
|
||||
The **comparative** forms can be used for building adjectival phrases together
|
||||
with noun phrase complements:
|
||||
```
|
||||
> p -lang=DemoEng -cat=AP "warmer than the sun" | l -lang=DemoSwe
|
||||
* varmare än solen
|
||||
> p -lang=Eng -cat=AP "warmer than the sun" | l -lang=LNG
|
||||
* varmare än solen
|
||||
```
|
||||
Also these complex AP's can modify common nouns. The word order can be different
|
||||
from modification with simple adjectives.
|
||||
```
|
||||
> p -lang=DemoEng -cat=CN "country warmer than the sun" | l -lang=DemoSwe
|
||||
* land varmare än solen
|
||||
> p -lang=Eng -cat=CN "country warmer than the sun" | l -lang=LNG
|
||||
* land varmare än solen
|
||||
|
||||
> p -lang=DemoEng -cat=CN "very warm country" | l -lang=DemoSwe
|
||||
> p -lang=Eng -cat=CN "very warm country" | l -lang=LNG
|
||||
* mycket varmt land
|
||||
```
|
||||
Quizzes for such constructions are as follows:
|
||||
```
|
||||
translate_quiz -from=DemoEng -to=DemoSwe (AdjCN ? (UseN ?))
|
||||
translate_quiz -from=DemoEng -to=DemoLNG (AdjCN ? (UseN ?))
|
||||
|
||||
morpho_quiz -lang=DemoSwe (AdjCN ? (UseN ?))
|
||||
morpho_quiz -lang=DemoLNG (AdjCN ? (UseN ?))
|
||||
```
|
||||
|
||||
|
||||
@@ -476,11 +477,11 @@ 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
|
||||
* 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:
|
||||
Here are the forms of all personal pronouns of LANGUAGE:
|
||||
```
|
||||
> %forms i_Pron
|
||||
* jag, mig, min, mitt, mina
|
||||
@@ -498,7 +499,7 @@ Here are the forms of all personal pronouns of Swedish:
|
||||
* hon, henne, hennes, hennes, hennes
|
||||
|
||||
> %forms we_Pron
|
||||
* vi, oss, vår, vårt, våra
|
||||
* vi, oss, vår, vårt, våra
|
||||
|
||||
> %forms youPl_Pron
|
||||
* ni, er, er, ert, era
|
||||
@@ -511,7 +512,7 @@ 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"
|
||||
* hennes hus , min bil och våra barn
|
||||
* hennes hus , min bil och våra barn
|
||||
```
|
||||
Here's the pattern for training the combination of possessive pronouns and
|
||||
nouns, with the ``morpho_quiz`` and ``translate_quiz`` commands:
|
||||
@@ -535,7 +536,7 @@ word may be shown, but just a different form of the noun phrase.
|
||||
* till mitt gula hus
|
||||
|
||||
> %translate "from my yellow house"
|
||||
* från mitt gula hus
|
||||
* från mitt gula hus
|
||||
|
||||
> %translate "with my yellow house"
|
||||
* med mitt gula hus
|
||||
@@ -586,13 +587,13 @@ Here are some inflection examples:
|
||||
* 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, ,
|
||||
* 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,
|
||||
* 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.
|
||||
|
||||
@@ -618,7 +619,7 @@ 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
|
||||
* han går
|
||||
|
||||
> %translate "we sleep"
|
||||
* vi sover
|
||||
@@ -630,66 +631,66 @@ A predication forms a **clause**, which corresponds to many different
|
||||
**sentences**. Each sentence is built by fixing a **tense**, a **polarity**
|
||||
(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:
|
||||
can have in LANGUAGE:
|
||||
```
|
||||
> p -cat=Cl -lang=DemoEng "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
|
||||
> 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
|
||||
* 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 ?))
|
||||
morpho_quiz -lang=DemoLNG (PredVP (UsePron ?) (UseV ?))
|
||||
```
|
||||
The following quiz translates English sentences in random tenses and polarities:
|
||||
```
|
||||
translate_quiz -from=DemoEng -to=DemoSwe (UseCl ? ? (PredVP (UsePron ?) (UseV ?)))
|
||||
translate_quiz -from=DemoEng -to=DemoLNG (UseCl ? ? (PredVP (UsePron ?) (UseV ?)))
|
||||
```
|
||||
|
||||
==Verbs with different predication patterns==
|
||||
@@ -697,14 +698,14 @@ The following quiz translates English sentences in random tenses and polarities:
|
||||
Transitive verbs take an object in the accusative case (if there is a case):
|
||||
```
|
||||
> %translate "he loves her"
|
||||
* han älskar henne
|
||||
* 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
|
||||
* han väntar på henne
|
||||
|
||||
> %translate "he likes her"
|
||||
* han tycker om henne
|
||||
@@ -718,13 +719,13 @@ 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
|
||||
* 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
|
||||
* han frågade mig vem som sover
|
||||
|
||||
> %translate "we answer to him that everybody sleeps"
|
||||
* vi svarar till honom att alla sover
|
||||
@@ -732,32 +733,32 @@ possibly with an object:
|
||||
There are also verbs that take other verbs (with their complements) as arguments:
|
||||
```
|
||||
> %translate "we must sleep"
|
||||
* vi måste sova
|
||||
* vi måste sova
|
||||
|
||||
> %translate "we want to wait for her"
|
||||
* vi vill vänta på henne
|
||||
* 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
|
||||
* han är mycket gammal
|
||||
|
||||
> %translate "he is an old man"
|
||||
* han är en gammal 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 ?) ?)
|
||||
morpho_quiz -lang=DemoLNG (PredVP (UsePron ?) ?)
|
||||
```
|
||||
The following quiz can be used for training the inflection of clauses with
|
||||
//to be//:
|
||||
```
|
||||
morpho_quiz -lang=DemoSwe (PredVP (UsePron ?) (UseComp ?))
|
||||
morpho_quiz -lang=DemoLNG (PredVP (UsePron ?) (UseComp ?))
|
||||
```
|
||||
The following quiz translates English sentences in random tenses and polarities:
|
||||
```
|
||||
translate_quiz -from=DemoEng -to=DemoSwe (UseCl ? ? (PredVP (UsePron ?) ?))
|
||||
translate_quiz -from=DemoEng -to=DemoLNG (UseCl ? ? (PredVP (UsePron ?) ?))
|
||||
```
|
||||
|
||||
|
||||
@@ -766,7 +767,7 @@ The following quiz translates English sentences in random tenses and polarities:
|
||||
Questions are similar to sentences, but can have a different word order:
|
||||
```
|
||||
> %translate "is he very old"
|
||||
* är han mycket gammal
|
||||
* är han mycket gammal
|
||||
|
||||
> %translate "would I sleep"
|
||||
* skulle jag sova
|
||||
@@ -778,7 +779,7 @@ instead of norman nouns:
|
||||
* vem sover inte
|
||||
|
||||
> %translate "whom did she see"
|
||||
* vem såg hon
|
||||
* vem såg hon
|
||||
```
|
||||
Sentences without interrogatives can be made to questions with
|
||||
**interrogative adverbs**:
|
||||
@@ -787,5 +788,75 @@ Sentences without interrogatives can be made to questions with
|
||||
* var ska vi sova
|
||||
|
||||
> %translate "why didn't she wait for us"
|
||||
* varför väntade hon inte på oss
|
||||
* varför väntade hon inte på oss
|
||||
```
|
||||
|
||||
|
||||
=For developers=
|
||||
|
||||
There are three levels of involvement, from the easiest to the hardest,
|
||||
+ 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)
|
||||
+ customize the tour for a language that is in the library
|
||||
(worth spending a couple of hours on)
|
||||
+ 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 http://grammaticalframework.org]
|
||||
- the precompiled grammar package ``Demo.pgf``, downloadable from
|
||||
[here http://grammaticalframework.org/lib/doc/Demo.pgf.gz] or makeable in
|
||||
``GF/lib/src`` with ``make demo``
|
||||
- the command ``runghc`` available in any [GHC http://www.haskell.org/ghc] installation
|
||||
- the command [``txt2tags`` http://txt2tags.sourceforge.net/]
|
||||
|
||||
|
||||
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 LANGUAGE 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 LANGUAGE has two genders: the masculine and the feminine.
|
||||
```
|
||||
It's in particular for this purpose that we recommend using the variable ``LANGUAGE``
|
||||
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 ``LNG`` 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 http://grammaticalframework.org/doc/gfss].
|
||||
|
||||
In cases (2) and (3), please contribute your work to the GF community!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1085
lib/doc/tour/tourSwe.html
Normal file
1085
lib/doc/tour/tourSwe.html
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user