Carto Mobile SDK 中的地图本地化

Map localization in Carto Mobile SDK

有人知道是否可以使用 Carto Mobile SDK 对地图 object 的说明进行本地化吗?如果可以的话,我怎样才能得到它?

例如,我希望看到 "Kazakhstan" 而不是“Казахстан”,但是 object 上方的标题取决于 object 所在的国家/地区语言。我想将其本地化为英语。 Click the link to see screenshot.

以防万一它有用并且可以提供帮助:我正在使用 Xamarin.iOS 平台。 Carto 移动 SDK 版本 - 4.0.2.

提前致谢。

CartoVectorTileLayer(CartoOnlineVectorTileLayer 和 CartoOfflineVectorTileLayer 都是它的子类)有方法 setLanguage(String),所以例如:

layer.setLanguage("en");

会给你英文地图。

在 SDK 4.0.2 SDK 和 nutiteq.osm 磁贴源中,您可以使用以下语言:local/default(在您的情况下会给出 Казахстан),en, es, de, fr, itruzh(中文)、tr(土耳其语)和 et(爱沙尼亚语)作为语言

从 CARTO SDK 4.1.0 和新的 carto.streets 源,您可以使用任何 OSM 语言。我建议根据设备语言设置配置地图,例如:

// Android
layer.setLanguage(Locale.getDefault().getLanguage());

// iOs / Xamarin
layer.Language = Foundation.NSLocale.PreferredLanguages[0].Substring(0, 2);

如果特定名称在给定语言中不可用怎么办?那么 MapView 会默认回退到 'local' 语言,地图不会为空。但是如果 'local' 语言仍然不可读,那么我更喜欢拉丁字母名称?在 SDK 4.1.0 中,您可以配置主要和次要后备语言,例如您将德国人的主要语言设置为 'de',然后为了避免出现奇怪的字母表(比如希伯来语、希腊语、亚洲大部分地区),将 'en' 设置为主要后备语言;那么仅当您的主要姓名和英文姓名都缺失时才使用 local。