Rev 227 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 227 | Rev 228 | ||
---|---|---|---|
1 | var vulcan_texts = null; |
1 | var vulcan_texts = null; |
2 | 2 | ||
3 | var media_map = { |
3 | var media_map = { |
4 | S: "?", |
4 | S: "?", |
5 | T: "Y", |
5 | T: "Y", |
6 | P: "]", |
6 | P: "]", |
7 | K: "ß", |
7 | K: "ß", |
8 | R: "²", |
8 | R: "²", |
9 | L: "ζ", |
9 | L: "ζ", |
10 | A: "Ŧ", |
10 | A: "Ŧ", |
11 | D: "S", |
11 | D: "S", |
12 | O: "Ŋ", |
12 | O: "Ŋ", |
13 | E: "σ", |
13 | E: "σ", |
14 | V: "³", |
14 | V: "³", |
15 | U: "¶", |
15 | U: "¶", |
16 | H: "ξ", |
16 | H: "ξ", |
17 | G: "^", |
17 | G: "^", |
18 | Ch: ")", |
18 | Ch: ")", |
19 | I: "ƒ", |
19 | I: "ƒ", |
20 | N: "(", |
20 | N: "(", |
21 | Z: "ε", |
21 | Z: "ε", |
22 | M: "δ", |
22 | M: "δ", |
23 | Y: "ς", |
23 | Y: "ς", |
24 | F: "[", |
24 | F: "[", |
25 | W: "¬", |
25 | W: "¬", |
26 | B: "Ξ", |
26 | B: "Ξ", |
27 | SH: "§", |
27 | SH: "§", |
28 | TH: "λ", |
28 | TH: "λ", |
29 | KH: "Φ", |
29 | KH: "Φ", |
30 | ZH: "ω", |
30 | ZH: "ω", |
31 | TS: "θ", |
31 | TS: "θ", |
32 | DZH: "C", |
32 | DZH: "C", |
33 | J: "C", |
33 | J: "C", |
34 | KS: "φ", |
34 | KS: "φ", |
35 | X: "φ", |
35 | X: "φ", |
36 | LL: "μ", |
36 | LL: "μ", |
37 | M: "&", |
37 | M: "&", |
38 | NG: "ρ", |
38 | NG: "ρ", |
39 | NN: "þ", |
39 | NN: "þ", |
40 | SS: "β", |
40 | SS: "β", |
41 | TCH: "M" |
41 | TCH: "M" |
42 | }; |
42 | }; |
43 | 43 | ||
44 | var rxVulcan = jsx.object.getKeys(media_map); |
44 | var rxVulcan = jsx.object.getKeys(media_map); |
45 | rxVulcan.sort(function (a, b) { return b.length - a.length; }); |
45 | rxVulcan.sort(function (a, b) { return b.length - a.length; }); |
46 | rxVulcan = new RegExp( |
46 | rxVulcan = new RegExp( |
47 | rxVulcan.filter(function (e) { return e.length > 1; }).join("|") |
47 | rxVulcan.filter(function (e) { return e.length > 1; }).join("|") |
48 | + "|[" + rxVulcan.filter(function (e) { return e.length === 1; }). join("") + "]", |
48 | + "|[" + rxVulcan.filter(function (e) { return e.length === 1; }). join("") + "]", |
49 | "ig"); |
49 | "ig"); |
50 | 50 | ||
51 | //jsx.object.flip = function (obj) {
|
51 | //jsx.object.flip = function (obj) {
|
52 | // var flipped = jsx.object.inheritFrom(obj);
|
52 | // var flipped = jsx.object.inheritFrom(obj);
|
53 | // var keys = jsx.object.getKeys(obj);
|
53 | // var keys = jsx.object.getKeys(obj);
|
54 | //
|
54 | //
|
55 | // for (var i = 0, len = keys.length; i < len; ++i)
|
55 | // for (var i = 0, len = keys.length; i < len; ++i)
|
56 | // {
|
56 | // {
|
57 | // var key = keys[i];
|
57 | // var key = keys[i];
|
58 | // var value = obj[key];
|
58 | // var value = obj[key];
|
59 | // if (typeof value != "function")
|
59 | // if (typeof value != "function")
|
60 | // {
|
60 | // {
|
61 | // flipped[value] = key;
|
61 | // flipped[value] = key;
|
62 | // }
|
62 | // }
|
63 | // }
|
63 | // }
|
64 | //
|
64 | //
|
65 | // return flipped;
|
65 | // return flipped;
|
66 | //};
|
66 | //};
|
67 | 67 | ||
68 | var media_caption; |
- | |
69 | - | ||
70 | var media_script_used = false; |
68 | var media_script_used = false; |
71 | 69 | ||
72 | function mediaScript (button) |
70 | function mediaScript (button) |
73 | {
|
71 | {
|
74 | vulcan_texts = jsx.dom.xpath.evaluate( |
72 | vulcan_texts = jsx.dom.xpath.evaluate( |
- | 73 | './/*[@class = "text" and (@lang = "' + LANG_VULCAN |
|
75 | './/*[@lang = "' + LANG_VULCAN + '"]//*[(not(@lang) or (@lang = "' + LANG_VULCAN + '")) and (@class = "text")]', |
74 | + '" or parent::*[@lang = "' + LANG_VULCAN + '"])]', |
76 | document.body); |
75 | document.body); |
77 | 76 | ||
78 | if (!vulcan_texts) |
77 | if (!vulcan_texts) |
79 | {
|
78 | {
|
80 | return; |
79 | return; |
81 | }
|
80 | }
|
82 | 81 | ||
83 | var previous_parent = null; |
- | |
84 | - | ||
85 | for (var i = 0, len = vulcan_texts.length; i < len; ++i) |
82 | for (var i = 0, len = vulcan_texts.length; i < len; ++i) |
86 | {
|
83 | {
|
87 | var text = vulcan_texts[i]; |
84 | var text = vulcan_texts[i]; |
88 | 85 | ||
89 | text.style.textTransform = "none"; |
86 | text.style.textTransform = "none"; |
90 | if (!text.hasAttribute("data-html")) |
87 | if (!text.hasAttribute("data-html")) |
91 | {
|
88 | {
|
92 | text.setAttribute("data-html", text.innerHTML); |
89 | text.setAttribute("data-html", text.innerHTML); |
93 | 90 | ||
94 | if (!text.title) |
91 | if (!text.title) |
95 | {
|
92 | {
|
96 | text.title = text.textContent; |
93 | text.title = text.textContent; |
97 | }
|
94 | }
|
98 | }
|
95 | }
|
99 | 96 | ||
100 | var text_nodes = jsx.dom.xpath.evaluate( |
97 | var text_nodes = jsx.dom.xpath.evaluate( |
101 | './/text()[parent::*[not(@lang) or (@lang = "' + LANG_VULCAN + '")]]', |
98 | './/text()[parent::*[not(@lang) or (@lang = "' + LANG_VULCAN + '")]]', |
102 | text); |
99 | text); |
103 | 100 | ||
104 | for (var j = 0, len2 = text_nodes.length; j < len2; ++j) |
101 | for (var j = 0, len2 = text_nodes.length; j < len2; ++j) |
105 | {
|
102 | {
|
106 | var text_node = text_nodes[j]; |
103 | var text_node = text_nodes[j]; |
107 | 104 | ||
108 | if (text_node.parentNode.lang != LANG_VULCAN) |
- | |
109 | {
|
- | |
110 | text_node.nodeValue = text_node.nodeValue.replace( |
105 | text_node.nodeValue = text_node.nodeValue.replace( |
111 | rxVulcan,
|
106 | rxVulcan,
|
112 | function (s) { |
107 | function (s) { |
113 | return jsx.object.getProperty(media_map, s.replace(/\s+/g, " ").toUpperCase(), s); |
108 | return jsx.object.getProperty(media_map, s.replace(/\s+/g, " ").toUpperCase(), s); |
114 | }); |
109 | }); |
115 | }
|
- | |
116 | }
|
110 | }
|
117 | 111 | ||
118 | text.parentNode.lang = "vuh-Media-Gol-modern"; |
112 | text.parentNode.lang = "vuh-Media-Gol-modern"; |
119 | }
|
113 | }
|
120 | 114 | ||
121 | if (button) |
115 | if (button && lcars.language == LANG_VULCAN) |
122 | {
|
116 | {
|
123 | media_caption = button.firstChild.textContent; |
117 | button.setAttribute("data-caption", button.firstChild.textContent); |
124 | button.firstChild.textContent = "Latin-Zukitan"; |
118 | button.firstChild.textContent = "Latin-Zukitan"; |
125 | }
|
119 | }
|
126 | 120 | ||
127 | media_script_used = true; |
121 | media_script_used = true; |
128 | }
|
122 | }
|
129 | 123 | ||
130 | function latinScript (button) |
124 | function latinScript (button) |
131 | {
|
125 | {
|
132 | for (var i = 0, len = vulcan_texts.length; i < len; ++i) |
126 | for (var i = 0, len = vulcan_texts.length; i < len; ++i) |
133 | {
|
127 | {
|
134 | var text = vulcan_texts[i]; |
128 | var text = vulcan_texts[i]; |
135 | 129 | ||
136 | text.style.textTransform = ""; |
130 | text.style.textTransform = ""; |
137 | text.innerHTML = text.getAttribute('data-html'); |
131 | text.innerHTML = text.getAttribute('data-html'); |
138 | text.parentNode.lang = "vuh-Latn-Gol-modern"; |
132 | text.parentNode.lang = "vuh-Latn-Gol-modern"; |
139 | }
|
133 | }
|
140 | 134 | ||
- | 135 | if (lcars.language == LANG_VULCAN) |
|
- | 136 | {
|
|
141 | button.firstChild.textContent = media_caption; |
137 | button.firstChild.textContent = button.getAttribute("data-caption"); |
- | 138 | }
|
|
142 | 139 | ||
143 | media_script_used = false; |
140 | media_script_used = false; |
144 | }
|
141 | }
|
145 | 142 |