~ubuntu-branches/ubuntu/natty/moin/natty-updates

« back to all changes in this revision

Viewing changes to MoinMoin/web/static/htdocs/applets/FCKeditor/editor/_source/internals/fcklanguagemanager.js

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20080622211713-inlv5k4eifxckelr
Import upstream version 1.7.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3
 
 * Copyright (C) 2003-2010 Frederico Caldeira Knabben
4
 
 *
5
 
 * == BEGIN LICENSE ==
6
 
 *
7
 
 * Licensed under the terms of any of the following licenses at your
8
 
 * choice:
9
 
 *
10
 
 *  - GNU General Public License Version 2 or later (the "GPL")
11
 
 *    http://www.gnu.org/licenses/gpl.html
12
 
 *
13
 
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
14
 
 *    http://www.gnu.org/licenses/lgpl.html
15
 
 *
16
 
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
17
 
 *    http://www.mozilla.org/MPL/MPL-1.1.html
18
 
 *
19
 
 * == END LICENSE ==
20
 
 *
21
 
 * Defines the FCKLanguageManager object that is used for language
22
 
 * operations.
23
 
 */
24
 
 
25
 
var FCKLanguageManager = FCK.Language =
26
 
{
27
 
        AvailableLanguages :
28
 
        {
29
 
                af              : 'Afrikaans',
30
 
                ar              : 'Arabic',
31
 
                bg              : 'Bulgarian',
32
 
                bn              : 'Bengali/Bangla',
33
 
                bs              : 'Bosnian',
34
 
                ca              : 'Catalan',
35
 
                cs              : 'Czech',
36
 
                da              : 'Danish',
37
 
                de              : 'German',
38
 
                el              : 'Greek',
39
 
                en              : 'English',
40
 
                'en-au' : 'English (Australia)',
41
 
                'en-ca' : 'English (Canadian)',
42
 
                'en-uk' : 'English (United Kingdom)',
43
 
                eo              : 'Esperanto',
44
 
                es              : 'Spanish',
45
 
                et              : 'Estonian',
46
 
                eu              : 'Basque',
47
 
                fa              : 'Persian',
48
 
                fi              : 'Finnish',
49
 
                fo              : 'Faroese',
50
 
                fr              : 'French',
51
 
                'fr-ca' : 'French (Canada)',
52
 
                gl              : 'Galician',
53
 
                gu              : 'Gujarati',
54
 
                he              : 'Hebrew',
55
 
                hi              : 'Hindi',
56
 
                hr              : 'Croatian',
57
 
                hu              : 'Hungarian',
58
 
                is              : 'Icelandic',
59
 
                it              : 'Italian',
60
 
                ja              : 'Japanese',
61
 
                km              : 'Khmer',
62
 
                ko              : 'Korean',
63
 
                lt              : 'Lithuanian',
64
 
                lv              : 'Latvian',
65
 
                mn              : 'Mongolian',
66
 
                ms              : 'Malay',
67
 
                nb              : 'Norwegian Bokmal',
68
 
                nl              : 'Dutch',
69
 
                no              : 'Norwegian',
70
 
                pl              : 'Polish',
71
 
                pt              : 'Portuguese (Portugal)',
72
 
                'pt-br' : 'Portuguese (Brazil)',
73
 
                ro              : 'Romanian',
74
 
                ru              : 'Russian',
75
 
                sk              : 'Slovak',
76
 
                sl              : 'Slovenian',
77
 
                sr              : 'Serbian (Cyrillic)',
78
 
                'sr-latn'       : 'Serbian (Latin)',
79
 
                sv              : 'Swedish',
80
 
                th              : 'Thai',
81
 
                tr              : 'Turkish',
82
 
                uk              : 'Ukrainian',
83
 
                vi              : 'Vietnamese',
84
 
                zh              : 'Chinese Traditional',
85
 
                'zh-cn' : 'Chinese Simplified'
86
 
        },
87
 
 
88
 
        GetActiveLanguage : function()
89
 
        {
90
 
                if ( FCKConfig.AutoDetectLanguage )
91
 
                {
92
 
                        var sUserLang ;
93
 
 
94
 
                        // IE accepts "navigator.userLanguage" while Gecko "navigator.language".
95
 
                        if ( navigator.userLanguage )
96
 
                                sUserLang = navigator.userLanguage.toLowerCase() ;
97
 
                        else if ( navigator.language )
98
 
                                sUserLang = navigator.language.toLowerCase() ;
99
 
                        else
100
 
                        {
101
 
                                // Firefox 1.0 PR has a bug: it doens't support the "language" property.
102
 
                                return FCKConfig.DefaultLanguage ;
103
 
                        }
104
 
 
105
 
                        // Some language codes are set in 5 characters,
106
 
                        // like "pt-br" for Brazilian Portuguese.
107
 
                        if ( sUserLang.length >= 5 )
108
 
                        {
109
 
                                sUserLang = sUserLang.substr(0,5) ;
110
 
                                if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
111
 
                        }
112
 
 
113
 
                        // If the user's browser is set to, for example, "pt-br" but only the
114
 
                        // "pt" language file is available then get that file.
115
 
                        if ( sUserLang.length >= 2 )
116
 
                        {
117
 
                                sUserLang = sUserLang.substr(0,2) ;
118
 
                                if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
119
 
                        }
120
 
                }
121
 
 
122
 
                return this.DefaultLanguage ;
123
 
        },
124
 
 
125
 
        TranslateElements : function( targetDocument, tag, propertyToSet, encode )
126
 
        {
127
 
                var e = targetDocument.getElementsByTagName(tag) ;
128
 
                var sKey, s ;
129
 
                for ( var i = 0 ; i < e.length ; i++ )
130
 
                {
131
 
                        // The extra () is to avoid a warning with strict error checking. This is ok.
132
 
                        if ( (sKey = e[i].getAttribute( 'fckLang' )) )
133
 
                        {
134
 
                                // The extra () is to avoid a warning with strict error checking. This is ok.
135
 
                                if ( (s = FCKLang[ sKey ]) )
136
 
                                {
137
 
                                        if ( encode )
138
 
                                                s = FCKTools.HTMLEncode( s ) ;
139
 
                                        e[i][ propertyToSet ] = s ;
140
 
                                }
141
 
                        }
142
 
                }
143
 
        },
144
 
 
145
 
        TranslatePage : function( targetDocument )
146
 
        {
147
 
                this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;
148
 
                this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;
149
 
                this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;
150
 
                this.TranslateElements( targetDocument, 'OPTION', 'innerHTML', true ) ;
151
 
                this.TranslateElements( targetDocument, 'LEGEND', 'innerHTML' ) ;
152
 
        },
153
 
 
154
 
        Initialize : function()
155
 
        {
156
 
                if ( this.AvailableLanguages[ FCKConfig.DefaultLanguage ] )
157
 
                        this.DefaultLanguage = FCKConfig.DefaultLanguage ;
158
 
                else
159
 
                        this.DefaultLanguage = 'en' ;
160
 
 
161
 
                this.ActiveLanguage = new Object() ;
162
 
                this.ActiveLanguage.Code = this.GetActiveLanguage() ;
163
 
                this.ActiveLanguage.Name = this.AvailableLanguages[ this.ActiveLanguage.Code ] ;
164
 
        }
165
 
} ;