Mediawiki 如何获取Wikidata的所有允许语言

Mediawiki 如何获取Wikidata的所有允许语言,mediawiki,wikidata,wikidata-api,Mediawiki,Wikidata,Wikidata Api,我正在编写一个与Wikidata交互的工具,其中标签和描述被添加到项目中。但我想在尝试添加之前验证该语言是否受支持 所以我的问题是如何获得允许的语言代码列表。文档将其描述为UserLanguageCode,但没有提供有关检索允许值的信息 我知道我可以通过在数据库上执行以下SQL操作来获得所有使用语言的列表,但这既慢又低效:从wb\u terms中选择DISTINCT term\u language 另一方面,单语言文字语句的允许语言列表是否相同?IRC频道上的用户hoo找到了以下解决方案: 在此

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

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

我知道我可以通过在数据库上执行以下SQL操作来获得所有使用语言的列表,但这既慢又低效:
从wb\u terms中选择DISTINCT term\u language

另一方面,单语言文字语句的允许语言列表是否相同?

IRC频道上的用户hoo找到了以下解决方案:

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

提取

 modules[0].parameters[8].type

此列表中的语言确实少于MediaWiki的所有UI语言。

现在有了一个API来获取支持的内容语言():

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


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

这些语言与MediaWiki的UI语言相同吗。目前尚不清楚该列表是否与允许的标签语言列表相同。但它与允许的单语文本语言不同。例如,
nl NORMABLE
出现在那里,允许标签使用,但不允许单语文本使用。另请参见,谢谢。这有助于为
标签
别名
获取允许的语言。似乎
单语文本
的允许语言列表有所不同,目前无法访问。小纸条。如果参数的顺序发生变化,我可能会对它们进行迭代,然后选择与
'name'=='language'
相对应的
类型,因为现在API最终支持这些请求,我已经更改了接受的答案。