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

API documentation


Special:ApiHelp/languagesearch

Example

GET request

Response

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

Sample code

Python

#!/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)

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
*/

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 JS

/*
	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)

  • Screenshot of Universal Language Selector tool that uses this API
    Provided and 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 errors

Code Info
nosearch The search parameter must be set.

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.

See also

  • API:All search modules
This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.