$language['name'], 'alpha_3' => $language['alpha_3'], 'scope' => $language['scope'], 'type' => $language['type'], 'inverted_name' => $language['inverted_name'] ?? null, 'alpha_2' => $language['alpha_2'] ?? null, ]; // alpha2 if (!empty($language['alpha_2'])) { $partitionFileName = substr($language['alpha_2'], 0, 1); $languages['alpha2/' . $partitionFileName][] = [ 'name' => $language['name'], 'alpha_3' => $language['alpha_3'], 'scope' => $language['scope'], 'type' => $language['type'], 'inverted_name' => $language['inverted_name'] ?? null, 'alpha_2' => $language['alpha_2'] ?? null, ]; } } // store partitioned database if (!file_exists(TARGET_DATABASE_DIR . '/alpha2')) { mkdir(TARGET_DATABASE_DIR . '/alpha2', 0775, true); } if (!file_exists(TARGET_DATABASE_DIR . '/alpha3')) { mkdir(TARGET_DATABASE_DIR . '/alpha3', 0775, true); } foreach ($languages as $partitionFileName => $countrySubdivisions) { // save JSON file file_put_contents( sprintf('%s/%s.json', TARGET_DATABASE_DIR, $partitionFileName), json_encode($countrySubdivisions) ); }