[ Index ]
 

Code source de GeekLog 1.4.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

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

   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  }


Généré le : Wed Nov 21 12:27:40 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics