<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,9 +1,9 @@
 === Google AJAX Translation ===
 Tags: google, ajax, translate, translation, language
-Contributors: Libin Pan
+Contributors: Libin Pan and Michael Klein
 Requires at least: 1.5
 Tested up to: 2.6
-Stable tag: 0.2.0
+Stable tag: 0.3.1
 
 This plugin enables Google AJAX Language API on your blog, so your blog readers can easily translate your blog posts or comments into other languages.
 
@@ -14,16 +14,18 @@ The Google AJAX Translation WordPress plugin provides a quick, simple and light
 Be sure to start here:
 
 &lt;a href=&quot;http://blog.libinpan.com/2008/08/04/google-ajax-translation-wordpress-plugin/&quot;&gt;Google AJAX Translation WordPress Plugin V0.2.0&lt;/a&gt;
+
 and
+
 &lt;a href=&quot;http://blog.libinpan.com/2008/03/21/introducing-the-google-ajax-translation-wordpress-plugin/&quot;&gt;Google AJAX Translation WordPress Plugin&lt;/a&gt;
 
-In the current version(0.2.*) I only enabled comment translation by default, but you can enable post translation yourself from the admin page. And please keep this in mind: Google Ajax Translate only allow 500 characters right now (March 2008).
+In the current version(0.3.*) I only enabled comment translation by default, but you can enable post translation yourself from the admin page. And please keep this in mind: Google Ajax Translate only allow 500 characters right now (March 2008).
 
 
 == Installation ==
 
 1. Download the plugin archive and expand it (you've likely already done this).
-2. Put the 'google-ajax-translation' folder into your wp-content/plugins/ directory.
+2. Put the 'ajaxtranslation.php' file into your wp-content/plugins/ directory, or put the google-ajax-translation folder into your wp-content/plugins/ directory.
 3. Go to the Plugins page in your WordPress Administration area and click 'Activate' for Google AJAX Translation.
 4. Have fun with your blog readers.
 5. Change the settings from Setting -&gt; Google Translation Admin Page 
@@ -34,6 +36,7 @@ In the current version(0.2.*) I only enabled comment translation by default, but
 Please see my blog online:
 
 http://blog.libinpan.com/2008/03/21/introducing-the-google-ajax-translation-wordpress-plugin/
+
 http://blog.libinpan.com/2008/08/04/google-ajax-translation-wordpress-plugin/
 
 
@@ -45,6 +48,13 @@ Have questions or suggestions for this? Perhaps it's already answered or being d
 
 
 == What's Changed? ==
+- .3.1
+. fixed some html-bugs (missing alt-Tags, etc.) (Michael Klein)
+
+- .3.0
+. encapsulate the plugin in a class. No global vars needed anymore, faster code (Michael Klein)
+. Better support of capabilities-model (WP 2.6)
+
 - .2.0
 Thanks Michael Klein from alquanto.de for:
 . Add Flag ICONs link style</diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -3,9 +3,9 @@
 Plugin Name: Google AJAX Translation
 Plugin URI: http://blog.libinpan.com/2008/08/04/google-ajax-translation-wordpress-plugin/
 Description: Add &lt;a href=&quot;http://code.google.com/apis/ajaxlanguage/&quot;&gt;Google AJAX Translation&lt;/a&gt; onto your blog. This plugin enables your blog readers translate your blog posts or comments into other languages.
-Author: Libin Pan
-Version: 0.2.0
-Stable tag: 0.2.0
+Author: Libin Pan and Michael Klein
+Version: 0.3.1
+Stable tag: 0.3.1
 Author URI: http://libinpan.com
 
 Installation:
@@ -26,6 +26,13 @@ TODO:
   - Support more than 500 characters?
 
 Version history:
+- .3.1
+. fixed some html-bugs (missing alt-Tags, etc.) (Michael Klein)
+
+- .3.0
+. encapsulate the plugin in a class. No global vars needed anymore, faster code (Michael Klein)
+. Better support of capabilities-model (WP 2.6)
+
 - .2.0
 Thanks Michael Klein from alquanto.de for:
 . Add Flag ICONs link style
@@ -44,171 +51,187 @@ Small updates:
 - .1
 Initial Release
 
-/*
 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
 
 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 */
 
-$languages = array(
-  'en'    =&gt; 'English',
-  'zh-CN' =&gt; 'Chinese(S)',
-  'zh-TW' =&gt; 'Chinese(T)',
-  'fr'    =&gt; 'French',
-  'ar'    =&gt; 'Arabic',
-	'bg'		=&gt; 'Bulgarian',
-	'hr'		=&gt; 'Croatian',
-	'cs'		=&gt; 'Czech',
-	'da'		=&gt; 'Danish',
-  'nl'    =&gt; 'Dutch',
-	'fi'		=&gt; 'Finnish',
-  'de'    =&gt; 'German',
-  'el'    =&gt; 'Greek',
-	'hi'		=&gt; 'Hindi',
-  'it'    =&gt; 'Italian',
-  'ja'    =&gt; 'Japanese',
-  'ko'    =&gt; 'Korean',
-	'no'		=&gt; 'Norwegian',
-	'pl'		=&gt; 'Polish',
-  'pt'    =&gt; 'Portuguese',
-	'ro'		=&gt; 'Romanian',
-  'ru'    =&gt; 'Russian',
-  'es'    =&gt; 'Spanish',
-	'sv'		=&gt; 'Swedish'
-);
-
-function gt_add_options_page(){
-  if(function_exists('add_options_page')){
-    add_options_page('Google Translation', 'Google Translation', 9, basename(__FILE__), 'gt_options_panel');
-  }
-}
 
-function gt_check_languages($gt_languages) {
-	global $languages;
-	if (!is_array($gt_languages)) {
-		$gt_languages = ($gt_languages==&quot;&quot;) ? array_keys($languages) : array($gt_languages);
-		update_option(&quot;gt_languages&quot;, $gt_languages);
-	}
-	return $gt_languages;
-}
+if (!class_exists('GoogleTranslation')) {
+  class GoogleTranslation {
 
-function gt_options_panel() {
-	global $languages;
-  $gt_link_style = get_option('gt_link_style');
-	$gt_post_enable = get_option('gt_post_enable');
-	$gt_languages = gt_check_languages(get_option('gt_languages'));
-?&gt;
-
-&lt;div class=&quot;wrap&quot;&gt; 
-  &lt;h2&gt;&lt;?php _e('Google Ajax Translation', 'wpgt') ?&gt;&lt;/h2&gt; 
-	&lt;p&gt;
-		Version 0.2.0&amp;nbsp;&lt;a href=&quot;http://blog.libinpan.com/2008/08/04/google-ajax-translation-wordpress-plugin/&quot; target=&quot;_blank&quot; title=&quot;Homepage&quot;&gt;Homepage&lt;/a&gt;
-		| &lt;a href=&quot;http://wordpress.org/extend/plugins/google-ajax-translation/&quot; target=&quot;_blank&quot; title=&quot;Plugin Page&quot;&gt;Plugin Page&lt;/a&gt;
-		| &lt;a target=&quot;_blank&quot; title=&quot;Donate&quot; href=&quot;https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;amp;business=libin_pan%40hotmail%2ecom&amp;amp;item_name=Google%20Ajax%20Translation%20WP%20Plugin&amp;amp;item_number=Support%20Open%20Source&amp;amp;no_shipping=0&amp;amp;no_note=1&amp;amp;tax=0&amp;amp;currency_code=USD&amp;amp;lc=US&amp;amp;bn=PP%2dDonationsBF&amp;amp;charset=UTF%2d8&quot;&gt;Donate&lt;/a&gt;
-	&lt;/p&gt;
-  &lt;form method=&quot;post&quot; action=&quot;options.php&quot;&gt;
-		&lt;?php wp_nonce_field('update-options'); ?&gt;
-		&lt;table class=&quot;form-table&quot;&gt; 
-	  &lt;tr valign=&quot;top&quot;&gt;
-			&lt;th scope=&quot;row&quot;&gt;&lt;?php _e('Link Style', 'wpgt') ?&gt;&lt;/th&gt;
-			&lt;td&gt;
-				&lt;p&gt;&lt;label&gt;&lt;input name=&quot;gt_link_style&quot;  type=&quot;radio&quot; value=&quot;text&quot; &lt;?php if($gt_link_style == 'text') echo 'checked=&quot;checked&quot;'; ?&gt; /&gt; Language Text&lt;/label&gt;&lt;br /&gt;
-				&lt;label&gt;&lt;input name=&quot;gt_link_style&quot; type=&quot;radio&quot; value=&quot;image&quot; &lt;?php if($gt_link_style == 'image') echo 'checked=&quot;checked&quot;'; ?&gt; /&gt; Flag Icon&lt;/label&gt;&lt;/p&gt;
-			&lt;/td&gt;
-	  &lt;/tr&gt;
-		&lt;tr valign=&quot;top&quot;&gt;
-    	&lt;th scope=&quot;row&quot;&gt;Enable Post Translation&lt;/th&gt;
-			&lt;td&gt;
-				&lt;input name='gt_post_enable' type='checkbox' value='yes' &lt;?php if($gt_post_enable == &quot;yes&quot;) echo &quot;checked&quot;; ?&gt;&gt;
-			&lt;/td&gt;
-    &lt;/tr&gt;
-		&lt;tr valign=&quot;top&quot;&gt;
-			&lt;th scope=&quot;row&quot;&gt;&lt;?php _e('Languages', 'wpgt') ?&gt;&lt;/th&gt;
-			&lt;td&gt;
-				&lt;?php foreach ((array)$languages as $k=&gt;$v){ ?&gt;
-					&lt;input type=&quot;checkbox&quot; name=&quot;gt_languages[]&quot; value=&quot;&lt;?=$k?&gt;&quot; &lt;?=in_array($k,$gt_languages) ? 'checked=&quot;checked&quot;':''?&gt;&gt;
-					&lt;img src=&quot;&lt;?=gt_getpluginUrl().'flags/'.$k.'.png' ?&gt;&quot; title=&quot;&lt;?=$v?&gt;&quot;/&gt;
-					&lt;?=$v?&gt;
-					&lt;br /&gt;
-				&lt;?php } ?&gt;
-			&lt;/td&gt;
-		&lt;/tr&gt;
-		&lt;/table&gt;
-    &lt;p class=&quot;submit&quot;&gt;
-			&lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;update&quot; /&gt;
-			&lt;input type=&quot;hidden&quot; name=&quot;page_options&quot; value=&quot;gt_link_style,gt_post_enable,gt_languages&quot; /&gt;
-			&lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;&lt;?php _e('Save Changes') ?&gt;&quot; /&gt;
-		&lt;/p&gt;
-  &lt;/form&gt; 
-&lt;/div&gt;
-
-&lt;?php 
-}
+    var $optionPrefix = 'google_translation_';
+    var $version      = '0.3.1';
+    var $pluginUrl    = 'http://wordpress.org/extend/plugins/google-ajax-translation/';
+    var $authorUrl    = 'http://blog.libinpan.com/2008/08/04/google-ajax-translation-wordpress-plugin/';
 
-add_action('admin_menu', 'gt_add_options_page');
+    var $languages = array(
+      'en'    =&gt; 'English',
+      'zh-CN' =&gt; 'Chinese(S)',
+      'zh-TW' =&gt; 'Chinese(T)',
+      'fr'    =&gt; 'French',
+      'ar'    =&gt; 'Arabic',
+      'bg'    =&gt; 'Bulgarian',
+      'hr'    =&gt; 'Croatian',
+      'cs'    =&gt; 'Czech',
+      'da'    =&gt; 'Danish',
+      'nl'    =&gt; 'Dutch',
+      'fi'    =&gt; 'Finnish',
+      'de'    =&gt; 'German',
+      'el'    =&gt; 'Greek',
+      'hi'    =&gt; 'Hindi',
+      'it'    =&gt; 'Italian',
+      'ja'    =&gt; 'Japanese',
+      'ko'    =&gt; 'Korean',
+      'no'    =&gt; 'Norwegian',
+      'pl'    =&gt; 'Polish',
+      'pt'    =&gt; 'Portuguese',
+      'ro'    =&gt; 'Romanian',
+      'ru'    =&gt; 'Russian',
+      'es'    =&gt; 'Spanish',
+      'sv'    =&gt; 'Swedish'
+    );
 
-function gt_getpluginUrl()
-{
-	$path = dirname(__FILE__);
-	$path = str_replace(&quot;\\&quot;,&quot;/&quot;,$path);
-	$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,&quot;wp-content/&quot;)));
-	return $path;
-}
+    var $options = array(                               // default values for options
+      'linkStyle'  =&gt; 'images',
+      'postEnable' =&gt; false,
+      'languages'  =&gt; array()
+    );
 
-function language_links($type, $id) {
-  global $languages;
-  $gt_link_style = get_option('gt_link_style');
-	$gt_post_enable = get_option('gt_post_enable');
-	$gt_languages = gt_check_languages(get_option('gt_languages'));
-  $buf = '';
-
-  switch ($gt_link_style) {
-    case 'image':
-      foreach($gt_languages as $lg) {
-        $buf .= &quot; &lt;a href=\&quot;javascript:google_translate('$lg', '$type', $id);\&quot;&gt;&lt;img src=\&quot;&quot;
-        .gt_getpluginUrl().'flags/'.$lg.'.png&quot; title=&quot;'.$languages[$lg].'&quot; /&gt;&lt;/a&gt;';
+    var $textDomain = 'wpgt';
+    var $languageFileLoaded = false;
+    var $pluginRoot = '';
+    
+    function getPluginUrl() {
+    	$path = dirname(__FILE__);
+    	$path = str_replace(&quot;\\&quot;,&quot;/&quot;,$path);
+    	$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,&quot;wp-content/&quot;)));
+    	return $path;
+    }
+    
+    function GoogleTranslation() {                      // Constructor
+      $this-&gt;pluginRoot = $this-&gt;getPluginUrl();
+
+      foreach ($this-&gt;options as $k=&gt;$v) {              // get options from DB
+        $this-&gt;options[$k] = get_option($this-&gt;optionPrefix.$k);
       }
-      break;
-    case 'text':
-    default:
-      foreach($gt_languages as $lg) {
-        $buf .= &quot; &lt;a href=\&quot;javascript:google_translate('$lg', '$type', $id);\&quot;&gt;$languages[$lg]&lt;/a&gt;&quot;;
+
+      // Add action and filter hooks to WordPress
+      add_action('admin_menu',   array(&amp;$this, 'addOptionsPage'));
+      add_action('wp_footer',    array(&amp;$this, 'insertJs'));
+      add_action('admin_footer', array(&amp;$this, 'insertJs'));
+      add_filter('comment_text', array(&amp;$this, 'processComment'));
+      
+      if ($this-&gt;options['postEnable']) {
+        add_filter('the_content',array(&amp;$this, 'processContent'));
       }
-      break;
-  }
-  return $buf;
-}
+    }
 
-function translate_post_link($content) {
-	if (get_option('gt_post_enable') != 'yes')
-		return $content;
-		
-  global $post;
-  $id = $post-&gt;ID;
-  return '&lt;span id=&quot;translate_post_'.$id.'&quot;&gt;'.$content
-    .&quot;&lt;/span&gt;&lt;hr /&gt;&lt;p&gt;View this Post in:&quot;.language_links('post', $id).&quot;&lt;/p&gt;&quot;;
-}
+    function addOptionsPage(){
+      add_options_page('Google Translation', 'Google Translation', 'manage_options', basename(__FILE__), array(&amp;$this, 'outputOptionsPanel'));
+    }
 
-add_action('the_content', 'translate_post_link');
+    function loadLanguageFile() {                       // loads language files according to locale
+      if(!$this-&gt;languageFileLoaded) {
+        load_plugin_textdomain($this-&gt;textDomain, $this-&gt;pluginRoot.'languages');
+        $this-&gt;languageFileLoaded = true;
+      }
+    }
 
-function translate_comment_link($content) {
-  global $comment;
-  $id = $comment-&gt;comment_ID;
+    function outputOptionsPanel() {
+      $a = array();
+      $p = $this-&gt;optionPrefix;
+      foreach ($this-&gt;options as $k=&gt;$v) $a[] = $p.$k;  // prefix all option-vars
+      $page_options = join(',', $a);
 
-  return '&lt;span id=&quot;translate_comment_'.$id.'&quot;&gt;'
-     .$content
-     .&quot;&lt;/span&gt;&lt;hr/&gt;&lt;p&gt;View this Comment in:&quot;.language_links('comment', $id).&quot;&lt;/p&gt;&quot;;
-}
+      echo '&lt;div class=&quot;wrap&quot;&gt;';
+      echo '&lt;h2&gt;'.__('Google Ajax Translation', $this-&gt;textDomain).'&lt;/h2&gt; ';
+      echo '&lt;p&gt;'.__('Version').'&amp;nbsp;'.$this-&gt;version;
+      echo ' | &lt;a href=&quot;'.$this-&gt;authorUrl.'&quot; target=&quot;_blank&quot; title=&quot;'.__('Visit author homepage').'&quot;&gt;Homepage&lt;/a&gt;';
+      echo ' | &lt;a href=&quot;'.$this-&gt;pluginUrl.'&quot; target=&quot;_blank&quot; title=&quot;'.__('Visit plugin homepage').'&quot;&gt;Plugin Homepage&lt;/a&gt;';
+      echo ' | &lt;a target=&quot;_blank&quot; title=&quot;Donate&quot; href=&quot;https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;amp;business=libin_pan%40hotmail%2ecom&amp;amp;item_name=Google%20Ajax%20Translation%20WP%20Plugin&amp;amp;item_number=Support%20Open%20Source&amp;amp;no_shipping=0&amp;amp;no_note=1&amp;amp;tax=0&amp;amp;currency_code=USD&amp;amp;lc=US&amp;amp;bn=PP%2dDonationsBF&amp;amp;charset=UTF%2d8&quot;&gt;Donate&lt;/a&gt;';
+      echo '&lt;/p&gt;';
+      echo '&lt;form method=&quot;post&quot; action=&quot;options.php&quot;&gt;';
+      wp_nonce_field('update-options');
+      echo '&lt;table class=&quot;form-table&quot;&gt; 
+      &lt;tr valign=&quot;top&quot;&gt;
+        &lt;th scope=&quot;row&quot;&gt;'.__('Link Style', $this-&gt;textDomain).'&lt;/th&gt;
+        &lt;td&gt;
+          &lt;p&gt;
+            &lt;label&gt;&lt;input name=&quot;'.$p.'linkStyle&quot; type=&quot;radio&quot; value=&quot;text&quot; '. (($this-&gt;options['linkStyle'] == 'text')  ? 'checked=&quot;checked&quot;':'').' /&gt; Language Text&lt;/label&gt;&lt;br /&gt;
+            &lt;label&gt;&lt;input name=&quot;'.$p.'linkStyle&quot; type=&quot;radio&quot; value=&quot;image&quot; '.(($this-&gt;options['linkStyle'] == 'image') ? 'checked=&quot;checked&quot;':'').' /&gt; Flag Icon&lt;/label&gt;
+          &lt;/p&gt;
+        &lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr valign=&quot;top&quot;&gt;
+        &lt;th scope=&quot;row&quot;&gt;'.__('Enable post translation', $this-&gt;textDomain).'&lt;/th&gt;
+        &lt;td&gt;
+          &lt;input name=&quot;'.$p.'postEnable&quot; type=&quot;checkbox&quot; '.(($this-&gt;options['postEnable']) ? 'checked=&quot;checked&quot;':'') .' /&gt;
+        &lt;/td&gt;
+      &lt;/tr&gt;
+      &lt;tr valign=&quot;top&quot;&gt;
+        &lt;th scope=&quot;row&quot;&gt;'.__('Languages').'&lt;/th&gt;
+        &lt;td&gt;';
+          foreach ($this-&gt;languages as $k=&gt;$v) {
+            echo '&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;'.$p.'languages[]&quot; value=&quot;'.$k.'&quot; ';
+            if (in_array($k,(array)$this-&gt;options['languages'])) echo 'checked=&quot;checked&quot;';
+            echo ' /&gt;&amp;nbsp;&lt;img src=&quot;'.$this-&gt;pluginRoot.'flags/'.$k.'.png&quot; title=&quot;'.$v.'&quot; /&gt;&amp;nbsp;'.$v.'&lt;/label&gt;&lt;br /&gt;';
+          }
+      echo '&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
+      &lt;p class=&quot;submit&quot;&gt;
+        &lt;input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;update&quot; /&gt;
+        &lt;input type=&quot;hidden&quot; name=&quot;page_options&quot; value=&quot;'.$page_options.'&quot; /&gt;
+        &lt;input type=&quot;submit&quot; name=&quot;Submit&quot; value=&quot;'.__('Save Changes').'&quot; /&gt;
+      &lt;/p&gt;&lt;/form&gt;&lt;/div&gt;';
+    }
 
