API:Languagesearch

GET request to search for a language in any script by its name, ISO code or native name.

API documentationEdit


action=languagesearch

(main | languagesearch)

Search for language names in any script.

Parameters:
search

Search string.

This parameter is required.
typos

Number of spelling mistakes allowed in the search string.

Type: integer
Default: 1

ExampleEdit

GET requestEdit

ResponseEdit

{
    "languagesearch": {
        "gu": "gujarati",
        "gaa": "ga",
        "gn": "guarani",
        ...
    }
}

Sample codeEdit

PythonEdit

#!/usr/bin/python3

"""
    languagesearch.py

    MediaWiki API Demos
    Demo of `Languagesearch` module: Search for a language in any language

    MIT License
"""

import requests

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)

PHPEdit

<?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" );
}

JavaScriptEdit

/*
    languagesearch.js

    MediaWiki API Demos
    Demo of `Languagesearch` module: Search for a language in any language

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "languagesearch",
    search: "Gu",
    format: "json"
};

url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});

fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {
        var langs = response.languagesearch;
        for (var lang in langs) {
            console.log(lang + ": " + langs[lang] );
        }
    })
    .catch(function(error){console.log(error);});

MediaWiki JSEdit

/*
	languagesearch.js

	MediaWiki API Demos
	Demo of `Languagesearch` module: Search for a language in any language

	MIT License
*/

var params = {
		action: 'languagesearch',
		search: 'Gu',
		format: 'json'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	var langs = data.languagesearch,
		lang;
	for ( lang in langs ) {
		console.log( lang + ': ' + langs[ lang ] );
	}
} );

Demo app(s)Edit

  •  
    Screenshot of Universal Language Selector tool that uses this API
    Primarily used by the Extension: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 errorsEdit

Code Info
nosearch The "search" parameter must be set

Additional notesEdit

  • 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.

See alsoEdit