Jump to content
MediaWiki

API:SetPageLanguage/it

From mediawiki.org
This page is a translated version of the page API:SetPageLanguage and the translation is 42% complete.
Questa pagina fa parte della documentazione MediaWiki API.
Azione MediaWiki API
Nozioni di base
Autenticazione
Account e utenti
Pagina Operazioni
Cerca
Utilità per gli sviluppatori
Tutorial
v · d · e
Versione MediaWiki:
≥ 1.29

POST request to change the language of a page.

Documentazione API

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

action=setpagelanguage

(main | setpagelanguage)
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Change the language of a page.

Specific parameters:
Other general parameters are available.
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, aig, 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, sas, 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.
Examples:
Change the language of the page MediaWiki to Basque.
api.php?action=setpagelanguage&title=MediaWiki&lang=eu&token=123ABC [open in sandbox]
Change the language of the page with ID 123 to the wiki's default content language.
api.php?action=setpagelanguage&pageid=123&lang=default&token=123ABC [open in sandbox]

Esempio

Making any POST request is a multi-step process:

  1. Log in, via one of the methods described on API:Accesso .
  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.

POST request

Response

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

Esempio di codice

Python

#!/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
"""
importrequests
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

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

JavaScript

/* 
 set_page_language.js

 MediaWiki API Demos
 Demo of `SetPageLanguage` module: POST request to change
	the language of a page
 MIT license
*/
varrequest=require('request').defaults({jar:true}),
url="https://test.wikipedia.org/w/api.php";
// Step 1: GET request to fetch login token
functiongetLoginToken(){
varparams_0={
action:"query",
meta:"tokens",
type:"login",
format:"json"
};
request.get({url:url,qs:params_0},function(error,res,body){
if(error){
return;
}
vardata=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
functionloginRequest(login_token){
varparams_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
functiongetCsrfToken(){
varparams_2={
action:"query",
meta:"tokens",
format:"json"
};
request.get({url:url,qs:params_2},function(error,res,body){
if(error){
return;
}
vardata=JSON.parse(body);
set_page_language(data.query.tokens.csrftoken);
});
}
// Step 4: POST request to change page language
functionset_page_language(csrf_token){
varparams_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();

MediaWiki JS

/*
	set_page_language.js
	MediaWiki API Demos
	Demo of `SetPageLanguage` module: POST request to change
 the language of a page
	MIT License
*/
varparams={
action:'setpagelanguage',
pageid:'66400',
lang:'es',
format:'json'
},
api=newmw.Api();
api.postWithToken('csrf',params).done(function(data){
console.log(data);
});

Possibili errori

Codice Informazione
notoken The token parameter must be set.
pagelang-disabled Changing the language of a page is not allowed on this wiki.
pagelang-unchanged-language La pagina title è già impostata alla lingua lang.
pagelang-db-failed Il database non è stato in grado di modificare la lingua della pagina.

Note aggiuntive

Vedi anche

AltStyle によって変換されたページ (->オリジナル) /