4

我正在编写一个与维基数据交互的工具,其中标签和描述被添加到项目中。但我想在尝试添加该语言之前验证它是否受支持。

所以我的问题是如何获得允许的语言代码列表。该文档将其描述为UserLanguageCode但没有提供有关检索允许值的信息。

我知道我可以通过对数据库执行以下 SQL 操作来获取所有使用语言的列表,但这既慢又低效:SELECT DISTINCT term_language FROM wb_terms.

顺便说一句,MonolingualText 语句的允许语言列表是否相同?

4

2 回答 2

3

现在有一个用于获取支持的内容语言的 API(API 沙箱):

https://www.wikidata.org/w/api.php?action=query&meta=wbcontentlanguages&wbclcontext=term&format=json&formatversion=2

默认情况下它只返回语言code,但您可以通过参数添加name和/或autonym(该语言的名称)wbclprop。(要控制name返回的语言,请设置全局uselang参数。)

要获得允许的单语文本语言,请设置wbclcontextmonolingualtext而不是term; 在 Wikidata 上,您还可以将其设置term-lexicographical为字典数据支持的所有语言代码(与语言几乎但不完全相同term)。

于 2019-02-27T12:54:55.150 回答
3

IRC 频道#wikidata上的用户 hoo找到了这个解决方案:

在此地址获取 JSON 有效负载:

https://www.wikidata.org/w/api.php?action=paraminfo&modules=wbsetlabel

并提取

 modules[0].parameters[8].type

这个列表中的语言确实比 MediaWiki 的所有 UI 语言少。

于 2017-10-04T10:00:49.370 回答