mapbox / mapbox/mapbox-maps-android

Settlement subdivision and POI labels are not translated to the device locale language in Standard style

Open
#2,702 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug :beetle:
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.

Image

Steps to reproduce:

  1. Set device language to French
  2. Load a map using Mapbox Standard style
  3. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.