Browse code

better table-snap

Christian Fraß authored on08/08/2016 20:58:42
Showing18 changed files
... ...
@@ -3,16 +3,16 @@
3 3
 	<section class="subsection pseudo" id="de_grot_diktator">
4 4
 		<header>De grot diktator</header>
5 5
 		<span class="text lang_fs">
6
-			<p>Ek bet fur fargivung, dok ek ik 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 alvar on alvan: De judisk, de hejdisk, de fargig, de vit, …. Vi al skal helpe en de ander fur at vi kön leve in en beder verld. Vi vil nit hate odar farakte us. Dis verld hav plats fur al maner on ur erd ar so rik, at vi al kön spise nok. De levrid kön are so fri on skön; dok vi hav farlatet de veg.</p>
7
-			<p>Gridhed hav sükent de maners seler on hav fült de verld med hatrid; het hav ledet us to elend on blutsketrid. Vi hav utvikelt raskhed, dok ur gester stan stil. Vi lat makiner verke fur us; ur vished hav makt us hokmudig on ur klughed hard on unfrendlik; vi denk altu mang on föl altu lit. Dok mer den makiner vi treng manlikhed; mer den klughed vi treng frendlikhed on gudhed. An dis egenheder, ur levrid ar frükridig on al ding ar lost.</p>
8
-			<p>Med de helprid av flütoger on de radio vi ar narer en to de ander den et tid ruk. Maner treng enhed on en alver arend bruderlikhed fur bruke dis utfindunger gud. Selv no mang tused in der verld kön höre min stem, mang tusend fartvivelt verer, kviner on smal kinder — ofarunger av en sistem, vilk kvel on fang unskuldig maner. Ek rup to al, vilk kön hör mig no: Fartvivel nit! De elend skal versvinde, van de gridhed versvind on de biterhed av maner, vilk frük de forskritrid av manskap. Maners hatrid skal versvinde on 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 kampe fur de frihed ar en gud sak.</p>
9
-			<p>Kemparer: Kemp nit fur tiraner, maner, vilk farakt je on mak je to sklaver, vilk vertskat nit jer levrid, vilk seg to je, vat jir skal make, true on föle! Di [drill] je, föd je, behandel je lik kanon-födung. Kemp nit fur dis fardervt maner — makin-maner med makin-hövder on makin-herter! Jir ar nit makiner, jir ar nit direr, jir ar maner. Lat de manlikhed blive in jer herter! Jir skal nit hate; bar de unlivt hat, de unlivt on de fardervt.</p>
10
-			<p>Kemperar: Kemp nit fur de sklavskap! Kemp fur de frihed! Ine de 17. avsnidung av de hajlig Lukas ar skrivt: ‚God ar in al maner.‘ Nit bar in en grup av maner, insted in al maner, in je! Jir, de folk, hav de kraft; de kraft fur tu bue vapener, dok ok de kraft fur tu sprede gladhed. Jir, de folk, hav de kraft fur tu make dis levrid fri on skön, fur tu make dis levrid en vunderfült sak. Darfur: In de nenung av folkherskrid: Lat us bruke dis kraft! Lat us verde en! Lat us kempe fur en nü verld, fur en gud verld, vilk giv magrid tu verke to de maner, vilk giv to de jung en eftertid on to de old sikerhed. Ok de tiraner hav truent dis to us fur tu foe de vold, dok di hav lügt. Di mak nit sant dir luvung, di ing tid vil. Tiraner frien bar dim selv, dok de folk skal blive sklaver.</p>
11
-			<p>Lat us no kempe fur tu upfüle dis luvung. Lat us kempe fur tu make de verld fri, fur tu uvervinde landmarker, gridhed, hatrid on de nittillatung. Lat us kempe fur en verld med farstanrid, en verld, var vetskap on forskritrid skal lede to al mans gladhed.</p>
12
-			<p>Kemparer: In de nenung av folkherskrid: Lat us al verde en!</p>
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 neddrüke et man, insted ek vil helpe de maner alvan önd 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 önd ur erd ar so rik, at vi al kön spise nok. De levrid kön are so fri önd skön; dok vi hav farlatet de veg.</p>
7
+			<p>Gridhed hav sükent de maners seler önd hav fült de verld med hatrid; het hav ledet us to elend önd blutsketrid. Vi hav utvikelt raskhed, dok ur gester stan stil. Vi lat makiner verke fur us; ur vetrid hav makt us hokmudig önd ur klughed hard önd unfrendlik; vi denk altu mang önd föl altu lit. Dok mer den makiner vi treng manlikhed; mer den klughed vi treng frendlikhed önd gudhed. An dis egenheder, ur levrid ar frükridig önd al ding ar lost.</p>
8
+			<p>Med de helprid av flütüger önd de radio vi ar narer en to de ander den et tid ruk. De manskap treng enhed önd en alvar arend bruderlikhed fur tu bruke dis utfindunger gud. Selv no mang tused in der verld kön höre min stem, mang tusend fartvivelt verer, kviner önd smal kinder — ofarunger av en sistem, vilk fang önd kvel unskuldig maner. Ek rup to al, vilk kön hör mig no: Fartvivel nit! De elend skal farsvinde, van de gridhed farsvind önd de biterhed av maner, vilk frük de manskaps forskritrid. De Maners hatrid skal farsvinde önd 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.</p>
9
+			<p>Kemparer: Kemp nit fur tiraner; maner, vilk farakt ju önd mak ju to sklaver; vilk vertskat nit jur levrid, vilk seg to ju, vat je skal make, true önd föle! Di skend ju, föd ju, behandel ju lik kanon-födung. Kemp nit fur dis fardervt maner — makin-maner med makin-hövder önd makin-herter! Je ar nit makiner, je ar nit direr, je ar maner. Lat de manlikhed blive ine jur herter! Je skal nit hate; bar de unlivt hat, de unlivt önd de fardervt.</p>
10
+			<p>Kemperar: Kemp nit fur de sklavskap! Kemp fur de frihed! Ine de 17. avsnidung 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 önd 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 önd sikerhed to de old. Ok de tiraner hav truent dis to us fur tu foe de vold, dok di hav lügt. Di mak nit sant dir luvung, di ing tid vil. Tiraner frien bar dim selv, dok de folk skal blive sklaver.</p>
11
+			<p>Lat us no kempe fur tu upfüle dis luvung. Lat us kempe fur tu make de verld fri, fur tu uvervinde landmarker, gridhed, hatrid önd de untillatrid. Lat us kempe fur en verld med farstanrid, en verld, var vetridskap önd forskritrid skal lede to al mans gladhed.</p>
12
+			<p>Kemparer: Ine de nam av folkherskrid: Lat us al verde en!</p>
13 13
 		</span>
14
+		<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>
14 15
 		<!--
15
-		<a href="https://www.youtube.com/watch?v=ibVpDhW6kDQ">No music</a>
16 16
 		<a href="https://www.youtube.com/watch?v=Gaq62VCcnew">With "Hans Zimmer -- Time"</a>
17 17
 		  -->
18 18
 	</section>
... ...
@@ -1,6 +1,7 @@
1 1
 <?php
2 2
 global $configuration;
3 3
 include_once("source/logic/server/data.php");
4
+include_once("source/logic/server/sql.php");
4 5
 include_once("source/logic/server/table.php");
5 6
 
6 7
 function convert_persona($persona) {return [0 => "impersonal", 1 => "1st person", 2 => "2nd person", 3 => "3rd person"][$persona];}
