initial commit
This commit is contained in:
commit
252dac3143
1516 changed files with 694271 additions and 0 deletions
162
FCKeditor/editor/_source/internals/fcklanguagemanager.js
Normal file
162
FCKeditor/editor/_source/internals/fcklanguagemanager.js
Normal file
|
@ -0,0 +1,162 @@
|
|||
/*
|
||||
* 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 ] ;
|
||||
}
|
||||
} ;
|
Loading…
Add table
Add a link
Reference in a new issue