GIF89a;
Direktori : /home/serb/public_html/fckeditor/editor/_source/internals/ |
Current File : /home/serb/public_html/fckeditor/editor/_source/internals/fcklanguagemanager.js |
/* * FCKeditor - The text editor for internet * Copyright (C) 2003-2004 Frederico Caldeira Knabben * * Licensed under the terms of the GNU Lesser General Public License: * http://www.opensource.org/licenses/lgpl-license.php * * For further information visit: * http://www.fckeditor.net/ * * File Name: fcklanguagemanager.js * Defines the FCKLanguageManager object that is used for language * operations. * * Version: 2.0 RC3 * Modified: 2005-03-02 10:25:49 * * File Authors: * Frederico Caldeira Knabben (fredck@fckeditor.net) */ FCKLanguageManager.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 ; } FCKDebug.Output( 'Navigator Language = ' + sUserLang ) ; // Some language codes are set in 5 characters, // like "pt-br" for Brasilian 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 ; } FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet ) { var aInputs = targetDocument.getElementsByTagName(tag) ; for ( var i = 0 ; i < aInputs.length ; i++ ) { var sKey = aInputs[i].getAttribute( 'fckLang' ) ; if ( sKey ) { var s = FCKLang[ sKey ] ; if ( s ) eval( 'aInputs[i].' + propertyToSet + ' = s' ) ; } } } FCKLanguageManager.TranslatePage = function( targetDocument ) { this.TranslateElements( targetDocument, 'INPUT', 'value' ) ; this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ; this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ; this.TranslateElements( targetDocument, 'OPTION', 'innerHTML' ) ; } if ( FCKLanguageManager.AvailableLanguages[ FCKConfig.DefaultLanguage ] ) FCKLanguageManager.DefaultLanguage = FCKConfig.DefaultLanguage ; else FCKLanguageManager.DefaultLanguage = 'en' ; FCKLanguageManager.ActiveLanguage = new Object() ; FCKLanguageManager.ActiveLanguage.Code = FCKLanguageManager.GetActiveLanguage() ; FCKLanguageManager.ActiveLanguage.Name = FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ] ; FCK.Language = FCKLanguageManager ; // Load the language file and start the editor. LoadLanguageFile() ;