MediaWiki API不以英语以外的其他语言返回描述

时间:2019-08-04 12:52:19

标签: mediawiki-api wikimedia wikimedia-commons wikibase

我当时使用API​​ https://commons.wikimedia.org/w/api.php?action=help&modules=wbsearchentities在Wikimedia Commons中获取描述。

在修改属性语言/严格语言时,应返回相应语言的描述

我发现没有一个电话

...以所需的语言返回图片。

1 个答案:

答案 0 :(得分:1)

由于您知道实体ID,因此搜索没有意义,您只需使用wbgetentities

https://commons.wikimedia.org/w/api.php?format=jsonfm&action=wbgetentities&ids=Q528943&props=labels|aliases|descriptions&languages=hi

{
    "entities": {
        "Q528943": {
            "type": "item",
            "id": "Q528943",
            "labels": {
                "hi": {
                    "language": "hi",
                    "value": "\u0917\u0941\u0906\u0928 \u092c\u094d\u0932\u094b\u092b\u094b\u0930\u094d\u0921"
                }
            },
            "descriptions": {
                "hi": {
                    "language": "hi",
                    "value": "\u0905\u092e\u0947\u0930\u093f\u0915\u0940 \u0905\u0902\u0924\u0930\u093f\u0915\u094d\u0937 \u092f\u093e\u0924\u094d\u0930\u0940"
                }
            },
            "aliases": {}
        }
    },
    "success": 1
}

对于wbsearchentities,您必须使用uselang而不是language(它设置了在其中搜索描述的语言,而不是在其中显示描述的语言。这非常不太直观,但在API说明中有所提及。