* @license http://www.gnu.org/licenses/gpl-2.0.txt GPL, version 2 * @author Icinga Development Team * */ // {{{ICINGA_LICENSE_HEADER}}} namespace Icinga\Module\Translation\Clicommands; use Icinga\Module\Translation\Cli\TranslationCommand; use Icinga\Module\Translation\Util\GettextTranslationHelper; /** * Translation updater * * This command will create a new or update any existing PO-file of a domain. The * actions below allow to select a particular domain for whom to touch the PO-file. * * Domains are the global one 'icinga' and all available and enabled modules * identified by their name. * * Once a PO-file has been created/updated one can open it with a editor for * PO-files and start with the actual translation. */ class RefreshCommand extends TranslationCommand { /** * Touch the global domain * * This will create/update the PO-file of the global 'icinga' domain. * * USAGE: * * icingacli translation refresh icinga * * EXAMPLES: * * icingacli translation refresh icinga de_DE * icingacli translation refresh icinga fr_FR */ public function icingaAction() { $locale = $this->validateLocaleCode($this->params->shift()); $helper = new GettextTranslationHelper($this->app, $locale); $helper->updateIcingaTranslations(); } /** * Touch a module domain * * This will create/update the PO-file of the given module domain. * * USAGE: * * icingacli translation refresh module * * EXAMPLES: * * icingacli translation refresh module monitoring de_DE * icingacli translation refresh module monitoring fr_FR */ public function moduleAction() { $module = $this->validateModuleName($this->params->shift()); $locale = $this->validateLocaleCode($this->params->shift()); $helper = new GettextTranslationHelper($this->app, $locale); $helper->updateModuleTranslations($module); } }