A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.mediawiki.org/wiki/API:SetPageLanguage below:

API:SetPageLanguage - MediaWiki

This page is part of the MediaWiki Action API documentation. MediaWiki version:

1.29

POST request to change the language of a page.

The following documentation is the output of Special:ApiHelp/setpagelanguage, automatically generated by the pre-release version of MediaWiki that is running on this site (MediaWiki.org).

(

main

|

setpagelanguage

)

Change the language of a page.

Specific parameters:

title

Title of the page whose language you wish to change. Cannot be used together with pageid.

pageid

Page ID of the page whose language you wish to change. Cannot be used together with title.

Type: integer
lang

Language code of the language to change the page to. Use default to reset the page to the wiki's default content language.

This parameter is required.
One of the following values: aae, ab, abs, ace, acf, acm, ady, ady-cyrl, aeb, aeb-arab, aeb-latn, af, aln, alt, am, ami, an, ang, ann, anp, apc, ar, arc, arn, arq, ary, arz, as, ase, ast, atj, av, avk, awa, ay, az, azb, ba, ban, ban-bali, bar, bbc, bbc-latn, bcc, bci, bcl, bdr, be, be-tarask, bew, bg, bgc, bgn, bh, bho, bi, bjn, blk, bm, bn, bo, bpy, bqi, br, brh, bs, btm, bto, bug, bug-bugi, bxr, ca, cbk-zam, ccp, cdo, cdo-hant, cdo-latn, ce, ceb, ch, chn, chr, chy, ckb, co, cop, cps, cpx, cpx-hans, cpx-hant, cr, crh, crh-cyrl, crh-latn, crh-ro, cs, csb, cu, cv, cy, da, dag, de, de-at, de-ch, de-formal, default, dga, din, diq, dlg, dsb, dtp, dty, dua, dv, dz, ee, efi, egl, el, eml, en, en-ca, en-gb, eo, es, es-formal, et, eu, ext, fa, fat, ff, fi, fit, fj, fo, fon, fr, frc, frp, frr, fur, fvr, fy, ga, gaa, gag, gan, gan-hans, gan-hant, gcf, gcr, gd, gl, gld, glk, gn, gom, gom-deva, gom-latn, gor, got, gpe, grc, gsw, gu, guc, gur, guw, gv, ha, hak, hak-hans, hak-hant, hak-latn, haw, he, hi, hif, hif-latn, hil, hke, hno, hoc-latn, hr, hrx, hsb, hsn, ht, hu, hu-formal, hy, hyw, ia, iba, ibb, id, ie, ig, igl, ii, ik, ike-cans, ike-latn, ilo, inh, io, is, isv-cyrl, isv-latn, it, iu, ja, jam, jbo, jut, jv, ka, kaa, kab, kai, kbd, kbd-cyrl, kbp, kcg, kea, kg, kge, khw, ki, kiu, kjh, kjp, kk, kk-arab, kk-cn, kk-cyrl, kk-kz, kk-latn, kk-tr, kl, km, kn, knc, ko, ko-kp, koi, kr, krc, kri, krj, krl, ks, ks-arab, ks-deva, ksh, ksw, ku, ku-arab, ku-latn, kum, kus, kv, kw, ky, la, lad, lb, lbe, lez, lfn, lg, li, lij, liv, ljp, lki, lld, lmo, ln, lo, loz, lrc, lt, ltg, lua, lus, luz, lv, lzh, lzz, mad, mag, mai, map-bms, mdf, mg, mhr, mi, min, mk, ml, mn, mnc, mnc-latn, mnc-mong, mni, mnw, mo, mos, mr, mrh, mrj, ms, ms-arab, mt, mui, mwl, my, myv, mzn, nah, nan, nan-hant, nan-latn-pehoeji, nan-latn-tailo, nap, nb, nds, nds-nl, ne, new, nia, nit, niu, nl, nl-informal, nmz, nn, no, nod, nog, nov, nqo, nr, nrm, nso, nup, nv, ny, nyn, nyo, nys, oc, ojb, olo, om, or, os, pa, pag, pam, pap, pap-aw, pcd, pcm, pdc, pdt, pfl, pi, pih, pl, pms, pnb, pnt, prg, ps, pt, pt-br, pwn, qu, qug, rgn, rif, rki, rm, rmc, rmy, rn, ro, roa-tara, rsk, ru, rue, rup, ruq, ruq-cyrl, ruq-latn, rut, rw, ryu, sa, sah, sat, sc, scn, sco, sd, sdc, sdh, se, se-fi, se-no, se-se, sei, ses, sg, sgs, sh, sh-cyrl, sh-latn, shi, shn, shy, shy-latn, si, sjd, sje, sk, skr, skr-arab, sl, sli, sm, sma, smn, sms, sn, so, sq, sr, sr-ec, sr-el, srn, sro, ss, st, stq, sty, su, sv, sw, syl, szl, szy, ta, tay, tcy, tdd, te, tet, tg, tg-cyrl, tg-latn, th, ti, tig, tk, tl, tly, tn, to, tok, tpi, tr, tru, trv, ts, tt, tt-cyrl, tt-latn, ttj, tum, tw, ty, tyv, tzm, udm, ug, ug-arab, ug-latn, uk, ur, uz, ve, vec, vep, vi, vls, vmf, vmw, vo, vot, vro, wa, wal, war, wls, wlx, wo, wuu, wuu-hans, wuu-hant, xal, xh, xmf, xsy, yi, yo, yrl, yua, yue, yue-hans, yue-hant, za, zea, zgh, zh, zh-cn, zh-hans, zh-hant, zh-hk, zh-mo, zh-my, zh-sg, zh-tw, zu
reason

