Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Language support #1108

Closed
tatsvc opened this issue Mar 25, 2015 · 8 comments
Closed

Language support #1108

tatsvc opened this issue Mar 25, 2015 · 8 comments
Labels
archived Archived because of inactivity feature Google Maps parity For feature parity with the Google Maps SDK for Android or iOS iOS Mapbox Maps SDK for iOS localization Human language support and internationalization MapKit parity For feature parity with MapKit on iOS or macOS

Comments

@tatsvc
Copy link

tatsvc commented Mar 25, 2015

How will language support work in the new SDK? Will this be the country's language by default, or can you set it to the language of the OS (this is what Apple Maps does, they have a toggle to always have it in English)? Just something to think about.

cc. @incanus @1ec5 @peterqliu

@tatsvc tatsvc added feature iOS Mapbox Maps SDK for iOS labels Mar 25, 2015
@tatsvc tatsvc added this to the iOS Beta 2 milestone Mar 25, 2015
@friedbunny
Copy link
Contributor

As another point of comparison, Google Maps (iOS app and SDK) defaults to device language with no exposed setting or API for switching. Labels in "foreign" places will display both your device language (where available) and the appropriate local name.

screen shot 2015-03-28 at 11 04 16 am

Meanwhile, Apple will try to draw labels in the device language and (almost always) fallback to local.

screen shot 2015-03-28 at 11 11 56 am

Google's data is far superior to Apple's, but both have outdated names for things like stadiums. It also appears that Google has done some machine translation of common place names. OSM has very, very few localized (non-English) names in Portland.

More pressingly, setting a -native or -JS map to strictly Japanese results in no labels at all because Mapbox currently only supports English, French, Spanish, and German.

@incanus
Copy link
Contributor

incanus commented Apr 6, 2015

Proper support here, including RTL and complex text shaping is a bit out of scope, so moving off of b2 milestone for now.

@incanus incanus removed this from the iOS Beta 2 milestone Apr 6, 2015
@mikemorris mikemorris added this to the Text Rendering milestone Apr 13, 2015
@1ec5
Copy link
Contributor

1ec5 commented Oct 17, 2015

To be clear, this ticket is about dynamically showing labels in whatever system language is being used at runtime. Currently that would require a large number of styles or a large number of classes in a single style (although we don't currently expose style classes to iOS SDK clients), to be toggled manually by client code. This is because label text is baked into the Mapbox Streets source, rather than decoupled into a separate source that can be parameterized by locale.

@jfirebaugh
Copy link
Contributor

@1ec5 Not sure I understand your comment. Did you look at how the example works? It doesn't use multiple styles or style classes.

@jfirebaugh
Copy link
Contributor

Oops, I thought this was a gl-js ticket. For gl-native, the upshot is that once we have a style API in native, we can do the same as the gl-js example -- changing the feature property used for the label.

@mikemorris mikemorris removed this from the Complex Text Rendering milestone Dec 22, 2015
@1ec5 1ec5 added MapKit parity For feature parity with MapKit on iOS or macOS Google Maps parity For feature parity with the Google Maps SDK for Android or iOS labels Aug 22, 2016
@1ec5
Copy link
Contributor

1ec5 commented Oct 26, 2016

#6819 (comment) would port the GL JS example to iosapp. If we were to truly have parity with MapKit, the SDK would have to automatically switch languages rather than forcing the developer to. However, that would require style-specific logic.

@1ec5
Copy link
Contributor

1ec5 commented Nov 11, 2016

If we were to truly have parity with MapKit, the SDK would have to automatically switch languages rather than forcing the developer to. However, that would require style-specific logic.

#7031 outlines a concrete approach to automatically localizing the map that I think would be feasible.

@1ec5 1ec5 added the localization Human language support and internationalization label Dec 7, 2016
@stale stale bot added the archived Archived because of inactivity label Nov 16, 2018
@stale
Copy link

stale bot commented Nov 23, 2018

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Nov 23, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
archived Archived because of inactivity feature Google Maps parity For feature parity with the Google Maps SDK for Android or iOS iOS Mapbox Maps SDK for iOS localization Human language support and internationalization MapKit parity For feature parity with MapKit on iOS or macOS
Projects
None yet
Development

No branches or pull requests

6 participants