下载的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中的文本的多语言处理)