fcklanguagemanager.js
资源名称:MEIMS.rar [点击查看]
上传用户:ah_jiwei
上传日期:2022-07-24
资源大小:54044k
文件大小:4k
源码类别:
数据库编程
开发平台:
Visual C++
- /*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2007 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',
- gl : 'Galician',
- he : 'Hebrew',
- hi : 'Hindi',
- hr : 'Croatian',
- hu : 'Hungarian',
- 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 ] ;
- }
- } ;