#!/bin/php iso_3166_entry as $entry) { // Ignore every territory that doesn't have a alpha-2 code. if (!isset($entry['alpha_2_code'])) { continue; } $name = isset($entry['name']) ? (string) $entry['name'] : (string) $entry['official_name']; $countries[(string) $entry['alpha_2_code']] = $name; } if (empty($countries)) { echo 'ERROR: Did not find expected alpha_2_code country names.' . PHP_EOL; exit; } // Sort by country code (to minimize diffs). ksort($countries); // Produce PHP code. $out = ''; foreach ($countries as $code => $name) { // For .po translation file's sake, use double-quotes instead of escaped // single-quotes. $name = (strpos($name, '\'') !== FALSE ? '"' . $name . '"' : "'" . $name . "'"); $out .= ' ' . var_export($code, TRUE) . ' => t(' . $name . '),' . "\n"; } // Replace the actual PHP code in standard.inc. $file = DRUPAL_ROOT . '/core/includes/standard.inc'; $content = file_get_contents($file); $content = preg_replace('/(\$countries = array\(\n)(.+?)(^\s+\);)/ms', '$1' . $out . '$3', $content); file_put_contents($file, $content);