Reason for the change.

tags

Change tags to apply to the log entry resulting from this action.

Values (separate with | or alternative): AWB, convenient-discussions
token

A "csrf" token retrieved from action=query&meta=tokens

This parameter is required.

Making any POST request is a multi-step process:

  1. Log in, via one of the methods described on API:Login .
  2. GET a CSRF token .
  3. Send a POST request, with the CSRF token, to take action on a page.

The sample code below covers the final step in detail.

{
    "setpagelanguage": {
        "title": "User:Gangleri/tests/bugzilla/04917/MediaWiki:Badtitle",
        "oldlanguage": "en[def]",
        "newlanguage": "eu",
        "logid": 222004
    }
}
#!/usr/bin/python3

"""
    set_page_language.py

    MediaWiki API Demos
    Demo of `SetPageLanguage` module: POST request to change
    the language of a page

    MIT License
"""

import requests

S = requests.Session()

URL = "https://test.wikipedia.org/w/api.php"

# Step 1: GET request to fetch login token
PARAMS_0 = {
    "action": "query",
    "meta": "tokens",
    "type": "login",
    "format": "json"
}

R = S.get(url=URL, params=PARAMS_0)
DATA = R.json()

LOGIN_TOKEN = DATA['query']['tokens']['logintoken']

# Step 2: POST request to log in. Use of main account for login is not
# supported. Obtain credentials via Special:BotPasswords
# (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
PARAMS_1 = {
    "action": "login",
    "lgname": "bot_user_name",
    "lgpassword": "bot_password",
    "lgtoken": LOGIN_TOKEN,
    "format": "json"
}

R = S.post(URL, data=PARAMS_1)

# Step 3: GET request to fetch CSRF token
PARAMS_2 = {
    "action": "query",
    "meta": "tokens",
    "format": "json"
}

R = S.get(url=URL, params=PARAMS_2)
DATA = R.json()

CSRF_TOKEN = DATA['query']['tokens']['csrftoken']

# Step 4: POST request to change page language
PARAMS_3 = {
    "action": "setpagelanguage",
    "pageid": "123",
    "token": CSRF_TOKEN,
    "format": "json",
    "lang": "eu"
}

R = S.post(URL, data=PARAMS_3)
DATA = R.json()

print(DATA)
<?php

/*
    set_page_language.php

    MediaWiki API Demos
    Demo of `SetPageLanguage` module: POST request to change
	the language of a page

    MIT license
*/

$endPoint = "https://test.wikipedia.org/w/api.php";

$login_Token = getLoginToken(); // Step 1
loginRequest( $login_Token ); // Step 2
$csrf_Token = getCSRFToken(); // Step 3
set_page_language( $csrf_Token ); // Step 4

