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