API:Languagesearch
Appearance
From mediawiki.org
This page is part of the MediaWiki Action API documentation.
MediaWiki Action API |
---|
Basics |
Authentication |
Accounts and Users |
Page Operations |
|
Search |
Developer Utilities |
Tutorials |
v · d · e |
GET request to search for a language in any script by its name, ISO code or native name.
API documentation
[edit ] The following documentation is the output of Special: ApiHelp/ languagesearch, automatically generated by the pre-release version of MediaWiki that is running on this site (MediaWiki.org).
action=languagesearch
(main | languagesearch)
- This module requires read rights.
- Source: UniversalLanguageSelector
- License: GPL-2.0-or-later OR MIT
Search for language names in any script.
Specific parameters:
Other general parameters are available.
- search
Search string.
- This parameter is required.
- typos
Number of spelling mistakes allowed in the search string.
- Type: integer
- Default: 1
Examples:
- Search for "Te"
- api.php?action=languagesearch&search=Te [open in sandbox]
- Search for "ഫി"
- api.php?action=languagesearch&search=ഫി [open in sandbox]
- Search for "ഫി", allowing one typo
- api.php?action=languagesearch&search=ഫി&typos=1 [open in sandbox]
Example
[edit ]GET request
[edit ]Response
[edit ]{ "languagesearch":{ "gu":"gujarati", "gaa":"ga", "gn":"guarani", ... } }
Sample code
[edit ]Python
[edit ]#!/usr/bin/python3 """ languagesearch.py MediaWiki API Demos Demo of `Languagesearch` module: Search for a language in any language MIT License """ importrequests S = 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'] for code, name in LANG.items(): print(code + ": " + name)
PHP
[edit ]<?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
[edit ]/* 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
[edit ]/* 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)
[edit ]Screenshot of Universal Language Selector tool that uses this API - Telegram translation bot that accepts input via chat message for language selection. See the code using the API.
Possible errors
[edit ]Code | Info |
---|---|
nosearch | The search parameter must be set. |
Additional notes
[edit ]- 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.