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