# HG changeset patch # User ymh # Date 1506454909 -7200 # Node ID fbd1bfc9f963dc04cc3baf948585444bd1ea51f7 # Parent d288cb259731a4b9a9ac1cb8cd7748bdb39f66ae Improve label resolution in french for geonames. diff -r d288cb259731 -r fbd1bfc9f963 cms/package-lock.json --- a/cms/package-lock.json Fri Sep 15 14:54:19 2017 +0200 +++ b/cms/package-lock.json Tue Sep 26 21:41:49 2017 +0200 @@ -1,6 +1,6 @@ { "name": "corpus-cms", - "version": "0.0.22", + "version": "0.0.23", "lockfileVersion": 1, "requires": true, "dependencies": { diff -r d288cb259731 -r fbd1bfc9f963 server/src/app/Services/GeonamesResolver.php --- a/server/src/app/Services/GeonamesResolver.php Fri Sep 15 14:54:19 2017 +0200 +++ b/server/src/app/Services/GeonamesResolver.php Tue Sep 26 21:41:49 2017 +0200 @@ -60,13 +60,31 @@ elseif (strpos($lang, 'fr') === 0 && !isset($labels['fr'])) { $labels['fr'] = $labelLit->getvalue(); } + elseif (strpos($lang, 'en') === 0 && !isset($labels['en'])) { + $labels['en'] = $labelLit->getvalue(); + } } - $label = isset($labels['fr']) ? $labels['fr'] : ( isset($labels[''])? $labels['']: null) ; + $label = isset($labels['fr']) ? $labels['fr'] : null ; if(is_null($label)) { - $labelLit = $graph->getLiteral("<$url>", ""); - $label = (!is_null($labelLit)) ? $labelLit->getValue() : null; + foreach ($graph->allLiterals("<$url>", "") as $labelLit) { + $lang = $labelLit->getLang(); + if(!$lang && !isset($labels[''])) { + $labels[''] = $labelLit->getvalue(); + } + elseif (strpos($lang, 'fr') === 0 && !isset($labels['fr'])) { + $labels['fr'] = $labelLit->getvalue(); + } + elseif (strpos($lang, 'en') === 0 && !isset($labels['en'])) { + $labels['en'] = $labelLit->getvalue(); + } + } + $label = isset($labels['fr']) ? $labels['fr'] : ( + isset($labels['en']) ? $labels['en'] : ( + isset($labels['']) ? $labels[''] : null + ) + ) ; } return $label;