Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an option/setting to change the preferred language on the map. #391

Open
PetbkA opened this issue May 8, 2021 · 26 comments
Open

Add an option/setting to change the preferred language on the map. #391

PetbkA opened this issue May 8, 2021 · 26 comments
Labels
Android Android development Enhancement New feature or request, an improvement of some existing feature iOS iOS development Translations Localization and translations issues UX User eXperience, an issue with usability

Comments

@PetbkA
Copy link

PetbkA commented May 8, 2021

OM inherits language from the OS. It would be nice to add option to change app's language

@biodranik
Copy link
Member

What is your OS and use case?

@PetbkA
Copy link
Author

PetbkA commented May 8, 2021

What is your OS and use case?

Android 10.0 (LineageOS 17.1). I'm using English language in OS, but with OM the Russian language would be better 'cause there's no transliterated names and I don't have to recall english names for categories when searching for and adding objects.

Also I recall from the Telegram "NO CRYPTO" group that there's no such problem in iOS 'cause it allows to change language through OS's application info page (someon even attached a screenshot there)

@biodranik
Copy link
Member

biodranik commented May 8, 2021 via email

@eighthave
Copy link

I know Signal supports this, if you're looking for example code. F-Droid supports it only on old releases: https://github.com/f-droid/fdroidclient/blob/1.12.1/app/src/main/java/org/fdroid/fdroid/Languages.java

@rtsisyk rtsisyk added Android Android development Enhancement New feature or request, an improvement of some existing feature labels Jun 16, 2021
@SilmorSenedlen
Copy link

SilmorSenedlen commented Jun 19, 2021

Good day
In the continuation of my recent issue ##641.
As @PetbkA I use English as system language.
The reasons are very simple - it is much easier to find information on any issue in English.
Also, localizations often suffer from poor quality.
For this reason, I always try to use English for most applications, but for applications related to geographical names, it is much more convenient to use the native language(in my case, Russian).
For this reason, I would really like to be able to change the language in Android app, regardless of the system language.

@rtsisyk rtsisyk changed the title [FR][UI]: add option to change app's language [android] Add an option to change app's language Jun 26, 2021
@rtsisyk rtsisyk added the UX User eXperience, an issue with usability label Jun 26, 2021
@biodranik
Copy link
Member

After speaking with different users, looks like the issue is not with the app's interface language, but with the language of the map. So the best solution for everyone, and the easiest to implement for us, will be to add a setting to choose/override the map language but leave the app's interface the same as the system one.

@biodranik biodranik added the iOS iOS development label Sep 8, 2021
@biodranik biodranik changed the title [android] Add an option to change app's language Add an option/setting to change the preferred language on the map. Sep 8, 2021
@twikedk
Copy link

twikedk commented Sep 11, 2021

In OSMAnd it is possible to change both interface and map language independently, that is what I would vote for. :-)

@biodranik
Copy link
Member

What is the reason to have interface language different from the system language and other app's interfaces language? In my opinion, changing the interface is 1) unnecessary and 2) complex to implement and may lead to new bugs.

@eighthave
Copy link

eighthave commented Sep 22, 2021 via email

@PanderMusubi
Copy link

I would like overriding the system language for UI and map independently.

Additional use cases are when learning a language and only want to change the UI language for this particular app e.g. Spanish but keep the transliterations in Japan e.g. to English.

Another use case is to easily check translations (UI and/or map) without chaging the language of your system, needed by other apps.

@pastk
Copy link
Contributor

pastk commented Feb 6, 2022

The basic use case is that I'd like to see map labels in languages I understand and limit seeing labels in languages unfamiliar to me.

E.g. I'm comfortable with English and Russian.

In UK I'd like to see labels in English, in Russian I'd like to see labels in Russian, generally I don't want to see secondary EN labels in Russia - they just add clutter to the map.

When I travel in Georgia I'd like to see labels in either English or Russian. If none of them is available for the feature - then a transliterated Georgian version. Generally I don't want to see labels in Georgian script because I can't read it, some rare cases when I'd want to see it - when communicating with locals or when looking for e.g. a specific cafe with a sign in Georgian. I'd like to be able to search in all three languages (en, ru, georgian).

When I travel in Bulgaria I don't want Bulgarian labels transliterated into latin - although I don't understand Bulgarian, but I can read cyrillic script just fine.

Likewise in Turkey - I don't know Turkish, but I can read its script, so no transliteration needed.

When some text is transliterated for me then I'd like to know it (to be hinted about this somehow) - so that I don't confuse transliteration with e.g. original EN name of the feature.

Another more rare use case is when I travel in a Spanish-speaking countries. I'd like to see labels in English and Spanish simultaneously, because my spanish is not good enough to understand everything, but its important to see it to keep improving.

