... | ... |
@@ -9,15 +9,18 @@ |
9 | 9 |
"name": "structure", |
10 | 10 |
"type": "php", |
11 | 11 |
"parameters": { |
12 |
+ "only_last": true, |
|
12 | 13 |
"inputs": [ |
13 |
- "source/content/draft.html.php", |
|
14 |
- "source/data/phonology_and_orthography.json", |
|
15 |
- "source/data/personal_pronouns.json", |
|
16 |
- "source/data/word_functions.json", |
|
17 |
- "source/data/timeforms.json", |
|
18 | 14 |
"source/data/adpositions.json", |
15 |
+ "source/data/common.json", |
|
19 | 16 |
"source/data/correlatives.json", |
20 | 17 |
"source/data/declension.json", |
18 |
+ "source/data/personal_pronouns.json", |
|
19 |
+ "source/data/phonology_and_orthography.json", |
|
20 |
+ "source/data/texts.json", |
|
21 |
+ "source/data/timeforms.json", |
|
22 |
+ "source/data/transitions.json", |
|
23 |
+ "source/data/word_functions.json", |
|
21 | 24 |
"source/logic/server/misc.php", |
22 | 25 |
"source/logic/server/data.php", |
23 | 26 |
"source/logic/server/settings.php", |
... | ... |
@@ -52,10 +55,10 @@ |
52 | 55 |
"source/content/dictionary.html.php", |
53 | 56 |
"source/content/examples.html.php", |
54 | 57 |
"source/content/example_sentences.html.php", |
55 |
- "source/content/example_texts.html.php" |
|
58 |
+ "source/content/example_texts.html.php", |
|
59 |
+ "source/content/draft.html.php" |
|
56 | 60 |
], |
57 |
- "output": "build/draft.html", |
|
58 |
- "only_first": true |
|
61 |
+ "output": "build/draft.html" |
|
59 | 62 |
} |
60 | 63 |
}, |
61 | 64 |
{ |
... | ... |
@@ -26,9 +26,9 @@ |
26 | 26 |
$data = sql_rename($data, "name", "type_name"); |
27 | 27 |
} |
28 | 28 |
{ |
29 |
- $data = sql_cross($data, $data_adpositions["kinds"]); |
|
30 |
- $data = sql_select($data, function ($row) {return ($row["kind_id"] == $row["id"]);}); |
|
31 |
- $data = sql_delete($data, ["kind_id", "id"]); |
|
29 |
+ $data = sql_cross($data, $data_adpositions["references"]); |
|
30 |
+ $data = sql_select($data, function ($row) {return ($row["reference_id"] == $row["id"]);}); |
|
31 |
+ $data = sql_delete($data, ["reference_id", "id"]); |
|
32 | 32 |
$data = sql_rename($data, "name", "kind_name"); |
33 | 33 |
} |
34 | 34 |
} |
... | ... |
@@ -44,7 +44,7 @@ |
44 | 44 |
], |
45 | 45 |
$data |
46 | 46 |
); |
47 |
- $table = $table->snap |
|
47 |
+ $table_ = $table->snap |
|
48 | 48 |
( |
49 | 49 |
[ |
50 | 50 |
"label_vertical" => function ($column) {return "";}, |
... | ... |
@@ -67,22 +67,17 @@ |
67 | 67 |
{ |
68 | 68 |
return $values; |
69 | 69 |
}, |
70 |
- "data_formatter" => function ($value) |
|
71 |
- { |
|
72 |
- return ( |
|
73 |
- _bar("word") |
|
74 |
- ( |
|
75 |
- [ |
|
76 |
- "original" => $value[0]["words"], |
|
77 |
- "translated" => $value[1]["words"], |
|
78 |
- ] |
|
79 |
- ) |
|
80 |
- ); |
|
81 |
- return json_encode($value); |
|
82 |
- }, |
|
70 |
+ "data_formatter" => function_chain |
|
71 |
+ ( |
|
72 |
+ [ |
|
73 |
+ object_from_array("language_id"), |
|
74 |
+ object_map(object_attribute("words")), |
|
75 |
+ format_correlation("type_word"), |
|
76 |
+ ] |
|
77 |
+ ), |
|
83 | 78 |
] |
84 | 79 |
); |
85 |
- $table->generate(); |
|
80 |
+ $table_->generate(); |
|
86 | 81 |
?> |
87 | 82 |
</section> |
88 | 83 |
|
... | ... |
@@ -2,6 +2,6 @@ |
2 | 2 |
<header>Cases</header> |
3 | 3 |
<?php proposal(); ?> |
4 | 4 |
<p>The base form of noun is the <span class="grammarterm">nominative</span> |
5 |
- <p>Regular nouns can appear in two cases: <span class="grammarterm">nominative</span> and <span class="grammarterm">genitive</span>. The nominative doesn't receive any marker while the genitive is formed by appending the suffix <span class="word lang_fs">-(e)s</span> to the word, e.g. <span class="word lang_fs">huses</span> ~ <span class="word lang_en">houses</span>. The marker for the plural has to be applied first, e.g. <span class="word lang_fs">huser(e)s</span> ~ <span class="word lang_en">the houses'</span>.</p> |
|
5 |
+ <p>Regular nouns can appear in two cases: <span class="grammarterm">nominative</span> and <span class="grammarterm">genitive</span>. The nominative doesn't receive any marker while the genitive is formed by appending the suffix <?php echo(mark("-(e)s", ["type_word", "lang_fs"])); ?> to the word, e.g. <?php echo(format_correlation("type_word")(["fs" => ["huses"], "en" => ["houses"]])); ?>. The marker for the plural has to be applied first, e.g. <?php echo(format_correlation("type_word")(["fs" => ["huser(e)s"], "en" => ["houses'"]])); ?>.</p> |
|
6 | 6 |
</section> |
7 | 7 |
|
... | ... |
@@ -35,7 +35,7 @@ |
35 | 35 |
], |
36 | 36 |
$data |
37 | 37 |
); |
38 |
- $table = $table->snap |
|
38 |
+ $table_ = $table->snap |
|
39 | 39 |
( |
40 | 40 |
[ |
41 | 41 |
"label_vertical" => function ($column) {return "";}, |
... | ... |
@@ -50,32 +50,28 @@ |
50 | 50 |
], |
51 | 51 |
"columns_data" => |
52 | 52 |
[ |
53 |
+ $table->columns_get()[0], |
|
53 | 54 |
$table->columns_get()[3], |
54 | 55 |
], |
55 | 56 |
"data_aggregator" => function ($values) |
56 | 57 |
{ |
57 | 58 |
return $values; |
58 | 59 |
}, |
59 |
- "data_formatter" => function ($value) |
|
60 |
- { |
|
61 |
- return ( |
|
62 |
- _bar("word") |
|
63 |
- ( |
|
64 |
- [ |
|
65 |
- "original" => $value[0]["words"], |
|
66 |
- "translated" => $value[1]["words"], |
|
67 |
- ] |
|
68 |
- ) |
|
69 |
- ); |
|
70 |
- return json_encode($value); |
|
71 |
- }, |
|
60 |
+ "data_formatter" => function_chain |
|
61 |
+ ( |
|
62 |
+ [ |
|
63 |
+ object_from_array("language_id"), |
|
64 |
+ object_map(object_attribute("words")), |
|
65 |
+ format_correlation("type_word"), |
|
66 |
+ ] |
|
67 |
+ ), |
|
72 | 68 |
] |
73 | 69 |
); |
74 |
- $table->generate(); |
|
70 |
+ $table_->generate(); |
|
75 | 71 |
?> |
76 | 72 |
<div class="note note_information"> |
77 | 73 |
<span class="note_content"> |
78 |
- <p>Some of these words are very unlikely to ever get used (e.g. <span class="word lang_fs">ni slag</span>). Nevertheless they exist and are listed for completeness.</p> |
|
74 |
+ <p>Some of these words are very unlikely to ever get used (e.g. <?php echo(mark("ni slag", ["type_word", "lang_fs"])); ?>). Nevertheless they exist and are listed for completeness.</p> |
|
79 | 75 |
</span> |
80 | 76 |
</div> |
81 | 77 |
</section> |
... | ... |
@@ -99,8 +99,8 @@ |
99 | 99 |
{ |
100 | 100 |
case 0: |
101 | 101 |
{ |
102 |
- return _baz($value[0]["words"], "word", "fs"); |
|
103 |
- // break; |
|
102 |
+ return format_list("type_word", "fs")($value[0]["words"]); |
|
103 |
+ break; |
|
104 | 104 |
} |
105 | 105 |
case 1: |
106 | 106 |
{ |
... | ... |
@@ -120,26 +120,25 @@ |
120 | 120 |
); |
121 | 121 |
} |
122 | 122 |
return ( |
123 |
- _bar("word") |
|
123 |
+ format_correlation("type_word") |
|
124 | 124 |
( |
125 | 125 |
[ |
126 |
- "original" => $value_["fs"], |
|
127 |
- "translated" => $value_[$configuration["target"]], |
|
126 |
+ "fs" => $value_["fs"], |
|
127 |
+ $configuration["target"] => $value_[$configuration["target"]], |
|
128 | 128 |
] |
129 | 129 |
) |
130 | 130 |
); |
131 |
- // break; |
|
131 |
+ break; |
|
132 | 132 |
} |
133 | 133 |
default: |
134 | 134 |
{ |
135 | 135 |
return json_encode($value); |
136 |
- // break; |
|
136 |
+ break; |
|
137 | 137 |
} |
138 | 138 |
} |
139 | 139 |
}, |
140 | 140 |
] |
141 | 141 |
)->generate(); |
142 |
-?> |
|
143 |
-<p><span class="sentence lang_fs">Vi kön see de huses vindöger.</span> ~ <span class="sentence lang_en">We can see the houses' windows.</span></p> |
|
144 |
-</section> |
|
142 |
+ ?> |
|
143 |
+<p><?php echo(format_correlation("type_sentence")(["fs" => ["Vi kön see de huses vindöger"], "en" => ["We can see the houses windows."]])); ?></p></section> |
|
145 | 144 |
|
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
<section class="subsection" id="definiteness"> |
2 | 2 |
<header>Definiteness</header> |
3 | 3 |
<?php proposal(); ?> |
4 |
- <p>The undefinite aspect of a singular noun is formed by using the article <span class="word lang_fs">en</span>, e.g. <span class="word lang_fs">en hus</span> ~ <span class="word lang_en">a house</span>. Undefinite plural nouns don't have an article, e.g. <span class="word lang_fs">huser</span> ~ <span class="word lang_en">houses</span>.</p> |
|
5 |
- <p>The definite aspect of both singular and plural nouns is formed by using the article <span class="word lang_fs">de</span>, e.g. <span class="word lang_fs">de hus</span> ~ <span class="word lang_en">the house</span>.</p> |
|
4 |
+ <p>The undefinite aspect of a singular noun is formed by using the article <?php echo(mark("en", ["type_word", "lang_fs"])); ?>, e.g. <?php echo(format_correlation("type_word")(["fs" => ["en hus"], "en" => ["a house"]])); ?>. Undefinite plural nouns don't have an article, e.g. <?php echo(format_correlation("type_word")(["fs" => ["huser"], "en" => ["houses"]])); ?>.</p> |
|
5 |
+ <p>The definite aspect of both singular and plural nouns is formed by using the article <?php echo(mark("de", ["type_word", "lang_fs"])); ?>, e.g. <?php echo(format_correlation("type_word")(["fs" => ["de hus"], "en" => ["the house"]])); ?>.</p> |
|
6 | 6 |
</section> |
7 | 7 |
|
... | ... |
@@ -21,6 +21,20 @@ |
21 | 21 |
titlepage |
22 | 22 |
--> |
23 | 23 |
<?php |
24 |
+ /* |
|
25 |
+ echo |
|
26 |
+ ( |
|
27 |
+ function_chain |
|
28 |
+ ( |
|
29 |
+ [ |
|
30 |
+ function ($x) {return $x+1;}, |
|
31 |
+ function ($x) {return $x*2;}, |
|
32 |
+ function ($x) {return $x/3;}, |
|
33 |
+ ] |
|
34 |
+ ) |
|
35 |
+ (5) |
|
36 |
+ ); |
|
37 |
+ */ |
|
24 | 38 |
compose |
25 | 39 |
( |
26 | 40 |
[ |
... | ... |
@@ -31,6 +45,8 @@ |
31 | 45 |
"examples", |
32 | 46 |
] |
33 | 47 |
); |
48 |
+ /* |
|
49 |
+ */ |
|
34 | 50 |
?> |
35 | 51 |
</div> |
36 | 52 |
</body> |
... | ... |
@@ -1,16 +1,24 @@ |
1 |
+<?php |
|
2 |
+ $data = read_json("source/data/texts.json"); |
|
3 |
+ ?> |
|
1 | 4 |
<section class="section" id="example_texts"> |
2 | 5 |
<header>Texts</header> |
3 |
- <section class="subsection" id="de_grot_diktator"> |
|
4 |
- <header>De grot diktator</header> |
|
5 |
- <span class="text lang_fs"> |
|
6 |
- <p>Ek bid fur fargivung, dok ek vil nit are de verlds herskar — ek ar nit solk en man. Ek vil nit beherske odar neddruyke et man, insted ek vil helpe de maner alvan and alvar: De judisk, de hejdisk, de fargig, de vit, …. Vi al skal helpe en de ander fur at vi koyn leve ine en beter verld. Vi vil nit hate odar farakte us. Dis verld hav plats fur al maner and ur erd ar so rik, at vi al koyn spise nok. De levrid koyn are so fri and skoyn; dok vi hav farlatet de veg.</p> |
|
7 |
- <p>Gridhed hav suykent de maners seler and hav fuylt de verld med hatrid; hit hav ledet us to elend and blutsketrid. Vi hav utvikelt raskhed, dok ur gester stan stil. Vi lat makiner verke fur us; ur vetrid hav makt us hokmudig and ur klughed hard and unfrendlik; vi denk altu mang and foyl altu lit. Dok mer den makiner vi treng manlikhed; mer den klughed vi treng frendlikhed and gudhed. An dis egenheder, ur levrid ar fruykridig and al ding ar lost.</p> |
|
8 |
- <p>Med de helprid av fluygtuyger and de radio vi ar narer en to de ander den et tid ruk. De manskap treng enhed and en alvar arend bruderlikhed fur tu bruke dis utfindunger gud. Selv no mang tused in der verld koyn hoyre min stem, mang tusend fartvivelt verer, kviner and smal kinder — ofarunger av en sistem, vilk fang and kvel unskuldig maner. Ek rup to al, vilk koyn hoyr mek no: Fartvivel nit! De elend skal farsvinde, van de gridhed farsvind and de biterhed av maner, vilk fruyk de manskaps forskritrid. De Maners hatrid skal farsvinde and diktarorer skal doye. Dan de kraft, vilk di hav takt fra de folk, skal kome bak to de folk. Selv ef mang blud ar sketet: Tu kempe fur de frihed ar en gud sak.</p> |
|
9 |
- <p>Kemparer: Kemp nit fur tiraner; maner, vilk farakt ju and mak ju to sklaver; vilk vertskat nit jer levrid, vilk seg to ju, vat je skal make, true and foyle! Di skend ju, foyd ju, behandel ju lik kanon-foydung. Kemp nit fur dis fardervt maner — makin-maner med makin-hoyvder and makin-herter! Je ar nit makiner, je ar nit direr, je ar maner. Lat de manlikhed blive ine jer herter! Je skal nit hate; bar de unlivt hat, de unlivt and de fardervt.</p> |
|
10 |
- <p>Kemperar: Kemp nit fur de sklavskap! Kemp fur de frihed! Ine de 17. avsniding av de hajlig Lukas ar skrivt: ‚God ar ine al maner.‘ — nit bar ine en grup av maner, insted ine al maner, ine ju. Je, de folk, hav de kraft; de kraft fur tu bue vapener, dok ok de kraft fur tu sprede gladhed. Je, de folk, hav de kraft fur tu make dis levrid fri and skoyn, fur tu make dis levrid en vunderfuylt sak. Darfur: Ine de nam av folkherskrid: Lat us bruke dis kraft! Lat us verde en! Lat us kempe fur en nuy verld, fur en beter verld, vilk giv to de maner magrid tu verke, vilk giv en eftertid to de jung and sikerhed to de eld. Ok de tiraner hav truent dis to us fur tu foe de vold, dok di hav luygt. Di mak nit sant dir luvung, di vil ni tid. Tiraner frien bar dim selv, dok de folk skal blive sklaver.</p> |
|
11 |
- <p>Lat us no kempe fur tu upfuyle dis luvung. Lat us kempe fur tu make de verld fri, fur tu uvervinde landmarker, gridhed, hatrid and de untillatrid. Lat us kempe fur en verld med farstanrid, en verld, var vetridskap and forskritrid skal lede to al mans gladhed.</p> |
|
12 |
- <p>Kemparer: Ine de nam av folkherskrid: Lat us al verde en!</p> |
|
13 |
- </span> |
|
6 |
+<?php |
|
7 |
+ $id = "de_grot_diktator"; |
|
8 |
+ $dataset = $data[$id]; |
|
9 |
+ ?> |
|
10 |
+ <section class="subsection" id="<?php echo($id); ?>"> |
|
11 |
+ <header><?php echo($dataset["title"]); ?></header> |
|
12 |
+<?php |
|
13 |
+ echo |
|
14 |
+ ( |
|
15 |
+ mark |
|
16 |
+ ( |
|
17 |
+ implode("", array_map(function ($paragraph) {return ("<p>${paragraph}</p>");}, $dataset["paragraphs"])), |
|
18 |
+ ["type_text", "lang_fs"] |
|
19 |
+ ) |
|
20 |
+ ); |
|
21 |
+ ?> |
|
14 | 22 |
<p>An attempt to translate the final speech from the famous Charlie Chaplin movie "The great dictator" (with some passages inspired by the German translation); the English original can be listened to <a href="https://www.youtube.com/watch?v=ibVpDhW6kDQ">on youtube</a>; or in case you'd like to hear a more heart-wrenching version: <a href="https://www.youtube.com/watch?v=Gaq62VCcnew">accompanied by "Hans Zimmer - Time"</a>.</p> |
15 | 23 |
<!-- |
16 | 24 |
<a href="https://www.youtube.com/watch?v=Gaq62VCcnew">With "Hans Zimmer -- Time"</a> |
... | ... |
@@ -1,8 +1,8 @@ |
1 | 1 |
<section class="subsection" id="infinite_verbforms"> |
2 | 2 |
<header>Infinite Verbforms</header> |
3 |
- <p>The <span class="grammarterm">infinitive</span> is formed by appending <span class="word lang_fs">-e</span> to the verb stem, e.g. <span class="word lang_fs">skrive</span> ~ <span class="word lang_en">to write</span>. In some cases it is mandatory to mark the infinitive with the special particle <span class="word lang_fs">tu</span> in order to form the <span class="grammarterm">extended intfinitive</span>, e.g.: <span class="sentence lang_fs">Han hop tu finde en svart sten.</span> ~ <span class="sentence lang_en">He hopes to find a black stone.</span>.</p> |
|
3 |
+ <p>The <span class="grammarterm">infinitive</span> is formed by appending <?php echo(mark("-e", ["type_word", "lang_fs"])); ?> to the verb stem, e.g. <?php echo(format_correlation("type_word")(["fs" => ["skrive"], "en" => ["to write"]])); ?>. In some cases it is mandatory to mark the infinitive with the special particle <?php echo(mark("tu", ["type_word", "lang_fs"])); ?> in order to form the <span class="grammarterm">extended intfinitive</span>, e.g.: <?php echo(format_correlation("type_sentence")(["fs" => ["Han hup tu finde en svart sten."], "en" => ["He hopes to find a black stone."]])); ?>.</p> |
|
4 | 4 |
<span class="todo">Specify cases for extended infinitive</span> |
5 |
- <p>The <span class="grammarterm">active participle</span> is formed by appending <span class="word lang_fs">-end</span> to the verb stem, e.g. <span class="word lang_fs">skrivend</span> ~ <span class="word lang_en">writing</span>.</p> |
|
6 |
- <p>The <span class="grammarterm">passive participle</span> is formed by appending <span class="word lang_fs">-et</span> to the verb stem, e.g. <span class="word lang_fs">skrivet</span> ~ <span class="word lang_en">written</span>. If pronouncable, the <span class="word lang_fs">e</span> in the ending can be omitted, e.g. <span class="word lang_fs">skrivt</span>.</p> |
|
5 |
+ <p>The <span class="grammarterm">active participle</span> is formed by appending <?php echo(mark("-end", ["type_word", "lang_fs"])); ?> to the verb stem, e.g. <?php echo(format_correlation("type_word")(["fs" => ["skrivend"], "en" => ["writing"]])); ?>.</p> |
|
6 |
+ <p>The <span class="grammarterm">passive participle</span> is formed by appending <?php echo(mark("-et", ["type_word", "lang_fs"])); ?> to the verb stem, e.g. <?php echo(format_correlation("type_word")(["fs" => ["skrivet"], "en" => ["written"]])); ?>. If pronouncable, the <?php echo(mark("e", ["type_letter", "lang_fs"])); ?> in the ending can be omitted, e.g. <?php echo(mark("skrivt", ["type_word", "lang_fs"])); ?>.</p> |
|
7 | 7 |
</section> |
8 | 8 |
|
... | ... |
@@ -6,20 +6,20 @@ |
6 | 6 |
<?php |
7 | 7 |
$entries = |
8 | 8 |
[ |
9 |
- ["original" => ["mute"], "translated" => ["to must"]], |
|
10 |
- ["original" => ["köne"], "translated" => ["to can"]], |
|
11 |
- ["original" => ["vile"], "translated" => ["to will"]], |
|
12 |
- ["original" => ["skale"], "translated" => ["to shall"]], |
|
13 |
- // ["original" => ["darfe"], "translated" => ["to be allowed to"]], |
|
9 |
+ ["fs" => ["mute"], "en" => ["to must"]], |
|
10 |
+ ["fs" => ["köne"], "en" => ["to can"]], |
|
11 |
+ ["fs" => ["vile"], "en" => ["to will"]], |
|
12 |
+ ["fs" => ["skale"], "en" => ["to shall"]], |
|
13 |
+ // ["fs" => ["darfe"], "en" => ["to be allowed to"]], |
|
14 | 14 |
]; |
15 | 15 |
foreach ($entries as $entry) |
16 | 16 |
{ |
17 | 17 |
?> |
18 |
- <li><?php echo(call_user_func(_bar("word"), $entry)); ?></li> |
|
18 |
+ <li><?php echo(format_correlation("type_word")($entry)); ?></li> |
|
19 | 19 |
<?php |
20 | 20 |
} |
21 | 21 |
?> |
22 | 22 |
</ul> |
23 |
- <p>Modal verbs in contrast to normal verbs never take an extended infinitive as object, e.g. <?php echo(call_user_func(_bar("sentence"), ["original" => ["Vi hop tu finde vater har."], "translated" => ["We hope to find water here."]])); ?>, but <?php echo(call_user_func(_bar("sentence"), ["original" => ["Vi kön finde vater har."], "translated" => ["We can find water here."]])); ?></p> |
|
23 |
+ <p>Modal verbs in contrast to normal verbs never take an extended infinitive as object, e.g. <?php echo(format_correlation("type_sentence")(["fs" => ["Vi hop tu finde vater har."], "en" => ["We hope to find water here."]])); ?>, but <?php echo(format_correlation("type_sentence")(["fs" => ["Vi kön finde vater har."], "en" => ["We can find water here."]])); ?></p> |
|
24 | 24 |
</section> |
25 | 25 |
|
... | ... |
@@ -1,9 +1,9 @@ |
1 | 1 |
<section class="subsection" id="negation"> |
2 | 2 |
<header>Negation</header> |
3 | 3 |
<?php proposal(); ?> |
4 |
- <p>In order to negate the meaning of a verb, one places the word <span class="word lang_fs">nit</span> after the verb. Example: <?php echo(call_user_func(_bar("sentence"), ["original" => ["Di se nit."], "translated" => ["They don't see."]])); ?></p> |
|
5 |
- <p>If the verb takes a direct object it is allowed to place the object before the <span class="word lang_fs">nit</span>. Example: <?php echo(call_user_func(_bar("sentence"), ["original" => ["Di se us nit."], "translated" => ["They don't see us."]])); ?></p> |
|
6 |
- <p>Negations can also be expressed implicitly by using negative correlatives. Example: <?php echo(call_user_func(_bar("sentence"), ["original" => ["Di se ing tid."], "translated" => ["They never see."]])); ?></p> |
|
7 |
- <p>Doubled negations (both explicit and implicit ones) cancel each other out. Example: <?php echo(call_user_func(_bar("sentence"), ["original" => ["Di se nit ing tid."], "translated" => ["They never don't see.", "They always see."]])); ?></p> |
|
4 |
+ <p>In order to negate the meaning of a verb, one places the word <?php echo(mark("nit", ["type_word", "lang_fs"])); ?> after the verb. Example: <?php echo(format_correlation("type_sentence")(["fs" => ["Di se nit."], "en" => ["They don't see."]])); ?></p> |
|
5 |
+ <p>If the verb takes a direct object it is allowed to place the object before the <?php echo(mark("nit", ["type_word", "lang_fs"])); ?>. Example: <?php echo(format_correlation("type_sentence")(["fs" => ["Di se us nit."], "en" => ["They don't see us."]])); ?></p> |
|
6 |
+ <p>Negations can also be expressed implicitly by using negative correlatives. Example: <?php echo(format_correlation("type_sentence")(["fs" => ["Di se ing tid."], "en" => ["They never see."]])); ?></p> |
|
7 |
+ <p>Doubled negations (both explicit and implicit ones) cancel each other out. Example: <?php echo(format_correlation("type_sentence")(["fs" => ["Di se nit ing tid."], "en" => ["They never don't see.", "They always see."]])); ?></p> |
|
8 | 8 |
</section> |
9 | 9 |
|
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
<section class="subsection" id="numeri"> |
2 | 2 |
<header>Numeri</header> |
3 | 3 |
<?php proposal(); ?> |
4 |
- <p>The plural of a noun is formed by appending the syllable <span class="word lang_fs">-er</span>, e.g. <span class="word lang_fs">huser</span> ~ <span class="word lang_en">houses</span>.</p> |
|
4 |
+ <p>The plural of a noun is formed by appending the syllable <?php echo(mark("-er", ["type_word", "lang_fs"])); ?>, e.g. <?php echo(format_correlation("type_word")(["fs" => ["huser"], "en" => ["houses"]])); ?>.</p> |
|
5 | 5 |
</section> |
6 | 6 |
|
... | ... |
@@ -129,66 +129,30 @@ function convert_genus($genus) {return [0 => "common", 1 => "masculine", 2 => "f |
129 | 129 |
{ |
130 | 130 |
return $values; |
131 | 131 |
}, |
132 |
- "data_formatter" => function ($value) |
|
133 |
- { |
|
134 |
- switch (1) |
|
135 |
- { |
|
136 |
- case 0: |
|
137 |
- { |
|
138 |
- return _baz($value[0]["words"], "word", "fs"); |
|
139 |
- // break; |
|
140 |
- } |
|
141 |
- case 1: |
|
142 |
- { |
|
143 |
- global $configuration; |
|
144 |
- $value_ = []; |
|
145 |
- foreach (["fs",$configuration["target"]] as $language_id) |
|
146 |
- { |
|
147 |
- $value_[$language_id] = array_reduce |
|
148 |
- ( |
|
149 |
- array_map |
|
150 |
- ( |
|
151 |
- function ($dataset) {return $dataset["words"];}, |
|
152 |
- array_filter($value, function ($dataset) use (&$language_id) {return ($dataset["language_id"] == $language_id);}) |
|
153 |
- ), |
|
154 |
- function ($x, $y) {return array_merge($x, $y);}, |
|
155 |
- [] |
|
156 |
- ); |
|
157 |
- } |
|
158 |
- return ( |
|
159 |
- _bar("word") |
|
160 |
- ( |
|
161 |
- [ |
|
162 |
- "original" => $value_["fs"], |
|
163 |
- "translated" => $value_[$configuration["target"]], |
|
164 |
- ] |
|
165 |
- ) |
|
166 |
- ); |
|
167 |
- // break; |
|
168 |
- } |
|
169 |
- default: |
|
170 |
- { |
|
171 |
- return json_encode($value); |
|
172 |
- // break; |
|
173 |
- } |
|
174 |
- } |
|
175 |
- }, |
|
132 |
+ "data_formatter" => function_chain |
|
133 |
+ ( |
|
134 |
+ [ |
|
135 |
+ object_from_array("language_id"), |
|
136 |
+ object_map(object_attribute("words")), |
|
137 |
+ format_correlation("type_word"), |
|
138 |
+ ] |
|
139 |
+ ), |
|
176 | 140 |
] |
177 | 141 |
)->generate(); |
178 | 142 |
?> |
179 | 143 |
<div class="note note_information"> |
180 | 144 |
<span class="note_content"> |
181 |
- <p>Since the word <span class="word lang_fs">man</span> simply means <span class="word lang_en">human being</span>, it can be understood as an implicit way to express an abstract actor; similar words like <span class="word lang_fs">lüd</span> (<span class="word lang_en">people</span>) or <span class="word lang_fs">di</span> can be used as well.</p> |
|
145 |
+ <p>Since the word <?php echo(mark("man", ["type_word", "lang_fs"])); ?> simply means <?php echo(mark("human being", ["type_word", "lang_en"])); ?>, it can be understood as an implicit way to express an abstract actor; similar words like <?php echo(mark("lüd", ["type_word", "lang_fs"])); ?> (<?php echo(mark("people", ["type_word", "lang_en"])); ?>) or <?php echo(mark("di", ["type_word", "lang_fs"])); ?> can be used as well.</p> |
|
182 | 146 |
</span> |
183 | 147 |
</div> |
184 | 148 |
<div class="note note_information"> |
185 | 149 |
<span class="note_content"> |
186 |
- <p>The honorific salutation is expressed by the plural form <span class="word lang_fs">je</span>; however it should be avoided in usual speech in favor of the singular form <span class="word lang_fs">du</span>.</p> |
|
150 |
+ <p>The honorific salutation is expressed by the plural form <?php echo(mark("je", ["type_word", "lang_fs"])); ?>; however it should be avoided in usual speech in favor of the singular form <?php echo(mark("du", ["type_word", "lang_fs"])); ?>.</p> |
|
187 | 151 |
</span> |
188 | 152 |
</div> |
189 | 153 |
<div class="note note_information"> |
190 | 154 |
<span class="note_content"> |
191 |
- <p>A reflexive genitive can be formed by inserting the word <span class="word lang_fs">egen</span> (<span class="word lang_en">own</span>), for example <span class="sentence lang_fs">Han (A) hav givt to ham (B) hans egen buk.</span> ~ <span class="sentence lang_en">He (A) has given (to) him (B) his own book.</span> (A's book was given to B).</p> |
|
155 |
+ <p>A reflexive genitive can be formed by inserting the word <?php echo(mark("egen", ["word", "lang_fs"])); ?> (<?php echo(mark("own", ["type_word", "lang_en"])); ?>), for example <?php echo(format_correlation("type_sentence")(["fs" => ["Han (A) hav givt to ham (B) hans egen buk."], "en" => ["He (A) has given (to) him (B) his own book."]])); ?> (A's book was given to B).</p> |
|
192 | 156 |
</span> |
193 | 157 |
</div> |
194 | 158 |
<div class="note note_reasoning"> |
... | ... |
@@ -196,7 +160,7 @@ function convert_genus($genus) {return [0 => "common", 1 => "masculine", 2 => "f |
196 | 160 |
<label class="note_label note_label_show" for="note_02">show</label> |
197 | 161 |
<label class="note_label note_label_hide" for="note_02">hide</label> |
198 | 162 |
<span class="note_content"> |
199 |
- <p>When finding appropriate personal pronouns, the most intricate cases were the 3rd person singular and the 2nd person plural; both turned out to be very diverse among the modern Germanic languages. While for the 2nd person plural we could find a sufficient satisfying solution after a while, the 3rd person singular kept defying. In the end we came to the settlement to use a Swedish-like solution including the pronoun <span class="word lang_fs">hen</span>, which is not bound to any sexus so that it can be used for actors in general.</p> |
|
163 |
+ <p>When finding appropriate personal pronouns, the most intricate cases were the 3rd person singular and the 2nd person plural; both turned out to be very diverse among the modern Germanic languages. While for the 2nd person plural we could find a sufficient satisfying solution after a while, the 3rd person singular kept defying. In the end we came to the settlement to use a Swedish-like solution including the pronoun <?php echo(mark("hen", ["type_word", "lang_fs"])); ?>, which is not bound to any sexus so that it can be used for actors in general.</p> |
|
200 | 164 |
</span> |
201 | 165 |
</div> |
202 | 166 |
</section> |
... | ... |
@@ -87,7 +87,7 @@ |
87 | 87 |
?> |
88 | 88 |
<div class="note note_information"> |
89 | 89 |
<span class="note_content"> |
90 |
- <p>It is permitted to pronounce the sounds a little differently, for example <span class="letter lang_fs">v</span> as <span class="ipa">ʋ</span> or <span class="letter lang_fs">s</span> as <span class="ipa">z</span>, whilst the sounds from the table above are the default.</p> |
|
90 |
+ <p>It is permitted to pronounce the sounds a little differently, for example <?php echo(mark("v", ["type_letter", "lang_fs"])); ?> as <span class="ipa">ʋ</span> or <?php echo(mark("s", ["type_letter", "lang_fs"])); ?> as <span class="ipa">z</span>, whilst the sounds from the table above are the default.</p> |
|
91 | 91 |
</span> |
92 | 92 |
</div> |
93 | 93 |
<div class="note note_warning"> |
... | ... |
@@ -100,7 +100,7 @@ |
100 | 100 |
<label class="note_label note_label_show" for="note_00">show</label> |
101 | 101 |
<label class="note_label note_label_hide" for="note_00">hide</label> |
102 | 102 |
<span class="note_content"> |
103 |
- <p>We have discussed many times whether to include a <span class="ipa">x</span>-like sound. On one hand, without it, some words were not easy to derive (e.g. the Proto Germanic <span class="word lang_pg">nahts</span> (English: <span class="word lang_en">night</span>)). On the other hand we found that the sound is very disconcerting to those, who don't have it the phonology of their mother tongue. Eventually we have decided to exclude it from the draft, since it seemed to be too much of a trouble maker; finding words was not that much of an issue in the end.</p> |
|
103 |
+ <p>We have discussed many times whether to include a <span class="ipa">x</span>-like sound. On one hand, without it, some words were not easy to derive (e.g. the Proto Germanic <?php echo(mark("nahts", ["type_word", "lang_pg"])); ?> (English: <?php echo(mark("night", ["type_word", "lang_en"])); ?>)). On the other hand we found that the sound is very disconcerting to those, who don't have it in the phonology of their mother tongue. Eventually we have decided to exclude it from the draft, since it seemed to be too much of a trouble maker; finding words was not that much of an issue in the end.</p> |
|
104 | 104 |
</span> |
105 | 105 |
</div> |
106 | 106 |
<div class="note note_reasoning"> |
... | ... |
@@ -108,8 +108,8 @@ |
108 | 108 |
<label class="note_label note_label_show" for="note_01">show</label> |
109 | 109 |
<label class="note_label note_label_hide" for="note_01">hide</label> |
110 | 110 |
<span class="note_content"> |
111 |
- <p>The letters <span class="letter lang_fs">ö</span> and <span class="letter lang_fs">ü</span> were not included inconsiderately. Factually every Germanic language has an <span class="ipa">ø</span>-like sound in its phonology, but the main reason for the inclusion of these sounds was that altering the vowels of affected words to "near" vowels (e.g. <span class="ipa">i</span> ← <span class="ipa">y</span> → <span class="ipa">u</span>) most of the times resulted in disconcerting and unsatisfying creations. However the modern Germanic languages often feature vowel shifts throughout their natural evolution; some switching to the one and some switching to the other. Therefore we felt is was more convenient to have these sounds as compromises and connectors between the languages.</p> |
|
112 |
- <p>We also struggled to find proper written representations fo these sounds. One possibility was to use the IPA-like symbols <span class="letter lang_fs">ø</span> and <span class="letter lang_fs">y</span>, like e.g. Norwegian does. Unfortunatelly this had taken away the possibility to have the alternative writings <span class="letter lang_fs">oy</span> and <span class="letter lang_fs">uy</span>, which we considered important, since not everybody can easily type non-standard Latin letters. So we arranged to use diaeresis, like German and Swedish does.</p> |
|
111 |
+ <p>The letters <?php echo(mark("ö", ["type_letter", "lang_fs"])); ?> and <?php echo(mark("ü", ["type_letter", "lang_fs"])); ?> were not included inconsiderately. Effectively every Germanic language has an <span class="ipa">ø</span>-like sound in its phonology, but the main reason for the inclusion of these sounds was that altering the vowels of affected words to "near" vowels (e.g. <span class="ipa">i</span> ← <span class="ipa">y</span> → <span class="ipa">u</span>) most of the times resulted in disconcerting and unsatisfying creations. However the modern Germanic languages often feature vowel shifts throughout their natural evolution; some switching to the one and some switching to the other. Therefore we felt it was more convenient to have these sounds as compromises and connectors between the languages.</p> |
|
112 |
+ <p>We also struggled to find proper written representations of these sounds. One possibility was to use the IPA-like symbols <?php echo(mark("ø", ["type_letter", "lang_fs"])); ?> and <?php echo(mark("y", ["type_letter", "lang_fs"])); ?>, like e.g. Norwegian does. Unfortunatelly this had taken away the possibility to have the alternative writings <?php echo(mark("oy", ["type_letter", "lang_fs"])); ?> and <?php echo(mark("uy", ["type_letter", "lang_fs"])); ?>, which we considered important, since not everybody can easily type non-standard Latin letters. So we arranged to use diaeresis, like German and Swedish does.</p> |
|
113 | 113 |
</span> |
114 | 114 |
</div> |
115 | 115 |
</section> |
... | ... |
@@ -1,6 +1,97 @@ |
1 |
+<?php |
|
2 |
+global $configuration; |
|
3 |
+include_once("source/logic/server/data.php"); |
|
4 |
+include_once("source/logic/server/sql.php"); |
|
5 |
+include_once("source/logic/server/table.php"); |
|
6 |
+ ?> |
|
1 | 7 |
<section class="section" id="principles"> |
2 | 8 |
<header>Principles</header> |
3 | 9 |
<p>The word stock of Folksprak is ‐ with minor ‐ exceptions derived from the modern Germanic languages (e.g. English, German, Swedish, …) and/or their precursors (e.g. Old English, Old Norse, Proto Germanic, etc.). However branches, which no longer emerge today (e.g. the East Germanic languages like Gothic), were not incorporated.</p> |
4 |
- <span class="todo">more (e.g. typical transitions)</span> |
|
10 |
+ <p>The following table gives an overview about the typical phoneme-transitions with example words in square brackets:</p> |
|
11 |
+ <span class="todo">more entries</span> |
|
12 |
+<?php |
|
13 |
+ $data_transitions = read_json("source/data/transitions.json"); |
|
14 |
+ |
|
15 |
+ $data = $data_transitions["data"]; |
|
16 |
+ // $data = sql_select($data, function ($row) {return in_array($row["language_id"], ["pg","fs","en"]);}); |
|
17 |
+ |
|
18 |
+ $table = new class_table |
|
19 |
+ ( |
|
20 |
+ [ |
|
21 |
+ new class_column("Transition", "transition_id"), |
|
22 |
+ new class_column("Language", "language_id"), |
|
23 |
+ new class_column("Phonemes", "phonemes"), |
|
24 |
+ new class_column("Examples", "examples"), |
|
25 |
+ ], |
|
26 |
+ $data |
|
27 |
+ ); |
|
28 |
+ |
|
29 |
+ $table->snap |
|
30 |
+ ( |
|
31 |
+ [ |
|
32 |
+ "label_vertical" => function ($column) {return "";}, |
|
33 |
+ "columns_vertical" => |
|
34 |
+ [ |
|
35 |
+ $table->columns_get()[0], |
|
36 |
+ ], |
|
37 |
+ "label_horizontal" => function ($column, $value) {return $value;}, |
|
38 |
+ "columns_horizontal" => |
|
39 |
+ [ |
|
40 |
+ $table->columns_get()[1], |
|
41 |
+ ], |
|
42 |
+ "columns_data" => |
|
43 |
+ [ |
|
44 |
+ $table->columns_get()[1], |
|
45 |
+ $table->columns_get()[2], |
|
46 |
+ $table->columns_get()[3], |
|
47 |
+ ], |
|
48 |
+ "data_aggregator" => function ($values) |
|
49 |
+ { |
|
50 |
+ return $values; |
|
51 |
+ }, |
|
52 |
+ "data_formatter" => function ($values) |
|
53 |
+ { |
|
54 |
+ if (count($values) == 1) |
|
55 |
+ { |
|
56 |
+ $phonemes = implode( |
|
57 |
+ ", ", |
|
58 |
+ array_map |
|
59 |
+ ( |
|
60 |
+ function ($phoneme) use (&$values) |
|
61 |
+ { |
|
62 |
+ return mark($phoneme, ["type_word", "lang_" . $values[0]["language_id"]]); |
|
63 |
+ }, |
|
64 |
+ $values[0]["phonemes"] |
|
65 |
+ ) |
|
66 |
+ ); |
|
67 |
+ $examples = implode |
|
68 |
+ ( |
|
69 |
+ ", ", |
|
70 |
+ array_map |
|
71 |
+ ( |
|
72 |
+ function ($word) use (&$values) |
|
73 |
+ { |
|
74 |
+ return mark($word, ["type_word", "lang_" . $values[0]["language_id"]]); |
|
75 |
+ }, |
|
76 |
+ array_slice($values[0]["examples"], 0, 1) |
|
77 |
+ ) |
|
78 |
+ ); |
|
79 |
+ $output = $phonemes; |
|
80 |
+ if (count($values[0]["examples"]) > 0) |
|
81 |
+ { |
|
82 |
+ $break = true; |
|
83 |
+ $breaker = $break ? "<br/>" : " "; |
|
84 |
+ $output .= "${breaker}[${examples}]"; |
|
85 |
+ } |
|
86 |
+ return $output; |
|
87 |
+ } |
|
88 |
+ else |
|
89 |
+ { |
|
90 |
+ return "?"; |
|
91 |
+ } |
|
92 |
+ }, |
|
93 |
+ ] |
|
94 |
+ )->generate(); |
|
95 |
+ ?> |
|
5 | 96 |
</section> |
6 | 97 |
|
... | ... |
@@ -31,14 +31,14 @@ |
31 | 31 |
"scheme", |
32 | 32 |
function ($value) |
33 | 33 |
{ |
34 |
- return format($value, ["word", "lang_fs"]); |
|
34 |
+ return format($value, ["type_word", "lang_fs"]); |
|
35 | 35 |
} |
36 | 36 |
), |
37 | 37 |
new class_column |
38 | 38 |
( |
39 | 39 |
"Example", |
40 | 40 |
"example_", |
41 |
- _bar("sentence") |
|
41 |
+ _bar("type_sentence") |
|
42 | 42 |
), |
43 | 43 |
], |
44 | 44 |
sql_condense |
... | ... |
@@ -53,8 +53,8 @@ |
53 | 53 |
) |
54 | 54 |
))->generate(); |
55 | 55 |
?> |
56 |
- <p>Since these forms are built with auxiliary verbs, they can be combined straightforward to form complex expressions, e.g. <?php echo(call_user_func(_bar("sentence"), ["original" => ["Ek skal have skrivt."], "translated" => ["I will have written."]])); ?><!-- or <?php echo(call_user_func(_bar("sentence"), ["original" => ["Ek hav skalt skrive."], "translated" => ["I was going to write."]])); ?> -->.</p> |
|
57 |
- <p>The <span class="grammarterm">imperative</span> only exists in the present (with future meaning) for the 2nd person singular and plural. It is formed by using the bare stem of the verb, optionally followed by the personal pronoun (i.e. either <span class="word lang_fs">du</span> or <span class="word lang_fs">je</span>) in order to specify or emphasize the numerus. Examples: <span class="sentence lang_fs">skriv!</span>, <span class="sentence lang_fs">skriv, je!</span>.</p> |
|
56 |
+ <p>Since these forms are built with auxiliary verbs, they can be combined straightforward to form complex expressions, e.g. <?php echo(format_correlation("type_sentence")(["fs" => ["Ek skal have skrivt."], "en" => ["I will have written."]])); ?><!-- or <?php echo(format_correlation("type_sentence")(["fs" => ["Ek hav skalt skrive."], "en" => ["I was going to write."]])); ?> -->.</p> |
|
57 |
+ <p>The <span class="grammarterm">imperative</span> only exists in the present (with future meaning) for the 2nd person singular and plural. It is formed by using the bare stem of the verb, optionally followed by the personal pronoun (i.e. either <?php echo(mark("du", ["type_word", "lang_fs"])); ?> or <?php echo(mark("je", ["type_word", "lang_fs"])); ?>) in order to specify or emphasize the numerus. Examples: <?php echo(mark("skriv!", ["type_sentence", "lang_fs"])); ?>, <?php echo(mark("skriv, je!", ["type_sentence", "lang_fs"])); ?>.</p> |
|
58 | 58 |
<span class="todo">conjunctive</span> |
59 | 59 |
</section> |
60 | 60 |
|
... | ... |
@@ -17,7 +17,7 @@ |
17 | 17 |
"affix", |
18 | 18 |
function ($value) |
19 | 19 |
{ |
20 |
- return mark($value, ["word", "lang_fs"]); |
|
20 |
+ return mark($value, ["type_word", "lang_fs"]); |
|
21 | 21 |
} |
22 | 22 |
), |
23 | 23 |
new class_column |
... | ... |
@@ -70,6 +70,12 @@ |
70 | 70 |
"Example", |
71 | 71 |
"example_", |
72 | 72 |
_bar("word") |
73 |
+ /* |
|
74 |
+ function ($x) |
|
75 |
+ { |
|
76 |
+ return json_encode($x); |
|
77 |
+ } |
|
78 |
+ */ |
|
73 | 79 |
), |
74 | 80 |
], |
75 | 81 |
sql_condense |
... | ... |
@@ -89,10 +95,9 @@ |
89 | 95 |
<p> |
90 | 96 |
Some complex examples: |
91 | 97 |
<ul> |
92 |
- <?php $fun = _bar("word"); ?> |
|
93 |
- <li><?php echo($fun(["original" => ["unmanlikhed"], "translated" => ["inhumanity"]])); ?></li> |
|
94 |
- <li><?php echo($fun(["original" => ["seberenung"], "translated" => ["visualization"]])); ?></li> |
|
95 |
- <li><?php echo($fun(["original" => ["kraftigenar"], "translated" => ["fortifier"]])); ?></li> |
|
98 |
+ <li><?php echo(format_correlation("word")(["fs" => ["unmanlikhed"], "en" => ["inhumanity"]])); ?></li> |
|
99 |
+ <li><?php echo(format_correlation("word")(["fs" => ["seberenung"], "en" => ["visualization"]])); ?></li> |
|
100 |
+ <li><?php echo(format_correlation("word")(["fs" => ["kraftigenar"], "en" => ["fortifier"]])); ?></li> |
|
96 | 101 |
</ul> |
97 | 102 |
</p> |
98 | 103 |
</section> |
... | ... |
@@ -1,126 +1,156 @@ |
1 | 1 |
{ |
2 | 2 |
"situations": [ |
3 |
- {"id": "x00", "name": "x00"}, |
|
4 |
- {"id": "x01", "name": "x01"}, |
|
5 |
- {"id": "x02", "name": "x02"}, |
|
6 |
- {"id": "x03", "name": "x03"}, |
|
7 |
- {"id": "x04", "name": "x04"}, |
|
8 |
- {"id": "x05", "name": "x05"}, |
|
9 |
- {"id": "x06", "name": "x06"}, |
|
10 |
- {"id": "x07", "name": "x07"}, |
|
11 |
- {"id": "x08", "name": "x08"}, |
|
12 |
- {"id": "x09", "name": "x09"} |
|
3 |
+ {"id": "x00", "name": "fore"}, |
|
4 |
+ {"id": "x01", "name": "back"}, |
|
5 |
+ {"id": "x02", "name": "up"}, |
|
6 |
+ {"id": "x03", "name": "down"}, |
|
7 |
+ {"id": "x04", "name": "left"}, |
|
8 |
+ {"id": "x05", "name": "right"}, |
|
9 |
+ {"id": "x06", "name": "in"}, |
|
10 |
+ {"id": "x07", "name": "out"}, |
|
11 |
+ {"id": "x08", "name": "on"}, |
|
12 |
+ {"id": "x09", "name": "between"} |
|
13 | 13 |
], |
14 | 14 |
"types": [ |
15 | 15 |
{"id": "pos", "name": "Positive"}, |
16 | 16 |
{"id": "dir", "name": "Directive"} |
17 | 17 |
], |
18 |
- "kinds": [ |
|
18 |
+ "references": [ |
|
19 | 19 |
{"id": "abs", "name": "Absolute"}, |
20 | 20 |
{"id": "rel", "name": "Relative"}, |
21 | 21 |
{"id": "att", "name": "Attributive"} |
22 | 22 |
], |
23 | 23 |
"words": [ |
24 |
- {"language_id": "fs", "situation_id": "x00", "type_id": "pos", "kind_id": "abs", "words": ["for"]}, |
|
25 |
- {"language_id": "fs", "situation_id": "x00", "type_id": "pos", "kind_id": "rel", "words": ["for (lut)"]}, |
|
26 |
- {"language_id": "fs", "situation_id": "x00", "type_id": "pos", "kind_id": "att", "words": ["for arend"]}, |
|
27 |
- {"language_id": "fs", "situation_id": "x00", "type_id": "dir", "kind_id": "abs", "words": ["to for"]}, |
|
28 |
- {"language_id": "fs", "situation_id": "x00", "type_id": "dir", "kind_id": "rel", "words": ["to for (lut)"]}, |
|
29 |
- {"language_id": "fs", "situation_id": "x01", "type_id": "pos", "kind_id": "abs", "words": ["ruk"]}, |
|
30 |
- {"language_id": "fs", "situation_id": "x01", "type_id": "pos", "kind_id": "rel", "words": ["ruk (lut)"]}, |
|
31 |
- {"language_id": "fs", "situation_id": "x01", "type_id": "pos", "kind_id": "att", "words": ["ruk arend"]}, |
|
32 |
- {"language_id": "fs", "situation_id": "x01", "type_id": "dir", "kind_id": "abs", "words": ["to ruk"]}, |
|
33 |
- {"language_id": "fs", "situation_id": "x01", "type_id": "dir", "kind_id": "rel", "words": ["to ruk (lut)"]}, |
|
34 |
- {"language_id": "fs", "situation_id": "x02", "type_id": "pos", "kind_id": "abs", "words": ["top"]}, |
|
35 |
- {"language_id": "fs", "situation_id": "x02", "type_id": "pos", "kind_id": "rel", "words": ["top (lut)"]}, |
|
36 |
- {"language_id": "fs", "situation_id": "x02", "type_id": "pos", "kind_id": "att", "words": ["top arend"]}, |
|
37 |
- {"language_id": "fs", "situation_id": "x02", "type_id": "dir", "kind_id": "abs", "words": ["to top"]}, |
|
38 |
- {"language_id": "fs", "situation_id": "x02", "type_id": "dir", "kind_id": "rel", "words": ["to top (lut)"]}, |
|
39 |
- {"language_id": "fs", "situation_id": "x03", "type_id": "pos", "kind_id": "abs", "words": ["ned"]}, |
|
40 |
- {"language_id": "fs", "situation_id": "x03", "type_id": "pos", "kind_id": "rel", "words": ["ned (lut)"]}, |
|
41 |
- {"language_id": "fs", "situation_id": "x03", "type_id": "pos", "kind_id": "att", "words": ["ned arend"]}, |
|
42 |
- {"language_id": "fs", "situation_id": "x03", "type_id": "dir", "kind_id": "abs", "words": ["to ned"]}, |
|
43 |
- {"language_id": "fs", "situation_id": "x03", "type_id": "dir", "kind_id": "rel", "words": ["to ned (lut)"]}, |
|
44 |
- {"language_id": "fs", "situation_id": "x04", "type_id": "pos", "kind_id": "abs", "words": ["vinst"]}, |
|
45 |
- {"language_id": "fs", "situation_id": "x04", "type_id": "pos", "kind_id": "rel", "words": ["vinst (lut)"]}, |
|
46 |
- {"language_id": "fs", "situation_id": "x04", "type_id": "pos", "kind_id": "att", "words": ["vinst arend"]}, |
|
47 |
- {"language_id": "fs", "situation_id": "x04", "type_id": "dir", "kind_id": "abs", "words": ["to vinst"]}, |
|
48 |
- {"language_id": "fs", "situation_id": "x04", "type_id": "dir", "kind_id": "rel", "words": ["to vinst (lut)"]}, |
|
49 |
- {"language_id": "fs", "situation_id": "x05", "type_id": "pos", "kind_id": "abs", "words": ["hög"]}, |
|
50 |
- {"language_id": "fs", "situation_id": "x05", "type_id": "pos", "kind_id": "rel", "words": ["hög (lut)"]}, |
|
51 |
- {"language_id": "fs", "situation_id": "x05", "type_id": "pos", "kind_id": "att", "words": ["hög arend"]}, |
|
52 |
- {"language_id": "fs", "situation_id": "x05", "type_id": "dir", "kind_id": "abs", "words": ["to hög"]}, |
|
53 |
- {"language_id": "fs", "situation_id": "x05", "type_id": "dir", "kind_id": "rel", "words": ["to hög (lut)"]}, |
|
54 |
- {"language_id": "fs", "situation_id": "x06", "type_id": "pos", "kind_id": "abs", "words": ["ine"]}, |
|
55 |
- {"language_id": "fs", "situation_id": "x06", "type_id": "pos", "kind_id": "rel", "words": ["ine (lut)"]}, |
|
56 |
- {"language_id": "fs", "situation_id": "x06", "type_id": "pos", "kind_id": "att", "words": ["ine arend"]}, |
|
57 |
- {"language_id": "fs", "situation_id": "x06", "type_id": "dir", "kind_id": "abs", "words": ["in"]}, |
|
58 |
- {"language_id": "fs", "situation_id": "x06", "type_id": "dir", "kind_id": "rel", "words": ["in (lut)"]}, |
|
59 |
- {"language_id": "fs", "situation_id": "x07", "type_id": "pos", "kind_id": "abs", "words": ["ute"]}, |
|
60 |
- {"language_id": "fs", "situation_id": "x07", "type_id": "pos", "kind_id": "rel", "words": ["ute (lut)"]}, |
|
61 |
- {"language_id": "fs", "situation_id": "x07", "type_id": "pos", "kind_id": "att", "words": ["ute arend"]}, |
|
62 |
- {"language_id": "fs", "situation_id": "x07", "type_id": "dir", "kind_id": "abs", "words": ["ut"]}, |
|
63 |
- {"language_id": "fs", "situation_id": "x07", "type_id": "dir", "kind_id": "rel", "words": ["ut (lut)"]}, |
|
64 |
- {"language_id": "fs", "situation_id": "x08", "type_id": "pos", "kind_id": "abs", "words": ["upe"]}, |
|
65 |
- {"language_id": "fs", "situation_id": "x08", "type_id": "pos", "kind_id": "rel", "words": ["upe (lut)"]}, |
|
66 |
- {"language_id": "fs", "situation_id": "x08", "type_id": "pos", "kind_id": "att", "words": ["upe arend"]}, |
|
67 |
- {"language_id": "fs", "situation_id": "x08", "type_id": "dir", "kind_id": "abs", "words": ["up"]}, |
|
68 |
- {"language_id": "fs", "situation_id": "x08", "type_id": "dir", "kind_id": "rel", "words": ["up (lut)"]}, |
|
69 |
- {"language_id": "fs", "situation_id": "x09", "type_id": "pos", "kind_id": "abs", "words": ["mel"]}, |
|
70 |
- {"language_id": "fs", "situation_id": "x09", "type_id": "pos", "kind_id": "rel", "words": ["mel (lut)"]}, |
|
71 |
- {"language_id": "fs", "situation_id": "x09", "type_id": "pos", "kind_id": "att", "words": ["mel arend"]}, |
|
72 |
- {"language_id": "fs", "situation_id": "x09", "type_id": "dir", "kind_id": "abs", "words": ["to mel"]}, |
|
73 |
- {"language_id": "fs", "situation_id": "x09", "type_id": "dir", "kind_id": "rel", "words": ["to mel (lut)"]}, |
|
74 |
- {"language_id": "en", "situation_id": "x00", "type_id": "pos", "kind_id": "abs", "words": ["in front"]}, |
|
75 |
- {"language_id": "en", "situation_id": "x00", "type_id": "pos", "kind_id": "rel", "words": ["in front of"]}, |
|
76 |
- {"language_id": "en", "situation_id": "x00", "type_id": "pos", "kind_id": "att", "words": ["fore", "front"]}, |
|
77 |
- {"language_id": "en", "situation_id": "x00", "type_id": "dir", "kind_id": "abs", "words": ["forward"]}, |
|
78 |
- {"language_id": "en", "situation_id": "x00", "type_id": "dir", "kind_id": "rel", "words": ["in front of"]}, |
|
79 |
- {"language_id": "en", "situation_id": "x01", "type_id": "pos", "kind_id": "abs", "words": ["back"]}, |
|
80 |
- {"language_id": "en", "situation_id": "x01", "type_id": "pos", "kind_id": "rel", "words": ["behind"]}, |
|
81 |
- {"language_id": "en", "situation_id": "x01", "type_id": "pos", "kind_id": "att", "words": ["rear", "hind"]}, |
|
82 |
- {"language_id": "en", "situation_id": "x01", "type_id": "dir", "kind_id": "abs", "words": ["backward", "behind"]}, |
|
83 |
- {"language_id": "en", "situation_id": "x01", "type_id": "dir", "kind_id": "rel", "words": ["behind"]}, |
|
84 |
- {"language_id": "en", "situation_id": "x02", "type_id": "pos", "kind_id": "abs", "words": ["on top"]}, |
|
85 |
- {"language_id": "en", "situation_id": "x02", "type_id": "pos", "kind_id": "rel", "words": ["over", "above"]}, |
|
86 |
- {"language_id": "en", "situation_id": "x02", "type_id": "pos", "kind_id": "att", "words": ["upper"]}, |
|
87 |
- {"language_id": "en", "situation_id": "x02", "type_id": "dir", "kind_id": "abs", "words": ["up"]}, |
|
88 |
- {"language_id": "en", "situation_id": "x02", "type_id": "dir", "kind_id": "rel", "words": ["over", "above"]}, |
|
89 |
- {"language_id": "en", "situation_id": "x03", "type_id": "pos", "kind_id": "abs", "words": ["below"]}, |
|
90 |
- {"language_id": "en", "situation_id": "x03", "type_id": "pos", "kind_id": "rel", "words": ["under"]}, |
|
91 |
- {"language_id": "en", "situation_id": "x03", "type_id": "pos", "kind_id": "att", "words": ["lower"]}, |
|
92 |
- {"language_id": "en", "situation_id": "x03", "type_id": "dir", "kind_id": "abs", "words": ["down"]}, |
|
93 |
- {"language_id": "en", "situation_id": "x03", "type_id": "dir", "kind_id": "rel", "words": ["under"]}, |
|
94 |
- {"language_id": "en", "situation_id": "x04", "type_id": "pos", "kind_id": "abs", "words": ["left"]}, |
|
95 |
- {"language_id": "en", "situation_id": "x04", "type_id": "pos", "kind_id": "rel", "words": ["left from"]}, |
|
96 |
- {"language_id": "en", "situation_id": "x04", "type_id": "pos", "kind_id": "att", "words": ["left"]}, |
|
97 |
- {"language_id": "en", "situation_id": "x04", "type_id": "dir", "kind_id": "abs", "words": ["to the left"]}, |
|
98 |
- {"language_id": "en", "situation_id": "x04", "type_id": "dir", "kind_id": "rel", "words": ["to the left of"]}, |
|
99 |
- {"language_id": "en", "situation_id": "x05", "type_id": "pos", "kind_id": "abs", "words": ["right"]}, |
|
100 |
- {"language_id": "en", "situation_id": "x05", "type_id": "pos", "kind_id": "rel", "words": ["right from"]}, |
|
101 |
- {"language_id": "en", "situation_id": "x05", "type_id": "pos", "kind_id": "att", "words": ["right"]}, |
|
102 |
- {"language_id": "en", "situation_id": "x05", "type_id": "dir", "kind_id": "abs", "words": ["to the right"]}, |
|
103 |
- {"language_id": "en", "situation_id": "x05", "type_id": "dir", "kind_id": "rel", "words": ["to the right of"]}, |
|
104 |
- {"language_id": "en", "situation_id": "x06", "type_id": "pos", "kind_id": "abs", "words": ["inside"]}, |
|
105 |
- {"language_id": "en", "situation_id": "x06", "type_id": "pos", "kind_id": "rel", "words": ["in", "inside from"]}, |
|
106 |
- {"language_id": "en", "situation_id": "x06", "type_id": "pos", "kind_id": "att", "words": ["inner"]}, |
|
107 |
- {"language_id": "en", "situation_id": "x06", "type_id": "dir", "kind_id": "abs", "words": ["in"]}, |
|
108 |
- {"language_id": "en", "situation_id": "x06", "type_id": "dir", "kind_id": "rel", "words": ["into"]}, |
|
109 |
- {"language_id": "en", "situation_id": "x07", "type_id": "pos", "kind_id": "abs", "words": ["outside"]}, |
|
110 |
- {"language_id": "en", "situation_id": "x07", "type_id": "pos", "kind_id": "rel", "words": ["out", "outside from"]}, |
|
111 |
- {"language_id": "en", "situation_id": "x07", "type_id": "pos", "kind_id": "att", "words": ["outer"]}, |
|
112 |
- {"language_id": "en", "situation_id": "x07", "type_id": "dir", "kind_id": "abs", "words": ["out"]}, |
|
113 |
- {"language_id": "en", "situation_id": "x07", "type_id": "dir", "kind_id": "rel", "words": ["out of"]}, |
|
114 |
- {"language_id": "en", "situation_id": "x08", "type_id": "pos", "kind_id": "abs", "words": ["upon"]}, |
|
115 |
- {"language_id": "en", "situation_id": "x08", "type_id": "pos", "kind_id": "rel", "words": ["thereon"]}, |
|
116 |
- {"language_id": "en", "situation_id": "x08", "type_id": "pos", "kind_id": "att", "words": []}, |
|
117 |
- {"language_id": "en", "situation_id": "x08", "type_id": "dir", "kind_id": "abs", "words": ["on"]}, |
|
118 |
- {"language_id": "en", "situation_id": "x08", "type_id": "dir", "kind_id": "rel", "words": ["onto"]}, |
|
119 |
- {"language_id": "en", "situation_id": "x09", "type_id": "pos", "kind_id": "abs", "words": ["inbetween"]}, |
|
120 |
- {"language_id": "en", "situation_id": "x09", "type_id": "pos", "kind_id": "rel", "words": ["between"]}, |
|
121 |
- {"language_id": "en", "situation_id": "x09", "type_id": "pos", "kind_id": "att", "words": ["middle"]}, |
|
122 |
- {"language_id": "en", "situation_id": "x09", "type_id": "dir", "kind_id": "abs", "words": ["between"]}, |
|
123 |
- {"language_id": "en", "situation_id": "x09", "type_id": "dir", "kind_id": "rel", "words": ["between"]} |
|
24 |
+ {"language_id": "fs", "situation_id": "x00", "type_id": "pos", "reference_id": "abs", "words": ["for"]}, |
|
25 |
+ {"language_id": "fs", "situation_id": "x00", "type_id": "pos", "reference_id": "rel", "words": ["for (lut)"]}, |
|
26 |
+ {"language_id": "fs", "situation_id": "x00", "type_id": "pos", "reference_id": "att", "words": ["for arend"]}, |
|
27 |
+ {"language_id": "fs", "situation_id": "x00", "type_id": "dir", "reference_id": "abs", "words": ["to for"]}, |
|
28 |
+ {"language_id": "fs", "situation_id": "x00", "type_id": "dir", "reference_id": "rel", "words": ["to for (lut)"]}, |
|
29 |
+ {"language_id": "fs", "situation_id": "x01", "type_id": "pos", "reference_id": "abs", "words": ["bak"]}, |
|
30 |
+ {"language_id": "fs", "situation_id": "x01", "type_id": "pos", "reference_id": "rel", "words": ["bak (lut)"]}, |
|
31 |
+ {"language_id": "fs", "situation_id": "x01", "type_id": "pos", "reference_id": "att", "words": ["bak arend"]}, |
|
32 |
+ {"language_id": "fs", "situation_id": "x01", "type_id": "dir", "reference_id": "abs", "words": ["to bak"]}, |
|
33 |
+ {"language_id": "fs", "situation_id": "x01", "type_id": "dir", "reference_id": "rel", "words": ["to bak (lut)"]}, |
|
34 |
+ {"language_id": "fs", "situation_id": "x02", "type_id": "pos", "reference_id": "abs", "words": ["uver"]}, |
|
35 |
+ {"language_id": "fs", "situation_id": "x02", "type_id": "pos", "reference_id": "rel", "words": ["uver (lut)"]}, |
|
36 |
+ {"language_id": "fs", "situation_id": "x02", "type_id": "pos", "reference_id": "att", "words": ["uver arend"]}, |
|
37 |
+ {"language_id": "fs", "situation_id": "x02", "type_id": "dir", "reference_id": "abs", "words": ["to uver"]}, |
|
38 |
+ {"language_id": "fs", "situation_id": "x02", "type_id": "dir", "reference_id": "rel", "words": ["to uver (lut)"]}, |
|
39 |
+ {"language_id": "fs", "situation_id": "x03", "type_id": "pos", "reference_id": "abs", "words": ["neder"]}, |
|
40 |
+ {"language_id": "fs", "situation_id": "x03", "type_id": "pos", "reference_id": "rel", "words": ["neder (lut)"]}, |
|
41 |
+ {"language_id": "fs", "situation_id": "x03", "type_id": "pos", "reference_id": "att", "words": ["neder arend"]}, |
|
42 |
+ {"language_id": "fs", "situation_id": "x03", "type_id": "dir", "reference_id": "abs", "words": ["to neder"]}, |
|
43 |
+ {"language_id": "fs", "situation_id": "x03", "type_id": "dir", "reference_id": "rel", "words": ["to neder (lut)"]}, |
|
44 |
+ {"language_id": "fs", "situation_id": "x04", "type_id": "pos", "reference_id": "abs", "words": ["vinst"]}, |
|
45 |
+ {"language_id": "fs", "situation_id": "x04", "type_id": "pos", "reference_id": "rel", "words": ["vinst (lut)"]}, |
|
46 |
+ {"language_id": "fs", "situation_id": "x04", "type_id": "pos", "reference_id": "att", "words": ["vinst arend"]}, |
|
47 |
+ {"language_id": "fs", "situation_id": "x04", "type_id": "dir", "reference_id": "abs", "words": ["to vinst"]}, |
|
48 |
+ {"language_id": "fs", "situation_id": "x04", "type_id": "dir", "reference_id": "rel", "words": ["to vinst (lut)"]}, |
|
49 |
+ {"language_id": "fs", "situation_id": "x05", "type_id": "pos", "reference_id": "abs", "words": ["hög"]}, |
|
50 |
+ {"language_id": "fs", "situation_id": "x05", "type_id": "pos", "reference_id": "rel", "words": ["hög (lut)"]}, |
|
51 |
+ {"language_id": "fs", "situation_id": "x05", "type_id": "pos", "reference_id": "att", "words": ["hög arend"]}, |
|
52 |
+ {"language_id": "fs", "situation_id": "x05", "type_id": "dir", "reference_id": "abs", "words": ["to hög"]}, |
|
53 |
+ {"language_id": "fs", "situation_id": "x05", "type_id": "dir", "reference_id": "rel", "words": ["to hög (lut)"]}, |
|
54 |
+ {"language_id": "fs", "situation_id": "x06", "type_id": "pos", "reference_id": "abs", "words": ["ine"]}, |
|
55 |
+ {"language_id": "fs", "situation_id": "x06", "type_id": "pos", "reference_id": "rel", "words": ["ine (lut)"]}, |
|
56 |
+ {"language_id": "fs", "situation_id": "x06", "type_id": "pos", "reference_id": "att", "words": ["ine arend"]}, |
|
57 |
+ {"language_id": "fs", "situation_id": "x06", "type_id": "dir", "reference_id": "abs", "words": ["in"]}, |
|
58 |
+ {"language_id": "fs", "situation_id": "x06", "type_id": "dir", "reference_id": "rel", "words": ["in (lut)"]}, |
|
59 |
+ {"language_id": "fs", "situation_id": "x07", "type_id": "pos", "reference_id": "abs", "words": ["ute"]}, |
|
60 |
+ {"language_id": "fs", "situation_id": "x07", "type_id": "pos", "reference_id": "rel", "words": ["ute (lut)"]}, |
|
61 |
+ {"language_id": "fs", "situation_id": "x07", "type_id": "pos", "reference_id": "att", "words": ["ute arend"]}, |
|
62 |
+ {"language_id": "fs", "situation_id": "x07", "type_id": "dir", "reference_id": "abs", "words": ["ut"]}, |
|
63 |
+ {"language_id": "fs", "situation_id": "x07", "type_id": "dir", "reference_id": "rel", "words": ["ut (lut)"]}, |
|
64 |
+ {"language_id": "fs", "situation_id": "x08", "type_id": "pos", "reference_id": "abs", "words": ["upe"]}, |
|
65 |
+ {"language_id": "fs", "situation_id": "x08", "type_id": "pos", "reference_id": "rel", "words": ["upe (lut)"]}, |
|
66 |
+ {"language_id": "fs", "situation_id": "x08", "type_id": "pos", "reference_id": "att", "words": ["upe arend"]}, |
|
67 |
+ {"language_id": "fs", "situation_id": "x08", "type_id": "dir", "reference_id": "abs", "words": ["up"]}, |
|
68 |
+ {"language_id": "fs", "situation_id": "x08", "type_id": "dir", "reference_id": "rel", "words": ["up (lut)"]}, |
|
69 |
+ {"language_id": "fs", "situation_id": "x09", "type_id": "pos", "reference_id": "abs", "words": ["mel"]}, |
|
70 |
+ {"language_id": "fs", "situation_id": "x09", "type_id": "pos", "reference_id": "rel", "words": ["mel (lut)"]}, |
|
71 |
+ {"language_id": "fs", "situation_id": "x09", "type_id": "pos", "reference_id": "att", "words": ["mel arend"]}, |
|
72 |
+ {"language_id": "fs", "situation_id": "x09", "type_id": "dir", "reference_id": "abs", "words": ["to mel"]}, |
|
73 |
+ {"language_id": "fs", "situation_id": "x09", "type_id": "dir", "reference_id": "rel", "words": ["to mel (lut)"]}, |
|
74 |
+ {"language_id": "en", "situation_id": "x00", "type_id": "pos", "reference_id": "abs", "words": ["in front"]}, |
|
75 |
+ {"language_id": "en", "situation_id": "x00", "type_id": "pos", "reference_id": "rel", "words": ["in front of"]}, |
|
76 |
+ {"language_id": "en", "situation_id": "x00", "type_id": "pos", "reference_id": "att", "words": ["fore", "front"]}, |
|
77 |
+ {"language_id": "en", "situation_id": "x00", "type_id": "dir", "reference_id": "abs", "words": ["forward"]}, |
|
78 |
+ {"language_id": "en", "situation_id": "x00", "type_id": "dir", "reference_id": "rel", "words": ["in front of"]}, |
|
79 |
+ {"language_id": "en", "situation_id": "x01", "type_id": "pos", "reference_id": "abs", "words": ["back"]}, |
|
80 |
+ {"language_id": "en", "situation_id": "x01", "type_id": "pos", "reference_id": "rel", "words": ["behind"]}, |
|
81 |
+ {"language_id": "en", "situation_id": "x01", "type_id": "pos", "reference_id": "att", "words": ["rear", "hind"]}, |
|
82 |
+ {"language_id": "en", "situation_id": "x01", "type_id": "dir", "reference_id": "abs", "words": ["backward", "behind"]}, |
|
83 |
+ {"language_id": "en", "situation_id": "x01", "type_id": "dir", "reference_id": "rel", "words": ["behind"]}, |
|
84 |
+ {"language_id": "en", "situation_id": "x02", "type_id": "pos", "reference_id": "abs", "words": ["on top"]}, |
|
85 |
+ {"language_id": "en", "situation_id": "x02", "type_id": "pos", "reference_id": "rel", "words": ["over", "above"]}, |
|
86 |
+ {"language_id": "en", "situation_id": "x02", "type_id": "pos", "reference_id": "att", "words": ["upper"]}, |
|
87 |
+ {"language_id": "en", "situation_id": "x02", "type_id": "dir", "reference_id": "abs", "words": ["up"]}, |
|
88 |
+ {"language_id": "en", "situation_id": "x02", "type_id": "dir", "reference_id": "rel", "words": ["over", "above"]}, |
|
89 |
+ {"language_id": "en", "situation_id": "x03", "type_id": "pos", "reference_id": "abs", "words": ["below"]}, |
|
90 |
+ {"language_id": "en", "situation_id": "x03", "type_id": "pos", "reference_id": "rel", "words": ["under"]}, |
|
91 |
+ {"language_id": "en", "situation_id": "x03", "type_id": "pos", "reference_id": "att", "words": ["lower"]}, |
|
92 |
+ {"language_id": "en", "situation_id": "x03", "type_id": "dir", "reference_id": "abs", "words": ["down"]}, |
|
93 |
+ {"language_id": "en", "situation_id": "x03", "type_id": "dir", "reference_id": "rel", "words": ["under"]}, |
|
94 |
+ {"language_id": "en", "situation_id": "x04", "type_id": "pos", "reference_id": "abs", "words": ["left"]}, |
|
95 |
+ {"language_id": "en", "situation_id": "x04", "type_id": "pos", "reference_id": "rel", "words": ["left from"]}, |
|
96 |
+ {"language_id": "en", "situation_id": "x04", "type_id": "pos", "reference_id": "att", "words": ["left"]}, |
|
97 |
+ {"language_id": "en", "situation_id": "x04", "type_id": "dir", "reference_id": "abs", "words": ["to the left"]}, |
|
98 |
+ {"language_id": "en", "situation_id": "x04", "type_id": "dir", "reference_id": "rel", "words": ["to the left of"]}, |
|
99 |
+ {"language_id": "en", "situation_id": "x05", "type_id": "pos", "reference_id": "abs", "words": ["right"]}, |
|
100 |
+ {"language_id": "en", "situation_id": "x05", "type_id": "pos", "reference_id": "rel", "words": ["right from"]}, |
|
101 |
+ {"language_id": "en", "situation_id": "x05", "type_id": "pos", "reference_id": "att", "words": ["right"]}, |
|
102 |
+ {"language_id": "en", "situation_id": "x05", "type_id": "dir", "reference_id": "abs", "words": ["to the right"]}, |
|
103 |
+ {"language_id": "en", "situation_id": "x05", "type_id": "dir", "reference_id": "rel", "words": ["to the right of"]}, |
|
104 |
+ {"language_id": "en", "situation_id": "x06", "type_id": "pos", "reference_id": "abs", "words": ["inside"]}, |
|
105 |
+ {"language_id": "en", "situation_id": "x06", "type_id": "pos", "reference_id": "rel", "words": ["in", "inside from"]}, |
|
106 |
+ {"language_id": "en", "situation_id": "x06", "type_id": "pos", "reference_id": "att", "words": ["inner"]}, |
|
107 |
+ {"language_id": "en", "situation_id": "x06", "type_id": "dir", "reference_id": "abs", "words": ["in"]}, |
|
108 |
+ {"language_id": "en", "situation_id": "x06", "type_id": "dir", "reference_id": "rel", "words": ["into"]}, |
|
109 |
+ {"language_id": "en", "situation_id": "x07", "type_id": "pos", "reference_id": "abs", "words": ["outside"]}, |
|
110 |
+ {"language_id": "en", "situation_id": "x07", "type_id": "pos", "reference_id": "rel", "words": ["out", "outside from"]}, |
|
111 |
+ {"language_id": "en", "situation_id": "x07", "type_id": "pos", "reference_id": "att", "words": ["outer"]}, |
|
112 |
+ {"language_id": "en", "situation_id": "x07", "type_id": "dir", "reference_id": "abs", "words": ["out"]}, |
|
113 |
+ {"language_id": "en", "situation_id": "x07", "type_id": "dir", "reference_id": "rel", "words": ["out of"]}, |
|
114 |
+ {"language_id": "en", "situation_id": "x08", "type_id": "pos", "reference_id": "abs", "words": ["upon"]}, |
|
115 |
+ {"language_id": "en", "situation_id": "x08", "type_id": "pos", "reference_id": "rel", "words": ["thereon"]}, |
|
116 |
+ {"language_id": "en", "situation_id": "x08", "type_id": "pos", "reference_id": "att", "words": []}, |
|
117 |
+ {"language_id": "en", "situation_id": "x08", "type_id": "dir", "reference_id": "abs", "words": ["on"]}, |
|
118 |
+ {"language_id": "en", "situation_id": "x08", "type_id": "dir", "reference_id": "rel", "words": ["onto"]}, |
|
119 |
+ {"language_id": "en", "situation_id": "x09", "type_id": "pos", "reference_id": "abs", "words": ["inbetween"]}, |
|
120 |
+ {"language_id": "en", "situation_id": "x09", "type_id": "pos", "reference_id": "rel", "words": ["between"]}, |
|
121 |
+ {"language_id": "en", "situation_id": "x09", "type_id": "pos", "reference_id": "att", "words": ["middle"]}, |
|
122 |
+ {"language_id": "en", "situation_id": "x09", "type_id": "dir", "reference_id": "abs", "words": ["between"]}, |
|
123 |
+ {"language_id": "en", "situation_id": "x09", "type_id": "dir", "reference_id": "rel", "words": ["between"]}, |
|
124 |
+ {"language_id": "de", "situation_id": "x00", "type_id": "pos", "reference_id": "abs", "words": ["vorn(e)"]}, |
|
125 |
+ {"language_id": "de", "situation_id": "x00", "type_id": "pos", "reference_id": "rel", "words": ["vor (+dat.)"]}, |
|
126 |
+ {"language_id": "de", "situation_id": "x00", "type_id": "pos", "reference_id": "att", "words": ["vorder-er/e/es"]}, |
|
127 |
+ {"language_id": "de", "situation_id": "x00", "type_id": "dir", "reference_id": "abs", "words": ["vor","nach vorn"]}, |
|
128 |
+ {"language_id": "de", "situation_id": "x00", "type_id": "dir", "reference_id": "rel", "words": ["vor (+acc.)"]}, |
|
129 |
+ {"language_id": "de", "situation_id": "x01", "type_id": "pos", "reference_id": "abs", "words": ["hinten"]}, |
|
130 |
+ {"language_id": "de", "situation_id": "x01", "type_id": "pos", "reference_id": "rel", "words": ["hinter (+dat.)"]}, |
|
131 |
+ {"language_id": "de", "situation_id": "x01", "type_id": "pos", "reference_id": "att", "words": ["hinter-er/e/es"]}, |
|
132 |
+ {"language_id": "de", "situation_id": "x01", "type_id": "dir", "reference_id": "abs", "words": ["hinter","nach hinten"]}, |
|
133 |
+ {"language_id": "de", "situation_id": "x01", "type_id": "dir", "reference_id": "rel", "words": ["hinter (+acc.)"]}, |
|
134 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "abs", "words": ["oben"]}, |
|
135 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "rel", "words": ["über (+dat.)"]}, |
|
136 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "att", "words": ["ober-er/e/es"]}, |
|
137 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "dir", "reference_id": "abs", "words": ["hoch","nach oben"]}, |
|
138 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "dir", "reference_id": "rel", "words": ["über (+acc.)"]}, |
|
139 |
+ {"language_id": "de", "situation_id": "x03", "type_id": "pos", "reference_id": "abs", "words": ["unten"]}, |
|
140 |
+ {"language_id": "de", "situation_id": "x03", "type_id": "pos", "reference_id": "rel", "words": ["unter (+dat.)"]}, |
|
141 |
+ {"language_id": "de", "situation_id": "x03", "type_id": "pos", "reference_id": "att", "words": ["unter-er/e/es"]}, |
|
142 |
+ {"language_id": "de", "situation_id": "x03", "type_id": "dir", "reference_id": "abs", "words": ["(hin-/her-)unter","nach unten"]}, |
|
143 |
+ {"language_id": "de", "situation_id": "x03", "type_id": "dir", "reference_id": "rel", "words": ["unter (+acc.)"]}, |
|
144 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "abs", "words": ["links"]}, |
|
145 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "rel", "words": ["links von (+dat.)"]}, |
|
146 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "att", "words": ["link-er/e/es"]}, |
|
147 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "dir", "reference_id": "abs", "words": ["nach links"]}, |
|
148 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "dir", "reference_id": "rel", "words": []}, |
|
149 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "abs", "words": ["rechts"]}, |
|
150 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "rel", "words": ["rechts von (+dat.)"]}, |
|
151 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "pos", "reference_id": "att", "words": ["recht-er/e/es"]}, |
|
152 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "dir", "reference_id": "abs", "words": ["nach rechts"]}, |
|
153 |
+ {"language_id": "de", "situation_id": "x02", "type_id": "dir", "reference_id": "rel", "words": []} |
|
124 | 154 |
] |
125 | 155 |
} |
126 | 156 |
|
... | ... |
@@ -54,7 +54,7 @@ |
54 | 54 |
"runic": "'ᚷ'", |
55 | 55 |
"remark": null, |
56 | 56 |
"examples": { |
57 |
- "fs": "'_g_oa'", |
|
57 |
+ "fs": "'_g_ud'", |
|
58 | 58 |
"en": "'_g_olf'", |
59 | 59 |
"de": "'_G_eist'" |
60 | 60 |
} |
... | ... |
@@ -66,7 +66,7 @@ |
66 | 66 |
"runic": "'ᚲ'", |
67 | 67 |
"remark": null, |
68 | 68 |
"examples": { |
69 |
- "fs": "'_k_an'", |
|
69 |
+ "fs": "'_k_ome'", |
|
70 | 70 |
"en": "'_k_ilo'", |
71 | 71 |
"de": "'_K_uss'" |
72 | 72 |
} |
... | ... |
@@ -78,7 +78,7 @@ |
78 | 78 |
"runic": "'ᛒ'", |
79 | 79 |
"remark": null, |
80 | 80 |
"examples": { |
81 |
- "fs": "'_b_ua'", |
|
81 |
+ "fs": "'_b_ue'", |
|
82 | 82 |
"en": "'_b_ravo'", |
83 | 83 |
"de": "'_B_ahn'" |
84 | 84 |
} |
... | ... |
@@ -90,7 +90,7 @@ |
90 | 90 |
"runic": "'ᛈ'", |
91 | 91 |
"remark": null, |
92 | 92 |
"examples": { |
93 |
- "fs": "'di_p_'", |
|
93 |
+ "fs": "'ru_p_'", |
|
94 | 94 |
"en": "'_p_apa'", |
95 | 95 |
"de": "'_P_ark'" |
96 | 96 |
} |
... | ... |
@@ -147,7 +147,7 @@ |
147 | 147 |
"type": "fricative", |
148 | 148 |
"ipa": "/s/", |
149 | 149 |
"latin": "'S'/'s'", |
150 |
- "runic": "'ᛋ'", |
|
150 |
+ "runic": "'ᛊ'", |
|
151 | 151 |
"remark": null, |
152 | 152 |
"examples": { |
153 | 153 |
"fs": "'_s_mal'", |
154 | 154 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,15 @@ |
1 |
+{ |
|
2 |
+ "de_grot_diktator": { |
|
3 |
+ "title": "De grot diktator", |
|
4 |
+ "paragraphs": [ |
|
5 |
+ "Ek bid fur fargiving, dok ek vil nit are de verlds herskar — ek ar nit solk en man. Ek vil nit beherske odar neddrüke et man, insted ek vil helpe de maner alvan and alvar: De judisk, de hejdisk, de fargig, de vit, …. Vi al skal helpe en de ander fur at vi kön leve ine en beter verld. Vi vil nit hate odar farakte us. Dis verld hav plats fur al maner and ur erd ar so rik, at vi al kön spise nok. De levrid kön are so fri and skön; dok vi hav farlatet de veg.", |
|
6 |
+ "Gridhed hav sükent de maners seler and hav fült de verld med hatrid; hit hav ledet us to elend and blutsketrid. Vi hav utvikelt raskhed, dok ur gester stan stil. Vi lat makiner verke fur us; ur vetrid hav makt us hokmudig and ur klughed hard and unfrendlik; vi denk altu mang and föl altu lit. Dok mer den makiner vi treng manlikhed; mer den klughed vi treng frendlikhed and gudhed. An dis egenheder, ur levrid ar frükridig and al ding ar lost.", |
|
7 |
+ "Med de helprid av flügtüger and de radio vi ar narer en to de ander den et tid ruk. De manskap treng enhed and en alvar arend bruderlikhed fur tu bruke dis utfindinger gud. Selv no mang tused in der verld kön höre min stem, mang tusend fartvivelt verer, kviner and smal kinder — ofaringer av en sistem, vilk fang and kvel unskuldig maner. Ek rup to al, vilk kön hör mek no: Fartvivel nit! De elend skal farsvinde, van de gridhed farsvind and de biterhed av maner, vilk frük de manskaps forskritrid. De Maners hatrid skal farsvinde and diktarorer skal döe. Dan de kraft, vilk di hav takt fra de folk, skal kome bak to de folk. Selv ef mang blud ar sketet: Tu kempe fur de frihed ar en gud sak.", |
|
8 |
+ "Kemparer: Kemp nit fur tiraner; maner, vilk farakt ju and mak ju to sklaver; vilk vertskat nit jer levrid, vilk seg to ju, vat je skal make, true and föle! Di skend ju, föd ju, behandel ju lik kanon-föding. Kemp nit fur dis fardervt maner — makin-maner med makin-hövder and makin-herter! Je ar nit makiner, je ar nit direr, je ar maner. Lat de manlikhed blive ine jer herter! Je skal nit hate; bar de unlivt hat, de unlivt and de fardervt.", |
|
9 |
+ "Kemperar: Kemp nit fur de sklavskap! Kemp fur de frihed! Ine de 17. avsniding av de hajlig Lukas ar skrivt: ‚God ar ine al maner.‘ — nit bar ine en grup av maner, insted ine al maner, ine ju. Je, de folk, hav de kraft; de kraft fur tu bue vapener, dok ok de kraft fur tu sprede gladhed. Je, de folk, hav de kraft fur tu make dis levrid fri and skön, fur tu make dis levrid en vunderfült sak. Darfur: Ine de nam av folkherskrid: Lat us bruke dis kraft! Lat us verde en! Lat us kempe fur en nü verld, fur en beter verld, vilk giv to de maner magrid tu verke, vilk giv en eftertid to de jung and sikerhed to de eld. Ok de tiraner hav truent dis to us fur tu foe de vold, dok di hav lügt. Di mak nit sant dir luving, di vil ni tid. Tiraner frien bar dim selv, dok de folk skal blive sklaver.", |
|
10 |
+ "Lat us no kempe fur tu upfüle dis luving. Lat us kempe fur tu make de verld fri, fur tu uvervinde landmarker, gridhed, hatrid and de untillatrid. Lat us kempe fur en verld med farstanrid, en verld, var vetridskap and forskritrid skal lede to al mans gladhed.", |
|
11 |
+ "Kemparer: Ine de nam av folkherskrid: Lat us al verde en!" |
|
12 |
+ ] |
|
13 |
+ } |
|
14 |
+} |
|
15 |
+ |
0 | 16 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,81 @@ |
1 |
+{ |
|
2 |
+ "data": [ |
|
3 |
+ {"transition_id": "t00", "language_id": "pg", "phonemes": ["-au-"], "examples": ["braudą","raudaz","skauniz","augô","draumaz","baumaz"]}, |
|
4 |
+ {"transition_id": "t00", "language_id": "en", "phonemes": ["-ea-","-e-","-ey-"], "examples": ["bread","red","sheen","eye","dream","beam"]}, |
|
5 |
+ {"transition_id": "t00", "language_id": "af", "phonemes": ["-oo-","-o-"], "examples": ["brood"]}, |
|
6 |
+ {"transition_id": "t00", "language_id": "nl", "phonemes": ["-oo-","-o-"], "examples": ["brood"]}, |
|
7 |
+ {"transition_id": "t00", "language_id": "yi", "phonemes": ["-וי-"], "examples": ["ברויט"]}, |
|
8 |
+ {"transition_id": "t00", "language_id": "de", "phonemes": ["-au-","-o-","-ö-"], "examples": ["Brot","rot","schön","Auge","Traum","Baum"]}, |
|
9 |
+ {"transition_id": "t00", "language_id": "da", "phonemes": ["-ø-"], "examples": ["brød"]}, |
|
10 |
+ {"transition_id": "t00", "language_id": "nb", "phonemes": ["-ø-","-øy-"], "examples": ["brød","rød","skjønn","øye","drøm"]}, |
|
11 |
+ {"transition_id": "t00", "language_id": "sv", "phonemes": ["-ö-"], "examples": ["bröd","röd","skön","dröm"]}, |
|
12 |
+ {"transition_id": "t00", "language_id": "nn", "phonemes": ["-au-"], "examples": ["braud"]}, |
|
13 |
+ {"transition_id": "t00", "language_id": "is", "phonemes": ["-au-"], "examples": ["brauð"]}, |
|
14 |
+ {"transition_id": "t00", "language_id": "fs", "phonemes": ["-ö-"], "examples": ["bröd","röd","skön","ög","dröm"]}, |
|
15 |
+ |
|
16 |
+ {"transition_id": "t01", "language_id": "pg", "phonemes": ["-ō-"], "examples": ["grōniz","fōljaną"]}, |
|
17 |
+ {"transition_id": "t01", "language_id": "en", "phonemes": ["-ee-"], "examples": ["green","feel"]}, |
|
18 |
+ {"transition_id": "t01", "language_id": "af", "phonemes": ["-oe-"], "examples": ["groen"]}, |
|
19 |
+ {"transition_id": "t01", "language_id": "nl", "phonemes": ["-oe"], "examples": ["groen"]}, |
|
20 |
+ {"transition_id": "t01", "language_id": "yi", "phonemes": ["-ין-"], "examples": ["גרין"]}, |
|
21 |
+ {"transition_id": "t01", "language_id": "de", "phonemes": ["-ü-","-üh-"], "examples": ["grün","fühlen"]}, |
|
22 |
+ {"transition_id": "t01", "language_id": "da", "phonemes": ["-ø-"], "examples": ["grøn"]}, |
|
23 |
+ {"transition_id": "t01", "language_id": "nb", "phonemes": ["-ø-"], "examples": ["grønn"]}, |
|
24 |
+ {"transition_id": "t01", "language_id": "sv", "phonemes": ["-ö-"], "examples": ["grön"]}, |
|
25 |
+ {"transition_id": "t01", "language_id": "nn", "phonemes": ["-ø-"], "examples": ["grøn"]}, |
|
26 |
+ {"transition_id": "t01", "language_id": "is", "phonemes": ["-æ-"], "examples": ["grænn"]}, |
|
27 |
+ {"transition_id": "t01", "language_id": "fs", "phonemes": ["-ö-"], "examples": ["föl","grön"]}, |
|
28 |
+ |
|
29 |
+ {"transition_id": "t02", "language_id": "pg", "phonemes": ["-eu-"], "examples": ["deupaz","steuraz","leuþa","leuhtą","reukaną","teuhaną","fleuhaną","leuganą"]}, |
|
30 |
+ {"transition_id": "t02", "language_id": "en", "phonemes": ["-ee-","-i-","-ie-"], "examples": ["deep","steer","leed","tee","flee","lie"]}, |
|
31 |
+ {"transition_id": "t02", "language_id": "af", "phonemes": ["-ie-"], "examples": ["diep"]}, |
|
32 |
+ {"transition_id": "t02", "language_id": "nl", "phonemes": ["-ie-","-i-","-ui-","-ij-"], "examples": ["diep"]}, |
|
33 |
+ {"transition_id": "t02", "language_id": "yi", "phonemes": ["-י-"], "examples": ["טיף"]}, |
|
34 |
+ {"transition_id": "t02", "language_id": "de", "phonemes": ["-ie-","-i-","-ü-"], "examples": ["tief","steuern","Lied","Licht","riechen","ziehen","fliehen","lügen"]}, |
|
35 |
+ {"transition_id": "t02", "language_id": "da", "phonemes": ["-y-"], "examples": ["dyb"]}, |
|
36 |
+ {"transition_id": "t02", "language_id": "nb", "phonemes": ["-y-","-ju-"], "examples": ["dyp","styre"]}, |
|
37 |
+ {"transition_id": "t02", "language_id": "sv", "phonemes": ["-ju-","-y-"], "examples": ["djup"]}, |
|
38 |
+ {"transition_id": "t02", "language_id": "is", "phonemes": ["-jú-","-jó-"], "examples": ["djúpur"]}, |
|
39 |
+ {"transition_id": "t02", "language_id": "fs", "phonemes": ["-ü-"], "examples": ["düp","stüre","lüt","rüke","tüe","flüe","lüge"]}, |
|
40 |
+ |
|
41 |
+ {"transition_id": "t04", "language_id": "pg", "phonemes": ["-iu-"], "examples": ["diurijaz","liudiz","tiugiją"]}, |
|
42 |
+ {"transition_id": "t04", "language_id": "en", "phonemes": ["-ea-","-eu-"], "examples": ["dear","lede","toy"]}, |
|
43 |
+ {"transition_id": "t04", "language_id": "af", "phonemes": [], "examples": []}, |
|
44 |
+ {"transition_id": "t04", "language_id": "nl", "phonemes": ["-uu-","-ie"], "examples": ["duur"]}, |
|
45 |
+ {"transition_id": "t04", "language_id": "yi", "phonemes": [], "examples": []}, |
|
46 |
+ {"transition_id": "t04", "language_id": "de", "phonemes": ["-eu-"], "examples": ["teuer","Zeug","Leute"]}, |
|
47 |
+ {"transition_id": "t04", "language_id": "da", "phonemes": ["-y-"], "examples": ["dyr"]}, |
|
48 |
+ {"transition_id": "t04", "language_id": "nb", "phonemes": ["-y-"], "examples": ["dyr"]}, |
|
49 |
+ {"transition_id": "t04", "language_id": "sv", "phonemes": ["-y-"], "examples": ["dyr"]}, |
|
50 |
+ {"transition_id": "t04", "language_id": "nn", "phonemes": ["-y-"], "examples": ["dyr"]}, |
|
51 |
+ {"transition_id": "t04", "language_id": "is", "phonemes": ["-ý-"], "examples": ["dýr"]}, |
|
52 |
+ {"transition_id": "t04", "language_id": "fs", "phonemes": ["-ü-"], "examples": ["dür","tüg","lüd"]}, |
|
53 |
+ |
|
54 |
+ {"transition_id": "t05", "language_id": "pg", "phonemes": ["-sk-"], "examples": ["waskaną","skauniz"]}, |
|
55 |
+ {"transition_id": "t05", "language_id": "en", "phonemes": ["-sh-"], "examples": ["wash","sheen"]}, |
|
56 |
+ {"transition_id": "t05", "language_id": "af", "phonemes": [], "examples": ["was"]}, |
|
57 |
+ {"transition_id": "t05", "language_id": "nl", "phonemes": [], "examples": ["wassen"]}, |
|
58 |
+ {"transition_id": "t05", "language_id": "yi", "phonemes": [], "examples": []}, |
|
59 |
+ {"transition_id": "t05", "language_id": "de", "phonemes": ["-sch-"], "examples": ["waschen"]}, |
|
60 |
+ {"transition_id": "t05", "language_id": "da", "phonemes": ["-sk-"], "examples": ["vaske"]}, |
|
61 |
+ {"transition_id": "t05", "language_id": "nb", "phonemes": ["-sk-"], "examples": ["vaske"]}, |
|
62 |
+ {"transition_id": "t05", "language_id": "sv", "phonemes": ["-sk-"], "examples": ["vaska"]}, |
|
63 |
+ {"transition_id": "t05", "language_id": "nn", "phonemes": ["-sk-"], "examples": ["vaske"]}, |
|
64 |
+ {"transition_id": "t05", "language_id": "is", "phonemes": ["-sk-"], "examples": ["vaska"]}, |
|
65 |
+ {"transition_id": "t05", "language_id": "fs", "phonemes": ["-sk-"], "examples": ["vaske"]}, |
|
66 |
+ |
|
67 |
+ {"transition_id": "t06", "language_id": "pg", "phonemes": ["s-"], "examples": ["swiną"]}, |
|
68 |
+ {"transition_id": "t06", "language_id": "en", "phonemes": ["s-"], "examples": ["swine"]}, |
|
69 |
+ {"transition_id": "t06", "language_id": "af", "phonemes": ["s-"], "examples": ["swyn"]}, |
|
70 |
+ {"transition_id": "t06", "language_id": "nl", "phonemes": ["z-"], "examples": ["zwijn"]}, |
|
71 |
+ {"transition_id": "t06", "language_id": "yi", "phonemes": [], "examples": []}, |
|
72 |
+ {"transition_id": "t06", "language_id": "de", "phonemes": ["sch-"], "examples": ["Schwein"]}, |
|
73 |
+ {"transition_id": "t06", "language_id": "da", "phonemes": ["s-"], "examples": ["svin"]}, |
|
74 |
+ {"transition_id": "t06", "language_id": "nb", "phonemes": ["s-"], "examples": ["svin"]}, |
|
75 |
+ {"transition_id": "t06", "language_id": "sv", "phonemes": ["s-"], "examples": ["svin"]}, |
|
76 |
+ {"transition_id": "t06", "language_id": "nn", "phonemes": ["s-"], "examples": ["svin"]}, |
|
77 |
+ {"transition_id": "t06", "language_id": "is", "phonemes": ["s-"], "examples": ["svínx"]}, |
|
78 |
+ {"transition_id": "t06", "language_id": "fs", "phonemes": ["s-"], "examples": ["svin"]} |
|
79 |
+ ] |
|
80 |
+} |
|
81 |
+ |
... | ... |
@@ -1,4 +1,78 @@ |
1 | 1 |
<?php |
2 |
+ function function_feed($value) |
|
3 |
+ { |
|
4 |
+ return ( |
|
5 |
+ function ($function) use (&$value) |
|
6 |
+ { |
|
7 |
+ return $function($value); |
|
8 |
+ } |
|
9 |
+ ); |
|
10 |
+ } |
|
11 |
+ |
|
12 |
+ function function_compose($function1, $function2) |
|
13 |
+ { |
|
14 |
+ return ( |
|
15 |
+ function ($value) use (&$function1, &$function2) |
|
16 |
+ { |
|
17 |
+ return ($function2($function1($value))); |
|
18 |
+ } |
|
19 |
+ ); |
|
20 |
+ } |
|
21 |
+ |
|
22 |
+ function function_chain($functions) |
|
23 |
+ { |
|
24 |
+ return ( |
|
25 |
+ function ($value) use (&$functions) |
|
26 |
+ { |
|
27 |
+ /* |
|
28 |
+ return array_reduce($functions, function ($x, $y) {call_user_func("function_compose", $x, $y);}, $value); |
|
29 |
+ */ |
|
30 |
+ return ((count($functions) == 0) ? $value : function_feed($functions[0]($value))(function_chain(array_slice($functions, 1)))); |
|
31 |
+ } |
|
32 |
+ ); |
|
33 |
+ } |
|
34 |
+ |
|
35 |
+ function object_from_array($key_name) |
|
36 |
+ { |
|
37 |
+ return ( |
|
38 |
+ function ($list) use (&$key_name) |
|
39 |
+ { |
|
40 |
+ $object = []; |
|
41 |
+ foreach ($list as $element) |
|
42 |
+ { |
|
43 |
+ $key = $element[$key_name]; |
|
44 |
+ $object[$key] = $element; |
|
45 |
+ } |
|
46 |
+ return $object; |
|
47 |
+ } |
|
48 |
+ ); |
|
49 |
+ } |
|
50 |
+ |
|
51 |
+ function object_attribute($name) |
|
52 |
+ { |
|
53 |
+ return ( |
|
54 |
+ function ($object) use (&$name) |
|
55 |
+ { |
|
56 |
+ return $object[$name]; |
|
57 |
+ } |
|
58 |
+ ); |
|
59 |
+ } |
|
60 |
+ |
|
61 |
+ function object_map($function) |
|
62 |
+ { |
|
63 |
+ return ( |
|
64 |
+ function ($object) use (&$function) |
|
65 |
+ { |
|
66 |
+ $object_ = []; |
|
67 |
+ foreach ($object as $key => $value) |
|
68 |
+ { |
|
69 |
+ $object_[$key] = $function($value); |
|
70 |
+ } |
|
71 |
+ return $object_; |
|
72 |
+ } |
|
73 |
+ ); |
|
74 |
+ } |
|
75 |
+ |
|
2 | 76 |
function fetch($structure, $field, $fallback = null, $escalation = 1) |
3 | 77 |
{ |
4 | 78 |
if (array_key_exists($field, $structure)) |
... | ... |
@@ -48,10 +122,23 @@ |
48 | 122 |
|
49 | 123 |
function mark($core, $classes) |
50 | 124 |
{ |
125 |
+ global $configuration; |
|
126 |
+ if ($configuration["replace_fs_umlauts"]) |
|
127 |
+ { |
|
128 |
+ if (in_array("lang_fs", $classes) and !in_array("letter", $classes)) |
|
129 |
+ { |
|
130 |
+ $core = str_replace |
|
131 |
+ ( |
|
132 |
+ ["ö","ü"], |
|
133 |
+ ["oy","uy"], |
|
134 |
+ $core |
|
135 |
+ ); |
|
136 |
+ } |
|
137 |
+ } |
|
51 | 138 |
return ('<span class="' . implode(" ", $classes) . '">' . $core . '</span>'); |
52 | 139 |
} |
53 | 140 |
|
54 |
- function format($string, $classes = ["word", "lang_fs"]) |
|
141 |
+ function format($string, $classes = ["type_word", "lang_fs"]) |
|
55 | 142 |
{ |
56 | 143 |
if ($string == NULL) |
57 | 144 |
{ |
... | ... |
@@ -82,7 +169,7 @@ |
82 | 169 |
return ((count($words) == 0) ? "?" : implode(", ", array_map(function ($word) use (&$type,&$language) {return mark($word, [$type, "lang_" . $language]);}, $words))); |
83 | 170 |
} |
84 | 171 |
|
85 |
- function _bar($type = "word") |
|
172 |
+ function _bar($type = "type_word") |
|
86 | 173 |
{ |
87 | 174 |
return ( |
88 | 175 |
function ($value) use (&$type) |
... | ... |
@@ -97,6 +184,42 @@ |
97 | 184 |
); |
98 | 185 |
} |
99 | 186 |
|
187 |
+ function format_single($type, $language) |
|
188 |
+ { |
|
189 |
+ return ( |
|
190 |
+ function ($piece) use (&$type, &$language) |
|
191 |
+ { |
|
192 |
+ return mark($piece, [$type, "lang_" . $language]); |
|
193 |
+ } |
|
194 |
+ ); |
|
195 |
+ } |
|
196 |
+ |
|
197 |
+ function format_list($type, $language) |
|
198 |
+ { |
|
199 |
+ return ( |
|
200 |
+ function ($pieces) use (&$type, &$language) |
|
201 |
+ { |
|
202 |
+ return ((count($pieces) == 0) ? "?" : implode(", ", array_map(format_single($type, $language), $pieces))); |
|
203 |
+ } |
|
204 |
+ ); |
|
205 |
+ } |
|
206 |
+ |
|
207 |
+ function format_correlation($type, $language_from = "fs", $language_to = null) |
|
208 |
+ { |
|
209 |
+ global $configuration; |
|
210 |
+ if ($language_to == null) $language_to = $configuration["target"]; |
|
211 |
+ return ( |
|
212 |
+ function ($source) use (&$type, &$language_from, &$language_to) |
|
213 |
+ { |
|
214 |
+ $output = ""; |
|
215 |
+ $output .= format_list($type, $language_from)($source[$language_from]); |
|
216 |
+ $output .= " ~ "; |
|
217 |
+ $output .= format_list($type, $language_to)($source[$language_to]); |
|
218 |
+ return $output; |
|
219 |
+ } |
|
220 |
+ ); |
|
221 |
+ } |
|
222 |
+ |
|
100 | 223 |
function proposal() |
101 | 224 |
{ |
102 | 225 |
?> |
... | ... |
@@ -125,36 +125,32 @@ class class_table |
125 | 125 |
$columns_vertical = fetch($configuration, "columns_vertical", null, 2); |
126 | 126 |
$columns_horizontal = fetch($configuration, "columns_horizontal", null, 2); |
127 | 127 |
$columns_data = fetch($configuration, "columns_data", null, 2); |
128 |
+ $data_aggregator = fetch($configuration, "data_aggregator", function ($values) {return /*json_encode(*/$values/*)*/;}, 1); |
|
128 | 129 |
|
129 | 130 |
$columns_source = |
130 | 131 |
[ |
131 |
- new class_column("Vertical", "vertical"), |
|
132 |
- new class_column("Horizontal", "horizontal"), |
|
133 |
- new class_column("Data", "data"), |
|
132 |
+ new class_column("Vertical", "_vertical"), |
|
133 |
+ new class_column("Horizontal", "_horizontal"), |
|
134 |
+ new class_column("Data", "_data", function ($x) {return json_encode($x);}), |
|
134 | 135 |
]; |
136 |
+ // gather data for the three columns |
|
135 | 137 |
$rows_source = null; |
136 | 138 |
{ |
137 |
- $rows_source = $this->rows; |
|
138 |
- $rows_source = sql_condense |
|
139 |
+ $rows_source = array_map |
|
139 | 140 |
( |
140 |
- $rows_source, |
|
141 |
- array_map(function ($column) {return $column->field;}, $columns_vertical), |
|
142 |
- ["vertical"], |
|
143 |
- ["vertical" => function ($values) use (&$columns_vertical) {return implode("/", array_map(function ($column) use (&$values) {return $values[$column->field];}, $columns_vertical));}] |
|
144 |
- ); |
|
145 |
- $rows_source = sql_condense |
|
146 |
- ( |
|
147 |
- $rows_source, |
|
148 |
- array_map(function ($column) {return $column->field;}, $columns_horizontal), |
|
149 |
- ["horizontal"], |
|
150 |
- ["horizontal" => function ($values) use (&$columns_horizontal) {return implode("/", array_map(function ($column) use (&$values) {return $values[$column->field];}, $columns_horizontal));}] |
|
151 |
- ); |
|
152 |
- $rows_source = sql_condense |
|
153 |
- ( |
|
154 |
- $rows_source, |
|
155 |
- array_map(function ($column) {return $column->field;}, $columns_data), |
|
156 |
- ["data"], |
|
157 |
- ["data" => function ($values) use (&$configuration) {return fetch($configuration, "data_aggregator", function ($values) {return /*json_encode(*/$values/*)*/;}, 1)($values);}] |
|
141 |
+ function ($row) use (&$columns_vertical, &$columns_horizontal, &$columns_data, $data_aggregator) |
|
142 |
+ { |
|
143 |
+ $raw_vertical = []; foreach ($columns_vertical as $column) array_push($raw_vertical, $column->extract($row)); |
|
144 |
+ $raw_horizontal = []; foreach ($columns_horizontal as $column) array_push($raw_horizontal, $column->extract($row)); |
|
145 |
+ $raw_data = []; foreach ($columns_data as $column) $raw_data[$column->field] = $column->extract($row); |
|
146 |
+ |
|
147 |
+ $row_ = []; |
|
148 |
+ $row_["_vertical"] = implode("/", $raw_vertical); |
|
149 |
+ $row_["_horizontal"] = implode("/", $raw_horizontal); |
|
150 |
+ $row_["_data"] = $data_aggregator($raw_data); |
|
151 |
+ return $row_; |
|
152 |
+ }, |
|
153 |
+ $this->rows |
|
158 | 154 |
); |
159 | 155 |
} |
160 | 156 |
// return (new class_table($columns_source, $rows_source)); |
... | ... |
@@ -176,6 +172,7 @@ class class_table |
176 | 172 |
) |
177 | 173 |
); |
178 | 174 |
} |
175 |
+ // find groups |
|
179 | 176 |
$values = []; |
180 | 177 |
foreach ($rows_source as $row) |
181 | 178 |
{ |
... | ... |
@@ -201,7 +198,8 @@ class class_table |
201 | 198 |
array_push($values, $value); |
202 | 199 |
} |
203 | 200 |
} |
204 |
- $groups = sql_groups($rows_source, "vertical"); |
|
201 |
+ $groups = sql_groups($rows_source, "_vertical"); |
|
202 |
+// echo("<!-- " . json_encode($groups, JSON_PRETTY_PRINT) . " -->" . "\n"); |
|
205 | 203 |
$rows_result = array_map |
206 | 204 |
( |
207 | 205 |
function ($group) use (&$columns_vertical,&$columns_horizontal,&$columns_data,&$columns_source,&$columns_result,&$values) |
... | ... |
@@ -164,7 +164,7 @@ a |
164 | 164 |
font-weight: bold; |
165 | 165 |
} |
166 | 166 |
|
167 |
-.letter |
|
167 |
+.type_letter |
|
168 | 168 |
{ |
169 | 169 |
&.lang_fs |
170 | 170 |
{ |
... | ... |
@@ -176,17 +176,30 @@ a |
176 | 176 |
*/ |
177 | 177 |
} |
178 | 178 |
|
179 |
- &.lang_pg, |
|
180 |
- &.lang_de, |
|
179 |
+ &.lang_pg |
|
180 |
+ { |
|
181 |
+ text-decoration: underline; |
|
182 |
+ } |
|
183 |
+ |
|
181 | 184 |
&.lang_en, |
182 |
- &.lang_is, |
|
183 |
- &.lang_nb |
|
185 |
+ &.lang_af, |
|
186 |
+ &.lang_nl, |
|
187 |
+ &.lang_de, |
|
188 |
+ &.lang_da, |
|
189 |
+ &.lang_nb, |
|
190 |
+ &.lang_sv, |
|
191 |
+ &.lang_nn, |
|
192 |
+ &.lang_is |
|
184 | 193 |
{ |
185 | 194 |
font-style: italic; |
186 | 195 |
} |
196 |
+ |
|
197 |
+ &.lang_yi |
|
198 |
+ { |
|