例如,我正在用英文撰写有关修订控制的文章,我想将其翻译成其他几种语言。我想避免手动将链接翻译成Wikipedia文章,因为页面名称在其他语言中可以不同。

使用Wikipedia API(或其他技巧),是否可以将语言作为参数来构建Wikipedia文章的独立于语言的URL?

鉴于以下原因,它似乎并不那么困难:


每个Wikipedia文章都已经包含标准格式的其他语言的链接
Wikipedia API具有langlinks属性以检索到其他语言的链接(http://en.wikipedia.org/w/api.php?action=query&titles=Revision_control&prop=langlinks&lllimit=500
Wikidata还可以提供其他语言的链接(https://www.wikidata.org/wiki/Q189439#sitelinks-wikipedia


但是,我没有找到任何方法或破解方法来仅使用URL(例如,?lang = fr)以指定语言获得特定页面。当然,如果我可以在显示URL之前重写URL会很容易,但是我正在寻找一种可以在任何地方使用的解决方案(因此是一个简单的URL)。

注意1:我知道这通常是一个坏主意,因为一种语言的同一页面可以用另一种不同语言的其他页面表示。但是,我只会在没有这种缺点的一些非常精确的主题上使用它。
注意2:如果文章不以指定的语言显示,那么回退到原始的英语文章会很好。

最佳答案

假设有问题的文章在WikiData中有一个条目,您可以通过首先找到相应的WikiData条目,然后使用Special:GoToLinkedPage功能来做到这一点。

因此,https://www.wikidata.org/wiki/Special:GoToLinkedPage/frwiki/Q189439带您进入与英语Wikipedia上的Revision_control相对应的法语Wikipedia文章。

不利的一面是,如果该文章不存在该语言,那么您最终只能进入Wikidata(例如,参见https://www.wikidata.org/wiki/Special:GoToLinkedPage/dawiki/Q189439

您仍然需要知道WikiData实体,不过可以通过Wikipedia API获得该实体,例如
https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&format=json&ppprop=wikibase_item&titles=Revision_control

08-25 13:09
查看更多