streetcomplete / StreetComplete

Easy to use OpenStreetMap editor for Android
https://streetcomplete.app
GNU General Public License v3.0
3.91k stars 357 forks source link

What is the correct local language name for this? #3411

Open mfrasca opened 3 years ago

mfrasca commented 3 years ago

General

Affected tag(s) to be modified/added: name Question asked: What is the correctly localized name for this POI?

Tourist destinations tend to be mapped by tourists, who are unlikely to speak the local language, so that places might be mapped properly, but will be named in English, French, German instead of the local language. Places where the local language is an indigenous language might be mapped in a domineering (European) language instead of the appropriate local one.

I am thinking in particular of Morocco (often mapped in French whereas it should be French, Arabic and Tamazight), Panamá (English vs. Spanish), the Guna Yala province in Panamá (Spanish and English vs. Guna).

The difficulty I have encounter is how to activate local mappers who lack fast and cheap internet access and who possibly did not invest money into a more powerful smartphone (what for, if there's hardly any internet access in the area?). StreetComplete seemed viable, but I did not manage to activate "name" quests on their devices: after all, the places already have a name, only it's in the Spanish spelling, or English or whatever else but not the right regional one.

I hope someone from the team will pick this up, and I'm interested in participating to the process of thinking about a clear, viable quest, and possibly contribute the implementation.

Checklist

Checklist for quest suggestions (see guidelines):

Ideas for implementation

Element selection:

I don't think it's possible to have the elements be automatically selected, I would say that someone has to mark the objects somehow. Could it be using a fixme:streetcomplete tag? Maybe fixme:streetcomplete:<name-of-quest>?

Metadata needed:

The local languages expected in the area.

Proposed UI:

westnordost commented 3 years ago

Yeah, as soon as there is one name for street, the street name quest is not asked anymore. It would be possible to consider a street name that doesn't have name and name:XY as incomplete and thus re-ask the question. However, this requires data on in which countries every street sign can be expected to be multilingual. Because if not every street sign is multilingual, some street names will never be viewed as "recorded completely" by the app, which means every single user will be asked to provide a in this case Irish name of the street even if it is not given on the sign. This won't work as a quest.

So, there is some information on which languages are (somewhat) official (at least in one part of the country) per country here: https://github.com/streetcomplete/StreetComplete/blob/master/res/country_metadata/officialLanguages.yml but this still does not mean that every street sign will include all the languages listed there.

So what would be necessary to enable such a feature would be yet another list that only includes languages per country that are guaranteed to always be present on street signs.

So, one way to go at this would be to implement this as an extension to the current road name quest with a separate list of requiredLanguages.yml that lists the languages that can always be expected on every street sign by country. Though, already if it is not every street sign but only nearly every street sign, the question is how to tag that. The absence of a name in a particular language would need to be taggable for a StreetComplete quest to work.

matkoniecz commented 3 years ago

However, this requires data on in which countries every street sign can be expected to be multilingual.

I think that "every road/every object has name in language X" would be sufficient and allow "unsigned option" that would tag say name:ar:signed=no.

As everywhere at least some places will miss signs.

Tourist destinations tend to be mapped by tourists, who are unlikely to speak the local language, so that places might be mapped properly, but will be named in English, French, German instead of the local language. Places where the local language is an indigenous language might be mapped in a domineering (European) language instead of the appropriate local one.

(...)

after all, the places already have a name, only it's in the Spanish spelling, or English or whatever else but not the right regional one.

Note that in such cases one may retag name set to say English name to name:en, leaving name tag empty - and SC will ask. What seems far better than elaborate fixme tags.

fixme:streetcomplete

I really dislike it.

Though maybe more generic fixme:name_missing:<lang_code>=yes (for example fixme:name_missing:pl=yes would be welcome by community? (not promising that it would be supported in SC, but it should be possible)

However, this requires data on in which countries every street sign can be expected to be multilingual. Because if not every street sign is multilingual, some street names will never be viewed as "recorded completely" by the app, which means every single user will be asked to provide a in this case Irish name of the street even if it is not given on the sign. This won't work as a quest.

Another option is to ask for a name in specific language for objects with multilingual names.

For example I think it is safe to assume that every object in Poland has name in Polish[citation needed].

But it makes no sense to ask for local name of say natural=peak name=Turbacz - such name is likely in Polish.

But maybe it would make sense to ask for name:pl in cases where name:en and name is tagged, without name:pl being tagged.

Note: in this case relevant local community should be asked. Not entirely sure here.

westnordost commented 3 years ago

But maybe it would make sense to ask for name:pl in cases where name:en and name is tagged, without name:pl being tagged.

Certainly not! This is the most common pattern when tagging names in several languages: the name in the country's official language uses "name", if there is additionally a name in English, name:en is used.

Am 20. Oktober 2021 07:55:10 MESZ schrieb Mateusz Konieczny @.***>:

However, this requires data on in which countries every street sign can be expected to be multilingual.

I think that "every road/every object has name in language X" would be sufficient and allow "unsigned option" that would tag say name:ar:signed=no.

As everywhere at least some places will miss signs.

Tourist destinations tend to be mapped by tourists, who are unlikely to speak the local language, so that places might be mapped properly, but will be named in English, French, German instead of the local language. Places where the local language is an indigenous language might be mapped in a domineering (European) language instead of the appropriate local one.

(...)

after all, the places already have a name, only it's in the Spanish spelling, or English or whatever else but not the right regional one.

Note that in such cases one may retag name set to say English name to name:en, leaving name tag empty - and SC will ask. What seems far better than elaborate fixme tags.

fixme:streetcomplete

I really dislike it.

Though maybe more generic fixme:name_missing:<lang_code>=yes (for example fixme:name_missing:pl=yes would be welcome by community? (not promising that it would be supported in SC, but it should be possible)

However, this requires data on in which countries every street sign can be expected to be multilingual. Because if not every street sign is multilingual, some street names will never be viewed as "recorded completely" by the app, which means every single user will be asked to provide a in this case Irish name of the street even if it is not given on the sign. This won't work as a quest.

Another option is to ask for a name in specific language for objects with multilingual names.

For example I think it is safe to assume that every object in Poland has name in Polish[citation needed].

But it makes no sense to ask for local name of say natural=peak name=Turbacz - such name is likely in Polish.

But maybe it would make sense to ask for name:pl in cases where name:en and name is tagged, without name:pl being tagged.

Note: in this case relevant local community should be asked. Not entirely sure here.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/streetcomplete/StreetComplete/issues/3411#issuecomment-947351247

-- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

matkoniecz commented 3 years ago

This is the most common pattern when tagging names in several languages: the name in the country's official language uses "name", if there is additionally a name in English, name:en is used.

Note that this is causing issues while using data in some scenarios, especially with displaying names with fallback to other languages. See https://wiki.openstreetmap.org/w/index.php?title=Names&oldid=2210377#Why.3F

Though I agree that it may not be welcome/accepted everywhere.

mfrasca commented 3 years ago

Though maybe more generic fixme:name_missing:<lang_code>=yes (for example fixme:name_missing:pl=yes) would be welcome by community? (not promising that it would be supported in SC, but it should be possible)

in the cases I have met and that I am considering, the name is not exactly "missing", but I'm very doubtful about them. in Morocco it's not uncommon that a name gets translated phonetically, so that it is simply an amateur transliteration of the Arabic name. in Guna Yala it is common that name contains an old-rules transliteration of the Guna/Kuna name. To complicate matters further, in part of the (Spanish speaking) country some names should be in English (like Bocas Town or Salt Creek which are absolutely the correct names for the places and are not tranlsated to Spanish, because the population speaks natively English) but there's also others that should be in Spanish with English translation (Isla/Island, Playa/Beach); on the East end of the Panamanian Caribbean coast it's Guna (for the native population) + Spanish (for the "Latino" part of the national population) + English (for the tourist industry).

Mappers tend to be tourists who will pupulate the name field with whatever they have used to reach the place.

Nationals of one group or the other will "correct", without being aware of the option name:es / name:en / name:cuk, which is where I hope that StreetComplete can play a constructive role.

I like the option fixme:name_missing:<lang_code>=yes. what do you think of fixme:name_missing[:<lang_code>]=doubtful? (thinking of names that clearly do not respect the regional [language spelling] rules).

westnordost commented 3 years ago

The main problem is that it cannot be determined automatically if any given name is in a particular language.

Except maybe if the script used in a particular country is not latin. E.g. if in Thailand, there is a street with a name written with latin characters, it is probably some transcribed name. So this is something that could be done. For anything else, involving fixme's and so on ... eh...

mfrasca commented 3 years ago

For anything else, involving fixme's and so on ... eh...

yep, understood and agreed. just imagine having orthographic rules built in, for each and every regional language!

nope, the idea I hope we can find back in StreetComplete is that (1) one would recognize items that have a suspicious name, (2) tag the name as in need of review by people on the place, but not removing it because it is anyhow informative; (3) locals would then remove the review-tag, possibly after fixing the name.

fixme:review_requested:name[:<language_code>]

looks more flexible. too much flexibility?

smichel17 commented 3 years ago

(2) tag the name as in need of review by people on the place, but not removing it because it is anyhow informative

What would be tagged if the SC user selected that it is correctly tagged, to prevent the "suspicious name" quest from being asked again?

mfrasca commented 3 years ago

(2) tag the name as in need of review by people on the place, but not removing it because it is anyhow informative What would be tagged if the SC user selected that it is correctly tagged, to prevent the "suspicious name" quest from being asked again?

I almost don't dare proposing it … it potentially doubles all "suspicious" information: validate_suspicious:<field_name>=<confirmed_value>. If the confirmed value is not equal to the current value, then the SC user will see the challenge. If it does match, the challenge should not be reactivated. We need a literal for the initial quest, something like "Emtpy", or "None" or otherwise clearly not a valid tag value for any tag, for anything on Earth.

westnordost commented 3 years ago

Yeah, as said, such tagging will not happen by StreetComplete.

I'll repeat:

  1. a quest that looks at if the script of a name (of a street etc) is correct for the country one is in is possible. Which script is used by which language can be queried in Java using locale.getScript()

  2. See https://github.com/streetcomplete/StreetComplete/issues/3411#issuecomment-947150641 . If you want to help here, you can compile a list of country codes where it is guaranteed that any street sign will appear in language A and language B. It should look like this (if there is any, below are just examples):

    IE: [en, ga]
    HK: [zh, en]
Lee-Carre commented 3 years ago

This would be tricky, if not unanswerable, for Jersey.

Sometimes the name is multi-lingual. For example: way #116346628 (La Rue de Funchal; French & Madeiran).

Additionally, our official languages (besides English & French) include a dialect of nrm which has the lang-code of nrf.

So, might be safest to keep the quest disabled for this weird little island.

arrival-spring commented 1 year ago
  1. a quest that looks at if the script of a name (of a street etc) is correct for the country one is in is possible. Which script is used by which language can be queried in Java using locale.getScript()

However, what should be tagged if a name really is in a 'wrong' script. E.g. if there was a shop with English name in Thailand. name:th:signed=no?

westnordost commented 1 year ago

I guess so, @matkoniecz suggested that also.