useGrafikpfad = 'images/pl/grafikpack-full';

var I18N = {
	'wordTable' : {
		'noObjInFrontOfAds' : 'Bitte die das Objekt nicht vor die Werbung schieben - auch DL braucht Werbung :/',
		'tavernTableEmpty' : 'Tisch {0} ist unbesetzt!',
		'tavernTableInfo' : 'Tischinfo',
		'tavernTableWithId' : 'Tisch {0}',
  		'DECIMAL_POINT' : ',',
  		'THOUSANDS_SEP' : '.',
  		'SECOND' : ['sekunda', 'sekund'],
  		'MINUTE' : ['Minuta', 'minut'],
  		'HOUR' : ['godzina', 'godzin'],
  		'DAY' : ['dzień', 'dni'],
  		'ABORT' : 'Anuluj',
  		'AREANAME_0' : 'Ocean',
  		'AREANAME_7' : 'Szepczący Las',
  		'AREANAME_8' : 'Płaskowyż Odłam',
  		'AREANAME_9' : 'Nag\'rd Nöj',
  		'AREANAME_10' : 'Słoneczny Gaj',
  		'AREANAME_11' : 'Szmaragdowe Doliny',
  		'AREANAME_12' : 'Kraina Damagra',
  		'AREANAME_13' : 'Moderia',
  		'AREANAME_14' : 'Śpiewająca Pustynia',
  		'AREANAME_15' : 'Szklana Dolina',
  		'HIRE_PACK_QUESTION' : 'Naprawdę zwerbować żołdaków \'{0}\' ?',
  		'JS_NO_MONSTERS_ON_FIELD' : 'Brak monstrów',
  		'JS_MONSTER_DISPLAY_DEACTIVATED' : 'Wyłącz pokazywanie monstrów',
  		'QUEUE_ENTRY_READY' : 'Gotowe',
		'BUILDING_PLACEMENT_INFO' : 'Umieść budynek w wybranym miejscu Waszej osady poprzez poruszanie myszką.  Będąc w odpowiednim miejscu kliknięciem lewej myszki startujecie budowę budynku. [color=tomato]Zielone miejsca zostaną usunięte, czerwonych miejsc nie da się usunąć. [/color] Jeżeli nie chcesz rozpocząć budowy to zamknij po prostu to okno i akcja zostanie zatrzymana.',
		'INFO_MENU_HH' : 'Budowa',
		'INFO_MENU_BIBO' : 'Biblioteka',
		'INFO_MENU_TEMPEL' : 'świątynia',
		'INFO_MENU_HEXE' : 'Laboratorium',
		'INFO_MENU_KASERNE' : 'Koszary',
		'INFO_MENU_FRIEDHOF' : 'Cmentarz',
		'INFO_MENU_DRACHENHOF' : 'Dom smoków',
		'INFO_MENU_SCHATTENPORTAL' : 'Kraina ciemności',
		'INFO_MENU_VERTEIDIGUNG' : 'Obrona',
		'INFO_MENU_MARKT' : 'Rynek',
		'INFO_MENU_HANDEL' : 'Handel',
		'INFO_MENU_WAPPEN' : 'Herb',
		'INFO_MENU_TRUPPEN' : 'Oddziały',
		'INFO_MENU_EINHEITEN' : 'Jednostki',
		'INFO_MENU_KARTE' : 'Mapa',
		'INFO_MENU_AREA' : 'Kraina',
		'INFO_MENU_GRUPPE' : 'Bractwo',
		'INFO_MENU_KRIEG' : 'Walki',
		'INFO_MENU_TOPLIST1' : 'Lista 1',
		'INFO_MENU_TOPLIST2' : 'Lista 2',
		'INFO_MENU_TOPLISTG' : 'Toplista bractw',
		'INFO_MENU_IGM' : 'Wiadomości',
		'INFO_MENU_HILFE' : '<u>P</u>omoc',
		'INFO_MENU_SONSTIGES' : 'Inne',
		'INFO_MENU_TAVERN' : 'Taverna',
		'INFO_MENU_COMMITMENT' : 'Ankiety',
		'INFO_MENU_TOURNEY' : 'Turnieje',
		'INFO_MENU_SETTLESHOP' : 'Dekoshop',
		'GTYPE_ANARCHIE_BONUS' : 'Anarchia rządzi, dwa razy w miesiącu (1szego i 15tego dnia), wszystkie posterunki w grupie zostają obsadzone losowo członkami grupy. W takim przypadku do nowego przywódcy zostanie wysłana wiadomość.',
		'GTYPE_SCHATTENBRUT_BONUS' : 'W bractwie mocarzy pozycja w bractwie  będzie przyznawana codziennie o 4:30 w zależności od liczby jego mieszkańców. Najsilniejsi gracze otrzymają odpowiednio pozycję zastępcy, generała, ministra i maga.',
		'GTYPE_RITUALISTEN_BONUS' : 'Rytualiści przykładają dużą uwagę do ofiary. Stanowiska są przydzielane codziennie o 4:30 na podstawie punktów ofiar poszczególnych członków. Im więcej punktów ofiar macie na swoim koncie, tym bardziej wpływowe stanowisko otrzymacie. Rozdawane są stanowiska przywódcy bractwa, jego zastępcy, generała, ministra i maga.',
		'GTYPE_JAEGER_SAMMLER_BONUS' : 'Ci myśliwi i zbieracze, którzy wykażą się największą produkcją, będą uprzywilejowani w bractwie. Zgodnie z wynikami produkcyjnymi otrzymają stanowisko zastępcy, generała, ministra i maga (codziennie o 4:30).',
		'MAX_TRADE_DIFF_X' : 'Różnica warości nie może wynosić więcej niż {0}% !',
		'TRADE_DIFF_OKAY' : 'Proporcje w surowcach OK!',
		'ORE' : 'Ruda',
		'GOLD' : 'Złoto',
		'WOOD' : 'Drewno',
		'FOOD' : 'Żywność',
		'SILVER' : 'Srebro',
		'DURATION_UNTIL_ENDTIME' : '{0} do {1}',
		'ENTER_TEMPLATE_NAME' : 'Jak ma się szablon nazywać?',
		'YES' : 'Tak',
		'NO' : 'Nie',
		'MONSTERFIELD_TYPE_0' : 'Mieszane',
		'MONSTERFIELD_TYPE_1' : 'Walka wręcz',
		'MONSTERFIELD_TYPE_2' : 'Walka z dystansu',
		'MONSTERFIELD_TYPE_3' : 'Magia walki',
		'MONSTERFIELD_TYPE_4' : 'Magia pomocnicza',
		'MONSTERFIELD_CHALLENGE' : '(wyzwanie)',
		'SAVE_NOTES' : 'Zapisz notatki',
		'CLOSE_NOTES' : 'Zamknij',
		'ITEM_COSTS_POPUP' : 'Przedmiot \'{0}\' zmienia wydajność jednostki o [b]{1} TP[/b] i wymaga [b]{2} punktów ofiary[/b] aby go użyć. Kosztuje Was:\n\n[img]{3}/icons/20x20/erz.gif[/img][b] Ruda:[/b] {4} - [img]{3}/icons/20x20/gold.gif[/img][b] Złoto:[/b] {5} - [img]{3}/icons/20x20/holz.gif[/img][b] Drewno:[/b] {6} - [img]{3}/icons/20x20/nahrung_{7}.gif[/img][b] Żywność :[/b] {8} - [img]{3}/icons/20x20/silber.gif[/img][b] Srebro:[/b] {9}',
		'DO_REPAIR' : 'Naprawa',
		'REPAIR_MARKET_RES' : 'Brakuje Wam następujących surowców do [b]naprawy[/b]:',
		'HEAL_UNITS' : 'Leczenie jednostek',
		'HEAL_MARKET_RES' : 'Brakuje Wam następujących surowców do [b]leczenia[/b]:',
		'MISSING_RES' : 'Brakujące zasoby'
	},
	
	/**
	  * Format number according to the locale
	  *
	  * @param theNumber The number to be formatted
	  * @param decimalDigits The number of decimal digits can be passed to this functions, as it is not locale specific. Defaults to 0 decimal digits.
	  */
	'numberFormat' : function(theNumber, decimalDigits) {
		return(number_format(theNumber, decimalDigits, this.wordTable['DECIMAL_POINT'], this.wordTable['THOUSANDS_SEP']));
	},

	/**
	 * Format a duration according to the locale
	 *
	 * @param duration The duration to format
	 * @param showUnit (optional) If the unit shall be displayed, set this to true (default)
	 */
	 'durationFormat' : function(duration, showUnit) {
		if(duration < 60) {
		  multiplier = 1;
		  unitLangId = 'SECOND';
		} else if(duration < 3600) {
		  multiplier = 60;
		  unitLangId = 'MINUTE';
		} else if(duration < 86400) {
		  multiplier = 3600;
		  unitLangId = 'HOUR';
		} else {
		  multiplier = 86400;
		  unitLangId = 'DAY';
		}
		
		durationString = this.numberFormat(duration / multiplier, 1);
		if(durationString.indexOf(this.wordTable['DECIMAL_POINT']) != -1) { // If we have a fractionated number
			durationString = durationString.replace(/0+$/, '');						// Trim right zeroes
			if(durationString.substr(durationString.length - 1, 1) == this.wordTable['DECIMAL_POINT']) durationString = durationString.substr(0, durationString.length - 1);  // If, after trimming zeroes, the decimal point is the end of the string, remove it as well
		}
		return(durationString + (showUnit ? ' ' + this.pluralize(Math.round(duration / multiplier * 10) / 10, unitLangId) : ''));
	},
	
	/**
	  * Function to pluralize a given language object
	  *
	  * @param theNumber The number that we are seeking the plural form for
	  * @param langObjId The language object ID. This must refer to an array of objects inside this internationalization classes word table
	  */
	'pluralize' : function(theNumber, langObjId) {
		if(theNumber != 1) return(this.wordTable[langObjId][1]); // In german, everything with a count of 2 or more uses the plural
		return(this.wordTable[langObjId][0]);			// Otherwise return the singular
	},
	
	/**
	  * Returns a specific string
	  * In contrast to the PHP I18N function, this function is used rarely, only when JS strings have wildcards that must be replaced. Usually, the variables are accessed directly through the word table.
          *
	  * @param varName The variable name of the string
	  * @param params A number indexed array of values. The wildcard {0} in the string is replaced with the value at index 0 etc. If the array is empty, nothing is changed
	  */
	'getSpecificString' : function(varName, params) {
		var varVal = this.wordTable[varName];
		if(typeof(params) != 'undefined' && typeof(params.length) != 'undefined') {
			for(var i = 0, len = params.length; i < len; ++i) {
				var replacer = new RegExp('\\{' + String(i) + '\\}', 'g');
				varVal = varVal.replace(replacer, params[i]);
			}
		}
		return(varVal);
	}


}