PHP Jet Framework

rychle, jednoduše, přímo, bezpečně, efektivně
čeština
Jak začít Dokumentace Ke stažení Kontakt Diskuze / Fórum Blog
Dokumentace

Jet\Translator_Backend

Tato abstraktní třída představuje backend překladače, tedy třídy, která fakticky načítá a ukládá slovníky. Při běžném použití překladače se s touto třídou nesetkáte, protože celý překladač se používá přes fasádu - třídu Jet\Translator (Jet\Tr). Ovšem třídu je třeba znát pokud chcete proniknout do překladače pořádně a například si vytvořit vlastní backend.

Metoda Význam
abstract public loadDictionary(
string $dictionary,
Locale $locale,
?string $file_path = null
): Translator_Dictionary
Načte daný slovník pro danou lokalizaci.

Pro realizaci různých nástrojů je možné přímo určit soubor ze kterého má být slovník nahrán (parametr $file_path). Ovšem při běžném použití si backend určí cestu k souboru sám (a využije při tom nastavení SysConf_Path::getDictionaries())
abstract public saveDictionary(
Translator_Dictionary $dictionary,
?string $file_path = null
): void
Uloží daný slovník. Název slovníku a lokalizace jsou již vlastnosti slovníku - tedy není nutné tyto údaje uvádět jako parametry .

Pro realizaci různých nástrojů je možné přímo určit soubor do kterého má být slovník uložen (parametr $file_path). Ovšem při běžném použití si backend určí cestu k souboru sám (a využije při tom nastavení SysConf_Path::getDictionaries())
public updateTranslation(
string $translation,
array $data
) : string
Do přeložené fráze doplní případná data.

Je možné implementovat další operace s již přeloženou frází, pokud vyvinete vlastní backend.
public generateHash(
string $phrase
): string
Pro interní účely generuje z frází hash, která slouží jako klíč v poli frází jednotlivých slovníků.

Proč něco takového existuje? Pokud jsou fráze krátké, tak není problém, aby jako klíč pole byla použita fráze samotná. Ovšem dlouhé fráze jsou jako klíč pole kontraproduktivní. Proto se pro dlouhé fráze generuje hash.

Jelikož je tento mechanismus součástí backendu, tak je možné jej měnit v případě implementace vlastního backendu.
Předchozí kapitola
Jet\Translator
Další kapitola
Jet\Translator_Backend_Default