Disassembler

Artificial intelligence is no match for natural stupidity.
13srpen2015

Čeština v Zabbix 2.4.6 a práce s locales


Zabbix v současné době můj nejoblíbenější monitorovací nástroj. Už jsem to zmiňoval v článku o jeho instalaci a taky o přidání oficiálních repozitářů a update na verzi 2.4. Tento týden vyšla verze 2.4.6, která kromě malého update týkajícího se NTP, přináší také plnou podporu českého jazyka ve webovém frontendu.

Něni moje, neumim sésky


V případě, že vám Zabbix jede na anglicky hovořícím Ubuntu, budete mít nejspíše ve volbě jazyka češtinu zašedlou a uvidíte varování „You are not able to choose some of the languages, because locales for them are not installed on the web server.“ Jak zpráva správě napovídá, nemáte nainstalované české locale. Locale je systémové nastavení jazyka a jazykových zvyklostí. Obsahuje tedy například údaje jako názvy měsíců, formát data nebo měny, informace o znacích používaných v daném jazyce atd. Pokud provozujete jakoukoliv PHP aplikaci, tak silně doporučuju české locale nainstalovat, protože se tím počeští funkce jako strftime(), které většina aplikací zobrazujících datum pravděpodobně používá. Noticka pro PHPisty – Locale se dá v aplikaci přepínat například následujícím způsobem

setlocale(LC_CTYPE, 'cs_CZ.UTF-8');
setlocale(LC_TIME, 'cs_CZ.UTF-8');

Locales, které již máte v Ubuntu nainstalované, můžete vypsat příkazem

# locale -a

Instalaci českého locale pak provedete jednoduchým příkazem

# locale-gen cs_CZ.utf8

Kdybyste náhodou chtěli někdy nějaké locale odebrat, postup je trochu složitější. Nejprve odeberte řádky v souborech v adresáři /var/lib/locales/supported.d/. Poté smažte soubor /usr/lib/locale/locale-archive a nakonec jej nechte znova vygenerovat pomocí locale-gen, tentokrát bez parametrů

# vi /var/lib/locales/supported.d/*
# rm /usr/lib/locale/locale-archive
# locale-gen

Na závěr restartujte službu, která je a běh PHP aplikací zodpovědná. Tedy pravděpodobně přímo Apache, v lepším případě pouze PHP-FPM.

# service apache2 restart
# service php-fpm restart