Документация ниже автоматически сгенерирована предварительной версией MediaWiki, используемой на этом сайте (MediaWiki.org); она доступна на служебной странице Special:ApiHelp/languagesearch.
#!/usr/bin/python3""" languagesearch.py MediaWiki API Demos Demo of `Languagesearch` module: Search for a language in any language MIT License"""importrequestsS=requests.Session()URL="https://en.wikipedia.org/w/api.php"PARAMS={"action":"languagesearch","search":"Gu",#Could be name of the language, its iso code or native name"format":"json"}R=S.get(url=URL,params=PARAMS)DATA=R.json()LANG=DATA['languagesearch']forcode,nameinLANG.items():print(code+": "+name)
PHP
<?php/* languagesearch.php MediaWiki API Demos Demo of `Languagesearch` module: Search for a language in any language MIT License*/$endPoint="https://en.wikipedia.org/w/api.php";$params=["action"=>"languagesearch","search"=>"Gu","format"=>"json"];$url=$endPoint."?".http_build_query($params);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);foreach($result["languagesearch"]as$langcode=>$langname){echo($langcode.": ".$langname."\n");}
JavaScript
/* languagesearch.js MediaWiki API Demos Demo of `Languagesearch` module: Search for a language in any language MIT License*/varurl="https://en.wikipedia.org/w/api.php";varparams={action:"languagesearch",search:"Gu",format:"json"};url=url+"?origin=*";Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];});fetch(url).then(function(response){returnresponse.json();}).then(function(response){varlangs=response.languagesearch;for(varlanginlangs){console.log(lang+": "+langs[lang]);}}).catch(function(error){console.log(error);});
MediaWiki JS
/* languagesearch.js MediaWiki API Demos Demo of `Languagesearch` module: Search for a language in any language MIT License*/varparams={action:'languagesearch',search:'Gu',format:'json'},api=newmw.Api();api.get(params).done(function(data){varlangs=data.languagesearch,lang;for(langinlangs){console.log(lang+': '+langs[lang]);}});
Demo app(s)
Screenshot of Universal Language Selector tool that uses this APIProvided and primarily used by the Расширение:UniversalLanguageSelector that allows users to select a language and configure its support in an easy way.
Telegram translation bot that accepts input via chat message for language selection. Link to the code using the API is here.
Possible errors
Code
Info
nosearch
Параметр search должен быть задан.
Additional notes
Internally, this API stores a very long list of language names in many different languages. The major source for this list is Common Locale Data Repository along with a few manual additions.