[ Index ]
 

Code source de FCKeditor 2.4

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/editor/_source/internals/ -> fcklanguagemanager.js (source)

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


Généré le : Sun Feb 25 15:28:05 2007 par Balluche grâce à PHPXref 0.7