[ Index ] |
|
Code source de GeekLog 1.4.1 |
1 /* 2 * FCKeditor - The text editor for internet 3 * Copyright (C) 2003-2006 Frederico Caldeira Knabben 4 * 5 * Licensed under the terms of the GNU Lesser General Public License: 6 * http://www.opensource.org/licenses/lgpl-license.php 7 * 8 * For further information visit: 9 * http://www.fckeditor.net/ 10 * 11 * "Support Open Source software. What about a donation today?" 12 * 13 * File Name: fcklanguagemanager.js 14 * Defines the FCKLanguageManager object that is used for language 15 * operations. 16 * 17 * File Authors: 18 * Frederico Caldeira Knabben (fredck@fckeditor.net) 19 */ 20 var FCKLanguageManager = FCK.Language = new Object() ; 21 22 FCKLanguageManager.AvailableLanguages = 23 { 24 'ar' : 'Arabic', 25 'bg' : 'Bulgarian', 26 'bn' : 'Bengali/Bangla', 27 'bs' : 'Bosnian', 28 'ca' : 'Catalan', 29 'cs' : 'Czech', 30 'da' : 'Danish', 31 'de' : 'German', 32 'el' : 'Greek', 33 'en' : 'English', 34 'en-au' : 'English (Australia)', 35 'en-ca' : 'English (Canadian)', 36 'en-uk' : 'English (United Kingdom)', 37 'eo' : 'Esperanto', 38 'es' : 'Spanish', 39 'et' : 'Estonian', 40 'eu' : 'Basque', 41 'fa' : 'Persian', 42 'fi' : 'Finnish', 43 'fo' : 'Faroese', 44 'fr' : 'French', 45 'gl' : 'Galician', 46 'he' : 'Hebrew', 47 'hi' : 'Hindi', 48 'hr' : 'Croatian', 49 'hu' : 'Hungarian', 50 'it' : 'Italian', 51 'ja' : 'Japanese', 52 'km' : 'Khmer', 53 'ko' : 'Korean', 54 'lt' : 'Lithuanian', 55 'lv' : 'Latvian', 56 'mn' : 'Mongolian', 57 'ms' : 'Malay', 58 'nl' : 'Dutch', 59 'no' : 'Norwegian', 60 'pl' : 'Polish', 61 'pt' : 'Portuguese (Portugal)', 62 'pt-br' : 'Portuguese (Brazil)', 63 'ro' : 'Romanian', 64 'ru' : 'Russian', 65 'sk' : 'Slovak', 66 'sl' : 'Slovenian', 67 'sr' : 'Serbian (Cyrillic)', 68 'sr-latn' : 'Serbian (Latin)', 69 'sv' : 'Swedish', 70 'th' : 'Thai', 71 'tr' : 'Turkish', 72 'uk' : 'Ukrainian', 73 'vi' : 'Vietnamese', 74 'zh' : 'Chinese Traditional', 75 'zh-cn' : 'Chinese Simplified' 76 } 77 78 FCKLanguageManager.GetActiveLanguage = function() 79 { 80 if ( FCKConfig.AutoDetectLanguage ) 81 { 82 var sUserLang ; 83 84 // IE accepts "navigator.userLanguage" while Gecko "navigator.language". 85 if ( navigator.userLanguage ) 86 sUserLang = navigator.userLanguage.toLowerCase() ; 87 else if ( navigator.language ) 88 sUserLang = navigator.language.toLowerCase() ; 89 else 90 { 91 // Firefox 1.0 PR has a bug: it doens't support the "language" property. 92 return FCKConfig.DefaultLanguage ; 93 } 94 95 // Some language codes are set in 5 characters, 96 // like "pt-br" for Brasilian Portuguese. 97 if ( sUserLang.length >= 5 ) 98 { 99 sUserLang = sUserLang.substr(0,5) ; 100 if ( this.AvailableLanguages[sUserLang] ) return sUserLang ; 101 } 102 103 // If the user's browser is set to, for example, "pt-br" but only the 104 // "pt" language file is available then get that file. 105 if ( sUserLang.length >= 2 ) 106 { 107 sUserLang = sUserLang.substr(0,2) ; 108 if ( this.AvailableLanguages[sUserLang] ) return sUserLang ; 109 } 110 } 111 112 return this.DefaultLanguage ; 113 } 114 115 FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet, encode ) 116 { 117 var e = targetDocument.getElementsByTagName(tag) ; 118 var sKey, s ; 119 for ( var i = 0 ; i < e.length ; i++ ) 120 { 121 if ( sKey = e[i].getAttribute( 'fckLang' ) ) 122 { 123 if ( s = FCKLang[ sKey ] ) 124 { 125 if ( encode ) 126 s = FCKTools.HTMLEncode( s ) ; 127 eval( 'e[i].' + propertyToSet + ' = s' ) ; 128 } 129 } 130 } 131 } 132 133 FCKLanguageManager.TranslatePage = function( targetDocument ) 134 { 135 this.TranslateElements( targetDocument, 'INPUT', 'value' ) ; 136 this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ; 137 this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ; 138 this.TranslateElements( targetDocument, 'OPTION', 'innerHTML', true ) ; 139 } 140 141 FCKLanguageManager.Initialize = function() 142 { 143 if ( this.AvailableLanguages[ FCKConfig.DefaultLanguage ] ) 144 this.DefaultLanguage = FCKConfig.DefaultLanguage ; 145 else 146 this.DefaultLanguage = 'en' ; 147 148 this.ActiveLanguage = new Object() ; 149 this.ActiveLanguage.Code = this.GetActiveLanguage() ; 150 this.ActiveLanguage.Name = this.AvailableLanguages[ this.ActiveLanguage.Code ] ; 151 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Wed Nov 21 12:27:40 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |