<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Google Translate My Page" author="Josh E."
         description="Allows for easy, one-click translation of your webpage when you syndicate this gadget on your page."
         author_email="joshe.feedback+translatemypage@gmail.com"
         author_link="http://translate.google.com/"
         title_url="http://translate.google.com/translate_tools"
         screenshot="/ig/modules/translatemypage_content/translatemypage.png"
         thumbnail="/ig/modules/translatemypage_content/translatemypage-thm.png"
         author_location="Mountain View, CA"
         author_affiliation="Google Inc."
         width="160" height="60">
    <Locale messages="/ig/modules/translatemypage_content/messages__en.xml"/>
    <Locale lang="ar" messages="/ig/modules/translatemypage_content/messages__ar.xml"/>
    <Locale lang="zh-CN" messages="/ig/modules/translatemypage_content/messages__zh-cn.xml"/>
    <Locale lang="zh-TW" messages="/ig/modules/translatemypage_content/messages__zh-tw.xml"/>
    <Locale lang="en" messages="/ig/modules/translatemypage_content/messages__en.xml"/>
    <Locale lang="nl" messages="/ig/modules/translatemypage_content/messages__nl.xml"/>
    <Locale lang="fr" messages="/ig/modules/translatemypage_content/messages__fr.xml"/>
    <Locale lang="de" messages="/ig/modules/translatemypage_content/messages__de.xml"/>
    <Locale lang="el" messages="/ig/modules/translatemypage_content/messages__el.xml"/>
    <Locale lang="it" messages="/ig/modules/translatemypage_content/messages__it.xml"/>
    <Locale lang="ja" messages="/ig/modules/translatemypage_content/messages__ja.xml"/>
    <Locale lang="ko" messages="/ig/modules/translatemypage_content/messages__ko.xml"/>
    <Locale lang="pt-BR" messages="/ig/modules/translatemypage_content/messages__pt-br.xml"/>
    <Locale lang="pt-PT" messages="/ig/modules/translatemypage_content/messages__pt-pt.xml"/>
    <Locale lang="ru" messages="/ig/modules/translatemypage_content/messages__ru.xml"/>
    <Locale lang="es" messages="/ig/modules/translatemypage_content/messages__es.xml"/>
    <Require feature="analytics"/>
  </ModulePrefs>
  <UserPref name="source_language" display_name="__MSG_orig_language__" datatype="enum" default_value="en">
    <EnumValue value="ar" display_value="__MSG_arabic__"/>
    <EnumValue value="zh-CN" display_value="__MSG_chinese_zh__"/>
    <EnumValue value="zh-TW" display_value="__MSG_chinese_tw__"/>
    <EnumValue value="en" display_value="__MSG_english__"/>
    <EnumValue value="nl" display_value="__MSG_dutch__"/>
    <EnumValue value="fr" display_value="__MSG_french__"/>
    <EnumValue value="de" display_value="__MSG_german__"/>
    <EnumValue value="el" display_value="__MSG_greek__"/>
    <EnumValue value="it" display_value="__MSG_italian__"/>
    <EnumValue value="ja" display_value="__MSG_japanese__"/>
    <EnumValue value="ko" display_value="__MSG_korean__"/>
    <EnumValue value="pt" display_value="__MSG_portuguese__"/>
    <EnumValue value="ru" display_value="__MSG_russian__"/>
    <EnumValue value="es" display_value="__MSG_spanish__"/>
  </UserPref>
  <Content type="html">
    <![CDATA[
    <style type="text/css">
      #content_div {
        background-image: url(http://www.google.com/ig/modules/translatemypage_content/box.gif);
        background-repeat: no-repeat;
        width:160px;
        height:75px;
        margin: 0px 0px 0px 0px;
      }
      .title {
        padding-left:5px;
        padding-top:5px;
      }
      .title_link {
        color: #666666;
        font-size: 15px;
        font-weight: bold;
        text-decoration:none;
      }
      .title_link:visited {
        color: #666666;
      }
      .title_text {
        vertical-align: top;
      }
      .small {
        font-size: 9px;
        color: #00C;
      }
      a {
        color: #00C;
      }
      #lang_form {
        margin-left: 5px;
        margin-top: 0px;
        margin-bottom: 0px;
      }
      #lang_select {
        width: 146px;
      }
      #s {
        margin-top: 3px;
        margin-right: 8px;
        text-align: right;
      }
    </style>
    <div id="content_div">
      <div class="title">
        <a href="http://translate.google.com/translate_t" target="_top" class="title_link">
          <img border=0 src="http://www.google.com/ig/modules/translatemypage_content/logo.gif" />
          <span class="title_text" id="translate">Translate</span>
        </a>
      </div>
      <form id="lang_form">
        <select id="lang_select" onchange="dotranslate(this);">
          <option value="" id="select_language">Select Language</option>
        </select>
      </form>
      <div style="margin-top:8px;text-align:center;width:100%">
        <i style="color:#999;font-size:0.7em">Update this gadget.
          <a href="http://translate.google.com/translate_tools" target="_top">Click here</a></i>
      </div>
    </div>
    <script>
      var prefs = new _IG_Prefs(__MODULE_ID__);

      function renderGadget() {
        var browser_lang = browserLanguage();
        var orig = prefs.getString("source_language");
        var select_language = _gel("select_language");
        var lang_select_obj = _gel("lang_select");

        var found_browser_lang = false;
        for (var target in target_languages) {
          if (target_languages[target] != browser_lang) {
            lang_select_obj.appendChild(createOption(orig, target_languages[target]));
          } else {
            found_browser_lang = true;
          }
        }
        if (found_browser_lang) {
          lang_select_obj.insertBefore(
              createOption(orig, browser_lang),
              select_language.nextSibling);
        }
        if (_args()["source"] && _args()["source"].match("translate_c")) {
          var newoption = document.createElement("option");
          newoption.value = "orig";
          newoption.id = "original_page";
          newoption.appendChild(document.createTextNode("Original Page"));
          lang_select_obj.insertBefore(newoption, select_language.nextSibling);
        }

        updateForBrowserLang(browser_lang);
      }

      var target_languages = ['ar',     // Arabic
                              'bg',     // Bulgarian
                              'ca',     // Catalan
                              'cs',     // Czech
                              'da',     // Danish
                              'de',     // German
                              'el',     // Greek
                              'en',     // English
                              'es',     // Spanish
                              'fi',     // Finnish
                              'fr',     // French
                              'hi',     // Hindi
                              'hr',     // Croatian
                              'id',     // Indonesian
                              'it',     // Italian
                              'iw',     // Hebrew
                              'ja',     // Japanese
                              'ko',     // Korean
                              'lt',     // Lithuanian
                              'lv',     // Latvian
                              'nl',     // Dutch
                              'no',     // Norwegian
                              'pl',     // Polish
                              'pt',     // Portuguese
                              'ro',     // Romanian
                              'ru',     // Russian
                              'sk',     // Slovak
                              'sl',     // Slovenian
                              'sr',     // Serbian
                              'sv',     // Swedish
                              'tl',     // Filipino
                              'uk',     // Ukrainian
                              'vi',     // Vietnamese
                              'zh-CN',  // Chinese (Simplified)
                              'zh-TW']; // Chinese (Traditional)

      // GWS Message 3
      var display_name = new Array();
      display_name['ar'] =    "&#x627;&#x644;&#x639;&#x631;&#x628;&#x64A;&#x629;";
      display_name['bg'] =    "&#x431;&#x44A;&#x43B;&#x433;&#x430;&#x440;&#x441;&#x43A;&#x438;";
      display_name['ca'] =    "català";
      display_name['cs'] =    "&#x10D;esky";
      display_name['da'] =    "Dansk";
      display_name['de'] =    "Deutsch";
      display_name['el'] =    "&#x395;&#x3BB;&#x3BB;&#x3B7;&#x3BD;&#x3B9;&#x3BA;&#x3AC;";
      display_name['en'] =    "English";
      display_name['es'] =    "Español";
      display_name['fi'] =    "suomi";
      display_name['fr'] =    "Français";
      display_name['hi'] =    "&#x939;&#x93F;&#x928;&#x94D;&#x926;&#x940;";
      display_name['hr'] =    "hrvatski";
      display_name['id'] =    "Indonesia";
      display_name['it'] =    "Italiano";
      display_name['iw'] =    "&#x5E2;&#x5D1;&#x5E8;&#x5D9;&#x5EA;";
      display_name['ja'] =    "&#x65E5;&#x672C;&#x8A9E;";
      display_name['ko'] =    "&#xD55C;&#xAD6D;&#xC5B4;";
      display_name['lt'] =    "Lietuvi&#x173;";
      display_name['lv'] =    "latviešu";
      display_name['nl'] =    "Nederlands";
      display_name['no'] =    "norsk";
      display_name['pl'] =    "Polski";
      display_name['pt'] =    "Português";
      display_name['ro'] =    "Român&#x103;";
      display_name['ru'] =    "&#x420;&#x443;&#x441;&#x441;&#x43A;&#x438;&#x439;";
      display_name['sk'] =    "sloven&#x10D;ina";
      display_name['sl'] =    "slovenš&#x10D;ina";
      display_name['sr'] =    "&#x441;&#x440;&#x43F;&#x441;&#x43A;&#x438;";
      display_name['sv'] =    "Svenska";
      display_name['tl'] =    "Filipino";
      display_name['uk'] =    "&#x443;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x441;&#x44C;&#x43A;&#x430;";
      display_name['vi'] =    "Ti&#x1EBF;ng Vi&#x1EC7;t";
      display_name['zh-CN'] = "&#x4E2D;&#x6587; (&#x7B80;&#x4F53;)";
      display_name['zh-TW'] = "&#x4E2D;&#x6587; (&#x7E41;&#x9AD4;)";

      // TODO(jestelle): All of the below messages should be moved into message
      // files.  This was not possible before because iGoogle did not localized
      // properly based on the user's interface and/or accept languages.  Now
      // that they do, we can put these into normal message files, and get rid
      // of updateForBrowserLang()
      // Message 33
      var translate_message = new Array();
      translate_message['ar']    = "&#x62A;&#x631;&#x62C;&#x645;&#x629;";
      translate_message['bg']    = "&#x41F;&#x440;&#x435;&#x432;&#x43E;&#x434;&#x430;&#x447;";
      translate_message['ca']    = "Traductor";
      translate_message['cs']    = "P&#x159;eklada&#x10D;";
      translate_message['da']    = "Oversæt";
      translate_message['de']    = "Übersetzung";
      translate_message['el']    = "&#x39C;&#x3B5;&#x3C4;&#x3AC;&#x3C6;&#x3C1;&#x3B1;&#x3C3;&#x3B7;";
      translate_message['en']    = "Translate";
      translate_message['es']    = "Traductor";
      translate_message['fi']    = "Kääntäjä";
      translate_message['fr']    = "Traduction";
      translate_message['hi']    = "&#x905;&#x928;&#x941;&#x935;&#x93E;&#x926; &#x915;&#x930;&#x947;&#x902;";
      translate_message['hr']    = "Prevoditelj";
      translate_message['id']    = "Translate";
      translate_message['it']    = "Traduttore";
      translate_message['iw']    = "&#x5EA;&#x5E8;&#x5D2;&#x5DD;";
      translate_message['ja']    = "&#x7FFB;&#x8A33;";
      translate_message['ko']    = "&#xBC88;&#xC5ED;";
      translate_message['lt']    = "Versti";
      translate_message['lv']    = "Tulkot&#x101;js";
      translate_message['nl']    = "Vertaal";
      translate_message['no']    = "Oversetter";
      translate_message['pl']    = "T&#x142;umacz";
      translate_message['pt']    = "Tradutor";
      translate_message['ro']    = "Traducere";
      translate_message['ru']    = "&#x41F;&#x435;&#x440;&#x435;&#x432;&#x43E;&#x434;&#x447;&#x438;&#x43A;";
      translate_message['sk']    = "Preklada&#x10D;";
      translate_message['sl']    = "Prevajalnik";
      translate_message['sr']    = "&#x43F;&#x440;&#x435;&#x432;&#x43E;&#x434;&#x438;&#x43B;&#x430;&#x446;";
      translate_message['sv']    = "Översätt";
      translate_message['tl']    = "Pagsasalin";
      translate_message['uk']    = "&#x41F;&#x435;&#x440;&#x435;&#x43A;&#x43B;&#x430;&#x434;&#x430;&#x447;";
      translate_message['vi']    = "D&#x1ECB;ch";
      translate_message['zh-CN'] = "&#x7FFB;&#x8BD1;";
      translate_message['zh-TW'] = "&#x7FFB;&#x8B6F;";


      // Message 75
      var select_language_message = new Array();
      select_language_message['ar']    = "&#x62A;&#x62D;&#x62F;&#x64A;&#x62F; &#x627;&#x644;&#x644;&#x63A;&#x629;";
      select_language_message['bg']    = "&#x418;&#x437;&#x431;&#x43E;&#x440; &#x43D;&#x430; &#x435;&#x437;&#x438;&#x43A;";
      select_language_message['ca']    = "Selecciona l'idioma";
      select_language_message['cs']    = "Zvolit jazyk";
      select_language_message['da']    = "Vælg sprog";
      select_language_message['de']    = "Sprache wählen";
      select_language_message['el']    = "&#x395;&#x3C0;&#x3B9;&#x3BB;&#x3BF;&#x3B3;&#x3AE; &#x3B3;&#x3BB;&#x3CE;&#x3C3;&#x3C3;&#x3B1;&#x3C2;";
      select_language_message['en']    = "Select Language";
      select_language_message['es']    = "Seleccionar idioma";
      select_language_message['fi']    = "Valitse kieli";
      select_language_message['fr']    = "Choisissez langue";
      select_language_message['hi']    = "&#x92D;&#x93E;&#x937;&#x93E; &#x91A;&#x941;&#x928;&#x947;&#x902;";
      select_language_message['hr']    = "Odaberite jezik";
      select_language_message['id']    = "Pilih Bahasa";
      select_language_message['it']    = "Seleziona lingua";
      select_language_message['iw']    = "&#x5D1;&#x5D7;&#x5D9;&#x5E8;&#x5EA; &#x5E9;&#x5E4;&#x5D4;";
      select_language_message['ja']    = "&#x8A00;&#x8A9E;&#x3092;&#x9078;&#x629E;";
      select_language_message['ko']    = "&#xC5B8;&#xC5B4;&#xC124;&#xC815;";
      select_language_message['lt']    = "Pasirinkite kalb&#x105;";
      select_language_message['lv']    = "Atlasiet valodu";
      select_language_message['nl']    = "Kies Taal";
      select_language_message['no']    = "Velg språk";
      select_language_message['pl']    = "Wybierz j&#x119;zyk";
      select_language_message['pt']    = "Seleccionar idioma";
      select_language_message['ro']    = "Selecta&#x163;i limba";
      select_language_message['ru']    = "&#x412;&#x44B;&#x431;&#x435;&#x440;&#x438;&#x442;&#x435; &#x44F;&#x437;&#x44B;&#x43A;";
      select_language_message['sk']    = "Výber jazyka";
      select_language_message['sl']    = "Izberi jezik";
      select_language_message['sr']    = "&#x418;&#x437;&#x430;&#x431;&#x435;&#x440;&#x438; &#x458;&#x435;&#x437;&#x438;&#x43A;";
      select_language_message['sv']    = "Välj språk";
      select_language_message['tl']    = "Pumili ng Wika";
      select_language_message['uk']    = "&#x412;&#x438;&#x431;&#x435;&#x440;&#x456;&#x442;&#x44C; &#x43C;&#x43E;&#x432;&#x443;";
      select_language_message['vi']    = "Ch&#x1ECD;n Ngôn ng&#x1EEF;";
      select_language_message['zh-CN'] = "&#x9009;&#x62E9;&#x8BED;&#x8A00;";
      select_language_message['zh-TW'] = "&#x9078;&#x64C7;&#x8A9E;&#x8A00;";


      // Message 76
      var original_page_message = new Array();
      original_page_message['ar']    = "&#x627;&#x644;&#x635;&#x641;&#x62D;&#x629; &#x627;&#x644;&#x623;&#x635;&#x644;&#x64A;";
      original_page_message['bg']    = "&#x41E;&#x440;&#x438;&#x433;&#x438;&#x43D;&#x430;&#x43B;&#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;";
      original_page_message['ca']    = "Pàgina original";
      original_page_message['cs']    = "P&#x16F;vodní stránka";
      original_page_message['da']    = "Oprindelige side";
      original_page_message['de']    = "Originalseite";
      original_page_message['el']    = "&#x3A0;&#x3C1;&#x3C9;&#x3C4;&#x3CC;&#x3C4;&#x3C5;&#x3C0;&#x3B7; &#x3C3;&#x3B5;&#x3BB;&#x3AF;&#x3B4;&#x3B1;";
      original_page_message['en']    = "Original Page";
      original_page_message['es']    = "Página original";
      original_page_message['fi']    = "Alkuperäinen sivu";
      original_page_message['fr']    = "Page d'origine";
      original_page_message['hi']    = "&#x92E;&#x942;&#x932; &#x92A;&#x943;&#x937;&#x94D;&#x920;";
      original_page_message['hr']    = "Izvorna stranica";
      original_page_message['id']    = "Lihat Laman asli";
      original_page_message['it']    = "Pagina originale";
      original_page_message['iw']    = "&#x5D3;&#x5E3; &#x5DE;&#x5E7;&#x5D5;&#x5E8;&#x5D9;";
      original_page_message['ja']    = "&#x30AA;&#x30EA;&#x30B8;&#x30CA;&#x30EB; &#x30DA;&#x30FC;&#x30B8;";
      original_page_message['ko']    = "&#xC6D0;&#xB798; &#xD398;&#xC774;&#xC9C0;";
      original_page_message['lt']    = "Pradinis puslapis";
      original_page_message['lv']    = "Ori&#x123;in&#x101;l&#x101; lapa";
      original_page_message['nl']    = "Originele Pagina";
      original_page_message['no']    = "Opprinnelig side";
      original_page_message['pl']    = "Oryginalna strona";
      original_page_message['pt']    = "Página original";
      original_page_message['ro']    = "Pagina original&#x103;";
      original_page_message['ru']    = "&#x418;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x430;&#x44F; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;";
      original_page_message['sk']    = "Pôvodná stránka";
      original_page_message['sl']    = "Izvirna stran";
      original_page_message['sr']    = "&#x41E;&#x440;&#x438;&#x433;&#x438;&#x43D;&#x430;&#x43B;&#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;";
      original_page_message['sv']    = "Ursprunglig sida";
      original_page_message['tl']    = "Orihinal na Pahina";
      original_page_message['uk']    = "&#x41E;&#x440;&#x438;&#x433;&#x456;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x456;&#x43D;&#x43A;&#x430;";
      original_page_message['vi']    = "Trang g&#x1ED1;c";
      original_page_message['zh-CN'] = "&#x539F;&#x6765;&#x7684;&#x9875;&#x9762;";
      original_page_message['zh-TW'] = "&#x539F;&#x59CB;&#x7DB2;&#x9801;";


      function updateForBrowserLang(browser_lang) {
        _gel('translate').innerHTML =
            translate_message[browser_lang];
        _gel('select_language').innerHTML =
            select_language_message[browser_lang];
        if (_gel('original_page')) {
          _gel('original_page').innerHTML =
              original_page_message[browser_lang];
        }
      }

      function browserLanguage() {
        // Use the language iGoogle servers think the user wants
        var blang = prefs.getLang();

        // Make sure we have messages for that language
        if (translate_message[blang] != undefined) {
          return blang;
        } else if (translate_message[blang.substring(0,2)] != undefined) {
          return blang.substring(0,2);
        } else {
          return "en";
        }
      }

      function createOption(source_lang, target_lang) {
        var newoption = document.createElement("option");
        newoption.id = "op" + source_lang + target_lang;
        newoption.value = getLanguageParameter(source_lang, target_lang);
        newoption.appendChild(document.createTextNode(display_name[target_lang]));
        return newoption;
      }

      function getURL() {
        var url;
        if (_args()['customurl']) {
          url = _args()['customurl'];
        } else {
          url = _args()['source'];

          if (url.match('translate_c')) {
            if (window.RegExp) {
              var regex = new RegExp("[\?&]u=([^&#]*)");
              var results = regex.exec(url);
              if (results != null) {
                url = _unesc(results[1]);
              }
            }
          }
        }

        return url;
      }

      function getLanguageParameter(source_lang, target_lang) {
        return "&langpair=" + source_lang + "|" + target_lang;
      }

      function dotranslate(select_obj) {
        var target_url = getURL();
        // disable if on the syndicated gadget creator
        if (target_url.match("ig/creator")) {
          return;
        }
        var path_suffix = "";
        if (select_obj.value == "orig") {
          window.top.location=target_url;
        }
        else if (select_obj.value != '') {
          _IG_Analytics("UA-1043770-1", "/translate_my_page_gadget/translate");
          window.top.location='http://translate.google.com/translate' +
                              '?client=tmpg&hl=' + browserLanguage() + '&u=' +
                              _esc(target_url) + select_obj.value;
        }
      }

      _IG_Analytics("UA-1043770-1", "/translate_my_page_gadget");

      renderGadget();
    </script>
    ]]>
  </Content>
</Module>
