mapbox / mapbox-gl-language

Switch language of your Mapbox GL JS style
https://mapbox.github.io/mapbox-gl-language/
BSD 3-Clause "New" or "Revised" License
196 stars 51 forks source link

Support for Hebrew street & city names #15

Open Shaked opened 7 years ago

Shaked commented 7 years ago

Hey,

Is there a chance to support Hebrew language (RTL)?

Thank you Shaked

v1adko commented 6 years ago

This is literally the only thing stopping us from switching to mapbox from Google maps + Places API stack.

Maybe there's a way we can help provide the data (crowdsource it). Google is super closed source and it hurts our business.

v1adko commented 6 years ago

I've attended a wonderfult talk by Mapbox's @mourner, who explained how not trivial the support for RTL (and Arabic language in particular) is, but it's already been a while and sadly we still don't see support for Hebrew on the map itself while more complex Arabic seems to be available. Is there any way we can help?

ChrisLoer commented 6 years ago

We've addressed the underlying technical challenge of supporting right-to-left text that @mourner described, although for GL JS maps you have to use a plugin to enable RTL text (instructions here).

Unfortunately, I don't have an easy answer for you on the data side. As you've noticed, Mapbox Streets v7 doesn't include Hebrew, and although we're adding languages to the Streets source with each new version, I don't think Hebrew will be in the next version either.

Maybe there's a way we can help provide the data (crowdsource it).

It's possible to make maps that combine labels from multiple sources (starting with GL JS 0.42, and very soon in gl-native), so you could make a "Hebrew labels" source that pulled labels from a source like OpenStreetMap, and then make a style that layered the Hebrew labels on top of underlying labels from the Mapbox Streets Source. Doing that with street labels would be more difficult than doing it with point labels, because you'd have to also include all the street geometry in the vector tiles you generated, at which point you would be reproducing a lot of what the Streets Source is already doing for you.

The quick and dirty route would probably be to just locally import a GeoJSON file with Hebrew label data -- making a fuller solution would require generating your own vector tiles. If you're interested in taking that challenge on, it would be an awesome contribution.

1ec5 commented 6 years ago

Note that the Mapbox Streets source does have a name property that displays the name of each feature in its local language, so Hebrew in Israel. This property might meet your needs if you’re only interested in a map of, say, Tel Aviv, but it wouldn’t on a global scale.

you could make a "Hebrew labels" source that pulled labels from a source like OpenStreetMap

If you’re interested in this approach, OpenStreetMap’s name:he tag has pretty good coverage worldwide.

v1adko commented 6 years ago

I'll try "the quick and dirty" way, but most likely it won't do it. Google has a pretty good coverage for the big cities, what we found is that some places it does not recognize as a part of Israel, leaving out huge chunks of the area from autocomplete, and Google being Google most likely won't bother that much soon. So we need better control of our data and since it looks like we're gonna be moving away from G-services anyway, adapting Mapbox would provide a huge benefit in terms of UX. Most likely I'll be bothering you again, even making said vector tiles is quite probable for us. Thank you guys for the answers!

m00dy commented 6 years ago

Hello, I need hebrew street names for mapbox. Can anyone here tell me what is the recent status on this ?

thanks

ChrisLoer commented 6 years ago

Hi @m00dy, adding full Hebrew labeling to Mapbox Streets isn't on the immediate roadmap, so we can't give much of an estimate there although it's still something we're tracking. This ticket should be up-to-date otherwise on the current state of Hebrew support (there are some local labels in the current Mapbox Streets source, you can also import your own labels from other sources).

aharonamir commented 5 years ago

Just a side note: If you change the default language to 'zh' in language control and add the rtl script mapboxgl.setRTLTextPlugin('https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.2.0/mapbox-gl-rtl-text.js'); Then you will get the street names in hebrew and the major cities name in Chinese :wink:

dyaacov commented 5 years ago

Hi Any chance hebrew is supported by now?

ryanhamley commented 3 years ago

A quick update: Hebrew is not supported in the newest v8 sources and, as far as I know, is not on the immediate roadmap. As discussed above, this is a data issue, not a rendering one. If and when Hebrew becomes available, this plugin will enable it.

eladcandroid commented 1 year ago

Any news about Hebrew support?

edenmoyal1 commented 1 year ago

did someone figure this out? even a workaround would help me