... ...
@@ -10,54 +11,96 @@ function convert_genus($genus) {return [0 => "common", 1 => "masculine", 2 => "f
10 11
 <section class="subsection" id="personal_pronouns">
11 12
 	<header>Personal Pronouns</header>
12 13
 <?php
14
+	$data_common = read_json("../../data/common.json");
15
+	$data_pronouns = read_json("../../data/personal_pronouns.json");
16
+	
17
+	$data = $data_pronouns["words"];
18
+	{
19
+		{
20
+			$data = sql_cross($data, $data_common["counts"]);
21
+			$data = sql_select($data, function ($row) {return ($row["count_id"] == $row["id"]);});
22
+			$data = sql_delete($data, ["count_id", "id"]);
23
+			$data = sql_rename($data, "name", "count_name");
24
+		}
25
+		{
26
+			$data = sql_cross($data, $data_common["persons"]);
27
+			$data = sql_select($data, function ($row) {return ($row["person_id"] == $row["id"]);});
28
+			$data = sql_delete($data, ["person_id", "id"]);
29
+			$data = sql_rename($data, "name", "person_name");
30
+		}
31
+		{
32
+			$data = sql_cross($data, $data_common["genders"]);
33
+			$data = sql_select($data, function ($row) {return ($row["gender_id"] == $row["id"]);});
34
+			$data = sql_delete($data, ["gender_id", "id"]);
35
+			$data = sql_rename($data, "name", "gender_name");
36
+		}
37
+		{
38
+			$data = sql_cross($data, $data_pronouns["types"]);
39
+			$data = sql_select($data, function ($row) {return ($row["type_id"] == $row["id"]);});
40
+			$data = sql_delete($data, ["type_id", "id"]);
41
+			$data = sql_rename($data, "name", "type_name");
42
+		}
43
+		{
44
+			$data = sql_cross($data, $data_common["cases"]);
45
+			$data = sql_select($data, function ($row) {return ($row["case_id"] == $row["id"]);});
46
+			$data = sql_delete($data, ["case_id", "id"]);
47
+			$data = sql_rename($data, "name", "case_name");
48
+		}
49
+	}
50
+	
13 51
 	$table = new class_table
14 52
 	(
15 53
 		[
16
-			new class_column
17
-			(
18
-				"Case",
19
-				function ($row)
20
-				{
21
-					return [
22
-						convert_persona($row["persona"]),
23
-						convert_numerus($row["numerus"]),
24
-						convert_genus($row["genus"]),
25
-					];
26
-				},
27
-				function ($value)
28
-				{
29
-					return implode(" / ", $value);
30
-				}
31
-			),
32
-			/*
33
-			 */
34
-			new class_column
35
-			(
36
-				$configuration["languagemap"]["fs"],
37
-				function ($row)
38
-				{
39
-					return $row["fs"];
40
-				},
41
-				function ($value)
42
-				{
43
-					return implode(", ", array_map(function ($word) {return mark($word, ["word", "lang_fs"]);}, $value));
44
-				}
45
-			),
46
-			new class_column
47
-			(
48
-				$configuration["languagemap"][$configuration["target"]],
49
-				function ($row)
50
-				{
51
-					global $configuration;
52
-					return $row[$configuration["target"]];
53
-				},
54
-				function ($value)
55
-				{
56
-					return ((count($value) == 0) ? "--" : implode(", ", array_map(function ($word) {global $configuration; return mark($word, ["word", "lang_" . $configuration["target"]]);}, $value)));
57
-				}
58
-			),
54
+			new class_column("Language", "language_id"),
55
+			new class_column("Count", "count_name"),
56
+			new class_column("Person", "person_name"),
57
+			new class_column("Gender", "gender_name"),
58
+			new class_column("Type", "type_name"),
59
+			new class_column("Case", "case_name"),
60
+			new class_column("Words", "words", function ($x) {return json_encode($x);}),
59 61
 		],
60
-		read_json("source/data/personal_pronouns.json")
62
+		$data
63
+	);
64
+	
65
+	$table = $table->snap
66
+	(
67
+		[
68
+			"label_vertical" => function ($column) {return "";},
69
+			"columns_vertical" =>
70
+			[
71
+				$table->columns_get()[4],
72
+				$table->columns_get()[5],
73
+			],
74
+			"label_horizontal" => function ($column, $value) {return $value;},
75
+			"columns_horizontal" =>
76
+			[
77
+				$table->columns_get()[1],
78
+				$table->columns_get()[2],
79
+				$table->columns_get()[3],
80
+			],
81
+			"columns_data" =>
82
+			[
83
+				$table->columns_get()[0],
84
+				$table->columns_get()[6],
85
+			],
86
+			"data_aggregator" => function ($values)
87
+			{
88
+				return $values;
89
+			},
90
+			"data_formatter" => function ($value)
91
+			{
92
+				return (
93
+					_bar("words")
94
+					(
95
+						[
96
+							"original" => $value[0]["words"],
97
+							"translated" => $value[1]["words"],
98
+						]
99
+					)
100
+				);
101
+				return json_encode($value);
102
+			},
103
+		]
61 104
 	);
62 105
 	$table->generate();
63 106
  ?>
... ...
@@ -1,5 +1,30 @@
1 1
 <section class="section" id="sentence_content">
2 2
 	<header>Sentence Structure</header>
3
+	<!--
3 4
 	<span class="todo">all</span>
5
+	  -->
6
+	<?php proposal(); ?>
7
+	<!--
8
+	<p>elements in curly brackets are optional.</p>
9
+	  -->
10
+	<p>The 
11
+	<section class="subsection" id="declarative_sentences">
12
+		<header>Declarative Sentences</header>
13
+		<p>Scheme: "<span class="clause subject meta optional">subject</span> <span class="clause predicate meta mandatory">predicate</span> <span class="clause object meta optional">object</span> <span class="clause other meta optional">other parts</span>."</p>
14
+		<p>Example: "<span class="clause subject">De vulf</span> <span class="clause predicate">hav givt</span> <span class="clause object">en sten</span> <span class="clause object">to de fogel</span> <span class="clause other">po fordag</span>."</p>
15
+		<p>Translation: <span class="sentence lang_en">The wolf has given a stone to the bird yesterday.</span></p>
16
+	</section>
17
+	<section class="subsection" id="interrogative_sentences">
18
+		<header>Interrogative Sentences</header>
19
+		<p>Scheme: "<span class="clause predicate meta mandatory">predicate:flected verb</span> <span class="clause subject meta optional">subject</span> <span class="clause predicate meta mandatory">predicate:rest</span> <span class="clause object meta optional">object</span> <span class="clause other meta optional">other parts</span>."</p>
20
+		<p>Example: "<span class="clause predicate">Hav</span> <span class="clause subject">de vulf</span> <span class="clause predicate">givt</span> <span class="clause object">en sten</span> <span class="clause object">to de fogel</span> <span class="clause other">po fordag</span>?"</p>
21
+		<p>Translation: <span class="sentence lang_en">Has the wolf given a stone to the bird yesterday?</span></p>
22
+	</section>
23
+	<section class="subsection" id="imperative_sentences">
24
+		<header>Imperative Sentences</header>
25
+		<p>Scheme: "<span class="clause predicate meta mandatory">predicate</span> <span class="clause subject meta optional">subject</span> <span class="clause object meta optional">object</span> <span class="clause other meta optional">other parts</span>!"</p>
26
+		<p>Example: "<span class="clause predicate">Giv</span> <span class="clause object">en sten</span> <span class="clause object">to de fogel</span>!</p>
27
+		<p>Translation: <span class="sentence lang_en">Give a stone to the bird!</span></p>
28
+	</section>
4 29
 </section>
5 30
 
... ...
@@ -1,233 +1,126 @@
1
-[
2
-	{
3
-		"type": "x0",
4
-		"positive_absolute": {
5
-			"fs": ["for"],
6
-			"en": ["in front"]
7
-		},
8
-		"positive_relative": {
9
-			"fs": ["for (lut)"],
10
-			"en": ["in front of"]
11
-		},
12
-		"positive_attributive": {
13
-			"fs": ["for arend"],
14
-			"en": ["fore","front"]
15
-		},
16
-		"directive_absolute": {
17
-			"fs": ["to for"],
18
-			"en": ["forward"]
19
-		},
20
-		"directive_relative": {
21
-			"fs": ["to for (lut)"],
22
-			"en": ["in front of"]
23
-		}
24
-	},
25
-	{
26
-		"type": "x1",
27
-		"positive_absolute": {
28
-			"fs": ["ruk"],
29
-			"en": ["back"]
30
-		},
31
-		"positive_relative": {
32
-			"fs": ["ruk (lut)"],
33
-			"en": ["behind"]
34
-		},
35
-		"positive_attributive": {
36
-			"fs": ["ruk arend"],
37
-			"en": ["rear", "hind"]
38
-		},
39
-		"directive_absolute": {
40
-			"fs": ["to ruk"],
41
-			"en": ["backward", "behind"]
42
-		},
43
-		"directive_relative": {
44
-			"fs": ["to ruk (lut)"],
45
-			"en": ["behind"]
46
-		}
47
-	},
48
-	{
49
-		"type": "x2",
50
-		"positive_absolute": {
51
-			"fs": ["top"],
52
-			"en": ["on top"]
53
-		},
54
-		"positive_relative": {
55
-			"fs": ["top (lut)"],
56
-			"en": ["over", "above"]
57
-		},
58
-		"positive_attributive": {
59
-			"fs": ["top arend"],
60
-			"en": ["upper"]
61
-		},
62
-		"directive_absolute": {
63
-			"fs": ["to top"],
64
-			"en": ["up"]
65
-		},
66
-		"directive_relative": {
67
-			"fs": ["to top (lut)"],
68
-			"en": ["over","above"]
69
-		}
70
-	},
71
-	{
72
-		"type": "x3",
73
-		"positive_absolute": {
74
-			"fs": ["ned"],
75
-			"en": ["below"]
76
-		},
77
-		"positive_relative": {
78
-			"fs": ["ned (lut)"],
79
-			"en": ["under"]
80
-		},
81
-		"positive_attributive": {
82
-			"fs": ["ned arend"],
83
-			"en": ["lower"]
84
-		},
85
-		"directive_absolute": {
86
-			"fs": ["to ned"],
87
-			"en": ["down"]
88
-		},
89
-		"directive_relative": {
90
-			"fs": ["to ned (lut)"],
91
-			"en": ["under"]
92
-		}
93
-	},
94
-	{
95
-		"type": "x4",
96
-		"positive_absolute": {
97
-			"fs": ["vinst"],
98
-			"en": ["left"]
99
-		},
100
-		"positive_relative": {
101
-			"fs": ["vinst (lut)"],
102
-			"en": ["left from"]
103
-		},
104
-		"positive_attributive": {
105
-			"fs": ["vinst arend"],
106
-			"en": ["left"]
107
-		},
108
-		"directive_absolute": {
109
-			"fs": ["to vinst"],
110
-			"en": ["to the left"]
111
-		},
112
-		"directive_relative": {
113
-			"fs": ["to vinst (lut)"],
114
-			"en": ["to the left of"]
115
-		}
116
-	},
117
-	{
118
-		"type": "x5",
119
-		"positive_absolute": {
120
-			"fs": ["hög"],
121
-			"en": ["right"]
122
-		},
123
-		"positive_relative": {
124
-			"fs": ["hög (lut)"],
125
-			"en": ["right from"]
126
-		},
127
-		"positive_attributive": {
128
-			"fs": ["hög arend"],
129
-			"en": ["right"]
130
-		},
131
-		"directive_absolute": {
132
-			"fs": ["to hög"],
133
-			"en": ["to the right"]
134
-		},
135
-		"directive_relative": {
136
-			"fs": ["to hög (lut)"],
137
-			"en": ["to the right of"]
138
-		}
139
-	},
140
-	{
141
-		"type": "x6",
142
-		"positive_absolute": {
143
-			"fs": ["ine"],
144
-			"en": ["inside"]
145
-		},
146
-		"positive_relative": {
147
-			"fs": ["ine (lut)"],
148
-			"en": ["in", "inside from"]
149
-		},
150
-		"positive_attributive": {
151
-			"fs": ["ine arend"],
152
-			"en": ["inner"]
153
-		},
154
-		"directive_absolute": {
155
-			"fs": ["in"],
156
-			"en": ["in"]
157
-		},
158
-		"directive_relative": {
159
-			"fs": ["in (lut)"],
160
-			"en": ["into"]
161
-		}
162
-	},
163
-	{
164
-		"type": "x7",
165
-		"positive_absolute": {
166
-			"fs": ["ute"],
167
-			"en": ["outside"]
168
-		},
169
-		"positive_relative": {
170
-			"fs": ["ute (lut)"],
171
-			"en": ["out", "outside from"]
172
-		},
173
-		"positive_attributive": {
174
-			"fs": ["ute arend"],
175
-			"en": ["outer"]
176
-		},
177
-		"directive_absolute": {
178
-			"fs": ["ut"],
179
-			"en": ["out"]
180
-		},
181
-		"directive_relative": {
182
-			"fs": ["ut (lut)"],
183
-			"en": ["out of"]
184
-		}
185
-	},
186
-	{
187
-		"type": "x8",
188
-		"positive_absolute": {
189
-			"fs": ["upe"],
190
-			"en": ["upon"]
191
-		},
192
-		"positive_relative": {
193
-			"fs": ["upe (lut)"],
194
-			"en": ["thereon"]
195
-		},
196
-		"positive_attributive": {
197
-			"fs": ["upe arend"],
198
-			"en": []
199
-		},
200
-		"directive_absolute": {
201
-			"fs": ["up"],
202
-			"en": ["on"]
203
-		},
204
-		"directive_relative": {
205
-			"fs": ["up (lut)"],
206
-			"en": ["onto"]
207
-		}
208
-	},
209
-	{
210
-		"type": "x9",
211
-		"positive_absolute": {
212
-			"fs": ["mel"],
213
-			"en": ["inbetween"]
214
-		},
215
-		"positive_relative": {
216
-			"fs": ["mel (lut)"],
217
-			"en": ["between"]
218
-		},
219
-		"positive_attributive": {
220
-			"fs": ["mel arend"],
221
-			"en": ["middle"]
222
-		},
223
-		"directive_absolute": {
224
-			"fs": ["to mel"],
225
-			"en": ["between"]
226
-		},
227
-		"directive_relative": {
228
-			"fs": ["to mel (lut)"],
229
-			"en": ["between"]
230
-		}
231
-	}
232
-]
1
+{
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"}
13
+	],
14
+	"types": [
15
+		{"id": "pos", "name": "positive"},
16
+		{"id": "dir", "name": "directive"}
17
+	],
18
+	"kinds": [
19
+		{"id": "abs", "name": "absolute"},
20
+		{"id": "rel", "name": "relative"},
21
+		{"id": "att", "name": "attributive"}
22
+	],
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"]}
124
+	]
125
+}
233 126
 
