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.

Přehled metod

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.
abstract public installApplicationModuleDictionaries(
Application_Module_Manifest $module
): void
Nainstaluje do systému slovníky, které si aplikační module nese ve svém instalační adresáři.
abstract public collectApplicationModuleDictionaries(
Application_Module_Manifest $module
): void
Vytáhne ze systému aktuální slovníky patřící aplikačnímu modulu a nakopíruje je do jeho instalačního adresáře.
abstract public uninstallApplicationModuleDictionaries(
Application_Module_Manifest $module
): void
Odinstaluje (smaže) ze systému slovníky patřící aplikačnímu modulu.
abstract public getKnownLocales(
): Locale[]
Vrátí seznam všech lokalizací, které překladový systém zná v danou chvíli.
abstract public getKnownDictionaries(
Locale $locale
): string[]
Vrátí seznam názvů všech slovníků dané lokalizace, které překladový systém zná v danou chvíli.
Předchozí kapitola
Jet\Translator
Další kapitola
Jet\Translator_Backend_Default