+++ /dev/null
-/*\r
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net\r
- * Copyright (C) 2003-2009 Frederico Caldeira Knabben\r
- *\r
- * == BEGIN LICENSE ==\r
- *\r
- * Licensed under the terms of any of the following licenses at your\r
- * choice:\r
- *\r
- * - GNU General Public License Version 2 or later (the "GPL")\r
- * http://www.gnu.org/licenses/gpl.html\r
- *\r
- * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")\r
- * http://www.gnu.org/licenses/lgpl.html\r
- *\r
- * - Mozilla Public License Version 1.1 or later (the "MPL")\r
- * http://www.mozilla.org/MPL/MPL-1.1.html\r
- *\r
- * == END LICENSE ==\r
- *\r
- * Defines the FCKLanguageManager object that is used for language\r
- * operations.\r
- */\r
-\r
-var FCKLanguageManager = FCK.Language =\r
-{\r
- AvailableLanguages :\r
- {\r
- af : 'Afrikaans',\r
- ar : 'Arabic',\r
- bg : 'Bulgarian',\r
- bn : 'Bengali/Bangla',\r
- bs : 'Bosnian',\r
- ca : 'Catalan',\r
- cs : 'Czech',\r
- da : 'Danish',\r
- de : 'German',\r
- el : 'Greek',\r
- en : 'English',\r
- 'en-au' : 'English (Australia)',\r
- 'en-ca' : 'English (Canadian)',\r
- 'en-uk' : 'English (United Kingdom)',\r
- eo : 'Esperanto',\r
- es : 'Spanish',\r
- et : 'Estonian',\r
- eu : 'Basque',\r
- fa : 'Persian',\r
- fi : 'Finnish',\r
- fo : 'Faroese',\r
- fr : 'French',\r
- 'fr-ca' : 'French (Canada)',\r
- gl : 'Galician',\r
- gu : 'Gujarati',\r
- he : 'Hebrew',\r
- hi : 'Hindi',\r
- hr : 'Croatian',\r
- hu : 'Hungarian',\r
- is : 'Icelandic',\r
- it : 'Italian',\r
- ja : 'Japanese',\r
- km : 'Khmer',\r
- ko : 'Korean',\r
- lt : 'Lithuanian',\r
- lv : 'Latvian',\r
- mn : 'Mongolian',\r
- ms : 'Malay',\r
- nb : 'Norwegian Bokmal',\r
- nl : 'Dutch',\r
- no : 'Norwegian',\r
- pl : 'Polish',\r
- pt : 'Portuguese (Portugal)',\r
- 'pt-br' : 'Portuguese (Brazil)',\r
- ro : 'Romanian',\r
- ru : 'Russian',\r
- sk : 'Slovak',\r
- sl : 'Slovenian',\r
- sr : 'Serbian (Cyrillic)',\r
- 'sr-latn' : 'Serbian (Latin)',\r
- sv : 'Swedish',\r
- th : 'Thai',\r
- tr : 'Turkish',\r
- uk : 'Ukrainian',\r
- vi : 'Vietnamese',\r
- zh : 'Chinese Traditional',\r
- 'zh-cn' : 'Chinese Simplified'\r
- },\r
-\r
- GetActiveLanguage : function()\r
- {\r
- if ( FCKConfig.AutoDetectLanguage )\r
- {\r
- var sUserLang ;\r
-\r
- // IE accepts "navigator.userLanguage" while Gecko "navigator.language".\r
- if ( navigator.userLanguage )\r
- sUserLang = navigator.userLanguage.toLowerCase() ;\r
- else if ( navigator.language )\r
- sUserLang = navigator.language.toLowerCase() ;\r
- else\r
- {\r
- // Firefox 1.0 PR has a bug: it doens't support the "language" property.\r
- return FCKConfig.DefaultLanguage ;\r
- }\r
-\r
- // Some language codes are set in 5 characters,\r
- // like "pt-br" for Brazilian Portuguese.\r
- if ( sUserLang.length >= 5 )\r
- {\r
- sUserLang = sUserLang.substr(0,5) ;\r
- if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;\r
- }\r
-\r
- // If the user's browser is set to, for example, "pt-br" but only the\r
- // "pt" language file is available then get that file.\r
- if ( sUserLang.length >= 2 )\r
- {\r
- sUserLang = sUserLang.substr(0,2) ;\r
- if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;\r
- }\r
- }\r
-\r
- return this.DefaultLanguage ;\r
- },\r
-\r
- TranslateElements : function( targetDocument, tag, propertyToSet, encode )\r
- {\r
- var e = targetDocument.getElementsByTagName(tag) ;\r
- var sKey, s ;\r
- for ( var i = 0 ; i < e.length ; i++ )\r
- {\r
- // The extra () is to avoid a warning with strict error checking. This is ok.\r
- if ( (sKey = e[i].getAttribute( 'fckLang' )) )\r
- {\r
- // The extra () is to avoid a warning with strict error checking. This is ok.\r
- if ( (s = FCKLang[ sKey ]) )\r
- {\r
- if ( encode )\r
- s = FCKTools.HTMLEncode( s ) ;\r
- e[i][ propertyToSet ] = s ;\r
- }\r
- }\r
- }\r
- },\r
-\r
- TranslatePage : function( targetDocument )\r
- {\r
- this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;\r
- this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;\r
- this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;\r
- this.TranslateElements( targetDocument, 'OPTION', 'innerHTML', true ) ;\r
- this.TranslateElements( targetDocument, 'LEGEND', 'innerHTML' ) ;\r
- },\r
-\r
- Initialize : function()\r
- {\r
- if ( this.AvailableLanguages[ FCKConfig.DefaultLanguage ] )\r
- this.DefaultLanguage = FCKConfig.DefaultLanguage ;\r
- else\r
- this.DefaultLanguage = 'en' ;\r
-\r
- this.ActiveLanguage = new Object() ;\r
- this.ActiveLanguage.Code = this.GetActiveLanguage() ;\r
- this.ActiveLanguage.Name = this.AvailableLanguages[ this.ActiveLanguage.Code ] ;\r
- }\r
-} ;\r