Source for file Languages.class.php
Documentation is available at Languages.class.php
* @copyright Copyright (c) 2009, Takács Ákos
* @author Takács Ákos <programmer@rimelek.hu>
* @package LanguageHandler
* Egy nyelvet megvalósító osztály
* Ez az osztály valójában csak arra való, hogy egy
* nyelvet kiválasszunk elsődleges nyelvnek. Ezek után
* az osztály gondoskodik róla, hogy ha mégsem található meg az általa preferált
* nyelvben az adott tartalom, akkor a {@link Languages} osztály
* @package LanguageHandler
* A kiválasztott nyelv kódja
* @param string $langcode Kiválasztott nyelv kódja
$this->langcode =
$langcode;
* Létezik-e $offset indexű tartalom
* @return bool True, ha lézezik, false, ha nem létezik
return isset
($langs[$this->langcode][$offset]);
* Egy tartalom lekérdezése $offset index alapján
* @return string $offset indexű tartalom
return (isset
($langs[$this->langcode][$offset])) ?
$langs[$this->langcode][$offset] :
$langs[$langs->getDefault()][$offset];
* A nyelvek nem módosíthatóak
throw
new Exception('Nem módosítható');
* A nyelvek nem törölhetők dinamikusan
throw
new Exception('Nem módosítható');
* A nyelvek kiválasztását végző osztály
* Itt dől el, hogy melyik nyelvet választjuk ki alapértelmezettnek és
* hol kell keresni a nyelveket.<br />
* Ez az osztály nem példányosítható. Kizárólag a {@link getInstance()}
* metódusán keresztül érhető el a példánya.
* <b>languages/hu.php</b>
* {@example ../languages/hu.php}
* <b>languages/en.php</b>
* {@example ../languages/en.php}
* {@example ../index.php}
* @package LanguageHandler
* Tárolja az osztály egyetlen példányát
private static $instance =
null;
* Értéke egy asszociatív tömb
* Alapértelmezett nyelv kódja
private $languageDir =
'languages';
if (self::$instance ===
null)
self::$instance =
new $class();
* Az osztály nem példányosítható.
* A példány lekérését a {@link getInstance()} metódus végzi
private function __construct()
* Nyelvek mappájának lekérdezése
return $this->languageDir;
* Nyelvek mappájának beálítása
* @param string $dir Ebben a mappában keresi a nyelvi fájlokat
$this->languageDir =
$dir;
* Alapértelmezett nyelv kódja
* Alapértelmezett nyelv kódjának beállítása
* @param string $langcode
$this->default =
$langcode;
* Egy nyelv objektum lekérése
* Ezzel egy okos nyelvobjektumot kapunk,
* ami képes kezelni, ha egy nyelv még nem tartalmaz egy szöveget,
* de az alapértelmezett nyelv igen.
* @param string $langcode A nyelv kódja
return new Language($langcode);
* Létezik-e adott nyelven egy tartalom
* @return bool Ha létezik, True, egyébként false
* Egy bizonyos szöveg lekérdezése adott nyelven
* @param string $offset tartalom azonosítója
$dir =
rtrim($this->languageDir,'/').
'/';
if (!isset
($this->lang[$offset]))
$offset =
$this->default;
if (!isset
($this->lang[$offset]))
require_once $dir.
$offset.
'.php';
$lang =
$this->lang[$offset];
$this->lang[$offset] =
$lang;
return $this->lang[$offset];
* A nyelvlista nem módosítható
throw
new Exception('Nem módosítható');
* A nyelv lista nem törölhető
throw
new Exception('Nem módosítható');
Documentation generated on Sat, 05 Sep 2009 20:57:57 +0200 by phpDocumentor 1.4.1