GET-Abfrage um nach einer Sprache in jedem Skript mit ihrem Namen, ISO-Code oder Namen in der jeweiligen Sprache zu suchen.
API-Dokumentation
Die folgende Dokumentation ist die Ausgabe von Special:ApiHelp/languagesearch, die automatisch von der vorveröffentlichten MediaWiki-Version generiert wird, die auf dieser Seite (MediaWiki.org) läuft.
#!/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)
Bildschirmfoto des Werkzeugs Universal Language Selector, das diese API nutzt Angeboten und hauptsächlich genutzt durch die Erweiterung:UniversalLanguageSelector, die Benutzern erlaubt, eine Sprache auszuwählen und ihre Unterstützung einfach zu konfigurieren.
Telegram-Übersetzungsbot, der Eingaben über Chat-Nachrichten zur Sprachauswahl akzeptiert. Der Link zu dem Code, der die API nutzt, findet sich hier.
Mögliche Fehler
Code
Information
nosearch
The search parameter must be set.
Zusätzliche Anmerkungen
Diese API speichert intern eine sehr lange Liste von Sprachennamen in vielen unterschiedlichen Sprachen. Die Hauptquelle für diese Liste ist ein Common Locale Data Repository zusammen mit einigen manuellen Ergänzungen.