summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/Clipperz/PM/Strings.js
Unidiff
Diffstat (limited to 'frontend/gamma/js/Clipperz/PM/Strings.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/Clipperz/PM/Strings.js295
1 files changed, 295 insertions, 0 deletions
diff --git a/frontend/gamma/js/Clipperz/PM/Strings.js b/frontend/gamma/js/Clipperz/PM/Strings.js
new file mode 100644
index 0000000..43ef21f
--- a/dev/null
+++ b/frontend/gamma/js/Clipperz/PM/Strings.js
@@ -0,0 +1,295 @@
1/*
2
3Copyright 2008-2011 Clipperz Srl
4
5This file is part of Clipperz's Javascript Crypto Library.
6Javascript Crypto Library provides web developers with an extensive
7and efficient set of cryptographic functions. The library aims to
8obtain maximum execution speed while preserving modularity and
9reusability.
10For further information about its features and functionalities please
11refer to http://www.clipperz.com
12
13* Javascript Crypto Library is free software: you can redistribute
14 it and/or modify it under the terms of the GNU Affero General Public
15 License as published by the Free Software Foundation, either version
16 3 of the License, or (at your option) any later version.
17
18* Javascript Crypto Library is distributed in the hope that it will
19 be useful, but WITHOUT ANY WARRANTY; without even the implied
20 warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
21 See the GNU Affero General Public License for more details.
22
23* You should have received a copy of the GNU Affero General Public
24 License along with Javascript Crypto Library. If not, see
25 <http://www.gnu.org/licenses/>.
26
27*/
28
29if (typeof(Clipperz) == 'undefined') { Clipperz = {}; }
30if (typeof(Clipperz.PM) == 'undefined') { Clipperz.PM = {}; }
31if (typeof(Clipperz.PM.Strings) == 'undefined') { Clipperz.PM.Strings = {}; }
32if (typeof(Clipperz.PM.Strings.Languages) == 'undefined') { Clipperz.PM.Strings.Languages = {}; }
33
34//-----------------------------------------------------------------------------
35/*
36Clipperz.PM.Strings.standardStrings = {
37 'loginPanelSwitchLanguageSelectOptions':[
38/ *
39 {tag:'option', html:"Arabic (Oman) (العربية)", value:'ar-OM', disabled:true},
40 {tag:'option', html:"Arabic (Syria) (العربية)", value:'ar-SY', disabled:true},
41 {tag:'option', html:"Bahasa Indonesia", value:'id-ID', disabled:true},
42 {tag:'option', html:"Bulgarian (Български)", value:'bg-BG', disabled:true},
43 {tag:'option', html:"Català", value:'ca-ES', disabled:true},
44 {tag:'option', html:"Chinese (Simplified) (简体中文)", value:'zh-CN', disabled:true},
45 {tag:'option', html:"Chinese (Traditional) (正體中文)", value:'zh-TW', disabled:true},
46 {tag:'option', html:"Czech (Česky)", value:'cs-CZ', disabled:true},
47 {tag:'option', html:"Dansk", value:'da-DK', disabled:true},
48 {tag:'option', html:"Deutsch", value:'de-DE'/ *, disabled:true* /},
49 {tag:'option', html:"English (American)", value:'en-US'/ *, disabled:true* /},
50 {tag:'option', html:"English (British)", value:'en-GB'/ *, disabled:true* /},
51 {tag:'option', html:"English (Canadian)", value:'en-CA'/ *, disabled:true* /},
52 {tag:'option', html:"Español", value:'es-ES', disabled:true},
53 {tag:'option', html:"Eesti", value:'et-EE', disabled:true},
54 {tag:'option', html:"Français", value:'fr-FR', disabled:true},
55 {tag:'option', html:"Galego", value:'gl-ES', disabled:true},
56 {tag:'option', html:"Greek (Ελληνικά)", value:'el-GR', disabled:true},
57 {tag:'option', html:"Íslenska", value:'is-IS', disabled:true},
58 {tag:'option', html:"Italiano", value:'it-IT'/ *, disabled:true* /},
59 {tag:'option', html:"Japanese (日本語)", value:'ja-JP', disabled:true},
60 {tag:'option', html:"Korean (한국어)", value:'ko-KR', disabled:true},
61 {tag:'option', html:"Latviešu", value:'lv-LV', disabled:true},
62 {tag:'option', html:"Lietuvių", value:'lt-LT', disabled:true},
63 {tag:'option', html:"Macedonian (Македонски)", value:'mk-MK', disabled:true},
64 {tag:'option', html:"Magyar", value:'hu-HU', disabled:true},
65 {tag:'option', html:"Nederlands", value:'nl-NL', disabled:true},
66 {tag:'option', html:"Norsk bokmål", value:'nb-NO', disabled:true},
67 {tag:'option', html:"Norsk nynorsk", value:'nn-NO', disabled:true},
68 {tag:'option', html:"Persian (Western) (فارسى)", value:'fa-IR', disabled:true},
69 {tag:'option', html:"Polski", value:'pl-PL', disabled:true},
70 {tag:'option', html:"Português", value:'pt-PT'/ *, disabled:true* /},
71 {tag:'option', html:"Português Brasileiro", value:'pt-BR'/ *, disabled:true* /},
72 {tag:'option', html:"Românä", value:'ro-RO', disabled:true},
73 {tag:'option', html:"Russian (Русский)", value:'ru-RU', disabled:true},
74 {tag:'option', html:"Slovak (Slovenčina)", value:'sk-SK', disabled:true},
75 {tag:'option', html:"Slovenian (Slovenščina)", value:'sl-SI', disabled:true},
76 {tag:'option', html:"Suomi", value:'fi-FI', disabled:true},
77 {tag:'option', html:"Svenska", value:'sv-SE', disabled:true},
78 {tag:'option', html:"Thai (ไทย)", value:'th-TH', disabled:true},
79 {tag:'option', html:"Türkçe", value:'tr-TR', disabled:true},
80 {tag:'option', html:"Ukrainian (Українська)", value:'uk-UA', disabled:true}
81* /
82 {tag:'option', html:"Arabic (العربية)", value:"ar", disabled:true, cls:'disabledOption'},
83 // {tag:'option', html:"Chinese (中文)", value:"zh", disabled:true},
84 {tag:'option', html:"Chinese (Simplified) (简体中文)", value:'zh-CN'},
85 {tag:'option', html:"Dutch (Nederlands)", value:"nl-NL", disabled:true, cls:'disabledOption'},
86 {tag:'option', html:"English", value:"en-US"},
87 {tag:'option', html:"French (Français)", value:"fr-FR"},
88 {tag:'option', html:"German (Deutsch)", value:"de-DE", disabled:true, cls:'disabledOption'},
89 {tag:'option', html:"Greek (Ελληνικά)", value:"el-GR", disabled:true, cls:'disabledOption'},
90 {tag:'option', html:"Hebrew (עברית)", value:"he-IL", disabled:true, cls:'disabledOption'},
91 {tag:'option', html:"Italian (Italiano)", value:"it-IT"},
92 {tag:'option', html:"Japanese (日本語)", value:"ja-JP"},
93 {tag:'option', html:"Korean (한국어)", value:"ko-KR", disabled:true, cls:'disabledOption'},
94 {tag:'option', html:"Norwegian (Norsk)", value:"no", disabled:true, cls:'disabledOption'},
95 {tag:'option', html:"Persian (فارسی)", value:"fa-IR", disabled:true, cls:'disabledOption'},
96 {tag:'option', html:"Polish (Polski)", value:"pl-PL", disabled:true, cls:'disabledOption'},
97 {tag:'option', html:"Portuguese (Português)", value:"pt-BR"},
98 {tag:'option', html:"Russian (Русский)", value:"ru-RU", disabled:true, cls:'disabledOption'},
99 {tag:'option', html:"Spanish (Español)", value:"es-ES"},
100 {tag:'option', html:"Swedish (Svenska)", value:"sv-SE", disabled:true, cls:'disabledOption'},
101 {tag:'option', html:"Turkish (Türkçe)", value:"tr-TR", disabled:true, cls:'disabledOption'},
102 {tag:'option', html:"Vietnamese (Tiếng Việt)", value:"vi-VN", disabled:true, cls:'disabledOption'}
103 ]
104}
105*/
106
107Clipperz.PM.Strings.GeneralSettings = {
108 'defaults': {
109 // 'loginFormAarghThatsBadUrl':"http://www.clipperz.com/support/faq/account_faq",
110 // 'loginFormVerifyTheCodeUrl':"http://www.clipperz.com/learn_more/reviewing_the_code",
111
112 // 'donateHeaderLinkUrl': "http://www.clipperz.com/donations",
113 // 'creditsHeaderLinkUrl': "http://www.clipperz.com/credits",
114 // 'feedbackHeaderLinkUrl': "http://www.clipperz.com/contact",
115 // 'helpHeaderLinkUrl': "http://www.clipperz.com/support/user_guide",
116 // 'forumHeaderLinkUrl': "http://www.clipperz.com/forum",
117
118 // 'httpAuthBookmarkletConfiguration':{tag:'textarea', id:'httpAuthDefaultConfiguration', html:"" +
119 // "{ \"page\":{\"title\":\"HTTP authentication\"}," + "\n" +
120 // " \"form\":{\"attributes\": {" + "\n" +
121 // " \"action\":\"\"," + "\n" +
122 // " \"type\":\"http_auth\"" + "\n" +
123 // " }, \"inputs\": [" + "\n" +
124 // " {\"type\":\"text\",\"name\":\"url\",\"value\":\"\"}," + "\n" +
125 // " {\"type\":\"text\",\"name\":\"username\",\"value\":\"\"}," + "\n" +
126 // " {\"type\":\"password\",\"name\":\"password\",\"value\":\"\"}" + "\n" +
127 // " ]}, \"version\":\"0.2.3\"}"
128 // },
129
130 'directLoginJumpPageUrl':"",
131 'defaultFaviconUrl': "data:application/octet-stream;charset=utf-8;base64,AAABAAEAFxcAAAEAGAD8BgAAFgAAACgAAAAXAAAALgAAAAEAGAAAAAAAAAAAABIXAAASFwAAAAAAAAAAAAD///////////////////////////////////////////////////////////////////////////////////////////9zAC////////////////////////////////////////////////////////////////////////////////////////////9pAG////////////////////////////////////////////////////////////////////////////////////////////9rAC////////////////////////////////////////////////////////////////////////////////////////////9yAHP////////////////////////IyMizs7O6urrq6ur////////////Ozs6zs7Ozs7Pq6ur///////////////////////8AAAD////////////////////V1dWXl5eXl5eXl5elpaX4+Pj////Ozs6Xl5eXl5eXl5eenp7///////////////////////8AAAD////////////////////Ozs6Xl5eXl5eXl5eXl5fBwcHq6uqenp6Xl5eXl5eXl5eXl5f///////////////////////8AAAD////////////////////j4+OXl5eXl5eXl5eXl5eXl5elpaWXl5eXl5eXl5eXl5ezs7P///////////////////////8AAAD////////////////////////IyMiXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eenp7x8fH////////////////////////////////////////////////////4+PilpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5fOzs7////////////////////////////////////////////////////////q6uq6urqXl5eXl5eXl5eXl5eXl5eXl5eenp7V1dX4+Pj///////////////////////8AAAD////////////4+PjOzs6lpaWXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e6urrj4+P///////////////8AAAD////////////BwcGXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fx8fH///////////8AAAD///////////+zs7OXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5fj4+P///////////8AAAD////////////IyMiXl5eXl5eXl5eXl5e6urqXl5eXl5eXl5eXl5esrKylpaWXl5eXl5eXl5eenp7x8fH///////////8AAAD////////////////Ozs7Ozs7V1dX4+Pj///+Xl5eXl5eXl5eXl5fOzs7////q6urOzs7Ozs7q6ur///////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD///////////////////////////////////+Xl5eXl5eXl5eXl5fOzs7///////////////////////////////////8AAAD////////////////////////////////////IyMiXl5eXl5eenp7x8fH///////////////////////////////////8AAAD////////////////////////////////////////j4+Pj4+Px8fH///////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAD///////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo=",
132 'defaultFaviconUrl_IE': "https://www.clipperz.com/images/icons/misc/favicon.ico",
133
134 // 'icons_baseUrl':"https://www.clipperz.com/images/icons",
135
136 // 'passwordGeneratorLowercaseCharset':"abcdefghijklmnopqrstuvwxyz",
137 // 'passwordGeneratorUppercaseCharset':"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
138 // 'passwordGeneratorNumberCharset': "0123456789",
139 // 'passwordGeneratorSymbolCharset': "!@#$%^&*+?[]{}/|\\<>,.;:~=-_",
140
141 // 'passwordGenerator': {
142 // 'lowercaseCharset':"abcdefghijklmnopqrstuvwxyz",
143 // 'uppercaseCharset':"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
144 // 'numberCharset':"0123456789",
145 // 'symbolCharset':"!@#$%^&*+?[]{}/|\\<>,.;:~=-_",
146 // },
147
148 '_': ""
149 }
150}
151
152Clipperz.PM.Strings.defaultLanguages = {
153 'default':"en-us",
154
155 // 'de':"de-de",
156 // 'el':"el-gr",
157 // 'he':"he-il",
158 // 'ru':"ru-ru",
159
160 'fr':"fr-fr",
161 'es':"es-es",
162 'zh':"zh-cn",
163 'ja':"ja-jp",
164 'pt':"pt-br",
165 'it':"it-it",
166 'en': "en-us"
167}
168
169Clipperz.PM.Strings.inputTypeToRecordFieldType = {
170 'text': 'TXT',
171 'password': 'PWD',
172 'checkbox': 'CHECK',
173 'radio': 'RADIO',
174 'select': 'SELECT'
175};
176
177//-----------------------------------------------------------------------------
178
179Clipperz.PM.Strings.translateBookmarklet = function (aBookmarkletString) {
180 var result;
181
182 result = aBookmarkletString;
183
184 result = result.replace(/@BOOKMARKLET_NO_EXCEPTION_MESSAGE@/,Clipperz.PM.Strings.getValue('bookmarkletCopy.noExceptionMessage'));
185 result = result.replace(/@BOOKMARKLET_EXCEPTION_MESSAGE@/, Clipperz.PM.Strings.getValue('bookmarkletCopy.exceptionMessage'));
186 result = result.replace(/@BOOKMARKLET_COPY@/, Clipperz.PM.Strings.getValue('bookmarkletCopy.copy'));
187 result = result.replace(/@BOOKMARKLET_SUCCESSFUL_MESSAGE@/, Clipperz.PM.Strings.getValue('bookmarkletCopy.successfulMessage'));
188 result = result.replace(/@BOOKMARKLET_FAIL_MESSAGE@/, Clipperz.PM.Strings.getValue('bookmarkletCopy.failMessage'));
189
190 return result;
191}
192
193//-----------------------------------------------------------------------------
194
195Clipperz.PM.Strings.Languages.setSelectedLanguage = function(aLanguage) {
196 var language;
197 varselectedLanguage;
198
199 language = (aLanguage || Clipperz.PM.Strings.preferredLanguage || 'default').toLowerCase();
200 if (typeof(Clipperz.PM.Strings.defaultLanguages[language]) != 'undefined') {
201 language = Clipperz.PM.Strings.defaultLanguages[language];
202 }
203
204 if (typeof(Clipperz.PM.Strings.Languages[language]) != 'undefined') {
205 selectedLanguage = language;
206 } else if (typeof(Clipperz.PM.Strings.defaultLanguages[language.substr(0,2)]) != 'undefined') {
207 selectedLanguage = Clipperz.PM.Strings.defaultLanguages[language.substr(0,2)];
208 } else {
209 selectedLanguage = Clipperz.PM.Strings.defaultLanguages['default'];
210 }
211
212 if (selectedLanguage != Clipperz.PM.Strings.selectedLanguage) {
213 vartranslations;
214
215 Clipperz.PM.Strings.selectedLanguage = selectedLanguage;
216
217 translations = {};
218 // MochiKit.Base.update(translations, Clipperz.PM.Strings.standardStrings)
219
220 MochiKit.Base.updatetree(translations, Clipperz.PM.Strings.Languages['defaults']);
221 MochiKit.Base.updatetree(translations, Clipperz.PM.Strings.GeneralSettings['defaults']);
222
223 MochiKit.Base.updatetree(translations, Clipperz.PM.Strings.Languages[Clipperz.PM.Strings.defaultLanguages['default']]);
224 MochiKit.Base.updatetree(translations, Clipperz.PM.Strings.GeneralSettings[Clipperz.PM.Strings.defaultLanguages['default']]);
225
226 MochiKit.Base.updatetree(translations, Clipperz.PM.Strings.Languages[selectedLanguage]);
227 MochiKit.Base.updatetree(translations, Clipperz.PM.Strings.GeneralSettings[selectedLanguage]);
228
229 Clipperz.PM.Strings.stringsObjectStore = new Clipperz.KeyValueObjectStore(/*{'name':'String.stringsObjectStore [1]'}*/);
230 Clipperz.PM.Strings.stringsObjectStore.initWithValues(translations);
231
232 if (typeof(bookmarklet) != 'undefined') {
233 Clipperz.PM.Strings.stringsObjectStore.setValue('bookmarklet', Clipperz.PM.Strings.translateBookmarklet(bookmarklet));
234 }
235
236 MochiKit.Signal.signal(Clipperz.PM.Strings.Languages, 'switchLanguage', selectedLanguage);
237 }
238}
239
240//-----------------------------------------------------------------------------
241
242Clipperz.PM.Strings.getValue = function (aKeyPath, someKeyValues) {
243 varresult;
244
245 result = Clipperz.PM.Strings.stringsObjectStore.getValue(aKeyPath);
246
247//try {
248 if (typeof(result) == 'string') {
249 if (typeof (someKeyValues) != 'undefined') {
250 varkey;
251
252 for (key in someKeyValues) {
253 result = result.replace( new RegExp(key), someKeyValues[key]);
254 // result.replace(, '');
255 }
256 }
257
258 result = result.replace(new RegExp('\n'), '<br>');
259 }
260//} catch (exception) {
261 //console.log("####", result, aKeyPath, someKeyValues, exception);
262//}
263
264 return result;
265}
266
267Clipperz.PM.Strings.errorDescriptionForException = function (anException) {
268 var result;
269
270 result = Clipperz.PM.Strings.getValue('exceptionsMessages' + '.' + anException.name);
271
272 if (result == null) {
273 result = anException.message;
274 }
275
276 return result;
277},
278
279//-----------------------------------------------------------------------------
280
281Clipperz.PM.Strings.Languages.initSetup = function() {
282 varlanguage;
283 varlanguageParser;
284
285 language = navigator.language || navigator.userLanguage; //en, en-US, .... "de", "nb-no"
286 languageParser = new RegExp("language=([a-z]{2}(?:\-[a-z]{2})?)(\&|$)", "i");
287 if (languageParser.test(window.location.search)) {
288 language = RegExp.$1;
289 }
290
291 Clipperz.PM.Strings.preferredLanguage = language.toLowerCase();
292 Clipperz.PM.Strings.Languages.setSelectedLanguage(Clipperz.PM.Strings.preferredLanguage);
293}
294
295//-----------------------------------------------------------------------------