Fortunately, Nominatim does expose `border_type` in the `extratags` field of 
the response, and both Overpass queries (for nearby and enclosing features) 
include all the element’s tags.

Unfortunately, `border_type=*` values are unlocalized and un-namespaced. We’d 
only be able to pretty-print the snake_case keywords in English. The forum 
thread discusses some potential solutions. The simple solution would be to 
define `geocoder.search_osm_nominatim.border_types.#{border_type}` strings for 
the most common values of `border_type=*`. This would require every 
localization on Translatewiki.net to come up with a single word that 
corresponds to each English word. In some languages, this can be quite 
difficult for generic words like 
“[town](https://en.wiktionary.org/wiki/town#Translations)”. I’m not sure it 
would be received by the community any better than the current `admin_level=*` 
labels.

Fortunately, the Nominatim result comes with a `country_code` field, so we 
could prefer more specific string keys like 
`geocoder.search_osm_nominatim.border_types.#{country_code}.#{border_type}`, 
falling back to a more generic 
`geocoder.search_osm_nominatim.border_types.global.#{border_type}`. We could 
either introduce the per-country keys as needed or come up with a more 
comprehensive list of common `border_type=*` values per country. The latter 
would put much more of a burden on translators. I’ve seen that in the iD 
project, where translators have to localize each part of an address field for 
every country.

Unfortunately, the Overpass queries execute independently of each other, so the 
results for nearby features won’t have any context about the containing 
country. Since the response is handled on the client side in JavaScript, we 
could parse the enclosing features results for a country boundary, whenever it 
arrives, and patch up the labels on the enclosing features. In the meantime, 
these labels would use the global strings. Kind of icky, but I guess it could 
work.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/5450#issuecomment-2566049746
You are receiving this because you are subscribed to this thread.

Message ID: 
<openstreetmap/openstreetmap-website/issues/5450/2566049...@github.com>
_______________________________________________
rails-dev mailing list
rails-dev@openstreetmap.org
https://lists.openstreetmap.org/listinfo/rails-dev

Reply via email to