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