
Job Moony\app\jobs\LanguageSetJob nastavuje jazyk aplikace a určuje výchozí jazyk pro cron joby. Soubory jsou uloženy v /storage/lang a jejich nazev je iso two letter country code ve formátu ini (en.ini, cs.ini).
Použít se dá napříč aplikací pomocí globální funkce lang(). První argument je položka v ini souboru, pokud je součástí skupiny, je třeba tuto skupinu uvést a oddělit tečkou.
Pokud je potřeba jednorázově použít položku z jiného jazyka, bude první argument pole, které bude obsahovat jaký jazyk použit a položku v ini.
lang('ItemLabel');
lang('System.ItemLabel');
lang(['cs', 'System.ItemLabel']);Pro užití proměnné použij nativní funkci sprintf() a v ini souboru %s, %d atd.
V jazykovém souboru je třeba použít speciální zápis a globální funkci lang() bude vyžadovat druhý parametr, hodnotu podle které skloňovat, resp. který z uvedených záznamů použít. Zapisuje se formou {{1:jeden||2,4:dva až čtyři||5,:pět a více}}. V záznamu je také možno uvést %%, místo toho bude dosazena hodnota, podle které se skloňuje.
Item1 = "Váš košík obsahuje %% {{1:položku||2,4:položky||5,:položek}}"; Item2 = "Číslo %% je {{,0:menší, nebo rovno 0||1,:větší, než 0}}"; Item3 = "Překlad slova %% je {{car:auto||house:dům}}";lang('Item1', 10); // Váš košík obsahuje 10 položek lang('Item2', 2); // Číslo 2 je větší, než 0 lang('Item3', 'car'); // Překlad slova car je auto