Manual:Interwiki/it
Gli interwiki sono collegamenti ipertestuali a pagine di altri progetti che utilizzano uno stile di link con un prefisso interno.
Gli interwiki rendono possibile fare collegamenti a pagine di (per esempio) Wikipedia, Wikibooks, Wikinews etc. o al tuo wiki-progetto in altre lingue. (Vedi Manual:Wiki family .)
Un collegamento come [[Wikipedia:Main Page]]
apparirà come questo: Wikipedia:Main Page e reindirizzerà alla Pagina principale di Wikipedia.
Interwiki ad altri progetti
Table and query API
Gli interwiki sono gestiti nella tabella interwiki del database MediaWiki.
Puoi recuperare l'elenco interwiki dalla proprietà interwikimap della meta query API siteinfo , in altre parole effettuando una richiesta API come
api.php?action=query&meta=siteinfo&siprop=interwikimap
Impostazione predefinita
Diversi progetti Wikimedia (e altri) sono pronti per i collegamenti interwiki per impostazione predefinita, quindi per usarli non c'è bisogno di modificare il tuo database.
I seguenti sono esempi di prefissi interwiki che sono disponibili per impostazione predefinita (è disponibile anche Wikipedia dalla versione 1.10 in poi):
prefisso | URL di destinazione | esempio d'uso |
---|---|---|
commons | https://commons.wikimedia.org/wiki/ | [[commons:MediaWiki]]
|
mediazilla | http://bugzilla.wikimedia.org/ | [[mediazilla:1209]]
|
metawikimedia (before version 1.23: metawikipedia) | https://meta.wikimedia.org/wiki/ | [[metawikimedia:Main Page]]
|
L'elenco completo delle prefissi degli interwiki di default è disponibile a maintenance/interwiki.list
Vedere m:Help:Interwiki linking/it per informazioni più complete sul collegamento da/verso progetti Wikimedia.
[[metawikipedia:Main Page]]
in questo caso.
Aggiungere un nuovo sito web per il collegamento interwiki
- I collegamenti interwiki sono definiti nella tabella
interwiki
del database.
- Per modificarli, bisogna modificare il database, come mostrato sotto.
Si consiglia di utilizzare l'estensione "Interwiki", che facilita il processo.
Dato che Wikipedia non è configurata per impostazione predefinita prima della versione 1.10, qualcuno potrebbe volerla aggiungere (così come potrebbe voler aggioungere altri progetti).
Gli esempi qui sotto mostrano come configurare w:
come un collegamento alla Wikipedia in lingua inglese.
L'idea è quella di aggiungere una riga di questo tipo:
('prefix', 'URL format string', 1, 0)
nella tabella interwiki
.
Riga singola
Gli utenti avanzati possono usare una singola riga di comando, come segue:
- MySQL e PostgreSQL
<translate> MediaWiki versions:</translate> |
INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
Le versioni più recenti di MediaWiki richiedono alcuni campi supplementari come iw_wikiid
.
INSERT INTO interwiki (iw_prefix, iw_url, iw_api, iw_local, iw_trans, iw_wikiid)
VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 'https://en.wikipedia.org/w/api.php', 0, 1, '');
Esportare, aggiungere, reimportare
Alternatively, you can use the following multi-step process, which exports the interwiki
table, adds a line, then re-imports it:
- Export the database table
interwiki
- add to the end of the table a line of the following form (using English wikipedia as an example):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
- Import the database table
interwiki
To test
To test configuration:
- Go to your site,
- create an article, with the following content:
[[w:Wikipedia:Village pump|]]
- This should display a link to the 'Village pump' page on en.Wikipedia.org (the url
https://en.wikipedia.org/wiki/Wikipedia:Village_pump
)
Field documentation
File:Tools.svg
<translate> Tip for wiki admins:</translate> Several help pages link to MediaWiki.org's Manual namespace. To make these links work on your local wiki, add an interwiki link with iw_prefix=manual
and iw_url=http://www.mediawiki.org/wiki/Manual:$1
File:Tools.svg
<translate> Tip for wiki admins:</translate> $wgTranscludeCacheExpiry in your LocalSettings.php
should be set if changes in the transcluded wiki are done. Alternatively, you can flush the table transcache on your local wiki.
Collegamenti interwiki ad altre lingue
If you have installed a Wiki family , you can link from an article in English to an article in German (if you have a German project, too). You can set up MediaWiki to show those links in the sidebar, just below the toolbox.
In your filesystem, there is a subfolder of your MediaWiki installation, called "languages".
Go there and have a look at Names.php
as it contains a list of known languages and their prefixes.
E.g. you want to add your German project, search Names.php
for "Deutsch" and note the prefix "de".
If you know the "right" prefix, edit your database by adding a new line to table interwiki
:
iw_prefix |
language-prefix (e.g. "de" for German), which is listed in Names.php
|
iw_url |
URL to your wiki-project (e.g. http://de.example.org/index.php/$1 )
|
iw_local |
same as above "Adding More" |
iw_trans |
same as above "Adding More" |
Now, you can link an article to the same in other languages.
Adding [[de:Hauptseite]]
on your English Main_Page will create a link "Deutsch" below the toolbox, which leads to the Main_Page of the German wiki (Hauptseite).
Note, that this link is shown in Sidebar's section, only, and not inside of the article.
If you want to create a link inside of the text, you have to add a colon previous to the prefix: [[:de:Hauptseite]]
or set $wgInterwikiMagic to false.
Exporting the interwiki table from a wiki
The following JavaScript code performs the API query to retrieve the interwiki map of an existing wiki, then displays the SQL INSERT statements to fill the interwiki table on a new wiki. You run it for example by injecting the code through your browser's developer tools, or by placing it inside Special:MyPage/skinname.js and previewing.
function ExtractInterwikiMapTable() {
$.getJSON(mw.config.get('wgScriptPath') + '/api.php?action=query&meta=siteinfo&siprop=interwikimap&format=json', function(data) {
var iw_prefix, iw_url, iw_local, iw_api, re_escape = /(')/g, result = '';
for (var i = 0, iwm = data.query.interwikimap; i < iwm.length; i++) {
iw_prefix = "'" + iwm[i].prefix.replace(re_escape, '\\$1') + "'";
iw_url = "'" + iwm[i].url.replace(re_escape, '\\$1') + "'";
iw_local = (typeof iwm[i].local == 'string') ? '1' : '0';
iw_api = "'" + (iwm[i].iw_api || '').replace(re_escape, '\\$1') + "'";
result += 'INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans, iw_api) VALUES ('+iw_prefix+', '+iw_url+', '+iw_local+', 0, '+iw_api+');\n'
}
$('<textarea style="width:800px;height:400px;"/>').val(result).appendTo(document.body);
});
}
$(ExtractInterwikiMapTable);