]> git.openstreetmap.org Git - nominatim.git/commitdiff
script to pull language list from openstreetmap wiki
authorBrian Quinion <openstreetmap@brian.quinion.co.uk>
Wed, 14 Nov 2012 23:50:52 +0000 (23:50 +0000)
committerBrian Quinion <openstreetmap@brian.quinion.co.uk>
Wed, 14 Nov 2012 23:50:52 +0000 (23:50 +0000)
utils/country_languages.php [new file with mode: 0755]

diff --git a/utils/country_languages.php b/utils/country_languages.php
new file mode 100755 (executable)
index 0000000..8360ae6
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/php -Cq
+<?php
+
+        require_once(dirname(dirname(__FILE__)).'/lib/init-cmd.php');
+        ini_set('memory_limit', '800M');
+        ini_set('display_errors', 'stderr');
+
+        $aCMDOptions = array(
+                "Import country language data from osm wiki",
+                array('help', 'h', 0, 1, 0, 0, false, 'Show Help'),
+                array('quiet', 'q', 0, 1, 0, 0, 'bool', 'Quiet output'),
+                array('verbose', 'v', 0, 1, 0, 0, 'bool', 'Verbose output'),
+        );
+        getCmdOpt($_SERVER['argv'], $aCMDOptions, $aCMDResult, true, true);
+
+       include(CONST_BasePath.'/settings/phrase_settings.php');
+
+       if (true)
+       {
+               $sURL = 'http://wiki.openstreetmap.org/wiki/Special:Export/Nominatim/Country_Codes';
+               $sWikiPageXML = file_get_contents($sURL);
+               if (preg_match_all('#\\| ([a-z]{2}) \\|\\| [^|]+\\|\\| ([a-z,]+)#', $sWikiPageXML, $aMatches, PREG_SET_ORDER))
+               {
+                       foreach($aMatches as $aMatch)
+                       {
+                               $aLanguages = explode(',', $aMatch[2]);
+                               foreach($aLanguages as $i => $s)
+                               {
+                                       $aLanguages[$i] = '"'.pg_escape_string($s).'"';
+                               }
+                               echo "UPDATE country_name set country_default_language_codes = '{".join(',',$aLanguages)."}' where country_code = '".pg_escape_string($aMatch[1])."';\n";
+                       }
+               }
+       }