/** * Automatically download translations for WC ( when user install WCML ( from 3.3.3) / add new language in WPML ) * * @param string $lang_code Language code * */ function download_woocommerce_translations($lang_code) { global $sitepress; $locale = $sitepress->get_locale($lang_code); if ($locale != 'en_US' && class_exists('WC_Language_Pack_Upgrader')) { $sitepress->switch_lang($lang_code); include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/plugin.php'; require_once ABSPATH . 'wp-admin/includes/template.php'; $url = 'update-core.php?action=do-translation-upgrade'; $nonce = 'upgrade-translations'; $title = ''; $context = WP_LANG_DIR; $wc_upgrader_class = new WC_Language_Pack_Upgrader(); $upgrader = new Language_Pack_Upgrader(new Automatic_Upgrader_Skin(compact('url', 'nonce', 'title', 'context'))); // use Language_Pack_Upgrader_Skin instead of Automatic_Upgrader_Skin to display upgrade process $upgr_object = array(); $upgr_object[0] = new stdClass(); $upgr_object[0]->type = 'plugin'; $upgr_object[0]->slug = 'woocommerce'; $upgr_object[0]->language = $locale; $upgr_object[0]->version = WC_VERSION; $upgr_object[0]->updated = date('Y-m-d H:i:s'); $upgr_object[0]->package = $wc_upgrader_class->get_language_package_uri(); $upgr_object[0]->autoupdate = 1; $upgrader->bulk_upgrade($upgr_object); $this->save_translation_version($locale); } }