source: companies/celepar/expressoMail1_2/js/fckeditor/editor/_source/internals/fcklanguagemanager.js @ 763

Revision 763, 3.9 KB checked in by niltonneto, 15 years ago (diff)

Importação inicial do Expresso da Celepar

Line 
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 */
20var FCKLanguageManager = FCK.Language = new Object() ;
21
22FCKLanguageManager.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        'nb'            : 'Norwegian Bokmal',
59        'nl'            : 'Dutch',
60        'no'            : 'Norwegian',
61        'pl'            : 'Polish',
62        'pt'            : 'Portuguese (Portugal)',
63        'pt-br'         : 'Portuguese (Brazil)',
64        'ro'            : 'Romanian',
65        'ru'            : 'Russian',
66        'sk'            : 'Slovak',
67        'sl'            : 'Slovenian',
68        'sr'            : 'Serbian (Cyrillic)',
69        'sr-latn'       : 'Serbian (Latin)',
70        'sv'            : 'Swedish',
71        'th'            : 'Thai',
72        'tr'            : 'Turkish',
73        'uk'            : 'Ukrainian',
74        'vi'            : 'Vietnamese',
75        'zh'            : 'Chinese Traditional',
76        'zh-cn'         : 'Chinese Simplified'
77}
78
79FCKLanguageManager.GetActiveLanguage = function()
80{
81        if ( FCKConfig.AutoDetectLanguage )
82        {
83                var sUserLang ;
84               
85                // IE accepts "navigator.userLanguage" while Gecko "navigator.language".
86                if ( navigator.userLanguage )
87                        sUserLang = navigator.userLanguage.toLowerCase() ;
88                else if ( navigator.language )
89                        sUserLang = navigator.language.toLowerCase() ;
90                else
91                {
92                        // Firefox 1.0 PR has a bug: it doens't support the "language" property.
93                        return FCKConfig.DefaultLanguage ;
94                }
95               
96                // Some language codes are set in 5 characters,
97                // like "pt-br" for Brasilian Portuguese.
98                if ( sUserLang.length >= 5 )
99                {
100                        sUserLang = sUserLang.substr(0,5) ;
101                        if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
102                }
103               
104                // If the user's browser is set to, for example, "pt-br" but only the
105                // "pt" language file is available then get that file.
106                if ( sUserLang.length >= 2 )
107                {
108                        sUserLang = sUserLang.substr(0,2) ;
109                        if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
110                }
111        }
112       
113        return this.DefaultLanguage ;
114}
115
116FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet, encode )
117{
118        var e = targetDocument.getElementsByTagName(tag) ;
119        var sKey, s ;
120        for ( var i = 0 ; i < e.length ; i++ )
121        {
122                if ( sKey = e[i].getAttribute( 'fckLang' ) )
123                {
124                        if ( s = FCKLang[ sKey ] )
125                        {
126                                if ( encode )
127                                        s = FCKTools.HTMLEncode( s ) ;
128                                eval( 'e[i].' + propertyToSet + ' = s' ) ;
129                        }
130                }
131        }
132}
133
134FCKLanguageManager.TranslatePage = function( targetDocument )
135{
136        this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;
137        this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;
138        this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;
139        this.TranslateElements( targetDocument, 'OPTION', 'innerHTML', true ) ;
140}
141
142FCKLanguageManager.Initialize = function()
143{
144        if ( this.AvailableLanguages[ FCKConfig.DefaultLanguage ] )
145                this.DefaultLanguage = FCKConfig.DefaultLanguage ;
146        else
147                this.DefaultLanguage = 'en' ;
148
149        this.ActiveLanguage = new Object() ;
150        this.ActiveLanguage.Code = this.GetActiveLanguage() ;
151        this.ActiveLanguage.Name = this.AvailableLanguages[ this.ActiveLanguage.Code ] ;
152}
Note: See TracBrowser for help on using the repository browser.