View source for Google Translate

#||
||
Compatible with: !!(green)**R6.0**!!
Current version: 0.2
Credits:  ((user:ascrsoft ascrsoft)), ((user:WikiAdmin WikiAdmin))
|{{toc numerate=1}} ||
||#

Adds Google Translate to your page header.

It takes the page language and translates it into the target language. In the $languages array you can define all target languages you want to offer in the drop-down box, which must be of course available for translation.

===Documentation==
((https://translate.google.com/ Google Translate))
((https://en.wikipedia.org/wiki/Google_Translate Wikipedia: Google Translate))

====Header====
theme/yourtheme/appearance/header.php
%%(hl php)
<?php

// Google Translate
if ($this->has_access('read', '', GUEST))
{
	// custom language array
	$languages = [
		'af' => 'Afrikaans',
		'sq' => 'Albanian',
		'am' => 'Amharic',
		'ar' => 'Arabic',
		'hy' => 'Armenian',
		'az' => 'Azerbaijani',
		'eu' => 'Basque',
		'be' => 'Belarusian',
		'bn' => 'Bengali',
		'bs' => 'Bosnian',
		'bg' => 'Bulgarian',
		'ca' => 'Catalan',
		'ceb' => 'Cebuano',
		'ny' => 'Chichewa',
		'zh-CN' => 'Chinese (Simplified)',
		'zh-TW' => 'Chinese (Traditional)',
		'co' => 'Corsican',
		'hr' => 'Croatian',
		'cs' => 'Czech',
		'da' => 'Danish',
		'nl' => 'Dutch',
		'en" selected="selected' => 'English',
		'eo' => 'Esperanto',
		'et' => 'Estonian',
		'tl' => 'Filipino',
		'fi' => 'Finnish',
		'fr' => 'French',
		'fy' => 'Frisian',
		'gl' => 'Galician',
		'ka' => 'Georgian',
		'de' => 'German',
		'el' => 'Greek',
		'gu' => 'Gujarati',
		'ht' => 'Haitian Creole',
		'ha' => 'Hausa',
		'haw' => 'Hawaiian',
		'iw' => 'Hebrew',
		'hi' => 'Hindi',
		'hmn' => 'Hmong',
		'hu' => 'Hungarian',
		'is' => 'Icelandic',
		'ig' => 'Igbo',
		'id' => 'Indonesian',
		'ga' => 'Irish',
		'it' => 'Italian',
		'ja' => 'Japanese',
		'jw' => 'Javanese',
		'kn' => 'Kannada',
		'kk' => 'Kazakh',
		'km' => 'Khmer',
		'ko' => 'Korean',
		'ku' => 'Kurdish (Kurmanji)',
		'ky' => 'Kyrgyz',
		'lo' => 'Lao',
		'la' => 'Latin',
		'lv' => 'Latvian',
		'lt' => 'Lithuanian',
		'lb' => 'Luxembourgish',
		'mk' => 'Macedonian',
		'mg' => 'Malagasy',
		'ms' => 'Malay',
		'ml' => 'Malayalam',
		'mt' => 'Maltese',
		'mi' => 'Maori',
		'mr' => 'Marathi',
		'mn' => 'Mongolian',
		'my' => 'Myanmar (Burmese)',
		'ne' => 'Nepali',
		'no' => 'Norwegian',
		'ps' => 'Pashto',
		'fa' => 'Persian',
		'pl' => 'Polish',
		'pt' => 'Portuguese',
		'pa' => 'Punjabi',
		'ro' => 'Romanian',
		'ru' => 'Russian',
		'sm' => 'Samoan',
		'gd' => 'Scots Gaelic',
		'sr' => 'Serbian',
		'st' => 'Sesotho',
		'sn' => 'Shona',
		'sd' => 'Sindhi',
		'si' => 'Sinhala',
		'sk' => 'Slovak',
		'sl' => 'Slovenian',
		'so' => 'Somali',
		'es' => 'Spanish',
		'su' => 'Sundanese',
		'sw' => 'Swahili',
		'sv' => 'Swedish',
		'tg' => 'Tajik',
		'ta' => 'Tamil',
		'te' => 'Telugu',
		'th' => 'Thai',
		'tr' => 'Turkish',
		'uk' => 'Ukrainian',
		'ur' => 'Urdu',
		'uz' => 'Uzbek',
		'vi' => 'Vietnamese',
		'cy' => 'Welsh',
		'xh' => 'Xhosa',
		'yi' => 'Yiddish',
		'yo' => 'Yoruba',
		'zu' => 'Zulu',
	];
	// or localized lang array, see lang/wacko.en.php
	#$languages = $this->_t('LanguageArray')

	$tpl->enter('gt_');
	$tpl->lang = $this->page['page_lang'];
	
	foreach ($languages as $lang => $language)
	{
		$tpl->o_lang        = $lang;
		$tpl->o_language    = $language;
		
		if ($lang == $this->page['page_lang'])
		{
			$tpl->o_selected = ' selected';
		}
	}
	
	$tpl->leave(); // gt_
}
%%

====Template====

theme/yourtheme/appearance/template/header.tpl
%%(hl html)

<div id="login-box">
	[= gt =
		<!-- Google Translate -->
		[ ' _t: Language ' ]:
		<select id="translateCombo" onchange="translate_web(this);">
			[= o =
				<option value="[ ' lang ' ]"[ ' selected ' ]>[ ' language | e ' ]</option>
			=]
		</select>
		<script>
			var lang	= '[ ' lang | js ' ]';
			function translate_web(language)
			{ 
				document.location = 'https://translate.google.com/translate?langpair='+lang+'|'+ language.value+'&sl='+lang+'&tl='+ language.value+'&u=' + escape(document.location);
			}

			if (top.frames.length != 0)
			{
				document.getElementById("translateCombo").disabled=true;
			}
		</script>
	=]
</div>
%%

===Changelog===
0.1	Intitial version
0.2  adds template, uses page language as default

===To Do==
  * --disable for protected pages--
  * add link to google documentation
  * the script can be also placed for instance in default.js