Rev 228 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 228 | Rev 234 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | var klingon_texts = null; |
1 | var klingon_texts = null; |
2 | 2 | ||
3 | var klingon_map = { |
3 | var klingon_map = { |
4 | "A": "\uF8D0", |
4 | "a": "\uF8D0", |
5 | "B": "\uF8D1", |
5 | "b": "\uF8D1", |
6 | "CH": "\uF8D2", |
6 | "ch": "\uF8D2", |
7 | "D": "\uF8D3", |
7 | "D": "\uF8D3", |
8 | "E": "\uF8D4", |
8 | "e": "\uF8D4", |
9 | "GH": "\uF8D5", |
9 | "gh": "\uF8D5", |
10 | "H": "\uF8D6", |
10 | "H": "\uF8D6", |
11 | "I": "\uF8D7", |
11 | "I": "\uF8D7", |
12 | "J": "\uF8D8", |
12 | "j": "\uF8D8", |
13 | "L": "\uF8D9", |
13 | "l": "\uF8D9", |
14 | "M": "\uF8DA", |
14 | "m": "\uF8DA", |
15 | "N": "\uF8DB", |
15 | "n": "\uF8DB", |
16 | "NG": "\uF8DC", |
16 | "ng": "\uF8DC", |
17 | "O": "\uF8DD", |
17 | "o": "\uF8DD", |
18 | "P": "\uF8DE", |
18 | "p": "\uF8DE", |
19 | "Q": "\uF8DF", |
19 | "q": "\uF8DF", |
20 | "QH": "\uF8E0", |
20 | "Q": "\uF8E0", |
21 | "R": "\uF8E1", |
21 | "r": "\uF8E1", |
22 | "S": "\uF8E2", |
22 | "S": "\uF8E2", |
23 | "T": "\uF8E3", |
23 | "t": "\uF8E3", |
24 | "TLH": "\uF8E4", |
24 | "tlh": "\uF8E4", |
25 | "U": "\uF8E5", |
25 | "u": "\uF8E5", |
26 | "V": "\uF8E6", |
26 | "v": "\uF8E6", |
27 | "W": "\uF8E7", |
27 | "w": "\uF8E7", |
28 | "Y": "\uF8E8", |
28 | "y": "\uF8E8", |
29 | "'": "\uF8E9", |
29 | "'": "\uF8E9", |
30 | "0": "\uF8F0", |
30 | "0": "\uF8F0", |
31 | "1": "\uF8F1", |
31 | "1": "\uF8F1", |
32 | "2": "\uF8F2", |
32 | "2": "\uF8F2", |
33 | "3": "\uF8F3", |
33 | "3": "\uF8F3", |
Line 66... | Line 66... | ||
66 | // }
|
66 | // }
|
67 | //
|
67 | //
|
68 | // return flipped;
|
68 | // return flipped;
|
69 | //};
|
69 | //};
|
70 | 70 | ||
- | 71 | function pIqaDize (s) |
|
- | 72 | {
|
|
71 | var media_caption; |
73 | return s.replace( |
- | 74 | rxKlingon,
|
|
- | 75 | function (s) { |
|
- | 76 | return jsx.object.getProperty(klingon_map, s.replace(/\s+/g, " "), s); |
|
- | 77 | }); |
|
- | 78 | }
|
|
- | 79 | ||
- | 80 | var LANG_KLINGON_PIQAD = "tlh-pIqaD"; |
|
72 | 81 | ||
73 | function pIqaD (button) |
82 | function pIqaD (button) |
74 | {
|
83 | {
|
75 | klingon_texts = jsx.dom.xpath.evaluate( |
84 | klingon_texts = jsx.dom.xpath.evaluate( |
76 | './/*[@class = "text" and (@lang = "' + LANG_KLINGON |
85 | './/*[@class = "text" and (@lang = "' + LANG_KLINGON |
Line 80... | Line 89... | ||
80 | if (!klingon_texts) |
89 | if (!klingon_texts) |
81 | {
|
90 | {
|
82 | return; |
91 | return; |
83 | }
|
92 | }
|
84 | 93 | ||
85 | var previous_parent = null; |
- | |
86 | - | ||
87 | for (var i = 0, len = klingon_texts.length; i < len; ++i) |
94 | for (var i = 0, len = klingon_texts.length; i < len; ++i) |
88 | {
|
95 | {
|
89 | var text = klingon_texts[i]; |
96 | var text = klingon_texts[i]; |
90 | 97 | ||
91 | text.style.fontFamily = "pIqaD, Constructium, Code2000, serif"; |
- | |
92 | text.style.fontSize = "90%"; |
- | |
93 | - | ||
94 | if (!text.hasAttribute("data-html")) |
98 | if (!text.hasAttribute("data-html")) |
95 | {
|
99 | {
|
96 | text.setAttribute("data-html", text.innerHTML); |
100 | text.setAttribute("data-html", text.innerHTML); |
97 | 101 | ||
98 | if (!text.title) |
102 | if (!text.title) |
Line 107... | Line 111... | ||
107 | 111 | ||
108 | for (var j = 0, len2 = text_nodes.length; j < len2; ++j) |
112 | for (var j = 0, len2 = text_nodes.length; j < len2; ++j) |
109 | {
|
113 | {
|
110 | var text_node = text_nodes[j]; |
114 | var text_node = text_nodes[j]; |
111 | 115 | ||
112 | text_node.nodeValue = text_node.nodeValue.toUpperCase().replace( |
116 | text_node.nodeValue = pIqaDize(text_node.nodeValue); |
113 | rxKlingon,
|
- | |
114 | function (s) { |
- | |
115 | return jsx.object.getProperty(klingon_map, s.replace(/\s+/g, " "), s); |
- | |
116 | }); |
- | |
117 | }
|
117 | }
|
118 | 118 | ||
- | 119 | if (text.lang == LANG_KLINGON) |
|
- | 120 | {
|
|
- | 121 | text.lang = LANG_KLINGON_PIQAD; |
|
- | 122 | }
|
|
- | 123 | else if (text.parentNode.lang == LANG_KLINGON) |
|
- | 124 | {
|
|
119 | text.parentNode.lang = "tlh-pIqaD"; |
125 | text.parentNode.lang = LANG_KLINGON_PIQAD; |
- | 126 | }
|
|
120 | }
|
127 | }
|
121 | 128 | ||
122 | if (button && lcars.language == LANG_KLINGON) |
129 | if (button) |
123 | {
|
130 | {
|
124 | button.setAttribute("data-caption", button.firstChild.textContent); |
- | |
125 | button.firstChild.textContent = "Latin"; |
- | |
126 | button.firstChild.style.fontFamily = ""; |
- | |
127 | button.firstChild.style.fontSize = ""; |
131 | button.firstChild.lang = LANG_KLINGON; |
128 | }
|
132 | }
|
- | 133 | ||
- | 134 | var html = document.documentElement; |
|
- | 135 | html.setAttribute("data-lang", html.lang); |
|
- | 136 | html.lang = LANG_KLINGON_PIQAD; |
|
129 | }
|
137 | }
|
130 | 138 | ||
131 | function klingonLatinScript (button) |
139 | function klingonLatinScript (button) |
132 | {
|
140 | {
|
133 | for (var i = 0, len = klingon_texts.length; i < len; ++i) |
141 | for (var i = 0, len = klingon_texts.length; i < len; ++i) |
134 | {
|
142 | {
|
135 | var text = klingon_texts[i]; |
143 | var text = klingon_texts[i]; |
136 | 144 | ||
137 | text.style.fontFamily = ""; |
- | |
138 | text.style.fontSize = ""; |
- | |
139 | text.innerHTML = text.getAttribute('data-html'); |
145 | text.innerHTML = text.getAttribute('data-html'); |
- | 146 | text.removeAttribute("data-html"); |
|
- | 147 | ||
- | 148 | if (text.lang == LANG_KLINGON_PIQAD) |
|
- | 149 | {
|
|
- | 150 | text.lang = LANG_KLINGON; |
|
- | 151 | }
|
|
- | 152 | else if (text.parentNode.lang == LANG_KLINGON_PIQAD) |
|
- | 153 | {
|
|
140 | text.parentNode.lang = "tlh-Latn"; |
154 | text.parentNode.lang = LANG_KLINGON; |
- | 155 | }
|
|
141 | }
|
156 | }
|
142 | 157 | ||
143 | if (lcars.language == LANG_KLINGON) |
158 | if (button) |
144 | {
|
159 | {
|
145 | button.firstChild.textContent = button.getAttribute("data-caption"); |
160 | button.firstChild.lang = LANG_KLINGON_PIQAD; |
146 | }
|
161 | }
|
- | 162 | ||
- | 163 | var html = document.documentElement; |
|
- | 164 | html.lang = html.getAttribute("data-lang"); |
|
- | 165 | html.removeAttribute("data-lang"); |
|
147 | }
|
166 | }
|