// Step 1: GET request to fetch login token
function getLoginToken() {
	global $endPoint;

	$params1 = [
		"action" => "query",
		"meta" => "tokens",
		"type" => "login",
		"format" => "json"
	];

	$url = $endPoint . "?" . http_build_query( $params1 );

	$ch = curl_init( $url );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["logintoken"];
}

// Step 2: POST request to log in. Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest( $logintoken ) {
	global $endPoint;

	$params2 = [
		"action" => "login",
		"lgname" => "bot_user_name",
		"lgpassword" => "bot_password",
		"lgtoken" => $logintoken,
		"format" => "json"
	];

	$ch = curl_init();

	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params2 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

}

// Step 3: GET request to fetch CSRF token
function getCSRFToken() {
	global $endPoint;

	$params3 = [
		"action" => "query",
		"meta" => "tokens",
		"format" => "json"
	];

	$url = $endPoint . "?" . http_build_query( $params3 );

	$ch = curl_init( $url );

	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

	$result = json_decode( $output, true );
	return $result["query"]["tokens"]["csrftoken"];
}

// Step 4: POST request to change page language
function set_page_language( $csrftoken ) {
	global $endPoint;

	$params4 = [
		"action" => "setpagelanguage",
		"pageid" => "66400",
		"lang" => "es",
		"token" => $csrftoken,
		"format" => "json"
	];

	$ch = curl_init();

	curl_setopt( $ch, CURLOPT_URL, $endPoint );
	curl_setopt( $ch, CURLOPT_POST, true );
	curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params4 ) );
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
	curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
	curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

	$output = curl_exec( $ch );
	curl_close( $ch );

	echo ( $output );
}
/*  
    set_page_language.js
 
    MediaWiki API Demos
    Demo of `SetPageLanguage` module: POST request to change
	the language of a page

    MIT license
*/

var request = require('request').defaults({jar: true}),
    url = "https://test.wikipedia.org/w/api.php";

// Step 1: GET request to fetch login token
function getLoginToken() {
    var params_0 = {
        action: "query",
        meta: "tokens",
        type: "login",
        format: "json"
    };

    request.get({ url: url, qs: params_0 }, function (error, res, body) {
        if (error) {
            return;
        }
        var data = JSON.parse(body);
        loginRequest(data.query.tokens.logintoken);
    });
}

// Step 2: POST request to log in. 
// Use of main account for login is not
// supported. Obtain credentials via Special:BotPasswords
// (https://www.mediawiki.org/wiki/Special:BotPasswords) for lgname & lgpassword
function loginRequest(login_token) {
    var params_1 = {
        action: "login",
        lgname: "bot_username",
        lgpassword: "bot_password",
        lgtoken: login_token,
        format: "json"
    };

    request.post({ url: url, form: params_1 }, function (error, res, body) {
        if (error) {
            return;
        }
        getCsrfToken();
    });
}

// Step 3: GET request to fetch CSRF token
function getCsrfToken() {
    var params_2 = {
        action: "query",
        meta: "tokens",
        format: "json"
    };

    request.get({ url: url, qs: params_2 }, function(error, res, body) {
        if (error) {
            return;
        }
        var data = JSON.parse(body);
        set_page_language(data.query.tokens.csrftoken);
    });
}

// Step 4: POST request to change page language
function set_page_language(csrf_token) {
    var params_3 = {
        action: "setpagelanguage",
        pageid: "66400",
        lang: "es",
        token: csrf_token,
        format: "json"
    };

    request.post({ url: url, form: params_3 }, function (error, res, body) {
        if (error) {
            return;
        }
        console.log(body);
    });
}

// Start From Step 1
getLoginToken();
/*
	set_page_language.js

	MediaWiki API Demos
	Demo of `SetPageLanguage` module: POST request to change
    the language of a page

	MIT License
*/

var params = {
		action: 'setpagelanguage',
		pageid: '66400',
		lang: 'es',
		format: 'json'
	},
	api = new mw.Api();

api.postWithToken( 'csrf', params ).done( function ( data ) {
	console.log( data );
} );
Code Info notoken The token parameter must be set. pagelang-disabled Changing the language of a page is not allowed on this wiki. pagelang-unchanged-language The page title is already set to language lang. pagelang-db-failed The database failed to change the page language.

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4