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 | }
|