fcklanguagemanager.js
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2005 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.  * File Name: fcklanguagemanager.js
  12.  *  Defines the FCKLanguageManager object that is used for language 
  13.  *  operations.
  14.  * 
  15.  * File Authors:
  16.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  17.  */
  18. FCKLanguageManager.GetActiveLanguage = function()
  19. {
  20. if ( FCKConfig.AutoDetectLanguage )
  21. {
  22. var sUserLang ;
  23. // IE accepts "navigator.userLanguage" while Gecko "navigator.language".
  24. if ( navigator.userLanguage )
  25. sUserLang = navigator.userLanguage.toLowerCase() ;
  26. else if ( navigator.language )
  27. sUserLang = navigator.language.toLowerCase() ;
  28. else
  29. {
  30. // Firefox 1.0 PR has a bug: it doens't support the "language" property.
  31. return FCKConfig.DefaultLanguage ;
  32. }
  33. // Some language codes are set in 5 characters, 
  34. // like "pt-br" for Brasilian Portuguese.
  35. if ( sUserLang.length >= 5 )
  36. {
  37. sUserLang = sUserLang.substr(0,5) ;
  38. if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
  39. }
  40. // If the user's browser is set to, for example, "pt-br" but only the 
  41. // "pt" language file is available then get that file.
  42. if ( sUserLang.length >= 2 )
  43. {
  44. sUserLang = sUserLang.substr(0,2) ;
  45. if ( this.AvailableLanguages[sUserLang] ) return sUserLang ;
  46. }
  47. }
  48. return this.DefaultLanguage ;
  49. }
  50. FCKLanguageManager.TranslateElements = function( targetDocument, tag, propertyToSet )
  51. {
  52. var aInputs = targetDocument.getElementsByTagName(tag) ;
  53. for ( var i = 0 ; i < aInputs.length ; i++ )
  54. {
  55. var sKey = aInputs[i].getAttribute( 'fckLang' ) ;
  56. if ( sKey )
  57. {
  58. var s = FCKLang[ sKey ] ;
  59. if ( s ) 
  60. eval( 'aInputs[i].' + propertyToSet + ' = s' ) ;
  61. }
  62. }
  63. }
  64. FCKLanguageManager.TranslatePage = function( targetDocument )
  65. {
  66. this.TranslateElements( targetDocument, 'INPUT', 'value' ) ;
  67. this.TranslateElements( targetDocument, 'SPAN', 'innerHTML' ) ;
  68. this.TranslateElements( targetDocument, 'LABEL', 'innerHTML' ) ;
  69. this.TranslateElements( targetDocument, 'OPTION', 'innerHTML' ) ;
  70. }
  71. if ( FCKLanguageManager.AvailableLanguages[ FCKConfig.DefaultLanguage ] )
  72. FCKLanguageManager.DefaultLanguage = FCKConfig.DefaultLanguage ;
  73. else
  74. FCKLanguageManager.DefaultLanguage = 'en' ;
  75. FCKLanguageManager.ActiveLanguage = new Object() ;
  76. FCKLanguageManager.ActiveLanguage.Code = FCKLanguageManager.GetActiveLanguage() ;
  77. FCKLanguageManager.ActiveLanguage.Name = FCKLanguageManager.AvailableLanguages[ FCKLanguageManager.ActiveLanguage.Code ] ;
  78. FCK.Language = FCKLanguageManager ;
  79. // Load the language file and start the editor.
  80. LoadLanguageFile() ;