@pastk
Copy link
Contributor

pastk commented Feb 6, 2022

In modern Androids (starting from 7?) its possible to set a few languages in the system and order them manually. The first one sets the UI language.

I think OM should honor those settings:

  • UI language is the first one
  • display map labels according to the ordered system langs list
  • derive a list of scripts a user understands and use it for smart transliteration

I guess this will make a manual map lang selection option not needed.

Probably the only use case not covered is a secondary language learning when its best to display labels in both primary and secondary language. Maybe we'll need an option for that indeed.

I don't know if its possible to have several languages selected in iOS though.

@PanderMusubi
Copy link

For maximum customization, I think choosing a language per app is the best. For some apps, like maps, one also needs ordered list of languages for the content.

E.g. in Barcelona, I'd like Spanish UI but Catalan content, because it is like that on the street name signs. 🤷‍♂️

@pastk
Copy link
Contributor

pastk commented Feb 7, 2022

So the priority for map label languages shall look like

  1. a local language if the user understands it (i.e. its one of the user languages set in android settings)
  2. first user language from android settings
  3. second user language from android settings
    etc.

For a particular Catalonia use case above we'll need to review local languages order too, because at the moment Spanish has a precedence

"Spain_Catalonia": {
 "languages": ["es", "ca"]
},

@biodranik
Copy link
Member

OM already supports lists of languages preferred by the user from the device's settings. Current language selection for maps rendering already tries to follow some of the mentioned wishes.

@pastk pastk added the Translations Localization and translations issues label Mar 13, 2022
@thousandsofthem
Copy link

Separate interface language is not important, map language is. And, well, it can't just match system - e.g. for Spain or Russia or whatever it'd be better to see local names but i don't know Spanish and will not switch OS or app interface language to Spanish

@biodranik
Copy link
Member

@thousandsofthem Only a few Spanish places will have some translations in your system's language. Others will be displayed as is, in Spanish.

@amadicus
Copy link

Hello. I have two languages ​​in my phone system - Chinese and English. Applications that have a choice of language work without problems in Russian (my native language). There are applications in which the choice of language is the choice of the system language (those that are in the system). Accordingly, you cannot select Russian in these applications, although it is there. So I am for choosing a language in the application itself. I hope I explained it clearly. Thank you.

@biodranik
Copy link
Member

Starting from Android 13 users can select any custom language for any app.

@andrewshadura
Copy link
Contributor

andrewshadura commented Oct 9, 2023 via email

@amadicus
Copy link

amadicus commented Oct 9, 2023

Starting from Android 13 users can select any custom language for any app.

Yes. Only for you, changing the language is tied to the phone locale, but in my phone I have English and Chinese. Accordingly, I cannot change the language to Russian. And in applications where a list of languages ​​is available for selection (in the application itself), the language changes without problems.

@PanderMusubi
Copy link

PanderMusubi commented Oct 9, 2023

"And in applications where a list of languages ​​is available for selection (in the application itself), the language changes without problems." Yes, that is common practise and gives the user direct control. Sometimes you want a language independently of your installed locales, and with waiting for Android 13 for your device.

@amadicus
Copy link

amadicus commented Oct 9, 2023

and with waiting for Android 13 for your device.

I have Android 13.
Again. If the application has its own choice of language (a list of languages ​​appears in the application itself), not tied to the locale of the phone, the language changes without problems (to Russian, German, and so on). If changing the language is tied to the languages ​​that are on the phone (like I have Chinese and English), the choice is limited to the languages ​​of the phone, and I cannot choose the same Russian, German or any other language.

@biodranik
Copy link
Member

Android 13 allows to choose languages that are supported by the app, independently of system languages.

@zedxxx
Copy link

zedxxx commented Oct 9, 2023

Why do you continue to discuss the choice of application language in the issue about choosing the map language? These are two huge differences.

@zedxxx
Copy link

zedxxx commented Oct 9, 2023

Read OsmAnd docs if you still confused about this feature: https://osmand.net/docs/user/map/vector-maps#map-language

krozhdestvenski added a commit to krozhdestvenski/organicmaps that referenced this issue May 15, 2024
…ith hardcoded languages

Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
krozhdestvenski added a commit to krozhdestvenski/organicmaps that referenced this issue May 15, 2024
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
krozhdestvenski added a commit to krozhdestvenski/organicmaps that referenced this issue May 15, 2024
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
krozhdestvenski added a commit to krozhdestvenski/organicmaps that referenced this issue May 15, 2024
Signed-off-by: Kiryl Razhdzestvenski <kirill.rozh@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Android Android development Enhancement New feature or request, an improvement of some existing feature iOS iOS development Translations Localization and translations issues UX User eXperience, an issue with usability
Projects
None yet
Development

No branches or pull requests