Christian Fraß commited on 2018-08-24 15:59:38
Zeige 10 geänderte Dateien mit 459 Einfügungen und 42 Löschungen.
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
<!-- |
5 | 5 |
<li>The following list gives an overview over prepositions:</li> |
6 | 6 |
--> |
7 |
- {{fsdraft-table-2d:adpositions.words:situation_id:type_id/reference_id}} |
|
7 |
+ {{fsdraft-macro-adpositions:adpositions.words:situation_id:type_id/reference_id}} |
|
8 | 8 |
<p>Some examples:</p> |
9 | 9 |
<ul>{{list:section-adpositions.examples:adpositions-example.html.tpl}}</ul> |
10 | 10 |
</section> |
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
<section class="subsection" id="correlatives"> |
2 | 2 |
<header>Correlatives</header> |
3 | 3 |
{{call::_proposal.html.tpl}} |
4 |
- {{fsdraft-table-2d:correlatives.words:domain_id:type_id}} |
|
4 |
+ {{fsdraft-macro-correlatives:correlatives.words:domain_id:type_id}} |
|
5 | 5 |
<div class="note note_information"> |
6 | 6 |
<span class="note_content"> |
7 | 7 |
<p>Some of these words are very unlikely to ever get used (e.g. <span class="type_word lang_flk">ni slag</span>). Nevertheless they exist and are listed for completeness.</p> |
... | ... |
@@ -4,7 +4,7 @@ |
4 | 4 |
{{call::cases.html.tpl}} |
5 | 5 |
{{call::definiteness.html.tpl}} |
6 | 6 |
<p>The following table summarizes the information of this section:</p> |
7 |
- {{fsdraft-table-2d:declension.words:count_id/definiteness_id:case_id}} |
|
7 |
+ {{fsdraft-macro-declension:declension.words:count_id/definiteness_id:case_id}} |
|
8 | 8 |
<p>{{fsdraft-correlation:section-declension.example:type_sentence}}</p> |
9 | 9 |
</section> |
10 | 10 |
|
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
<section class="subsection" id="personal_pronouns"> |
2 | 2 |
<header>Personal Pronouns</header> |
3 |
- {{fsdraft-table-2d:personal_pronouns.words:count_id/person_id/gender_id:type_id/case_id}} |
|
3 |
+ {{fsdraft-macro-personal_pronouns:personal_pronouns.words}} |
|
4 | 4 |
<div class="note note_information"> |
5 | 5 |
<span class="note_content"> |
6 | 6 |
<p>Since the word <span class="type_word lang_flk">man</span> simply means <span class="type_word lang_en">human being</span>, it can be understood as an implicit way to express an abstract actor; similar words like <span class="type_word lang_flk">lüd</span> (<span class="type_word lang_en">people</span>) or <span class="type_word lang_flk">di</span> can be used as well.</p> |
... | ... |
@@ -6,7 +6,7 @@ |
6 | 6 |
<!-- |
7 | 7 |
<div class="note_information">It was not easy to find a phonology system for Folksprak.</div> |
8 | 8 |
--> |
9 |
- {{fsdraft-table-1d:phonology_and_orthography:ipa/latin/runic/examples}} |
|
9 |
+ {{fsdraft-macro-phonology_and_orthography:phonology_and_orthography:ipa/latin/runic/examples}} |
|
10 | 10 |
<div class="note note_information"> |
11 | 11 |
<span class="note_content"> |
12 | 12 |
<p>It is permitted to pronounce the sounds a little differently, for example <span class="type_letter lang_flk">v</span> as <span class="ipa">ʋ</span> or <span class="type_letter lang_flk">s</span> as <span class="ipa">z</span>, whilst the sounds from the table above are the default.</p> |
... | ... |
@@ -2,7 +2,9 @@ |
2 | 2 |
<header>Principles</header> |
3 | 3 |
<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.). Branches which no longer emerge today (e.g. the East Germanic languages like Gothic), were not incorporated.</p> |
4 | 4 |
<p>The following table gives an overview about the typical transitions of phones from Proto-Germanic to some of todays natural Germanic languages and Folksprak, along with example words in square brackets:</p> |
5 |
+ {{fsdraft-macro-principles:transitions.data}} |
|
6 |
+ <br/> |
|
7 |
+ <br/> |
|
5 | 8 |
<span class="todo">more entries</span> |
6 |
- {{fsdraft-table-2d:transitions.data:transition_id:language_id}} |
|
7 | 9 |
</section> |
8 | 10 |
|
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
[ |
2 | 2 |
{ |
3 | 3 |
"type": "lateral approximant", |
4 |
- "ipa": "/l/", |
|
4 |
+ "ipa": "l", |
|
5 | 5 |
"latin": "'L'/'l'", |
6 | 6 |
"runic": "'ᛚ'", |
7 | 7 |
"remark": null, |
... | ... |
@@ -13,7 +13,7 @@ |
13 | 13 |
}, |
14 | 14 |
{ |
15 | 15 |
"type": "nasal", |
16 |
- "ipa": "/m/", |
|
16 |
+ "ipa": "m", |
|
17 | 17 |
"latin": "'M'/'m'", |
18 | 18 |
"runic": "'ᛗ'", |
19 | 19 |
"remark": null, |
... | ... |
@@ -25,7 +25,7 @@ |
25 | 25 |
}, |
26 | 26 |
{ |
27 | 27 |
"type": "nasal", |
28 |
- "ipa": "/n/", |
|
28 |
+ "ipa": "n", |
|
29 | 29 |
"latin": "'N'/'n'", |
30 | 30 |
"runic": "'ᚾ'", |
31 | 31 |
"remark": null, |
... | ... |
@@ -37,7 +37,7 @@ |
37 | 37 |
}, |
38 | 38 |
{ |
39 | 39 |
"type": "nasal", |
40 |
- "ipa": "/ŋ/", |
|
40 |
+ "ipa": "ŋ", |
|
41 | 41 |
"latin": "'Ng'/'ng'", |
42 | 42 |
"runic": "'ᛜ'", |
43 | 43 |
"remark": null, |
... | ... |
@@ -49,7 +49,7 @@ |
49 | 49 |
}, |
50 | 50 |
{ |
51 | 51 |
"type": "plosive", |
52 |
- "ipa": "/g/", |
|
52 |
+ "ipa": "g", |
|
53 | 53 |
"latin": "'G'/'g'", |
54 | 54 |
"runic": "'ᚷ'", |
55 | 55 |
"remark": null, |
... | ... |
@@ -61,7 +61,7 @@ |
61 | 61 |
}, |
62 | 62 |
{ |
63 | 63 |
"type": "plosive", |
64 |
- "ipa": "/k/", |
|
64 |
+ "ipa": "k", |
|
65 | 65 |
"latin": "'K'/'k'", |
66 | 66 |
"runic": "'ᚲ'", |
67 | 67 |
"remark": null, |
... | ... |
@@ -73,7 +73,7 @@ |
73 | 73 |
}, |
74 | 74 |
{ |
75 | 75 |
"type": "plosive", |
76 |
- "ipa": "/b/", |
|
76 |
+ "ipa": "b", |
|
77 | 77 |
"latin": "'B'/'b'", |
78 | 78 |
"runic": "'ᛒ'", |
79 | 79 |
"remark": null, |
... | ... |
@@ -85,7 +85,7 @@ |
85 | 85 |
}, |
86 | 86 |
{ |
87 | 87 |
"type": "plosive", |
88 |
- "ipa": "/p/", |
|
88 |
+ "ipa": "p", |
|
89 | 89 |
"latin": "'P'/'p'", |
90 | 90 |
"runic": "'ᛈ'", |
91 | 91 |
"remark": null, |
... | ... |
@@ -97,7 +97,7 @@ |
97 | 97 |
}, |
98 | 98 |
{ |
99 | 99 |
"type": "plosive", |
100 |
- "ipa": "/d/", |
|
100 |
+ "ipa": "d", |
|
101 | 101 |
"latin": "'D'/'d'", |
102 | 102 |
"runic": "'ᛞ'", |
103 | 103 |
"remark": null, |
... | ... |
@@ -109,7 +109,7 @@ |
109 | 109 |
}, |
110 | 110 |
{ |
111 | 111 |
"type": "plosive", |
112 |
- "ipa": "/t/", |
|
112 |
+ "ipa": "t", |
|
113 | 113 |
"latin": "'T'/'t'", |
114 | 114 |
"runic": "'ᛏ'", |
115 | 115 |
"remark": null, |
... | ... |
@@ -121,7 +121,7 @@ |
121 | 121 |
}, |
122 | 122 |
{ |
123 | 123 |
"type": "fricative", |
124 |
- "ipa": "/v/", |
|
124 |
+ "ipa": "v", |
|
125 | 125 |
"latin": "'V'/'v'", |
126 | 126 |
"runic": "'ᚹ'", |
127 | 127 |
"remark": null, |
... | ... |
@@ -133,7 +133,7 @@ |
133 | 133 |
}, |
134 | 134 |
{ |
135 | 135 |
"type": "fricative", |
136 |
- "ipa": "/f/", |
|
136 |
+ "ipa": "f", |
|
137 | 137 |
"latin": "'F'/'f'", |
138 | 138 |
"runic": "'ᚠ'", |
139 | 139 |
"remark": null, |
... | ... |
@@ -145,7 +145,7 @@ |
145 | 145 |
}, |
146 | 146 |
{ |
147 | 147 |
"type": "fricative", |
148 |
- "ipa": "/s/", |
|
148 |
+ "ipa": "s", |
|
149 | 149 |
"latin": "'S'/'s'", |
150 | 150 |
"runic": "'ᛊ'", |
151 | 151 |
"remark": null, |
... | ... |
@@ -157,7 +157,7 @@ |
157 | 157 |
}, |
158 | 158 |
{ |
159 | 159 |
"type": "fricative", |
160 |
- "ipa": "/h/", |
|
160 |
+ "ipa": "h", |
|
161 | 161 |
"latin": "'H'/'h'", |
162 | 162 |
"runic": "'ᚺ'", |
163 | 163 |
"remark": null, |
... | ... |
@@ -169,7 +169,7 @@ |
169 | 169 |
}, |
170 | 170 |
{ |
171 | 171 |
"type": "tap/flap", |
172 |
- "ipa": "/ɾ/", |
|
172 |
+ "ipa": "ɾ", |
|
173 | 173 |
"latin": "'R'/'r'", |
174 | 174 |
"runic": "'ᚱ'", |
175 | 175 |
"remark": null, |
... | ... |
@@ -181,7 +181,7 @@ |
181 | 181 |
}, |
182 | 182 |
{ |
183 | 183 |
"type": "halfvowel", |
184 |
- "ipa": "/j/", |
|
184 |
+ "ipa": "j", |
|
185 | 185 |
"latin": "'J'/'j'", |
186 | 186 |
"runic": "'ᛃ'", |
187 | 187 |
"remark": null, |
... | ... |
@@ -193,7 +193,7 @@ |
193 | 193 |
}, |
194 | 194 |
{ |
195 | 195 |
"type": "vowel", |
196 |
- "ipa": "/i/", |
|
196 |
+ "ipa": "i", |
|
197 | 197 |
"latin": "'I'/'i'", |
198 | 198 |
"runic": "'ᛁ'", |
199 | 199 |
"remark": null, |
... | ... |
@@ -205,7 +205,7 @@ |
205 | 205 |
}, |
206 | 206 |
{ |
207 | 207 |
"type": "vowel", |
208 |
- "ipa": "/e/", |
|
208 |
+ "ipa": "e", |
|
209 | 209 |
"latin": "'E'/'e'", |
210 | 210 |
"runic": "'ᛖ'", |
211 | 211 |
"remark": "only a few variations of English have that sound; it is somehow similar to the vowel in 'air'", |
... | ... |
@@ -217,7 +217,7 @@ |
217 | 217 |
}, |
218 | 218 |
{ |
219 | 219 |
"type": "vowel", |
220 |
- "ipa": "/a/", |
|
220 |
+ "ipa": "a", |
|
221 | 221 |
"latin": "'A'/'a'", |
222 | 222 |
"runic": "'ᚨ'", |
223 | 223 |
"remark": null, |
... | ... |
@@ -229,7 +229,7 @@ |
229 | 229 |
}, |
230 | 230 |
{ |
231 | 231 |
"type": "vowel", |
232 |
- "ipa": "/o/", |
|
232 |
+ "ipa": "o", |
|
233 | 233 |
"latin": "'O'/'o'", |
234 | 234 |
"runic": "'ᛟ'", |
235 | 235 |
"remark": null, |
... | ... |
@@ -241,7 +241,7 @@ |
241 | 241 |
}, |
242 | 242 |
{ |
243 | 243 |
"type": "vowel", |
244 |
- "ipa": "/u/", |
|
244 |
+ "ipa": "u", |
|
245 | 245 |
"latin": "'U'/'u'", |
246 | 246 |
"runic": "'ᚢ'", |
247 | 247 |
"remark": null, |
... | ... |
@@ -253,7 +253,7 @@ |
253 | 253 |
}, |
254 | 254 |
{ |
255 | 255 |
"type": "vowel", |
256 |
- "ipa": "/ø/", |
|
256 |
+ "ipa": "ø", |
|
257 | 257 |
"latin": "'Ö'/'ö', alternatively 'Oy'/'oy'", |
258 | 258 |
"runic": "'ᛟᛇ'", |
259 | 259 |
"remark": "similar to vowels used in words like 'earl', 'worry', 'hurt'", |
... | ... |
@@ -265,7 +265,7 @@ |
265 | 265 |
}, |
266 | 266 |
{ |
267 | 267 |
"type": "vowel", |
268 |
- "ipa": "/y/", |
|
268 |
+ "ipa": "y", |
|
269 | 269 |
"latin": "'Ü'/'ü', alternatively 'Uy'/'uy'", |
270 | 270 |
"runic": "'ᚢᛇ'", |
271 | 271 |
"remark": "hardly any variation of English has that sound, but it can be learned easily by interpolating between /u/ and /i/", |
... | ... |
@@ -13,6 +13,19 @@ |
13 | 13 |
{"transition_id": "t07", "language_id": "isl", "phones": ["-a-"], "examples": ["dagur"]}, |
14 | 14 |
{"transition_id": "t07", "language_id": "flk", "phones": ["-a-"], "examples": ["dag"]}, |
15 | 15 |
|
16 |
+ {"transition_id": "t08", "language_id": "gem", "phones": ["-ai-"], "examples": ["snaiwaz","saiwiz"]}, |
|
17 |
+ {"transition_id": "t08", "language_id": "eng", "phones": ["-ea-","-ow-"], "examples": ["snow","sea"]}, |
|
18 |
+ {"transition_id": "t08", "language_id": "afr", "phones": ["-ee-","-eeu-"], "examples": ["sneeu","see"]}, |
|
19 |
+ {"transition_id": "t08", "language_id": "nld", "phones": ["-ee-","-eeuw-"], "examples": ["sneeuw","zee"]}, |
|
20 |
+ {"transition_id": "t08", "language_id": "yid", "phones": ["-ey-"], "examples": ["שניי",null]}, |
|
21 |
+ {"transition_id": "t08", "language_id": "deu", "phones": ["-ee-"], "examples": ["Schnee","See"]}, |
|
22 |
+ {"transition_id": "t08", "language_id": "dan", "phones": ["-ø-","-e-"], "examples": ["sne","sø"]}, |
|
23 |
+ {"transition_id": "t08", "language_id": "nob", "phones": ["-ø-","-jø-"], "examples": ["snø","sjø"]}, |
|
24 |
+ {"transition_id": "t08", "language_id": "swe", "phones": ["-jö-"], "examples": ["snö","sjö"]}, |
|
25 |
+ {"transition_id": "t08", "language_id": "nno", "phones": ["-ø-"], "examples": ["snø",null]}, |
|
26 |
+ {"transition_id": "t08", "language_id": "isl", "phones": ["-jó-","-ær-"], "examples": ["snær","sjór"]}, |
|
27 |
+ {"transition_id": "t08", "language_id": "flk", "phones": ["-e-"], "examples": ["sne","se"]}, |
|
28 |
+ |
|
16 | 29 |
{"transition_id": "t00", "language_id": "gem", "phones": ["-au-"], "examples": ["braudą","raudaz","skauniz","augô","draumaz","baumaz"]}, |
17 | 30 |
{"transition_id": "t00", "language_id": "eng", "phones": ["-ea-","-e-","-ey-"], "examples": ["bread","red","sheen","eye","dream","beam"]}, |
18 | 31 |
{"transition_id": "t00", "language_id": "afr", "phones": ["-oo-","-o-"], "examples": ["brood"]}, |
... | ... |
@@ -173,7 +173,8 @@ a |
173 | 173 |
font-weight: bold; |
174 | 174 |
} |
175 | 175 |
|
176 |
-.type_letter |
|
176 |
+.type_letter, |
|
177 |
+.type_rune |
|
177 | 178 |
{ |
178 | 179 |
&.lang_flk |
179 | 180 |
{ |
... | ... |
@@ -337,16 +338,16 @@ a |
337 | 338 |
|
338 | 339 |
.todo |
339 | 340 |
{ |
340 |
- &:before |
|
341 |
- { |
|
342 |
- content: "[ToDo] "; |
|
343 |
- } |
|
344 |
- |
|
345 | 341 |
margin: 4px; |
346 | 342 |
padding: 4px; |
347 | 343 |
background-color: hsv( 0,100%, 50%); |
348 | 344 |
color: white; |
349 | 345 |
font-weight: bold; |
346 |
+ |
|
347 |
+ &:before |
|
348 |
+ { |
|
349 |
+ content: "[ToDo] "; |
|
350 |
+ } |
|
350 | 351 |
} |
351 | 352 |
|
352 | 353 |
.code |
... | ... |
@@ -64,7 +64,7 @@ function format_list( |
64 | 64 |
return ( |
65 | 65 |
function (pieces) { |
66 | 66 |
return ( |
67 |
- (pieces.length <= 0) |
|
67 |
+ ((pieces === undefined) || (pieces === null) || (pieces.length <= 0)) |
|
68 | 68 |
? "?" |
69 | 69 |
: pieces.map(format_single(type, language)).join(", ") |
70 | 70 |
); |
... | ... |
@@ -454,10 +454,11 @@ function anordnen( |
454 | 454 |
*/ |
455 | 455 |
function xmlwrap( |
456 | 456 |
name : string, |
457 |
- kern : string |
|
457 |
+ kern : string, |
|
458 |
+ att : string = "" |
|
458 | 459 |
) : string |
459 | 460 |
{ |
460 |
- return (("<" + name + ">") + kern + ("</" + name + ">") + "\n"); |
|
461 |
+ return (("<" + name + att + ">") + kern + ("</" + name + ">") + "\n"); |
|
461 | 462 |
} |
462 | 463 |
|
463 | 464 |
|
... | ... |
@@ -467,7 +468,8 @@ function xmlwrap( |
467 | 468 |
function htmltable( |
468 | 469 |
titel : Array<string>, |
469 | 470 |
daten : Array<Array<string>>, |
470 |
- _2d : boolean = false |
|
471 |
+ classes : Array<string> = [], |
|
472 |
+ _2d : boolean = false, |
|
471 | 473 |
) |
472 | 474 |
: string |
473 | 475 |
{ |
... | ... |
@@ -511,7 +513,8 @@ function htmltable( |
511 | 513 |
.join("") |
512 | 514 |
) |
513 | 515 |
) |
514 |
- ) |
|
516 |
+ ), |
|
517 |
+ (" class=\"" + classes.join(" ") + "\"") |
|
515 | 518 |
) |
516 | 519 |
); |
517 | 520 |
} |
... | ... |
@@ -572,9 +575,10 @@ export function definieren( |
572 | 575 |
let tabelle__ : string = htmltable( |
573 | 576 |
tabelle_.kopf, |
574 | 577 |
tabelle_.rumpf, |
578 |
+ ["datatable"], |
|
575 | 579 |
false |
576 | 580 |
); |
577 |
- let style = xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
581 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
578 | 582 |
return (style + tabelle__); |
579 | 583 |
}, |
580 | 584 |
}, |
... | ... |
@@ -643,9 +647,406 @@ export function definieren( |
643 | 647 |
let tabelle__ : string = htmltable( |
644 | 648 |
tabelle_.kopf, |
645 | 649 |
tabelle_.rumpf, |
650 |
+ ["datatable"], |
|
651 |
+ true |
|
652 |
+ ); |
|
653 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
654 |
+ return (style + tabelle__); |
|
655 |
+ } |
|
656 |
+ }, |
|
657 |
+ { |
|
658 |
+ "name": "fsdraft-macro-phonology_and_orthography", |
|
659 |
+ "funktion": (args) => (wert) => { |
|
660 |
+ let tabelle_ : {kopf : Array<string>; rumpf : Array<Array<string>>;} = { |
|
661 |
+ "kopf": [ |
|
662 |
+ "IPA-sound", |
|
663 |
+ "Latin letter Representation", |
|
664 |
+ "Runic Representation", |
|
665 |
+ "Folksprak Example", |
|
666 |
+ "English Example", |
|
667 |
+ ], |
|
668 |
+ "rumpf": ( |
|
669 |
+ wert |
|
670 |
+ .map( |
|
671 |
+ (eintrag) => { |
|
672 |
+ const format_repr : (repr : string, type : string)=>string = (repr, type) => { |
|
673 |
+ let repr_ : string = repr; |
|
674 |
+ let regexp : RegExp = (new RegExp("'([^']*)'", "g")); |
|
675 |
+ while (true) { |
|
676 |
+ let matching : any = regexp.exec(repr); |
|
677 |
+ if (matching === null) { |
|
678 |
+ break; |
|
679 |
+ } |
|
680 |
+ else { |
|
681 |
+ repr_ = repr_.replace(matching[0], mark(matching[1], ["type_" + type, "lang_flk"])); |
|
682 |
+ } |
|
683 |
+ } |
|
684 |
+ return repr_; |
|
685 |
+ }; |
|
686 |
+ const format_example : (word : string, language_id : string)=>string = (word, language_id) => { |
|
687 |
+ if (word == null) { |
|
688 |
+ return "--"; |
|
689 |
+ } |
|
690 |
+ else { |
|
691 |
+ let word_ : string = word; |
|
692 |
+ { |
|
693 |
+ let regexp : RegExp = (new RegExp("'([^']*)'", "g")); |
|
694 |
+ while (true) { |
|
695 |
+ let matching : any = regexp.exec(word); |
|
696 |
+ if (matching === null) { |
|
697 |
+ break; |
|
698 |
+ } |
|
699 |
+ else { |
|
700 |
+ word_ = word_.replace(matching[0], mark(matching[1], ["type_word", "lang_" + language_id])); |
|
701 |
+ } |
|
702 |
+ } |
|
703 |
+ } |
|
704 |
+ { |
|
705 |
+ let regexp : RegExp = (new RegExp("_([^_]*)_", "g")); |
|
706 |
+ while (true) { |
|
707 |
+ let matching : any = regexp.exec(word); |
|
708 |
+ if (matching === null) { |
|
709 |
+ break; |
|
710 |
+ } |
|
711 |
+ else { |
|
712 |
+ word_ = word_.replace(matching[0], "<u>" + matching[1] + "</u>"); |
|
713 |
+ } |
|
714 |
+ } |
|
715 |
+ } |
|
716 |
+ return word_; |
|
717 |
+ } |
|
718 |
+ }; |
|
719 |
+ let ipa : string = mark(eintrag["ipa"], ["ipa"]); |
|
720 |
+ let latin : string = format_repr(eintrag["latin"], "letter"); |
|
721 |
+ let runic : string = format_repr(eintrag["runic"], "rune"); |
|
722 |
+ let example_source : string = format_example(eintrag["examples"]["flk"], "flk"); |
|
723 |
+ let example_target : string = format_example(eintrag["examples"][configuration["target"]], configuration["target"]); |
|
724 |
+ return [ |
|
725 |
+ ipa, |
|
726 |
+ latin, |
|
727 |
+ runic, |
|
728 |
+ example_source, |
|
729 |
+ example_target, |
|
730 |
+ ]; |
|
731 |
+ } |
|
732 |
+ ) |
|
733 |
+ ), |
|
734 |
+ }; |
|
735 |
+ let tabelle__ : string = htmltable( |
|
736 |
+ tabelle_.kopf, |
|
737 |
+ tabelle_.rumpf, |
|
738 |
+ ["datatable"], |
|
739 |
+ false |
|
740 |
+ ); |
|
741 |
+ return (tabelle__); |
|
742 |
+ } |
|
743 |
+ }, |
|
744 |
+ { |
|
745 |
+ "name": "fsdraft-macro-principles", |
|
746 |
+ "funktion": (args) => (wert) => { |
|
747 |
+ let tabelle : {meta : any; data : any;} = anordnen( |
|
748 |
+ { |
|
749 |
+ "daten": wert, |
|
750 |
+ "senkrecht": [ |
|
751 |
+ "transition_id", |
|
752 |
+ ], |
|
753 |
+ "waagerecht": [ |
|
754 |
+ "language_id", |
|
755 |
+ ], |
|
756 |
+ "feldsatz_kuerzen": false, |
|
757 |
+ } |
|
758 |
+ ); |
|
759 |
+ let tabelle_ : {kopf : Array<string>; rumpf : Array<Array<string>>;} = { |
|
760 |
+ "kopf": ( |
|
761 |
+ [].concat( |
|
762 |
+ Object.keys(tabelle.meta.x) |
|
763 |
+ .map( |
|
764 |
+ (label) => ( |
|
765 |
+ // JSON.stringify(tabelle.meta.x[label]) |
|
766 |
+ objvals(tabelle.meta.x[label]).join("/") |
|
767 |
+ ) |
|
768 |
+ ) |
|
769 |
+ ) |
|
770 |
+ ), |
|
771 |
+ "rumpf": tabelle.data.map( |
|
772 |
+ (satz) => ( |
|
773 |
+ Object.keys(satz) |
|
774 |
+ .filter( |
|
775 |
+ (label) => (label !== "_") |
|
776 |
+ ) |
|
777 |
+ .map( |
|
778 |
+ (label) => { |
|
779 |
+ if (label === "_") { |
|
780 |
+ return objvals(tabelle.meta.y[satz[label]]).join("/") |
|
781 |
+ } |
|
782 |
+ else { |
|
783 |
+ let head = satz[label][0]; |
|
784 |
+ if (head !== undefined) { |
|
785 |
+ return ( |
|
786 |
+ ( |
|
787 |
+ (head["phones"].length <= 0) |
|
788 |
+ ? "?" |
|
789 |
+ : ( |
|
790 |
+ head["phones"] |
|
791 |
+ .map( |
|
792 |
+ (phone) => ( |
|
793 |
+ mark(phone, ["type_letter", "lang_" + head["language_id"]]) |
|
794 |
+ ) |
|
795 |
+ ) |
|
796 |
+ .join( |
|
797 |
+ ", " |
|
798 |
+ ) |
|
799 |
+ ) |
|
800 |
+ ) |
|
801 |
+ + "<br/>" |
|
802 |
+ + ( |
|
803 |
+ (head["examples"][0] != undefined) |
|
804 |
+ ? ("[" + mark(head["examples"][0], ["type_word", "lang_" + head["language_id"]]) + "]") |
|
805 |
+ : "" |
|
806 |
+ ) |
|
807 |
+ ); |
|
808 |
+ } |
|
809 |
+ else { |
|
810 |
+ return "?"; |
|
811 |
+ } |
|
812 |
+ } |
|
813 |
+ } |
|
814 |
+ ) |
|
815 |
+ ) |
|
816 |
+ ), |
|
817 |
+ }; |
|
818 |
+ let tabelle__ : string = htmltable( |
|
819 |
+ tabelle_.kopf, |
|
820 |
+ tabelle_.rumpf, |
|
821 |
+ ["datatable"], |
|
822 |
+ false |
|
823 |
+ ); |
|
824 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
825 |
+ return (style + tabelle__); |
|
826 |
+ } |
|
827 |
+ }, |
|
828 |
+ { |
|
829 |
+ "name": "fsdraft-macro-personal_pronouns", |
|
830 |
+ "funktion": (args) => (wert) => { |
|
831 |
+ let tabelle : {meta : any; data : any;} = anordnen( |
|
832 |
+ { |
|
833 |
+ "daten": wert, |
|
834 |
+ "senkrecht": [ |
|
835 |
+ "count_id", |
|
836 |
+ "person_id", |
|
837 |
+ "gender_id", |
|
838 |
+ ], |
|
839 |
+ "waagerecht": [ |
|
840 |
+ "type_id", |
|
841 |
+ "case_id", |
|
842 |
+ ], |
|
843 |
+ } |
|
844 |
+ ); |
|
845 |
+ let tabelle_ : {kopf : Array<string>; rumpf : Array<Array<string>>;} = { |
|
846 |
+ "kopf": ( |
|
847 |
+ [""].concat( |
|
848 |
+ Object.keys(tabelle.meta.x) |
|
849 |
+ .map( |
|
850 |
+ (label) => ( |
|
851 |
+ objvals(tabelle.meta.x[label]).join("/") |
|
852 |
+ ) |
|
853 |
+ ) |
|
854 |
+ ) |
|
855 |
+ ), |
|
856 |
+ "rumpf": tabelle.data.map( |
|
857 |
+ (satz) => ( |
|
858 |
+ Object.keys(satz) |
|
859 |
+ .map( |
|
860 |
+ (label) => { |
|
861 |
+ if (label === "_") { |
|
862 |
+ return objvals(tabelle.meta.y[satz[label]]).join("/") |
|
863 |
+ } |
|
864 |
+ else { |
|
865 |
+ let language_from : string = "flk"; |
|
866 |
+ let language_to : string = configuration["target"]; |
|
867 |
+ let source : {[language_id : string] : Array<string>} = {}; |
|
868 |
+ satz[label].forEach((eintrag) => {source[eintrag["language_id"]] = eintrag["words"];}); |
|
869 |
+ return format_correlation("type_word", language_from, language_to)(source); |
|
870 |
+ } |
|
871 |
+ } |
|
872 |
+ ) |
|
873 |
+ ) |
|
874 |
+ ), |
|
875 |
+ }; |
|
876 |
+ let tabelle__ : string = htmltable( |
|
877 |
+ tabelle_.kopf, |
|
878 |
+ tabelle_.rumpf, |
|
879 |
+ ["datatable"], |
|
880 |
+ true |
|
881 |
+ ); |
|
882 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
883 |
+ return (style + tabelle__); |
|
884 |
+ } |
|
885 |
+ }, |
|
886 |
+ { |
|
887 |
+ "name": "fsdraft-macro-correlatives", |
|
888 |
+ "funktion": (args) => (wert) => { |
|
889 |
+ let tabelle : {meta : any; data : any;} = anordnen( |
|
890 |
+ { |
|
891 |
+ "daten": wert, |
|
892 |
+ "senkrecht": [ |
|
893 |
+ "domain_id", |
|
894 |
+ ], |
|
895 |
+ "waagerecht": [ |
|
896 |
+ "type_id", |
|
897 |
+ ], |
|
898 |
+ } |
|
899 |
+ ); |
|
900 |
+ let tabelle_ : {kopf : Array<string>; rumpf : Array<Array<string>>;} = { |
|
901 |
+ "kopf": ( |
|
902 |
+ [""].concat( |
|
903 |
+ Object.keys(tabelle.meta.x) |
|
904 |
+ .map( |
|
905 |
+ (label) => ( |
|
906 |
+ objvals(tabelle.meta.x[label]).join("/") |
|
907 |
+ ) |
|
908 |
+ ) |
|
909 |
+ ) |
|
910 |
+ ), |
|
911 |
+ "rumpf": tabelle.data.map( |
|
912 |
+ (satz) => ( |
|
913 |
+ Object.keys(satz) |
|
914 |
+ .map( |
|
915 |
+ (label) => { |
|
916 |
+ if (label === "_") { |
|
917 |
+ return objvals(tabelle.meta.y[satz[label]]).join("/") |
|
918 |
+ } |
|
919 |
+ else { |
|
920 |
+ let language_from : string = "flk"; |
|
921 |
+ let language_to : string = configuration["target"]; |
|
922 |
+ let source : {[language_id : string] : Array<string>} = {}; |
|
923 |
+ satz[label].forEach((eintrag) => {source[eintrag["language_id"]] = eintrag["words"];}); |
|
924 |
+ return format_correlation("type_word", language_from, language_to)(source); |
|
925 |
+ } |
|
926 |
+ } |
|
927 |
+ ) |
|
928 |
+ ) |
|
929 |
+ ), |
|
930 |
+ }; |
|
931 |
+ let tabelle__ : string = htmltable( |
|
932 |
+ tabelle_.kopf, |
|
933 |
+ tabelle_.rumpf, |
|
934 |
+ ["datatable"], |
|
935 |
+ true |
|
936 |
+ ); |
|
937 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
938 |
+ return (style + tabelle__); |
|
939 |
+ } |
|
940 |
+ }, |
|
941 |
+ { |
|
942 |
+ "name": "fsdraft-macro-adpositions", |
|
943 |
+ "funktion": (args) => (wert) => { |
|
944 |
+ let tabelle : {meta : any; data : any;} = anordnen( |
|
945 |
+ { |
|
946 |
+ "daten": wert, |
|
947 |
+ "senkrecht": [ |
|
948 |
+ "situation_id", |
|
949 |
+ ], |
|
950 |
+ "waagerecht": [ |
|
951 |
+ "type_id", |
|
952 |
+ "reference_id", |
|
953 |
+ ], |
|
954 |
+ } |
|
955 |
+ ); |
|
956 |
+ let tabelle_ : {kopf : Array<string>; rumpf : Array<Array<string>>;} = { |
|
957 |
+ "kopf": ( |
|
958 |
+ [""].concat( |
|
959 |
+ Object.keys(tabelle.meta.x) |
|
960 |
+ .map( |
|
961 |
+ (label) => ( |
|
962 |
+ objvals(tabelle.meta.x[label]).join("/") |
|
963 |
+ ) |
|
964 |
+ ) |
|
965 |
+ ) |
|
966 |
+ ), |
|
967 |
+ "rumpf": tabelle.data.map( |
|
968 |
+ (satz) => ( |
|
969 |
+ Object.keys(satz) |
|
970 |
+ .map( |
|
971 |
+ (label) => { |
|
972 |
+ if (label === "_") { |
|
973 |
+ return objvals(tabelle.meta.y[satz[label]]).join("/") |
|
974 |
+ } |
|
975 |
+ else { |
|
976 |
+ let language_from : string = "flk"; |
|
977 |
+ let language_to : string = configuration["target"]; |
|
978 |
+ let source : {[language_id : string] : Array<string>} = {}; |
|
979 |
+ satz[label].forEach((eintrag) => {source[eintrag["language_id"]] = eintrag["words"];}); |
|
980 |
+ return format_correlation("type_word", language_from, language_to)(source); |
|
981 |
+ } |
|
982 |
+ } |
|
983 |
+ ) |
|
984 |
+ ) |
|
985 |
+ ), |
|
986 |
+ }; |
|
987 |
+ let tabelle__ : string = htmltable( |
|
988 |
+ tabelle_.kopf, |
|
989 |
+ tabelle_.rumpf, |
|
990 |
+ ["datatable"], |
|
991 |
+ true |
|
992 |
+ ); |
|
993 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
994 |
+ return (style + tabelle__); |
|
995 |
+ } |
|
996 |
+ }, |
|
997 |
+ { |
|
998 |
+ "name": "fsdraft-macro-declension", |
|
999 |
+ "funktion": (args) => (wert) => { |
|
1000 |
+ let tabelle : {meta : any; data : any;} = anordnen( |
|
1001 |
+ { |
|
1002 |
+ "daten": wert, |
|
1003 |
+ "senkrecht": [ |
|
1004 |
+ "count_id", |
|
1005 |
+ "definiteness_id", |
|
1006 |
+ ], |
|
1007 |
+ "waagerecht": [ |
|
1008 |
+ "case_id", |
|
1009 |
+ ], |
|
1010 |
+ } |
|
1011 |
+ ); |
|
1012 |
+ let tabelle_ : {kopf : Array<string>; rumpf : Array<Array<string>>;} = { |
|
1013 |
+ "kopf": ( |
|
1014 |
+ [""].concat( |
|
1015 |
+ Object.keys(tabelle.meta.x) |
|
1016 |
+ .map( |
|
1017 |
+ (label) => ( |
|
1018 |
+ objvals(tabelle.meta.x[label]).join("/") |
|
1019 |
+ ) |
|
1020 |
+ ) |
|
1021 |
+ ) |
|
1022 |
+ ), |
|
1023 |
+ "rumpf": tabelle.data.map( |
|
1024 |
+ (satz) => ( |
|
1025 |
+ Object.keys(satz) |
|
1026 |
+ .map( |
|
1027 |
+ (label) => { |
|
1028 |
+ if (label === "_") { |
|
1029 |
+ return objvals(tabelle.meta.y[satz[label]]).join("/") |
|
1030 |
+ } |
|
1031 |
+ else { |
|
1032 |
+ let language_from : string = "flk"; |
|
1033 |
+ let language_to : string = configuration["target"]; |
|
1034 |
+ let source : {[language_id : string] : Array<string>} = {}; |
|
1035 |
+ satz[label].forEach((eintrag) => {source[eintrag["language_id"]] = eintrag["words"];}); |
|
1036 |
+ return format_correlation("type_word", language_from, language_to)(source); |
|
1037 |
+ } |
|
1038 |
+ } |
|
1039 |
+ ) |
|
1040 |
+ ) |
|
1041 |
+ ), |
|
1042 |
+ }; |
|
1043 |
+ let tabelle__ : string = htmltable( |
|
1044 |
+ tabelle_.kopf, |
|
1045 |
+ tabelle_.rumpf, |
|
1046 |
+ ["datatable"], |
|
646 | 1047 |
true |
647 | 1048 |
); |
648 |
- let style = xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
1049 |
+ let style : string = ""; // xmlwrap("style", "th,td {font-family: monospace; font-size: 0.875em;}"); |
|
649 | 1050 |
return (style + tabelle__); |
650 | 1051 |
} |
651 | 1052 |
}, |
652 | 1053 |