API:Sprachsuche

From mediawiki.org
This page is a translated version of the page API:Languagesearch and the translation is 94% complete.
Outdated translations are marked like this.

GET-Abfrage um nach einer Sprache in jedem Skript mit ihrem Namen, ISO-Code oder Namen in der jeweiligen Sprache zu suchen.

API-Dokumentation


action=languagesearch

(main | languagesearch)

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

Beispiel

GET-Abfrage


Antwort

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

Beispielcode

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)

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

Siehe auch