/** * Triggers CLDR download * * @param Event $event * @throws \Exception * @throws \PrestaShopDatabaseException */ public static function init(Event $event) { $event->getIO()->write("Init CLDR data download..."); $root_dir = realpath(''); $cldr_update = new Update($root_dir . '/translations/'); $cldr_update->init(); // If settings file exist if (file_exists($root_dir . '/config/settings.inc.php')) { //load prestashop config to get locale env require $root_dir . '/config/config.inc.php'; //get each defined languages and fetch cldr datas $langs = \DbCore::getInstance()->executeS('SELECT * FROM ' . _DB_PREFIX_ . 'lang'); foreach ($langs as $lang) { $language_code = explode('-', $lang['language_code']); if (empty($language_code[1])) { $language_code[1] = $language_code[0]; } $cldr_update->fetchLocale($language_code['0'] . '-' . strtoupper($language_code[1])); } } $event->getIO()->write("Finished..."); }
/** * Install Cldr Datas */ public function installCldrDatas() { $cldrUpdate = new Update(_PS_TRANSLATIONS_DIR_); $cldrUpdate->init(); //get each defined languages and fetch cldr datas $langs = \DbCore::getInstance()->executeS('SELECT * FROM ' . _DB_PREFIX_ . 'lang'); foreach ($langs as $lang) { $language_code = explode('-', $lang['language_code']); if (count($language_code) == 1) { $cldrUpdate->fetchLocale($language_code['0']); } else { $cldrUpdate->fetchLocale($language_code['0'] . '-' . Tools::strtoupper($language_code[1])); } } }