Subversion Repositories LCARS

Rev

Rev 228 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 228 Rev 235
Line 13... Line 13...
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: "ς",
Line 28... Line 28...
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",
-
 
34
  KS: "φ",
33
  KS: "φ",
35
  X: "φ",
-
 
36
  LL: "μ",
34
//  LL: "μ",
37
  M: "&",
35
//  M: "&",
38
  NG: "ρ",
36
//  NG: "ρ",
39
  NN: "þ",
37
//  NN: "þ",
40
  SS: "β",
38
//  SS: "β",
41
  TCH: "M"
39
//  TCH: "M"
42
};
40
};
43
41
44
var rxVulcan = jsx.object.getKeys(media_map);
42
var rxVulcan = jsx.object.getKeys(media_map);
45
rxVulcan.sort(function (a, b) { return b.length - a.length; });
43
rxVulcan.sort(function (a, b) { return b.length - a.length; });
46
rxVulcan = new RegExp(
44
rxVulcan = new RegExp(
47
  rxVulcan.filter(function (e) { return e.length > 1; }).join("|")
45
  rxVulcan.filter(function (e) { return e.length > 1; }).join("|")
48
    + "|[" + rxVulcan.filter(function (e) { return e.length === 1; }). join("") + "]",
46
    + "|[" + rxVulcan.filter(function (e) { return e.length === 1; }). join("") + "]",
49
  "ig");
47
  "ig");
50
48
51
//jsx.object.flip = function (obj) {
49
function mediaTranscribe (s)
52
//  var flipped = jsx.object.inheritFrom(obj);
-
 
53
//  var keys = jsx.object.getKeys(obj);
-
 
54
//
50
{
55
//  for (var i = 0, len = keys.length; i < len; ++i)
51
  return s.toUpperCase().replace(
56
//  {
52
    rxVulcan,
57
//    var key = keys[i];
53
    function (s) {
58
//    var value = obj[key];
-
 
59
//    if (typeof value != "function")
54
      return jsx.object.getProperty(media_map, s.replace(/\s+/g, " "), s);
60
//    {
-
 
61
//      flipped[value] = key;
-
 
62
//    }
55
    });
63
//  }
-
 
64
//
56
}
65
//  return flipped;
-
 
66
//};
-
 
