]> git.openstreetmap.org Git - nominatim.git/blob - utils/country_languages.php
07a942257e77dec2a7f3dc02b690554b8dddf3e8
[nominatim.git] / utils / country_languages.php
1 <?php
2
3 require_once(CONST_BasePath.'/lib/init-cmd.php');
4
5 ini_set('memory_limit', '800M');
6 ini_set('display_errors', 'stderr');
7
8 $aCMDOptions
9  = array(
10     'Import country language data from osm wiki',
11     array('help', 'h', 0, 1, 0, 0, false, 'Show Help'),
12     array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
13     array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
14    );
15 getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
16
17 include(CONST_InstallPath.'/settings/phrase_settings.php');
18
19 if (true) {
20     $sURL = 'https://wiki.openstreetmap.org/wiki/Special:Export/Nominatim/Country_Codes';
21     $sWikiPageXML = file_get_contents($sURL);
22     if (preg_match_all('#\\| ([a-z]{2}) \\|\\| [^|]+\\|\\| ([a-z,]+)#', $sWikiPageXML, $aMatches, PREG_SET_ORDER)) {
23         foreach ($aMatches as $aMatch) {
24             $aLanguages = explode(',', $aMatch[2]);
25             foreach ($aLanguages as $i => $s) {
26                 $aLanguages[$i] = '"'.pg_escape_string($s).'"';
27             }
28             echo "UPDATE country_name set country_default_language_codes = '{".join(',', $aLanguages)."}' where country_code = '".pg_escape_string($aMatch[1])."';\n";
29         }
30     }
31 }