exec(sprintf('rm -rf %s', escapeshellarg($temp_file_path))); }, $temp_file_path); // The current Jetpack translations $current_sets = glob($jetpack_directory . '/languages/*.mo'); $current_sets = preg_replace('/.*-(\\w+)\\.mo/', '$1', $current_sets); $keys = array_map('strtolower', $current_sets); $current_sets = array_combine($keys, $current_sets); unset($keys); $source_url = apize_url(rtrim($argv[2], '/')); $source = file_get_contents($source_url); $available_sets = json_decode($source)->translation_sets; // Maps source locale slugs to current Jetpack locales $map = $language_pack = array(); foreach ($available_sets as $set) { $s = strtolower(str_replace('-', '_', $set->locale)); if (GP_Locales::exists($set->locale)) { $locale = GP_Locales::by_slug($set->locale); if (in_array($set->locale, $language_packs)) { $language_pack[$set->locale] = $locale->wp_locale; continue; } $map[$set->locale] = $locale->wp_locale; continue; } echo "ERROR\n"; // source's 'ja' matches Jetpack's 'ja' if (isset($current_sets[$s])) { $map[$set->locale] = $current_sets[$s]; unset($current_sets[$s]); continue; }