-add_action('comment_text', 'translate_comment_link');
+    function getLanguageLinks($type, $id) {
+      $s = '';
+      switch ($this-&gt;options['linkStyle']) {
+        case 'image':
+          foreach($this-&gt;options['languages'] as $lg) {
+            $s .= &quot; &lt;a href=\&quot;javascript:google_translate('$lg','$type',$id);\&quot;&gt;&lt;img src=\&quot;&quot;
+            .$this-&gt;pluginRoot.'flags/'.$lg.'.png&quot; alt=&quot;'.$this-&gt;languages[$lg].'&quot; title=&quot;'.$this-&gt;languages[$lg].'&quot; /&gt;&lt;/a&gt;';
+          }
+          break;
+        case 'text':
+        default:
+          foreach($this-&gt;options['languages'] as $lg) {
+            $s .= &quot; &lt;a href=\&quot;javascript:google_translate('$lg','$type',$id);\&quot;&gt;&quot;.$this-&gt;languages[$lg].'&lt;/a&gt;';
+          }
+          break;
+      }
+      return $s;
+    }
 
-function google_translate_js() {
-  echo &lt;&lt;&lt;EOT
+    function processContent($content = '') {
+      global $post;
+      if (!is_feed()) {                                 // ignore feeds
+        //$this-&gt;loadLanguageFile();  // for future use
+        $id = $post-&gt;ID;
+        $content = '&lt;div id=&quot;translate_post_'.$id.'&quot;&gt;&lt;p&gt;&lt;/p&gt;'
+          .$content
+          .'&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;View this Post in:'.$this-&gt;getLanguageLinks('post', $id).'&lt;/p&gt;';
+      }
+      return $content;
+    }
+
+    function processComment($content = '') {
+      global $comment;
+      $id = $comment-&gt;comment_ID;
+      return '&lt;div id=&quot;translate_comment_'.$id.'&quot;&gt;&lt;p&gt;&lt;/p&gt;'
+         .$content
+         .'&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;View this Comment in:'.$this-&gt;getLanguageLinks('comment', $id).'&lt;/p&gt;';
+    }
+
+
+    function insertJs() {
+      echo &lt;&lt;&lt;EOT
 &lt;script type=&quot;text/javascript&quot; src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;
     google.load('language', '1');
     var original_posts = new Array();
-    var origianl_comments = new Array();
+    var original_comments = new Array();
     function google_translate(lang, type, id){
       text_node = document.getElementById('translate_'+type+'_'+id);
       original_text = get_original_text(type, id, text_node);
@@ -237,9 +260,9 @@ function google_translate_js() {
             original_text = original_posts[id] = text_node.innerHTML;
           break;
         case 'comment':
-          original_text = origianl_comments[id];
+          original_text = original_comments[id];
           if (original_text == null)
-            original_text = origianl_comments[id] = text_node.innerHTML;
+            original_text = original_comments[id] = text_node.innerHTML;
           break;
       }
       return original_text;
@@ -248,8 +271,11 @@ function google_translate_js() {
     google.setOnLoadCallback(google_translate_callback);
 &lt;/script&gt;
 EOT;
+    }
+  }
 }
 
-add_action('wp_footer', google_translate_js);
-add_action('admin_footer', google_translate_js);
+if (class_exists('GoogleTranslation')) {                // instantiate the class
+  $GoogleTranslation = new GoogleTranslation();
+}
 ?&gt;
\ No newline at end of file</diff>
      <filename>ajaxtranslation.php</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>flags/.DS_Store</filename>
    </modified>
    <modified>
      <filename>flags/da.png</filename>
    </modified>
    <modified>
      <filename>flags/hi.png</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>flags/ad.png</filename>
    </removed>
    <removed>
      <filename>flags/af.png</filename>
    </removed>
    <removed>
      <filename>flags/ag.png</filename>
    </removed>
    <removed>
      <filename>flags/ai.png</filename>
    </removed>
    <removed>
      <filename>flags/al.png</filename>
    </removed>
    <removed>
      <filename>flags/am.png</filename>
    </removed>
    <removed>
      <filename>flags/an.png</filename>
    </removed>
    <removed>
      <filename>flags/ao.png</filename>
    </removed>
    <removed>
      <filename>flags/arg.png</filename>
    </removed>
    <removed>
      <filename>flags/as.png</filename>
    </removed>
    <removed>
      <filename>flags/at.png</filename>
    </removed>
    <removed>
      <filename>flags/au.png</filename>
    </removed>
    <removed>
      <filename>flags/aw.png</filename>
    </removed>
    <removed>
      <filename>flags/ax.png</filename>
    </removed>
    <removed>
      <filename>flags/az.png</filename>
    </removed>
    <removed>
      <filename>flags/ba.png</filename>
    </removed>
    <removed>
      <filename>flags/bb.png</filename>
    </removed>
    <removed>
      <filename>flags/bd.png</filename>
    </removed>
    <removed>
      <filename>flags/be.png</filename>
    </removed>
    <removed>
      <filename>flags/bf.png</filename>
    </removed>
    <removed>
      <filename>flags/bh.png</filename>
    </removed>
    <removed>
      <filename>flags/bi.png</filename>
    </removed>
    <removed>
      <filename>flags/bj.png</filename>
    </removed>
    <removed>
      <filename>flags/bm.png</filename>
    </removed>
    <removed>
      <filename>flags/bn.png</filename>
    </removed>
    <removed>
      <filename>flags/bo.png</filename>
    </removed>
    <removed>
      <filename>flags/br.png</filename>
    </removed>
    <removed>
      <filename>flags/bs.png</filename>
    </removed>
    <removed>
      <filename>flags/bt.png</filename>
    </removed>
    <removed>
      <filename>flags/bv.png</filename>
    </removed>
    <removed>
      <filename>flags/bw.png</filename>
    </removed>
    <removed>
      <filename>flags/by.png</filename>
    </removed>
    <removed>
      <filename>flags/bz.png</filename>
    </removed>
    <removed>
      <filename>flags/ca.png</filename>
    </removed>
    <removed>
      <filename>flags/catalonia.png</filename>
    </removed>
    <removed>
      <filename>flags/cc.png</filename>
    </removed>
    <removed>
      <filename>flags/cd.png</filename>
    </removed>
    <removed>
      <filename>flags/cf.png</filename>
    </removed>
    <removed>
      <filename>flags/cg.png</filename>
    </removed>
    <removed>
      <filename>flags/ch.png</filename>
    </removed>
    <removed>
      <filename>flags/ci.png</filename>
    </removed>
    <removed>
      <filename>flags/ck.png</filename>
    </removed>
    <removed>
      <filename>flags/cl.png</filename>
    </removed>
    <removed>
      <filename>flags/cm.png</filename>
    </removed>
    <removed>
      <filename>flags/co.png</filename>
    </removed>
    <removed>
      <filename>flags/cr.png</filename>
    </removed>
    <removed>
      <filename>flags/cu.png</filename>
    </removed>
    <removed>
      <filename>flags/cv.png</filename>
    </removed>
    <removed>
      <filename>flags/cx.png</filename>
    </removed>
    <removed>
      <filename>flags/cy.png</filename>
    </removed>
    <removed>
      <filename>flags/cz.png</filename>
    </removed>
    <removed>
      <filename>flags/dj.png</filename>
    </removed>
    <removed>
      <filename>flags/dk.png</filename>
    </removed>
    <removed>
      <filename>flags/dm.png</filename>
    </removed>
    <removed>
      <filename>flags/do.png</filename>
    </removed>
    <removed>
      <filename>flags/dz.png</filename>
    </removed>
    <removed>
      <filename>flags/ec.png</filename>
    </removed>
    <removed>
      <filename>flags/ee.png</filename>
    </removed>
    <removed>
      <filename>flags/eg.png</filename>
    </removed>
    <removed>
      <filename>flags/eh.png</filename>
    </removed>
    <removed>
      <filename>flags/en_US.png</filename>
    </removed>
    <removed>
      <filename>flags/england.png</filename>
    </removed>
    <removed>
      <filename>flags/er.png</filename>
    </removed>
    <removed>
      <filename>flags/et.png</filename>
    </removed>
    <removed>
      <filename>flags/europeanunion.png</filename>
    </removed>
    <removed>
      <filename>flags/fam.png</filename>
    </removed>
    <removed>
      <filename>flags/fj.png</filename>
    </removed>
    <removed>
      <filename>flags/fk.png</filename>
    </removed>
    <removed>
      <filename>flags/fm.png</filename>
    </removed>
    <removed>
      <filename>flags/fo.png</filename>
    </removed>
    <removed>
      <filename>flags/ga.png</filename>
    </removed>
    <removed>
      <filename>flags/gd.png</filename>
    </removed>
    <removed>
      <filename>flags/ge.png</filename>
    </removed>
    <removed>
      <filename>flags/gf.png</filename>
    </removed>
    <removed>
      <filename>flags/gh.png</filename>
    </removed>
    <removed>
      <filename>flags/gi.png</filename>
    </removed>
    <removed>
      <filename>flags/gl.png</filename>
    </removed>
    <removed>
      <filename>flags/gm.png</filename>
    </removed>
    <removed>
      <filename>flags/gn.png</filename>
    </removed>
    <removed>
      <filename>flags/gp.png</filename>
    </removed>
    <removed>
      <filename>flags/gq.png</filename>
    </removed>
    <removed>
      <filename>flags/gs.png</filename>
    </removed>
    <removed>
      <filename>flags/gt.png</filename>
    </removed>
    <removed>
      <filename>flags/gu.png</filename>
    </removed>
    <removed>
      <filename>flags/gw.png</filename>
    </removed>
    <removed>
      <filename>flags/gy.png</filename>
    </removed>
    <removed>
      <filename>flags/hk.png</filename>
    </removed>
    <removed>
      <filename>flags/hm.png</filename>
    </removed>
    <removed>
      <filename>flags/hn.png</filename>
    </removed>
    <removed>
      <filename>flags/ht.png</filename>
    </removed>
    <removed>
      <filename>flags/hu.png</filename>
    </removed>
    <removed>
      <filename>flags/id.png</filename>
    </removed>
    <removed>
      <filename>flags/ie.png</filename>
    </removed>
    <removed>
      <filename>flags/il.png</filename>
    </removed>
    <removed>
      <filename>flags/in.png</filename>
    </removed>
    <removed>
      <filename>flags/io.png</filename>
    </removed>
    <removed>
      <filename>flags/iq.png</filename>
    </removed>
    <removed>
      <filename>flags/ir.png</filename>
    </removed>
    <removed>
      <filename>flags/is.png</filename>
    </removed>
    <removed>
      <filename>flags/jm.png</filename>
    </removed>
    <removed>
      <filename>flags/jo.png</filename>
    </removed>
    <removed>
      <filename>flags/ke.png</filename>
    </removed>
    <removed>
      <filename>flags/kg.png</filename>
    </removed>
    <removed>
      <filename>flags/kh.png</filename>
    </removed>
    <removed>
      <filename>flags/ki.png</filename>
    </removed>
    <removed>
      <filename>flags/km.png</filename>
    </removed>
    <removed>
      <filename>flags/kn.png</filename>
    </removed>
    <removed>
      <filename>flags/kp.png</filename>
    </removed>
    <removed>
      <filename>flags/kw.png</filename>
    </removed>
    <removed>
      <filename>flags/ky.png</filename>
    </removed>
    <removed>
      <filename>flags/kz.png</filename>
    </removed>
    <removed>
      <filename>flags/la.png</filename>
    </removed>
    <removed>
      <filename>flags/lb.png</filename>
    </removed>
    <removed>
      <filename>flags/lc.png</filename>
    </removed>
    <removed>
      <filename>flags/li.png</filename>
    </removed>
    <removed>
      <filename>flags/lk.png</filename>
    </removed>
    <removed>
      <filename>flags/lr.png</filename>
    </removed>
    <removed>
      <filename>flags/ls.png</filename>
    </removed>
    <removed>
      <filename>flags/lt.png</filename>
    </removed>
    <removed>
      <filename>flags/lu.png</filename>
    </removed>
    <removed>
      <filename>flags/lv.png</filename>
    </removed>
    <removed>
      <filename>flags/ly.png</filename>
    </removed>
    <removed>
      <filename>flags/ma.png</filename>
    </removed>
    <removed>
      <filename>flags/mc.png</filename>
    </removed>
    <removed>
      <filename>flags/md.png</filename>
    </removed>
    <removed>
      <filename>flags/me.png</filename>
    </removed>
    <removed>
      <filename>flags/mg.png</filename>
    </removed>
    <removed>
      <filename>flags/mh.png</filename>
    </removed>
    <removed>
      <filename>flags/mk.png</filename>
    </removed>
    <removed>
      <filename>flags/ml.png</filename>
    </removed>
    <removed>
      <filename>flags/mm.png</filename>
    </removed>
    <removed>
      <filename>flags/mn.png</filename>
    </removed>
    <removed>
      <filename>flags/mo.png</filename>
    </removed>
    <removed>
      <filename>flags/mp.png</filename>
    </removed>
    <removed>
      <filename>flags/mq.png</filename>
    </removed>
    <removed>
      <filename>flags/mr.png</filename>
    </removed>
    <removed>
      <filename>flags/ms.png</filename>
    </removed>
    <removed>
      <filename>flags/mt.png</filename>
    </removed>
    <removed>
      <filename>flags/mu.png</filename>
    </removed>
    <removed>
      <filename>flags/mv.png</filename>
    </removed>
    <removed>
      <filename>flags/mw.png</filename>
    </removed>
    <removed>
      <filename>flags/mx.png</filename>
    </removed>
    <removed>
      <filename>flags/my.png</filename>
    </removed>
    <removed>
      <filename>flags/mz.png</filename>
    </removed>
    <removed>
      <filename>flags/na.png</filename>
    </removed>
    <removed>
      <filename>flags/nc.png</filename>
    </removed>
    <removed>
      <filename>flags/ne.png</filename>
    </removed>
    <removed>
      <filename>flags/nf.png</filename>
    </removed>
    <removed>
      <filename>flags/ng.png</filename>
    </removed>
    <removed>
      <filename>flags/ni.png</filename>
    </removed>
    <removed>
      <filename>flags/np.png</filename>
    </removed>
    <removed>
      <filename>flags/nr.png</filename>
    </removed>
    <removed>
      <filename>flags/nu.png</filename>
    </removed>
    <removed>
      <filename>flags/nz.png</filename>
    </removed>
    <removed>
      <filename>flags/om.png</filename>
    </removed>
    <removed>
      <filename>flags/pa.png</filename>
    </removed>
    <removed>
      <filename>flags/pe.png</filename>
    </removed>
    <removed>
      <filename>flags/pf.png</filename>
    </removed>
    <removed>
      <filename>flags/pg.png</filename>
    </removed>
    <removed>
      <filename>flags/ph.png</filename>
    </removed>
    <removed>
      <filename>flags/pk.png</filename>
    </removed>
    <removed>
      <filename>flags/pm.png</filename>
    </removed>
    <removed>
      <filename>flags/pn.png</filename>
    </removed>
    <removed>
      <filename>flags/pr.png</filename>
    </removed>
    <removed>
      <filename>flags/ps.png</filename>
    </removed>
    <removed>
      <filename>flags/pw.png</filename>
    </removed>
    <removed>
      <filename>flags/py.png</filename>
    </removed>
    <removed>
      <filename>flags/qa.png</filename>
    </removed>
    <removed>
      <filename>flags/re.png</filename>
    </removed>
    <removed>
      <filename>flags/rs.png</filename>
    </removed>
    <removed>
      <filename>flags/rw.png</filename>
    </removed>
    <removed>
      <filename>flags/sa.png</filename>
    </removed>
    <removed>
      <filename>flags/sb.png</filename>
    </removed>
    <removed>
      <filename>flags/sc.png</filename>
    </removed>
    <removed>
      <filename>flags/scotland.png</filename>
    </removed>
    <removed>
      <filename>flags/sd.png</filename>
    </removed>
    <removed>
      <filename>flags/se.png</filename>
    </removed>
    <removed>
      <filename>flags/sg.png</filename>
    </removed>
    <removed>
      <filename>flags/sh.png</filename>
    </removed>
    <removed>
      <filename>flags/si.png</filename>
    </removed>
    <removed>
      <filename>flags/sj.png</filename>
    </removed>
    <removed>
      <filename>flags/sk.png</filename>
    </removed>
    <removed>
      <filename>flags/sl.png</filename>
    </removed>
    <removed>
      <filename>flags/sm.png</filename>
    </removed>
    <removed>
      <filename>flags/sn.png</filename>
    </removed>
    <removed>
      <filename>flags/so.png</filename>
    </removed>
    <removed>
      <filename>flags/sr.png</filename>
    </removed>
    <removed>
      <filename>flags/st.png</filename>
    </removed>
    <removed>
      <filename>flags/sy.png</filename>
    </removed>
    <removed>
      <filename>flags/sz.png</filename>
    </removed>
    <removed>
      <filename>flags/tc.png</filename>
    </removed>
    <removed>
      <filename>flags/td.png</filename>
    </removed>
    <removed>
      <filename>flags/tf.png</filename>
    </removed>
    <removed>
      <filename>flags/tg.png</filename>
    </removed>
    <removed>
      <filename>flags/th.png</filename>
    </removed>
    <removed>
      <filename>flags/tj.png</filename>
    </removed>
    <removed>
      <filename>flags/tk.png</filename>
    </removed>
    <removed>
      <filename>flags/tl.png</filename>
    </removed>
    <removed>
      <filename>flags/tm.png</filename>
    </removed>
    <removed>
      <filename>flags/tn.png</filename>
    </removed>
    <removed>
      <filename>flags/to.png</filename>
    </removed>
    <removed>
      <filename>flags/tr.png</filename>
    </removed>
    <removed>
      <filename>flags/tt.png</filename>
    </removed>
    <removed>
      <filename>flags/tv.png</filename>
    </removed>
    <removed>
      <filename>flags/tw.png</filename>
    </removed>
    <removed>
      <filename>flags/tz.png</filename>
    </removed>
    <removed>
      <filename>flags/ua.png</filename>
    </removed>
    <removed>
      <filename>flags/ug.png</filename>
    </removed>
    <removed>
      <filename>flags/um.png</filename>
    </removed>
    <removed>
      <filename>flags/uy.png</filename>
    </removed>
    <removed>
      <filename>flags/uz.png</filename>
    </removed>
    <removed>
      <filename>flags/va.png</filename>
    </removed>
    <removed>
      <filename>flags/vc.png</filename>
    </removed>
    <removed>
      <filename>flags/ve.png</filename>
    </removed>
    <removed>
      <filename>flags/vg.png</filename>
    </removed>
    <removed>
      <filename>flags/vi.png</filename>
    </removed>
    <removed>
      <filename>flags/vn.png</filename>
    </removed>
    <removed>
      <filename>flags/vu.png</filename>
    </removed>
    <removed>
      <filename>flags/wales.png</filename>
    </removed>
    <removed>
      <filename>flags/wf.png</filename>
    </removed>
    <removed>
      <filename>flags/ws.png</filename>
    </removed>
    <removed>
      <filename>flags/ye.png</filename>
    </removed>
    <removed>
      <filename>flags/yt.png</filename>
    </removed>
    <removed>
      <filename>flags/za.png</filename>
    </removed>
    <removed>
      <filename>flags/zm.png</filename>
    </removed>
    <removed>
      <filename>flags/zw.png</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>805521847bce142151facebc3bf2d21da57a4ad1</id>
    </parent>
  </parents>
  <author>
    <name>Libin Pan</name>
    <email>libin.pan@gmail.com</email>
  </author>
  <url>http://github.com/libin/google-ajax-translation/commit/77e9f472f4824d37f4e22eb5be5c2dc1640ffba4</url>
  <id>77e9f472f4824d37f4e22eb5be5c2dc1640ffba4</id>
  <committed-date>2008-08-12T20:30:52-07:00</committed-date>
  <authored-date>2008-08-12T20:30:52-07:00</authored-date>
  <message>Update to Version 0.3.1</message>
  <tree>df095e2a0b0054800ad3e2ecfc569fbfc97c1254</tree>
  <committer>
    <name>Libin Pan</name>
    <email>libin.pan@gmail.com</email>
  </committer>
</commit>