234 127
new file mode 100644
... ...
@@ -0,0 +1,233 @@
1
+[
2
+	{
3
+		"type": "x0",
4
+		"positive_absolute": {
5
+			"fs": ["for"],
6
+			"en": ["in front"]
7
+		},
8
+		"positive_relative": {
9
+			"fs": ["for (lut)"],
10
+			"en": ["in front of"]
11
+		},
12
+		"positive_attributive": {
13
+			"fs": ["for arend"],
14
+			"en": ["fore","front"]
15
+		},
16
+		"directive_absolute": {
17
+			"fs": ["to for"],
18
+			"en": ["forward"]
19
+		},
20
+		"directive_relative": {
21
+			"fs": ["to for (lut)"],
22
+			"en": ["in front of"]
23
+		}
24
+	},
25
+	{
26
+		"type": "x1",
27
+		"positive_absolute": {
28
+			"fs": ["ruk"],
29
+			"en": ["back"]
30
+		},
31
+		"positive_relative": {
32
+			"fs": ["ruk (lut)"],
33
+			"en": ["behind"]
34
+		},
35
+		"positive_attributive": {
36
+			"fs": ["ruk arend"],
37
+			"en": ["rear", "hind"]
38
+		},
39
+		"directive_absolute": {
40
+			"fs": ["to ruk"],
41
+			"en": ["backward", "behind"]
42
+		},
43
+		"directive_relative": {
44
+			"fs": ["to ruk (lut)"],
45
+			"en": ["behind"]
46
+		}
47
+	},
48
+	{
49
+		"type": "x2",
50
+		"positive_absolute": {
51
+			"fs": ["top"],
52
+			"en": ["on top"]
53
+		},
54
+		"positive_relative": {
55
+			"fs": ["top (lut)"],
56
+			"en": ["over", "above"]
57
+		},
58
+		"positive_attributive": {
59
+			"fs": ["top arend"],
60
+			"en": ["upper"]
61
+		},
62
+		"directive_absolute": {
63
+			"fs": ["to top"],
64
+			"en": ["up"]
65
+		},
66
+		"directive_relative": {
67
+			"fs": ["to top (lut)"],
68
+			"en": ["over","above"]
69
+		}
70
+	},
71
+	{
72
+		"type": "x3",
73
+		"positive_absolute": {
74
+			"fs": ["ned"],
75
+			"en": ["below"]
76
+		},
77
+		"positive_relative": {
78
+			"fs": ["ned (lut)"],
79
+			"en": ["under"]
80
+		},
81
+		"positive_attributive": {
82
+			"fs": ["ned arend"],
83
+			"en": ["lower"]
84
+		},
85
+		"directive_absolute": {
86
+			"fs": ["to ned"],
87
+			"en": ["down"]
88
+		},
89
+		"directive_relative": {
90
+			"fs": ["to ned (lut)"],
91
+			"en": ["under"]
92
+		}
93
+	},
94
+	{
95
+		"type": "x4",
96
+		"positive_absolute": {
97
+			"fs": ["vinst"],
98
+			"en": ["left"]
99
+		},
100
+		"positive_relative": {
101
+			"fs": ["vinst (lut)"],
102
+			"en": ["left from"]
103
+		},
104
+		"positive_attributive": {
105
+			"fs": ["vinst arend"],
106
+			"en": ["left"]
107
+		},
108
+		"directive_absolute": {
109
+			"fs": ["to vinst"],
110
+			"en": ["to the left"]
111
+		},
112
+		"directive_relative": {
113
+			"fs": ["to vinst (lut)"],
114
+			"en": ["to the left of"]
115
+		}
116
+	},
117
+	{
118
+		"type": "x5",
119
+		"positive_absolute": {
120
+			"fs": ["hög"],
121
+			"en": ["right"]
122
+		},
123
+		"positive_relative": {
124
+			"fs": ["hög (lut)"],
125
+			"en": ["right from"]
126
+		},
127
+		"positive_attributive": {
128
+			"fs": ["hög arend"],
129
+			"en": ["right"]
130
+		},
131
+		"directive_absolute": {
132
+			"fs": ["to hög"],
133
+			"en": ["to the right"]
134
+		},
135
+		"directive_relative": {
136
+			"fs": ["to hög (lut)"],
137
+			"en": ["to the right of"]
138
+		}
139
+	},
140
+	{
141
+		"type": "x6",
142
+		"positive_absolute": {
143
+			"fs": ["ine"],
144
+			"en": ["inside"]
145
+		},
146
+		"positive_relative": {
147
+			"fs": ["ine (lut)"],
148
+			"en": ["in", "inside from"]
149
+		},
150
+		"positive_attributive": {
151
+			"fs": ["ine arend"],
152
+			"en": ["inner"]
153
+		},
154
+		"directive_absolute": {
155
+			"fs": ["in"],
156
+			"en": ["in"]
157
+		},
158
+		"directive_relative": {
159
+			"fs": ["in (lut)"],
160
+			"en": ["into"]
161
+		}
162
+	},
163
+	{
164
+		"type": "x7",
165
+		"positive_absolute": {
166
+			"fs": ["ute"],
167
+			"en": ["outside"]
168
+		},
169
+		"positive_relative": {
170
+			"fs": ["ute (lut)"],
171
+			"en": ["out", "outside from"]
172
+		},
173
+		"positive_attributive": {
174
+			"fs": ["ute arend"],
175
+			"en": ["outer"]
176
+		},
177
+		"directive_absolute": {
178
+			"fs": ["ut"],
179
+			"en": ["out"]
180
+		},
181
+		"directive_relative": {
182
+			"fs": ["ut (lut)"],
183
+			"en": ["out of"]
184
+		}
185
+	},
186
+	{
187
+		"type": "x8",
188
+		"positive_absolute": {
189
+			"fs": ["upe"],
190
+			"en": ["upon"]
191
+		},
192
+		"positive_relative": {
193
+			"fs": ["upe (lut)"],
194
+			"en": ["thereon"]
195
+		},
196
+		"positive_attributive": {
197
+			"fs": ["upe arend"],
198
+			"en": []
199
+		},
200
+		"directive_absolute": {
201
+			"fs": ["up"],
202
+			"en": ["on"]
203
+		},
204
+		"directive_relative": {
205
+			"fs": ["up (lut)"],
206
+			"en": ["onto"]
207
+		}
208
+	},
209
+	{
210
+		"type": "x9",
211
+		"positive_absolute": {
212
+			"fs": ["mel"],
213
+			"en": ["inbetween"]
214
+		},
215
+		"positive_relative": {
216
+			"fs": ["mel (lut)"],
217
+			"en": ["between"]
218
+		},
219
+		"positive_attributive": {
220
+			"fs": ["mel arend"],
221
+			"en": ["middle"]
222
+		},
223
+		"directive_absolute": {
224
+			"fs": ["to mel"],
225
+			"en": ["between"]
226
+		},
227
+		"directive_relative": {
228
+			"fs": ["to mel (lut)"],
229
+			"en": ["between"]
230
+		}
231
+	}
232
+]
233
+
0 234
new file mode 100644
... ...
@@ -0,0 +1,40 @@
1
+{
2
+	"languages": [
3
+		{"id": "af", "name": "Afrikaans"},
4
+		{"id": "de", "name": "German"},
5
+		{"id": "da", "name": "Danish"},
6
+		{"id": "en", "name": "English"},
7
+		{"id": "eo", "name": "Esperanto"},
8
+		{"id": "fs", "name": "Folksprak"},
9
+		{"id": "is", "name": "Icelandic"},
10
+		{"id": "nb", "name": "Norwegian (Bokmål)"},
11
+		{"id": "nl", "name": "Dutch"},
12
+		{"id": "nn", "name": "Norwegian (Nynorsk)"},
13
+		{"id": "pg", "name": "Proto-Germanic"},
14
+		{"id": "sv", "name": "Swedish"},
15
+		{"id": "yi", "name": "Yiddish"}
16
+	],
17
+	"cases": [
18
+		{"id": "nom", "name": "nominative"},
19
+		{"id": "acc", "name": "accusative"},
20
+		{"id": "dat", "name": "dative"},
21
+		{"id": "gen", "name": "genitive"}
22
+	],
23
+	"counts": [
24
+		{"id": "sin", "name": "singular"},
25
+		{"id": "plu", "name": "plural"}
26
+	],
27
+	"persons": [
28
+		{"id": "imp", "name": "impersonal"},
29
+		{"id": "1st", "name": "1st"},
30
+		{"id": "2nd", "name": "2nd"},
31
+		{"id": "3rd", "name": "3rd"}
32
+	],
33
+	"genders": [
34
+		{"id": "neu", "name": "neuter"},
35
+		{"id": "mas", "name": "masculine"},
36
+		{"id": "fem", "name": "feminine"},
37
+		{"id": "com", "name": "common"}
38
+	]
39
+}
40
+
... ...
@@ -1,344 +1,181 @@
1
-[
2
-	{
3
-		"domain": "Concrete",
4
-		"interrogative": {
5
-			"fs": ["vilk"],
6
-			"en": ["which"]
7
-		},
8
-		"relative": {
9
-			"fs": ["vilk"],
10
-			"en": ["which"]
11
-		},
12
-		"demonstrative_far": {
13
-			"fs": ["jen"],
14
-			"en": ["that"]
15
-		},
16
-		"demonstrative_near": {
17
-			"fs": ["dis"],
18
-			"en": ["this"]
19
-		},
20
-		"universal": {
21
-			"fs": ["al"],
22
-			"en": ["every", "all"]
23
-		},
24
-		"undefined": {
25
-			"fs": ["et"],
26
-			"en": ["some"]
27
-		},
28
-		"negative": {
29
-			"fs": ["ing"],
30
-			"en": ["no"]
31
-		}
32
-	},
33
-	{
34
-		"domain": "Person",
35
-		"interrogative": {
36
-			"fs": ["vilk man", "ve"],
37
-			"en": ["who"]
38
-		},
39
-		"relative": {
40
-			"fs": ["vilk man", "ve"],
41
-			"en": ["who"]
42
-		},
43
-		"demonstrative_far": {
44
-			"fs": ["jen man"],
45
-			"en": []
46
-		},
47
-		"demonstrative_near": {
48
-			"fs": ["dis man"],
49
-			"en": []
50
-		},
51
-		"universal": {
52
-			"fs": ["al man", "alve"],
53
-			"en": ["everyone"]
54
-		},
55
-		"undefined": {
56
-			"fs": ["et man", "etve"],
57
-			"en": ["someone"]
58
-		},
59
-		"negative": {
60
-			"fs": ["ing man", "ingve"],
61
-			"en": ["no one"]
62
-		}
63
-	},
64
-	{
65
-		"domain": "Thing",
66
-		"interrogative": {
67
-			"fs": ["vilk ding", "vat"],
68
-			"en": ["what"]
69
-		},
70
-		"relative": {
71
-			"fs": ["vilk ding", "vat"],
72
-			"en": ["what"]
73
-		},
74
-		"demonstrative_far": {
75
-			"fs": ["jen ding", "dat"],
76
-			"en": ["that"]
77
-		},
78
-		"demonstrative_near": {
79
-			"fs": ["dis ding"],
80
-			"en": ["this"]
81
-		},
82
-		"universal": {
83
-			"fs": ["al ding", "alvat"],
84
-			"en": ["everything"]
85
-		},
86
-		"undefined": {
87
-			"fs": ["et ding", "etvat"],
88
-			"en": ["something"]
89
-		},
90
-		"negative": {
91
-			"fs": ["ing ding", "ingvat"],
92
-			"en": ["nothing"]
93
-		}
94
-	},
95
-	{
96
-		"domain": "Posession",
97
-		"interrogative": {
98
-			"fs": ["av vilk man", "ves"],
99
-			"en": []
100
-		},
101
-		"relative": {
102
-			"fs": ["av vilk man", "ves"],
103
-			"en": []
104
-		},
105
-		"demonstrative_far": {
106
-			"fs": ["av jen man"],
107
-			"en": []
108
-		},
109
-		"demonstrative_near": {
110
-			"fs": ["av dis man"],
111
-			"en": []
112
-		},
113
-		"universal": {
114
-			"fs": ["av al man", "alves"],
115
-			"en": []
116
-		},
117
-		"undefined": {
118
-			"fs": ["av et man", "etves"],
119
-			"en": []
120
-		},
121
-		"negative": {
122
-			"fs": ["av ing man", "ingves"],
123
-			"en": []
124
-		}
125
-	},
126
-	{
127
-		"domain": "Time",
128
-		"interrogative": {
129
-			"fs": ["vilk tid", "van"],
130
-			"en": ["when"]
131
-		},
132
-		"relative": {
133
-			"fs": ["vilk tid", "van"],
134
-			"en": ["when"]
135
-		},
136
-		"demonstrative_far": {
137
-			"fs": ["jen tid", "dan"],
138
-			"en": ["then"]
139
-		},
140
-		"demonstrative_near": {
141
-			"fs": ["dis tid", "no"],
142
-			"en": ["now"]
143
-		},
144
-		"universal": {
145
-			"fs": ["al tid", "alvan"],
146
-			"en": ["always"]
147
-		},
148
-		"undefined": {
149
-			"fs": ["et tid", "etvan"],
150
-			"en": ["sometimes"]
151
-		},
152
-		"negative": {
153
-			"fs": ["ing tid", "ingvan"],
154
-			"en": ["never"]
155
-		}
156
-	},
157
-	{
158
-		"domain": "Location",
159
-		"interrogative": {
160
-			"fs": ["vilk sted", "var"],
161
-			"en": ["where"]
162
-		},
163
-		"relative": {
164
-			"fs": ["vilk sted", "var"],
165
-			"en": ["where"]
166
-		},
167
-		"demonstrative_far": {
168
-			"fs": ["jen sted", "dar"],
169
-			"en": ["there"]
170
-		},
171
-		"demonstrative_near": {
172
-			"fs": ["dis sted", "har"],
173
-			"en": ["here"]
174
-		},
175
-		"universal": {
176
-			"fs": ["al sted", "alvar"],
177
-			"en": ["everywhere"]
178
-		},
179
-		"undefined": {
180
-			"fs": ["et sted", "etvar"],
181
-			"en": ["somewhere"]
182
-		},
183
-		"negative": {
184
-			"fs": ["ing sted", "ingvar"],
185
-			"en": ["nowhere"]
186
-		}
187
-	},
188
-	{
189
-		"domain": "Direction",
190
-		"interrogative": {
191
-			"fs": ["to vilk sted", "varto"],
192
-			"en": []
193
-		},
194
-		"relative": {
195
-			"fs": ["to vilk sted", "varto"],
196
-			"en": []
197
-		},
198
-		"demonstrative_far": {
199
-			"fs": ["to jen sted", "darto"],
200
-			"en": []
201
-		},
202
-		"demonstrative_near": {
203
-			"fs": ["to dis sted", "harto"],
204
-			"en": []
205
-		},
206
-		"universal": {
207
-			"fs": ["to al sted", "alto"],
208
-			"en": []
209
-		},
210
-		"undefined": {
211
-			"fs": ["to et sted", "etto"],
212
-			"en": []
213
-		},
214
-		"negative": {
215
-			"fs": ["to ing sted", "ingto"],
216
-			"en": []
217
-		}
218
-	},
219
-	{
220
-		"domain": "Cause",
221
-		"interrogative": {
222
-			"fs": ["fur vilk grund", "varfur"],
223
-			"en": ["why"]
224
-		},
225
-		"relative": {
226
-			"fs": ["fur vilk grund", "varfur"],
227
-			"en": ["why"]
228
-		},
229
-		"demonstrative_far": {
230
-			"fs": ["fur jen grund", "darfur"],
231
-			"en": []
232
-		},
233
-		"demonstrative_near": {
234
-			"fs": ["fur dis grund", "harfur"],
235
-			"en": []
236
-		},
237
-		"universal": {
238
-			"fs": ["fur al grund", "alfur"],
239
-			"en": []
240
-		},
241
-		"undefined": {
242
-			"fs": ["fur et grund", "etfur"],
243
-			"en": []
244
-		},
245
-		"negative": {
246
-			"fs": ["fur ing grund", "ingfur"],
247
-			"en": []
248
-		}
249
-	},
250
-	{
251
-		"domain": "Manner",
252
-		"interrogative": {
253
-			"fs": ["vilk mot", "hur"],
254
-			"en": ["how"]
255
-		},
256
-		"relative": {
257
-			"fs": ["vilk mot", "hur"],
258
-			"en": ["how"]
259
-		},
260
-		"demonstrative_far": {
261
-			"fs": ["jen mot", "so"],
262
-			"en": ["so"]
263
-		},
264
-		"demonstrative_near": {
265
-			"fs": ["dis mot", "so"],
266
-			"en": ["so"]
267
-		},
268
-		"universal": {
269
-			"fs": ["al mot"],
270
-			"en": []
271
-		},
272
-		"undefined": {
273
-			"fs": ["et mot"],
274
-			"en": []
275
-		},
276
-		"negative": {
277
-			"fs": ["ing mot"],
278
-			"en": []
279
-		}
280
-	},
281
-	{
282
-		"domain": "Type",
283
-		"interrogative": {
284
-			"fs": ["vilk slag"],
285
-			"en": ["what kind of"]
286
-		},
287
-		"relative": {
288
-			"fs": ["vilk slag"],
289
-			"en": []
290
-		},
291
-		"demonstrative_far": {
292
-			"fs": ["jen slag", "solk"],
293
-			"en": ["such"]
294
-		},
295
-		"demonstrative_near": {
296
-			"fs": ["dis slag"],
297
-			"en": []
298
-		},
299
-		"universal": {
300
-			"fs": ["al slag"],
301
-			"en": []
302
-		},
303
-		"undefined": {
304
-			"fs": ["et slag"],
305
-			"en": []
306
-		},
307
-		"negative": {
308
-			"fs": ["ing slag"],
309
-			"en": []
310
-		}
311
-	},
312
-	{
313
-		"domain": "Amount",
314
-		"interrogative": {
315
-			"fs": ["vilk mang"],
316
-			"en": ["how many", "how much"]
317
-		},
318
-		"relative": {
319
-			"fs": ["vilk mang"],
320
-			"en": ["how many", "how much"]
321
-		},
322
-		"demonstrative_far": {
323
-			"fs": ["jen mang"],
324
-			"en": []
325
-		},
326
-		"demonstrative_near": {
327
-			"fs": ["dis mang"],
328
-			"en": []
329
-		},
330
-		"universal": {
331
-			"fs": ["al mang"],
332
-			"en": []
333
-		},
334
-		"undefined": {
335
-			"fs": ["et mang"],
336
-			"en": []
337
-		},
338
-		"negative": {
339
-			"fs": ["ing mang"],
340
-			"en": []
341
-		}
342
-	}
343
-]
1
+{
2
+	"domains": [
3
+		{"id": "con", "name": "Concrete"},
4
+		{"id": "per", "name": "Person"},
5
+		{"id": "thi", "name": "Thing"},
6
+		{"id": "pos", "name": "Posession"},
7
+		{"id": "tim", "name": "Time"},
8
+		{"id": "loc", "name": "Location"},
9
+		{"id": "dir", "name": "Direction"},
10
+		{"id": "cau", "name": "Cause"},
11
+		{"id": "man", "name": "Manner"},
12
+		{"id": "typ", "name": "Type"},
13
+		{"id": "amo", "name": "Amount"}
14
+	],
15
+	"types": [
16
+		{"id": "int", "name": "Interrogative"},
17
+		{"id": "rel", "name": "Relative"},
18
+		{"id": "def", "name": "Demonstrative far"},
19
+		{"id": "den", "name": "Demonstrative near"},
20
+		{"id": "uni", "name": "Universal"},
21
+		{"id": "und", "name": "Undefined"},
22
+		{"id": "neg", "name": "Negative"}
23
+	],
24
+	"words": [
25
+		{"language_id": "fs", "domain_id": "con", "type_id": "int", "words": ["vilk"]},
26
+		{"language_id": "fs", "domain_id": "con", "type_id": "rel", "words": ["vilk"]},
27
+		{"language_id": "fs", "domain_id": "con", "type_id": "def", "words": ["jen"]},
28
+		{"language_id": "fs", "domain_id": "con", "type_id": "den", "words": ["dis"]},
29
+		{"language_id": "fs", "domain_id": "con", "type_id": "uni", "words": ["al"]},
30
+		{"language_id": "fs", "domain_id": "con", "type_id": "und", "words": ["et"]},
31
+		{"language_id": "fs", "domain_id": "con", "type_id": "neg", "words": ["ing"]},
32
+		{"language_id": "fs", "domain_id": "per", "type_id": "int", "words": ["vilk man", "ve"]},
33
+		{"language_id": "fs", "domain_id": "per", "type_id": "rel", "words": ["vilk man", "ve"]},
34
+		{"language_id": "fs", "domain_id": "per", "type_id": "def", "words": ["jen man"]},
35
+		{"language_id": "fs", "domain_id": "per", "type_id": "den", "words": ["dis man"]},
36
+		{"language_id": "fs", "domain_id": "per", "type_id": "uni", "words": ["al man", "alve"]},
37
+		{"language_id": "fs", "domain_id": "per", "type_id": "und", "words": ["et man", "etve"]},
38
+		{"language_id": "fs", "domain_id": "per", "type_id": "neg", "words": ["ing man", "ingve"]},
39
+		{"language_id": "fs", "domain_id": "thi", "type_id": "int", "words": ["vilk ding", "vat"]},
40
+		{"language_id": "fs", "domain_id": "thi", "type_id": "rel", "words": ["vilk ding", "vat"]},
41
+		{"language_id": "fs", "domain_id": "thi", "type_id": "def", "words": ["jen ding", "dat"]},
42
+		{"language_id": "fs", "domain_id": "thi", "type_id": "den", "words": ["dis ding"]},
43
+		{"language_id": "fs", "domain_id": "thi", "type_id": "uni", "words": ["al ding", "alvat"]},
44
+		{"language_id": "fs", "domain_id": "thi", "type_id": "und", "words": ["et ding", "etvat"]},
45
+		{"language_id": "fs", "domain_id": "thi", "type_id": "neg", "words": ["ing ding", "ingvat"]},
46
+		{"language_id": "fs", "domain_id": "pos", "type_id": "int", "words": ["av vilk man", "ves"]},
47
+		{"language_id": "fs", "domain_id": "pos", "type_id": "rel", "words": ["av vilk man", "ves"]},
48
+		{"language_id": "fs", "domain_id": "pos", "type_id": "def", "words": ["av jen man"]},
49
+		{"language_id": "fs", "domain_id": "pos", "type_id": "den", "words": ["av dis man"]},
50
+		{"language_id": "fs", "domain_id": "pos", "type_id": "uni", "words": ["av al man", "alves"]},
51
+		{"language_id": "fs", "domain_id": "pos", "type_id": "und", "words": ["av et man", "etves"]},
52
+		{"language_id": "fs", "domain_id": "pos", "type_id": "neg", "words": ["av ing man", "ingves"]},
53
+		{"language_id": "fs", "domain_id": "tim", "type_id": "int", "words": ["vilk tid", "van"]},
54
+		{"language_id": "fs", "domain_id": "tim", "type_id": "rel", "words": ["vilk tid", "van"]},
55
+		{"language_id": "fs", "domain_id": "tim", "type_id": "def", "words": ["jen tid", "dan"]},
56
+		{"language_id": "fs", "domain_id": "tim", "type_id": "den", "words": ["dis tid", "no"]},
57
+		{"language_id": "fs", "domain_id": "tim", "type_id": "uni", "words": ["al tid", "alvan"]},
58
+		{"language_id": "fs", "domain_id": "tim", "type_id": "und", "words": ["et tid", "etvan"]},
59
+		{"language_id": "fs", "domain_id": "tim", "type_id": "neg", "words": ["ing tid", "ingvan"]},
60
+		{"language_id": "fs", "domain_id": "loc", "type_id": "int", "words": ["vilk sted", "var"]},
61
+		{"language_id": "fs", "domain_id": "loc", "type_id": "rel", "words": ["vilk sted", "var"]},
62
+		{"language_id": "fs", "domain_id": "loc", "type_id": "def", "words": ["jen sted", "dar"]},
63
+		{"language_id": "fs", "domain_id": "loc", "type_id": "den", "words": ["dis sted", "har"]},
64
+		{"language_id": "fs", "domain_id": "loc", "type_id": "uni", "words": ["al sted", "alvar"]},
65
+		{"language_id": "fs", "domain_id": "loc", "type_id": "und", "words": ["et sted", "etvar"]},
66
+		{"language_id": "fs", "domain_id": "loc", "type_id": "neg", "words": ["ing sted", "ingvar"]},
67
+		{"language_id": "fs", "domain_id": "dir", "type_id": "int", "words": ["to vilk sted", "varto"]},
68
+		{"language_id": "fs", "domain_id": "dir", "type_id": "rel", "words": ["to vilk sted", "varto"]},
69
+		{"language_id": "fs", "domain_id": "dir", "type_id": "def", "words": ["to jen sted", "darto"]},
70
+		{"language_id": "fs", "domain_id": "dir", "type_id": "den", "words": ["to dis sted", "harto"]},
71
+		{"language_id": "fs", "domain_id": "dir", "type_id": "uni", "words": ["to al sted", "alto"]},
72
+		{"language_id": "fs", "domain_id": "dir", "type_id": "und", "words": ["to et sted", "etto"]},
73
+		{"language_id": "fs", "domain_id": "dir", "type_id": "neg", "words": ["to ing sted", "ingto"]},
74
+		{"language_id": "fs", "domain_id": "cau", "type_id": "int", "words": ["fur vilk grund", "varfur"]},
75
+		{"language_id": "fs", "domain_id": "cau", "type_id": "rel", "words": ["fur vilk grund", "varfur"]},
76
+		{"language_id": "fs", "domain_id": "cau", "type_id": "def", "words": ["fur jen grund", "darfur"]},
77
+		{"language_id": "fs", "domain_id": "cau", "type_id": "den", "words": ["fur dis grund", "harfur"]},
78
+		{"language_id": "fs", "domain_id": "cau", "type_id": "uni", "words": ["fur al grund", "alfur"]},
79
+		{"language_id": "fs", "domain_id": "cau", "type_id": "und", "words": ["fur et grund", "etfur"]},
80
+		{"language_id": "fs", "domain_id": "cau", "type_id": "neg", "words": ["fur ing grund", "ingfur"]},
81
+		{"language_id": "fs", "domain_id": "man", "type_id": "int", "words": ["vilk mot", "hur"]},
82
+		{"language_id": "fs", "domain_id": "man", "type_id": "rel", "words": ["vilk mot", "hur"]},
83
+		{"language_id": "fs", "domain_id": "man", "type_id": "def", "words": ["jen mot", "so"]},
84
+		{"language_id": "fs", "domain_id": "man", "type_id": "den", "words": ["dis mot", "so"]},
85
+		{"language_id": "fs", "domain_id": "man", "type_id": "uni", "words": ["al mot"]},
86
+		{"language_id": "fs", "domain_id": "man", "type_id": "und", "words": ["et mot"]},
87
+		{"language_id": "fs", "domain_id": "man", "type_id": "neg", "words": ["ing mot"]},
88
+		{"language_id": "fs", "domain_id": "typ", "type_id": "int", "words": ["vilk slag"]},
89
+		{"language_id": "fs", "domain_id": "typ", "type_id": "rel", "words": ["vilk slag"]},
90
+		{"language_id": "fs", "domain_id": "typ", "type_id": "def", "words": ["jen slag", "solk"]},
91
+		{"language_id": "fs", "domain_id": "typ", "type_id": "den", "words": ["dis slag"]},
92
+		{"language_id": "fs", "domain_id": "typ", "type_id": "uni", "words": ["al slag"]},
93
+		{"language_id": "fs", "domain_id": "typ", "type_id": "und", "words": ["et slag"]},
94
+		{"language_id": "fs", "domain_id": "typ", "type_id": "neg", "words": ["ing slag"]},
95
+		{"language_id": "fs", "domain_id": "amo", "type_id": "int", "words": ["vilk mang"]},
96
+		{"language_id": "fs", "domain_id": "amo", "type_id": "rel", "words": ["vilk mang"]},
97
+		{"language_id": "fs", "domain_id": "amo", "type_id": "def", "words": ["jen mang"]},
98
+		{"language_id": "fs", "domain_id": "amo", "type_id": "den", "words": ["dis mang"]},
99
+		{"language_id": "fs", "domain_id": "amo", "type_id": "uni", "words": ["al mang"]},
100
+		{"language_id": "fs", "domain_id": "amo", "type_id": "und", "words": ["et mang"]},
101
+		{"language_id": "fs", "domain_id": "amo", "type_id": "neg", "words": ["ing mang"]},
102
+		{"language_id": "en", "domain_id": "con", "type_id": "int", "words": ["which"]},
103
+		{"language_id": "en", "domain_id": "con", "type_id": "rel", "words": ["which"]},
104
+		{"language_id": "en", "domain_id": "con", "type_id": "def", "words": ["that"]},
105
+		{"language_id": "en", "domain_id": "con", "type_id": "den", "words": ["this"]},
106
+		{"language_id": "en", "domain_id": "con", "type_id": "uni", "words": ["every", "all"]},
107
+		{"language_id": "en", "domain_id": "con", "type_id": "und", "words": ["some"]},
108
+		{"language_id": "en", "domain_id": "con", "type_id": "neg", "words": ["no"]},
109
+		{"language_id": "en", "domain_id": "per", "type_id": "int", "words": ["who"]},
110
+		{"language_id": "en", "domain_id": "per", "type_id": "rel", "words": ["who"]},
111
+		{"language_id": "en", "domain_id": "per", "type_id": "def", "words": ["that person", "that one"]},
112
+		{"language_id": "en", "domain_id": "per", "type_id": "den", "words": ["this person", "this one"]},
113
+		{"language_id": "en", "domain_id": "per", "type_id": "uni", "words": ["everyone", "everybody"]},
114
+		{"language_id": "en", "domain_id": "per", "type_id": "und", "words": ["someone", "somebody"]},
115
+		{"language_id": "en", "domain_id": "per", "type_id": "neg", "words": ["no one", "nobody"]},
116
+		{"language_id": "en", "domain_id": "thi", "type_id": "int", "words": ["what"]},
117
+		{"language_id": "en", "domain_id": "thi", "type_id": "rel", "words": ["what"]},
118
+		{"language_id": "en", "domain_id": "thi", "type_id": "def", "words": ["that"]},
119
+		{"language_id": "en", "domain_id": "thi", "type_id": "den", "words": ["this"]},
120
+		{"language_id": "en", "domain_id": "thi", "type_id": "uni", "words": ["everything"]},
121
+		{"language_id": "en", "domain_id": "thi", "type_id": "und", "words": ["something", "anything"]},
122
+		{"language_id": "en", "domain_id": "thi", "type_id": "neg", "words": ["nothing"]},
123
+		{"language_id": "en", "domain_id": "pos", "type_id": "int", "words": ["whose"]},
124
+		{"language_id": "en", "domain_id": "pos", "type_id": "rel", "words": ["whose"]},
125
+		{"language_id": "en", "domain_id": "pos", "type_id": "def", "words": ["that one's"]},
126
+		{"language_id": "en", "domain_id": "pos", "type_id": "den", "words": ["this one's"]},
127
+		{"language_id": "en", "domain_id": "pos", "type_id": "uni", "words": ["everyone's"]},
128
+		{"language_id": "en", "domain_id": "pos", "type_id": "und", "words": ["someone's"]},
129
+		{"language_id": "en", "domain_id": "pos", "type_id": "neg", "words": ["no one's"]},
130
+		{"language_id": "en", "domain_id": "tim", "type_id": "int", "words": ["when"]},
131
+		{"language_id": "en", "domain_id": "tim", "type_id": "rel", "words": ["when"]},
132
+		{"language_id": "en", "domain_id": "tim", "type_id": "def", "words": ["then"]},
133
+		{"language_id": "en", "domain_id": "tim", "type_id": "den", "words": ["now"]},
134
+		{"language_id": "en", "domain_id": "tim", "type_id": "uni", "words": ["always"]},
135
+		{"language_id": "en", "domain_id": "tim", "type_id": "und", "words": ["sometimes", "anytime", "ever"]},
136
+		{"language_id": "en", "domain_id": "tim", "type_id": "neg", "words": ["never"]},
137
+		{"language_id": "en", "domain_id": "loc", "type_id": "int", "words": ["where"]},
138
+		{"language_id": "en", "domain_id": "loc", "type_id": "rel", "words": ["where"]},
139
+		{"language_id": "en", "domain_id": "loc", "type_id": "def", "words": ["there"]},
140
+		{"language_id": "en", "domain_id": "loc", "type_id": "den", "words": ["here"]},
141
+		{"language_id": "en", "domain_id": "loc", "type_id": "uni", "words": ["everywhere"]},
142
+		{"language_id": "en", "domain_id": "loc", "type_id": "und", "words": ["somewhere"]},
143
+		{"language_id": "en", "domain_id": "loc", "type_id": "neg", "words": ["nowhere"]},
144
+		{"language_id": "en", "domain_id": "dir", "type_id": "int", "words": ["whereto", "whither"]},
145
+		{"language_id": "en", "domain_id": "dir", "type_id": "rel", "words": ["whereto", "whither"]},
146
+		{"language_id": "en", "domain_id": "dir", "type_id": "def", "words": ["(to) there", "thither"]},
147
+		{"language_id": "en", "domain_id": "dir", "type_id": "den", "words": ["(to) here", "hither"]},
148
+		{"language_id": "en", "domain_id": "dir", "type_id": "uni", "words": []},
149
+		{"language_id": "en", "domain_id": "dir", "type_id": "und", "words": ["(to) anywhere"]},
150
+		{"language_id": "en", "domain_id": "dir", "type_id": "neg", "words": ["(to) nowhere", "nowhither"]},
151
+		{"language_id": "en", "domain_id": "cau", "type_id": "int", "words": ["why"]},
152
+		{"language_id": "en", "domain_id": "cau", "type_id": "rel", "words": ["why"]},
153
+		{"language_id": "en", "domain_id": "cau", "type_id": "def", "words": []},
154
+		{"language_id": "en", "domain_id": "cau", "type_id": "den", "words": []},
155
+		{"language_id": "en", "domain_id": "cau", "type_id": "uni", "words": []},
156
+		{"language_id": "en", "domain_id": "cau", "type_id": "und", "words": []},
157
+		{"language_id": "en", "domain_id": "cau", "type_id": "neg", "words": []},
158
+		{"language_id": "en", "domain_id": "man", "type_id": "int", "words": ["how"]},
159
+		{"language_id": "en", "domain_id": "man", "type_id": "rel", "words": ["how"]},
160
+		{"language_id": "en", "domain_id": "man", "type_id": "def", "words": ["so"]},
161
+		{"language_id": "en", "domain_id": "man", "type_id": "den", "words": ["so"]},
162
+		{"language_id": "en", "domain_id": "man", "type_id": "uni", "words": []},
163
+		{"language_id": "en", "domain_id": "man", "type_id": "und", "words": []},
164
+		{"language_id": "en", "domain_id": "man", "type_id": "neg", "words": []},
165
+		{"language_id": "en", "domain_id": "typ", "type_id": "int", "words": ["what kind of"]},
166
+		{"language_id": "en", "domain_id": "typ", "type_id": "rel", "words": []},
167
+		{"language_id": "en", "domain_id": "typ", "type_id": "def", "words": ["such"]},
168
+		{"language_id": "en", "domain_id": "typ", "type_id": "den", "words": []},
169
+		{"language_id": "en", "domain_id": "typ", "type_id": "uni", "words": []},
170
+		{"language_id": "en", "domain_id": "typ", "type_id": "und", "words": []},
171
+		{"language_id": "en", "domain_id": "typ", "type_id": "neg", "words": []},
172
+		{"language_id": "en", "domain_id": "amo", "type_id": "int", "words": ["how many", "how much"]},
173
+		{"language_id": "en", "domain_id": "amo", "type_id": "rel", "words": ["how many", "how much"]},
174
+		{"language_id": "en", "domain_id": "amo", "type_id": "def", "words": []},
175
+		{"language_id": "en", "domain_id": "amo", "type_id": "den", "words": []},
176
+		{"language_id": "en", "domain_id": "amo", "type_id": "uni", "words": []},
177
+		{"language_id": "en", "domain_id": "amo", "type_id": "und", "words": []},
178
+		{"language_id": "en", "domain_id": "amo", "type_id": "neg", "words": []}
179
+	]
180
+}
344 181
 
