261 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**@license boxplus strings for localization
 | |
|  * @author  Levente Hunyadi
 | |
|  * @version 0.9.3
 | |
|  * @remarks Copyright (C) 2010-2011 Levente Hunyadi
 | |
|  * @remarks Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
 | |
|  * @see     http://hunyadi.info.hu/projects/boxplus
 | |
|  **/
 | |
| 
 | |
| /*
 | |
| * Requires MooTools 1.2 or later.
 | |
| * Annotated for use with Google Closure Compiler's advanced optimization
 | |
| * method when supplemented with a MooTools extern file.
 | |
| */
 | |
| 
 | |
| ;
 | |
| (function () {
 | |
| 	/** Language strings. */
 | |
| 	var localizations = {
 | |
| 		'en': {
 | |
| 			language: 'English',
 | |
| 			first: 'First',
 | |
| 			prev: 'Previous',
 | |
| 			next: 'Next',
 | |
| 			last: 'Last',
 | |
| 			start: 'Start slideshow',
 | |
| 			stop: 'Stop slideshow',
 | |
| 			close: 'Close',
 | |
| 			enlarge: 'Enlarge',
 | |
| 			shrink: 'Shrink',
 | |
| 			download: 'Download',
 | |
| 			metadata: 'Image metadata',
 | |
| 			notFound: 'Document not found or not available for download.',
 | |
| 			unknownType: 'The embedded content to be displayed in this window is of type <code>%s</code>, which is not currently supported by your browser.\nInstalling the appropriate browser plug-in usually solves the problem.'
 | |
| 		},
 | |
| 		'de': {
 | |
| 			language: 'Deutsch',
 | |
| 			first: 'Erstes',
 | |
| 			prev: 'Zurück',
 | |
| 			next: 'Weiter',
 | |
| 			last: 'Letztes',
 | |
| 			start: 'Diashow starten',
 | |
| 			stop: 'Diashow anhalten',
 | |
| 			close: 'Schließen',
 | |
| 			enlarge: 'Vergrößern',
 | |
| 			shrink: 'Verkleinern',
 | |
| 			download: 'Download',
 | |
| 			metadata: 'Bild Metadaten'
 | |
| 		},
 | |
| 		'es': {
 | |
| 			language: 'Español',
 | |
| 			first: 'Primera',
 | |
| 			prev: 'Anterior',
 | |
| 			next: 'Siguiente',
 | |
| 			last: 'Última',
 | |
| 			start: '',
 | |
| 			stop: '',
 | |
| 			close: 'Cerrar',
 | |
| 			enlarge: 'Ampliar',
 | |
| 			shrink: 'Reducir',
 | |
| 			download: 'Descargar',
 | |
| 			metadata: 'Metadatos de la imagen'
 | |
| 		},
 | |
| 		'fr': {
 | |
| 			language: 'Français',
 | |
| 			first: 'Première',
 | |
| 			prev: 'Précédente',
 | |
| 			next: 'Suivante',
 | |
| 			last: 'Dernière',
 | |
| 			start: 'Démarrer diaporama',
 | |
| 			stop: 'Arrêter diaporama',
 | |
| 			close: 'Fermer',
 | |
| 			enlarge: 'Agrandir',
 | |
| 			shrink: 'Réduire',
 | |
| 			download: 'Télécharger',
 | |
| 			metadata: 'Métadonnées images'
 | |
| 		},
 | |
| 		'bg': {
 | |
| 			language: 'български език',
 | |
| 			first: 'Първа',
 | |
| 			prev: 'Предишна',
 | |
| 			next: 'Следваща',
 | |
| 			last: 'Последна',
 | |
| 			start: 'Старт на слайдшоу',
 | |
| 			stop: 'Спиране на слайдшоу',
 | |
| 			close: 'Затвори',
 | |
| 			enlarge: 'Увеличи',
 | |
| 			shrink: 'Намали',
 | |
| 			download: 'Изтегляне',
 | |
| 			metadata: 'Метаданни на снимката'
 | |
| 		},
 | |
| 		'he': {
 | |
| 			language: 'עִבְרִית',
 | |
| 			first: 'ראשון',
 | |
| 			prev: 'קודם',
 | |
| 			next: 'הבא',
 | |
| 			last: 'אחרון',
 | |
| 			start: 'להתחיל מצגת שקפים',
 | |
| 			stop: 'לסיים מצגת שקפים',
 | |
| 			close: 'קרוב',
 | |
| 			enlarge: 'להגדיל',
 | |
| 			shrink: 'להקטין',
 | |
| 			download: 'להוריד',
 | |
| 			metadata: 'מטא-נתונים'
 | |
| 		},
 | |
| 		'hu': {
 | |
| 			language: 'Magyar',
 | |
| 			first: 'Első',
 | |
| 			prev: 'Előző',
 | |
| 			next: 'Következő',
 | |
| 			last: 'Utolsó',
 | |
| 			start: 'Diavetítés indítása',
 | |
| 			stop: 'Diavetítés megállítása',
 | |
| 			close: 'Bezár',
 | |
| 			enlarge: 'Nagyítás',
 | |
| 			shrink: 'Kicsinyítés',
 | |
| 			download: 'Letöltés',
 | |
| 			metadata: 'Kép metadatai'
 | |
| 		},
 | |
| 		'nl': {
 | |
| 			language: 'Nederlands',
 | |
| 			first: 'Eerste',
 | |
| 			prev: 'Vorige',
 | |
| 			next: 'Volgende',
 | |
| 			last: 'Laatste',
 | |
| 			start: 'Start presentatie',
 | |
| 			stop: 'Stop presentatie',
 | |
| 			close: 'Sluiten',
 | |
| 			enlarge: 'Vergroten',
 | |
| 			shrink: 'Verkleinen',
 | |
| 			download: 'Download',
 | |
| 			metadata: 'Metadata van de afbeelding'
 | |
| 		},
 | |
| 		'pl': {
 | |
| 			language: 'Polski',
 | |
| 			first: 'Pierwszy',
 | |
| 			prev: 'Poprzedni',
 | |
| 			next: 'Następny',
 | |
| 			last: 'Ostatni',
 | |
| 			start: 'Uruchom pokaz slajdów',
 | |
| 			stop: 'Zatrzymaj pokaz slajdów',
 | |
| 			close: 'Zamknij',
 | |
| 			enlarge: 'Powiększ',
 | |
| 			shrink: 'Pomniejsz',
 | |
| 			download: 'Pobierz',
 | |
| 			metadata: 'Metadane obrazka'
 | |
| 		},
 | |
| 		'pt': {
 | |
| 			language: 'Português',
 | |
| 			first: 'Primeiro',
 | |
| 			prev: 'Anterior',
 | |
| 			next: 'Próximo',
 | |
| 			last: 'Último',
 | |
| 			start: 'Iniciar slideshow',
 | |
| 			stop: 'Parar slideshow',
 | |
| 			close: 'Fechar',
 | |
| 			enlarge: 'Ampliar',
 | |
| 			shrink: 'Reduzir',
 | |
| 			download: 'Download',
 | |
| 			metadata: 'Metadados de imagem'
 | |
| 		},
 | |
| 		'ru': {
 | |
| 			language: 'Русский язык',
 | |
| 			first: 'Первый',
 | |
| 			prev: 'Предыдущий',
 | |
| 			next: 'Следующий',
 | |
| 			last: 'Последний',
 | |
| 			start: 'Запустить слайд-шоу',
 | |
| 			stop: 'Остановить слайд-шоу',
 | |
| 			close: 'Закрыть',
 | |
| 			enlarge: 'Увеличить',
 | |
| 			shrink: 'Сократить',
 | |
| 			download: 'Загрузить',
 | |
| 			metadata: 'Метаданные изображений'
 | |
| 		},
 | |
| 		'sk': {
 | |
| 			language: 'Slovenčina',
 | |
| 			first: 'Prvá',
 | |
| 			prev: 'Vzad',
 | |
| 			next: 'Vpred',
 | |
| 			last: 'Posledná',
 | |
| 			start: 'Spustiť prezentáciu',
 | |
| 			stop: 'Zastaviť prezentáciu',
 | |
| 			close: 'Zavrieť',
 | |
| 			enlarge: 'Rozšíriť',
 | |
| 			shrink: 'Zúžiť',
 | |
| 			download: 'Stiahnutie',
 | |
| 			metadata: 'Metaúdaje obrázkov'
 | |
| 		}
 | |
| 	};
 | |
| 
 | |
| 	/**
 | |
| 	* Get language strings and/or set language and country for localization.
 | |
| 	* @param langcode A language code in the ISO format "en".
 | |
| 	* @param countrycode A country code in the ISO format "US".
 | |
| 	* @return Language strings as an object.
 | |
| 	*/
 | |
| 	function apply(langcode, countrycode) {
 | |
| 		var isocode = countrycode ? langcode + '-' + countrycode : langcode;
 | |
| 
 | |
| 		// get language strings for selected language
 | |
| 		var code = localizations[isocode] ? isocode : ( localizations[langcode] ? langcode : '' );
 | |
| 
 | |
| 		var localization = {
 | |
| 			language: '',
 | |
| 			first: '',
 | |
| 			prev: '',
 | |
| 			next: '',
 | |
| 			last: '',
 | |
| 			start: '',
 | |
| 			stop: '',
 | |
| 			close: '',
 | |
| 			enlarge: '',
 | |
| 			shrink: '',
 | |
| 			download: '',
 | |
| 			metadata: '',
 | |
| 			notFound: '',
 | |
| 			unknownType: ''
 | |
| 		};
 | |
| 		if (code) {
 | |
| 			Object.append(localization, localizations[code])
 | |
| 		}
 | |
| 
 | |
| 		// maps possibly minified property names to their expanded (true) name
 | |
| 		var mapping = {
 | |
| 			language: 'language',
 | |
| 			first: 'first',
 | |
| 			prev: 'prev',
 | |
| 			next: 'next',
 | |
| 			last: 'last',
 | |
| 			start: 'start',
 | |
| 			stop: 'stop',
 | |
| 			close: 'close',
 | |
| 			enlarge: 'enlarge',
 | |
| 			shrink: 'shrink',
 | |
| 			download: 'download',
 | |
| 			metadata: 'metadata',
 | |
| 			notFound: 'not-found',
 | |
| 			unknownType: 'unknown-type'
 | |
| 		};
 | |
| 
 | |
| 		// apply language strings
 | |
| 		Object.each(localization, function (value, key) {
 | |
| 			var name = mapping[key];
 | |
| 			$$('div.boxplus-' + name).set('title', value);
 | |
| 			$$('a.boxplus-' + name).set('html', value);
 | |
| 			$$('span.boxplus-' + name).set('html', value);
 | |
| 		});
 | |
| 	};
 | |
| 
 | |
| 	// automatically select language when DOM tree is ready loading
 | |
| 	window.addEvent('domready', function () {
 | |
| 		var pattern = /\blang=([a-z]{2,})(?:-([A-Z]{2,}))?\b/;
 | |
| 		$$('script[src*="boxplus"][src*=lang]').each(function (item) {
 | |
| 			var match = pattern.exec(item.get('src'));
 | |
| 			if (match) {
 | |
| 				apply(match[1], match[2]);
 | |
| 			}
 | |
| 		});
 | |
| 	});
 | |
| })();
 |