mapbox / mapbox/mapbox-maps-android
Settlement subdivision and POI labels are not translated to the device locale language in Standard style
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 578
- Forks
- 161
- PR merge metrics
- No merged PRs in 30d
Description
Environment
- Android OS version: All
- Devices affected: All
- Maps SDK Version: 11.17.1
Observed behavior and steps to reproduce
When using Mapbox Standard style, map labels for settlement-subdivision-label and poi-label layers are displayed in English instead of the device's locale language.
The phone is configured in French, but labels like arrondissements and some POIs are shown in English as you can see in the screenshot below.
Steps to reproduce:
- Set device language to French
- Load a map using Mapbox Standard style
- Observe that settlement-subdivision-label and poi-label are displayed in English
Expected behavior
The map labels should display in the user's device locale language (French in this case). Labels for settlement subdivisions (arrondissements) and points of interest should respect the device's language settings.
Notes / preliminary analysis
According to the documentation, localizeLabels() does not work with Mapbox Standard style
However, the Feature Properties documentation shows that multilingual data is available in the tileset:
- name - Name in local language
- name_en - Name in English
This suggests the Standard style is using name_en by default instead of respecting the device locale.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue on Android with Mapbox Standard style in a French device locale, focusing on the settlement-subdivision-label and poi-label layers. Review the documented localizeLabels() behavior and the available name and name_en feature properties; done means both label types use the device locale rather than defaulting to English.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100