345 182
new file mode 100644
... ...
@@ -0,0 +1,344 @@
1
+[
2
+	{
3
+		"domain": "Concrete",
4
+		"interrogative": {
5
+			"fs": ["vilk"],
6
+			"en": ["which"]
7
+		},
8
+		"relative": {
9
+			"fs": ["vilk"],
10
+			"en": ["which"]
11
+		},
12
+		"demonstrative_far": {
13
+			"fs": ["jen"],
14
+			"en": ["that"]
15
+		},
16
+		"demonstrative_near": {
17
+			"fs": ["dis"],
18
+			"en": ["this"]
19
+		},
20
+		"universal": {
21
+			"fs": ["al"],
22
+			"en": ["every", "all"]
23
+		},
24
+		"undefined": {
25
+			"fs": ["et"],
26
+			"en": ["some"]
27
+		},
28
+		"negative": {
29
+			"fs": ["ing"],
30
+			"en": ["no"]
31
+		}
32
+	},
33
+	{
34
+		"domain": "Person",
35
+		"interrogative": {
36
+			"fs": ["vilk man", "ve"],
37
+			"en": ["who"]
38
+		},
39
+		"relative": {
40
+			"fs": ["vilk man", "ve"],
41
+			"en": ["who"]
42
+		},
43
+		"demonstrative_far": {
44
+			"fs": ["jen man"],
45
+			"en": []
46
+		},
47
+		"demonstrative_near": {
48
+			"fs": ["dis man"],
49
+			"en": []
50
+		},
51
+		"universal": {
52
+			"fs": ["al man", "alve"],
53
+			"en": ["everyone"]
54
+		},
55
+		"undefined": {
56
+			"fs": ["et man", "etve"],
57
+			"en": ["someone"]
58
+		},
59
+		"negative": {
60
+			"fs": ["ing man", "ingve"],
61
+			"en": ["no one"]
62
+		}
63
+	},
64
+	{
65
+		"domain": "Thing",
66
+		"interrogative": {
67
+			"fs": ["vilk ding", "vat"],
68
+			"en": ["what"]
69
+		},
70
+		"relative": {
71
+			"fs": ["vilk ding", "vat"],
72
+			"en": ["what"]
73
+		},
74
+		"demonstrative_far": {
75
+			"fs": ["jen ding", "dat"],
76
+			"en": ["that"]
77
+		},
78
+		"demonstrative_near": {
79
+			"fs": ["dis ding"],
80
+			"en": ["this"]
81
+		},
82
+		"universal": {
83
+			"fs": ["al ding", "alvat"],
84
+			"en": ["everything"]
85
+		},
86
+		"undefined": {
87
+			"fs": ["et ding", "etvat"],
88
+			"en": ["something"]
89
+		},
90
+		"negative": {
91
+			"fs": ["ing ding", "ingvat"],
92
+			"en": ["nothing"]
93
+		}
94
+	},
95
+	{
96
+		"domain": "Posession",
97
+		"interrogative": {
98
+			"fs": ["av vilk man", "ves"],
99
+			"en": []
100
+		},
101
+		"relative": {
102
+			"fs": ["av vilk man", "ves"],
103
+			"en": []
104
+		},
105
+		"demonstrative_far": {
106
+			"fs": ["av jen man"],
107
+			"en": []
108
+		},
109
+		"demonstrative_near": {
110
+			"fs": ["av dis man"],
111
+			"en": []
112
+		},
113
+		"universal": {
114
+			"fs": ["av al man", "alves"],
115
+			"en": []
116
+		},
117
+		"undefined": {
118
+			"fs": ["av et man", "etves"],
119
+			"en": []
120
+		},
121
+		"negative": {
122
+			"fs": ["av ing man", "ingves"],
123
+			"en": []
124
+		}
125
+	},
126
+	{
127
+		"domain": "Time",
128
+		"interrogative": {
129
+			"fs": ["vilk tid", "van"],
130
+			"en": ["when"]
131
+		},
132
+		"relative": {
133
+			"fs": ["vilk tid", "van"],
134
+			"en": ["when"]
135
+		},
136
+		"demonstrative_far": {
137
+			"fs": ["jen tid", "dan"],
138
+			"en": ["then"]
139
+		},
140
+		"demonstrative_near": {
141
+			"fs": ["dis tid", "no"],
142
+			"en": ["now"]
143
+		},
144
+		"universal": {
145
+			"fs": ["al tid", "alvan"],
146
+			"en": ["always"]
147
+		},
148
+		"undefined": {
149
+			"fs": ["et tid", "etvan"],
150
+			"en": ["sometimes"]
151
+		},
152
+		"negative": {
153
+			"fs": ["ing tid", "ingvan"],
154
+			"en": ["never"]
155
+		}
156
+	},
157
+	{
158
+		"domain": "Location",
159
+		"interrogative": {
160
+			"fs": ["vilk sted", "var"],
161
+			"en": ["where"]
162
+		},
163
+		"relative": {
164
+			"fs": ["vilk sted", "var"],
165
+			"en": ["where"]
166
+		},
167
+		"demonstrative_far": {
168
+			"fs": ["jen sted", "dar"],
169
+			"en": ["there"]
170
+		},
171
+		"demonstrative_near": {
172
+			"fs": ["dis sted", "har"],
173
+			"en": ["here"]
174
+		},
175
+		"universal": {
176
+			"fs": ["al sted", "alvar"],
177
+			"en": ["everywhere"]
178
+		},
179
+		"undefined": {
180
+			"fs": ["et sted", "etvar"],
181
+			"en": ["somewhere"]
182
+		},
183
+		"negative": {
184
+			"fs": ["ing sted", "ingvar"],
185
+			"en": ["nowhere"]
186
+		}
187
+	},
188
+	{
189
+		"domain": "Direction",
190
+		"interrogative": {
191
+			"fs": ["to vilk sted", "varto"],
192
+			"en": ["(to) where","whither"]
193
+		},
194
+		"relative": {
195
+			"fs": ["to vilk sted", "varto"],
196
+			"en": ["(to) where","whither"]
197
+		},
198
+		"demonstrative_far": {
199
+			"fs": ["to jen sted", "darto"],
200
+			"en": ["(to) there","thither"]
201
+		},
202
+		"demonstrative_near": {
203
+			"fs": ["to dis sted", "harto"],
204
+			"en": ["(to) here","hither"]
205
+		},
206
+		"universal": {
207
+			"fs": ["to al sted", "alto"],
208
+			"en": []
209
+		},
210
+		"undefined": {
211
+			"fs": ["to et sted", "etto"],
212
+			"en": ["(to) anywhere"]
213
+		},
214
+		"negative": {
215
+			"fs": ["to ing sted", "ingto"],
216
+			"en": ["(to) nowhere","nowither"]
217
+		}
218
+	},
219
+	{
220
+		"domain": "Cause",
221
+		"interrogative": {
222
+			"fs": ["fur vilk grund", "varfur"],
223
+			"en": ["why"]
224
+		},
225
+		"relative": {
226
+			"fs": ["fur vilk grund", "varfur"],
227
+			"en": ["why"]
228
+		},
229
+		"demonstrative_far": {
230
+			"fs": ["fur jen grund", "darfur"],
231
+			"en": []
232
+		},
233
+		"demonstrative_near": {
234
+			"fs": ["fur dis grund", "harfur"],
235
+			"en": []
236
+		},
237
+		"universal": {
238
+			"fs": ["fur al grund", "alfur"],
239
+			"en": []
240
+		},
241
+		"undefined": {
242
+			"fs": ["fur et grund", "etfur"],
243
+			"en": []
244
+		},
245
+		"negative": {
246
+			"fs": ["fur ing grund", "ingfur"],
247
+			"en": []
248
+		}
249
+	},
250
+	{
251
+		"domain": "Manner",
252
+		"interrogative": {
253
+			"fs": ["vilk mot", "hur"],
254
+			"en": ["how"]
255
+		},
256
+		"relative": {
257
+			"fs": ["vilk mot", "hur"],
258
+			"en": ["how"]
259
+		},
260
+		"demonstrative_far": {
261
+			"fs": ["jen mot", "so"],
262
+			"en": ["so"]
263
+		},
264
+		"demonstrative_near": {
265
+			"fs": ["dis mot", "so"],
266
+			"en": ["so"]
267
+		},
268
+		"universal": {
269
+			"fs": ["al mot"],
270
+			"en": []
271
+		},
272
+		"undefined": {
273
+			"fs": ["et mot"],
274
+			"en": []
275
+		},
276
+		"negative": {
277
+			"fs": ["ing mot"],
278
+			"en": []
279
+		}
280
+	},
281
+	{
282
+		"domain": "Type",
283
+		"interrogative": {
284
+			"fs": ["vilk slag"],
285
+			"en": ["what kind of"]
286
+		},
287
+		"relative": {
288
+			"fs": ["vilk slag"],
289
+			"en": []
290
+		},
291
+		"demonstrative_far": {
292
+			"fs": ["jen slag", "solk"],
293
+			"en": ["such"]
294
+		},
295
+		"demonstrative_near": {
296
+			"fs": ["dis slag"],
297
+			"en": []
298
+		},
299
+		"universal": {
300
+			"fs": ["al slag"],
301
+			"en": []
302
+		},
303
+		"undefined": {
304
+			"fs": ["et slag"],
305
+			"en": []
306
+		},
307
+		"negative": {
308
+			"fs": ["ing slag"],
309
+			"en": []
310
+		}
311
+	},
312
+	{
313
+		"domain": "Amount",
314
+		"interrogative": {
315
+			"fs": ["vilk mang"],
316
+			"en": ["how many", "how much"]
317
+		},
318
+		"relative": {
319
+			"fs": ["vilk mang"],
320
+			"en": ["how many", "how much"]
321
+		},
322
+		"demonstrative_far": {
323
+			"fs": ["jen mang"],
324
+			"en": []
325
+		},
326
+		"demonstrative_near": {
327
+			"fs": ["dis mang"],
328
+			"en": []
329
+		},
330
+		"universal": {
331
+			"fs": ["al mang"],
332
+			"en": []
333
+		},
334
+		"undefined": {
335
+			"fs": ["et mang"],
336
+			"en": []
337
+		},
338
+		"negative": {
339
+			"fs": ["ing mang"],
340
+			"en": []
341
+		}
342
+	}
343
+]
344
+
... ...
@@ -1,80 +1,208 @@
1
-[
2
-	{
3
-		"numerus": 1,
4
-		"persona": 0,
5
-		"genus": 0,
6
-		"fs": ["man"],
7
-		"en": ["one","you"]
8
-	},
9
-	{
10
-		"numerus": 1,
11
-		"persona": 1,
12
-		"genus": 0,
13
-		"fs": ["ek"],
14
-		"en": ["i"]
15
-	},
16
-	{
17
-		"numerus": 1,
18
-		"persona": 2,
19
-		"genus": 0,
20
-		"fs": ["du"],
21
-		"en": ["you","thou"]
22
-	},
23
-	{
24
-		"numerus": 1,
25
-		"persona": 3,
26
-		"genus": 0,
27
-		"fs": ["hen"],
28
-		"en": []
29
-	},
30
-	{
31
-		"numerus": 1,
32
-		"persona": 3,
33
-		"genus": 1,
34
-		"fs": ["hi"],
35
-		"en": ["he"]
36
-	},
37
-	{
38
-		"numerus": 1,
39
-		"persona": 3,
40
-		"genus": 2,
41
-		"fs": ["hu"],
42
-		"en": ["she"]
43
-	},
44
-	{
45
-		"numerus": 1,
46
-		"persona": 3,
47
-		"genus": 3,
48
-		"fs": ["het"],
49
-		"en": ["it"]
50
-	},
51
-	{
52
-		"numerus": 2,
53
-		"persona": 0,
54
-		"genus": 0,
55
-		"fs": ["man"],
56
-		"en": ["they","you"]
57
-	},
58
-	{
59
-		"numerus": 2,
60
-		"persona": 1,
61
-		"genus": 0,
62
-		"fs": ["vi"],
63
-		"en": ["we"]
64
-	},
65
-	{
66
-		"numerus": 2,
67
-		"persona": 2,
68
-		"genus": 0,
69
-		"fs": ["jer"],
70
-		"en": ["you (all)"]
71
-	},
72
-	{
73
-		"numerus": 2,
74
-		"persona": 3,
75
-		"genus": 0,
76
-		"fs": ["di"],
77
-		"en": ["they"]
78
-	}
79
-]
1
+{
2
+	"types": [
3
+		{"id": "nor", "name": "normal"},
4
+		{"id": "ref", "name": "reflexive"},
5
+		{"id": "pos", "name": "possesive"}
6
+	],
7
+	"words": [
8
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["man"]},
9
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["ek"]},
10
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["du"]},
11
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["hen"]},
12
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["han"]},
13
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["hun"]},
14
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "neu", "words": ["hit"]},
15
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "plu", "person_id": "imp", "gender_id": "com", "words": ["maner"]},
16
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "plu", "person_id": "1st", "gender_id": "com", "words": ["vi"]},
17
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "plu", "person_id": "2nd", "gender_id": "com", "words": ["je"]},
18
+		{"language_id": "fs", "type_id": "nor", "case_id": "nom", "count_id": "plu", "person_id": "3rd", "gender_id": "com", "words": ["di"]},
19
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["man"]},
20
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["mek"]},
21
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["dek"]},
22
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["hen"]},
23
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["han"]},
24
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["hun"]},
25
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "neu", "words": ["hit"]},
26
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "plu", "person_id": "imp", "gender_id": "com", "words": ["maner"]},
27
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "plu", "person_id": "1st", "gender_id": "com", "words": ["us"]},
28
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "plu", "person_id": "2nd", "gender_id": "com", "words": ["ju"]},
29
+		{"language_id": "fs", "type_id": "nor", "case_id": "acc", "count_id": "plu", "person_id": "3rd", "gender_id": "com", "words": ["dim"]},
30
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["to man"]},
31
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["to mek"]},
32
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["to dek"]},
33
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["to hen"]},
34
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["to han"]},
35
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["to hun"]},
36
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "neu", "words": ["to hit"]},
37
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "plu", "person_id": "imp", "gender_id": "com", "words": ["to maner"]},
38
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "plu", "person_id": "1st", "gender_id": "com", "words": ["to us"]},
39
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "plu", "person_id": "2nd", "gender_id": "com", "words": ["to ju"]},
40
+		{"language_id": "fs", "type_id": "nor", "case_id": "dat", "count_id": "plu", "person_id": "3rd", "gender_id": "com", "words": ["to dim"]},
41
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["sek"]},
42
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["mek"]},
43
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["dek"]},
44
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["sek"]},
45
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["sek"]},
46
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["sek"]},
47
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "neu", "words": ["sek"]},
48
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "plu", "person_id": "imp", "gender_id": "com", "words": ["maner"]},
49
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "plu", "person_id": "1st", "gender_id": "com", "words": ["us"]},
50
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "plu", "person_id": "2nd", "gender_id": "com", "words": ["ju"]},
51
+		{"language_id": "fs", "type_id": "ref", "case_id": "acc", "count_id": "plu", "person_id": "3rd", "gender_id": "com", "words": ["sek"]},
52
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["to sek"]},
53
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["to mek"]},
54
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["to dek"]},
55
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["to sek"]},
56
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["to sek"]},
57
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["to sek"]},
58
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "sin", "person_id": "3rd", "gender_id": "neu", "words": ["to sek"]},
59
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "plu", "person_id": "imp", "gender_id": "com", "words": ["to sek"]},
60
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "plu", "person_id": "1st", "gender_id": "com", "words": ["to us"]},
61
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "plu", "person_id": "2nd", "gender_id": "com", "words": ["to ju"]},
62
+		{"language_id": "fs", "type_id": "ref", "case_id": "dat", "count_id": "plu", "person_id": "3rd", "gender_id": "com", "words": ["to sek"]},
63
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["mans"]},
64
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["min"]},
65
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["din"]},
66
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["hens"]},
67
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["hans"]},
68
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["huns"]},
69
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "sin", "person_id": "3rd", "gender_id": "neu", "words": ["hits"]},
70
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "plu", "person_id": "imp", "gender_id": "com", "words": ["maners"]},
71
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "plu", "person_id": "1st", "gender_id": "com", "words": ["ur"]},
72
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "plu", "person_id": "2nd", "gender_id": "com", "words": ["jer"]},
73
+		{"language_id": "fs", "type_id": "pos", "case_id": "nom", "count_id": "plu", "person_id": "3rd", "gender_id": "com", "words": ["dir"]},		
74
+		{"language_id": "fs", "type_id": "pos", "case_id": "acc", "count_id": "sin", "person_id": "imp", "gender_id": "com", "words": ["mans"]},
75
+		{"language_id": "fs", "type_id": "pos", "case_id": "acc", "count_id": "sin", "person_id": "1st", "gender_id": "com", "words": ["min"]},
76
+		{"language_id": "fs", "type_id": "pos", "case_id": "acc", "count_id": "sin", "person_id": "2nd", "gender_id": "com", "words": ["din"]},
77
+		{"language_id": "fs", "type_id": "pos", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "com", "words": ["hens"]},
78
+		{"language_id": "fs", "type_id": "pos", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "mas", "words": ["hans"]},
79
+		{"language_id": "fs", "type_id": "pos", "case_id": "acc", "count_id": "sin", "person_id": "3rd", "gender_id": "fem", "words": ["huns"]},