下载的mbtiles中的多语言支持

Posted

技术标签:

【中文标题】下载的mbtiles中的多语言支持【英文标题】:Multi language support in Downloaded mbtiles 【发布时间】:2019-12-05 23:32:04 【问题描述】:

我已经从 openmaptiles 下载了 mbtiles 并且还在网页中显示了它们。我使用this 将标签从英语翻译成其他语言。但它不起作用。有人知道如何更改语言吗? (应该提到我用 mapbox gl 显示它)

【问题讨论】:

看起来你已经创建了一个问题:github.com/klokantech/openmaptiles-language/issues/1 @scai 是的,我同时尝试了这种方法。 【参考方案1】:

在类似的情况下,我通过运行tileserver-gl 的 docker setup 获得的样式包含许多层,例如:"poi_label-en"。这些标签会阻止 klokantech/openmaptiles-language 创建的新标签正确显示(例如,库将根据 "poi_label" 的定义创建图层,例如 "poi_label-de" 用于德语)。

我建议按照以下步骤使 openmaptiles 语言正常工作:

拍你想要的最新款式,如:https://github.com/openmaptiles/klokantech-basic-gl-style 更新样式以指向您的源、字形和精灵。 (以您当前的风格为基础) 如果字体名称与服务器提供的字体名称不匹配,可能会更改它们(我必须从“Noto Sans Regular”更新为“Klokantech Noto Sans Regular”)

然后,如果您按照klokantech/openmaptiles-language 说明和示例,它应该可以正常工作。

检查您的 javascript 实现的一种快速方法是使用 openmaptiles 的云解决方案来处理图块和样式。如果它工作正常,则 javascript 部分没问题,问题在于您的样式是如何定义的。

【讨论】:

感谢您的出色回答。我已经按照您所说的做了,但是 Noto Sans 字体中存在一些错误,无法完全呈现单词。我应该为波斯语单词使用另一种字体。非常感谢

以上是关于下载的mbtiles中的多语言支持的主要内容,如果未能解决你的问题,请参考以下文章

多语言的测试经验分享

QML程序实现动态切换多语言(ListModel/ListElement中的文本的多语言处理)

QML程序实现动态切换多语言(ListModel/ListElement中的文本的多语言处理)

ThinkPHP5 打开多语言支持

WPF使用X:Static做多语言支持

WPF使用X:Static做多语言支持