67
57
68
var media_script_used = false;
58
var LANG_VULCAN_MEDIA = "vuh-Media-Gol-modern";
69
59
70
function mediaScript (button)
60
function mediaScript (button)
71
{
61
{
72
  vulcan_texts = jsx.dom.xpath.evaluate(
62
  vulcan_texts = jsx.dom.xpath.evaluate(
73
    './/*[@class = "text" and (@lang = "' + LANG_VULCAN
63
    './/*[@class = "text" and (@lang = "' + LANG_VULCAN
Line 77... Line 67...
77
  if (!vulcan_texts)
67
  if (!vulcan_texts)
78
  {
68
  {
79
    return;
69
    return;
80
  }
70
  }
81
71
-
 
72
  if (document.documentElement.lang == LANG_VULCAN)
-
 
73
  {
-
 
74
    var title = document.getElementsByTagName("title")[0];
-
 
75
    title.setAttribute("data-text", document.title);
-
 
76
    document.title = mediaTranscribe(document.title);
-
 
77
  }
-
 
78
82
  for (var i = 0, len = vulcan_texts.length; i < len; ++i)
79
  for (var i = 0, len = vulcan_texts.length; i < len; ++i)
83
  {
80
  {
84
    var text = vulcan_texts[i];
81
    var text = vulcan_texts[i];
85
82
86
    text.style.textTransform = "none";
83
    text.style.textTransform = "none";
Line 90... Line 87...
90
87
91
      if (!text.title)
88
      if (!text.title)
92
      {
89
      {
93
        text.title = text.textContent;
90
        text.title = text.textContent;
94
      }
91
      }
-
 
92
      else
-
 
93
      {
-
 
94
        text.setAttribute("data-title", text.title);
-
 
95
        text.title = mediaTranscribe(text.title);
-
 
96
      }
95
    }
97
    }
96
98
97
    var text_nodes = jsx.dom.xpath.evaluate(
99
    var text_nodes = jsx.dom.xpath.evaluate(
98
      './/text()[parent::*[not(@lang) or (@lang = "' + LANG_VULCAN + '")]]',
100
      './/text()[parent::*[not(@lang) or (@lang = "' + LANG_VULCAN + '")]]',
99
      text);
101
      text);
100
102
101
    for (var j = 0, len2 = text_nodes.length; j < len2; ++j)
103
    for (var j = 0, len2 = text_nodes.length; j < len2; ++j)
102
    {
104
    {
103
      var text_node = text_nodes[j];
105
      var text_node = text_nodes[j];
104
106
105
      text_node.nodeValue = text_node.nodeValue.replace(
107
      text_node.nodeValue = mediaTranscribe(text_node.nodeValue);
106
        rxVulcan,
-
 
107
        function (s) {
-
 
108
          return jsx.object.getProperty(media_map, s.replace(/\s+/g, " ").toUpperCase(), s);
-
 
109
        });
-
 
110
    }
108
    }
111
109
-
 
110
    if (text.lang == LANG_VULCAN)
-
 
111
    {
-
 
112
      text.lang = LANG_VULCAN_MEDIA;
-
 
113
    }
-
 
114
    else if (text.parentNode.lang == LANG_VULCAN)
-
 
115
    {
112
    text.parentNode.lang = "vuh-Media-Gol-modern";
116
      text.parentNode.lang = LANG_VULCAN_MEDIA;
-
 
117
    }
113
  }
118
  }
114
119
115
  if (button && lcars.language == LANG_VULCAN)
120
  if (button)
116
  {
121
  {
117
    button.setAttribute("data-caption", button.firstChild.textContent);
-
 
118
    button.firstChild.textContent = "Latin-Zukitan";
122
    button.firstChild.lang = LANG_VULCAN;
119
  }
123
  }
120
124
-
 
125
  var html = document.documentElement;
-
 
126
  if (html.lang == LANG_VULCAN)
-
 
127
  {
121
  media_script_used = true;
128
    html.lang = LANG_VULCAN_MEDIA;
-
 
129
  }
122
}
130
}
123
131
124
function latinScript (button)
132
function latinScript (button)
125
{
133
{
-
 
134
  var title = document.getElementsByTagName("title")[0];
-
 
135
  if (document.documentElement.lang == LANG_VULCAN_MEDIA)
-
 
136
  {
-
 
137
    document.title = title.getAttribute("data-text");
-
 
138
    title.removeAttribute("data-text")
-
 
139
  }
-
 
140
126
  for (var i = 0, len = vulcan_texts.length; i < len; ++i)
141
  for (var i = 0, len = vulcan_texts.length; i < len; ++i)
127
  {
142
  {
128
    var text = vulcan_texts[i];
143
    var text = vulcan_texts[i];
129
144
130
    text.style.textTransform = "";
145
    text.style.textTransform = "";
131
    text.innerHTML = text.getAttribute('data-html');
146
    text.innerHTML = text.getAttribute('data-html') || "";
-
 
147
    text.title = text.getAttribute("data-title") || "";
-
 
148
-
 
149
    if (text.lang == LANG_VULCAN_MEDIA)
-
 
150
    {
-
 
151
      text.lang = LANG_VULCAN;
-
 
152
    }
-
 
153
    else if (text.parentNode.lang == LANG_VULCAN_MEDIA)
-
 
154
    {
132
    text.parentNode.lang = "vuh-Latn-Gol-modern";
155
      text.parentNode.lang = LANG_VULCAN;
-
 
156
    }
133
  }
157
  }
134
158
135
  if (lcars.language == LANG_VULCAN)
159
  if (button)
136
  {
160
  {
137
    button.firstChild.textContent = button.getAttribute("data-caption");
161
    button.firstChild.lang = LANG_VULCAN_MEDIA;
138
  }
162
  }
139
163
-
 
164
  var html = document.documentElement;
-
 
165
  if (html.lang == LANG_VULCAN_MEDIA)
-
 
166
  {
140
  media_script_used = false;
167
    html.lang = LANG_VULCAN;
-
 
168
  }
141
}
169
}