<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://rishon.rcorp.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3ALien_interwiki</id>
	<title>Module:Lien interwiki - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://rishon.rcorp.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3ALien_interwiki"/>
	<link rel="alternate" type="text/html" href="https://rishon.rcorp.fr/index.php?title=Module:Lien_interwiki&amp;action=history"/>
	<updated>2026-09-05T18:37:19Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://rishon.rcorp.fr/index.php?title=Module:Lien_interwiki&amp;diff=243&amp;oldid=prev</id>
		<title>RubnK : 1 version importée</title>
		<link rel="alternate" type="text/html" href="https://rishon.rcorp.fr/index.php?title=Module:Lien_interwiki&amp;diff=243&amp;oldid=prev"/>
		<updated>2025-06-26T12:20:11Z</updated>

		<summary type="html">&lt;p&gt;1 version importée&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 26 juin 2025 à 14:20&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>RubnK</name></author>
	</entry>
	<entry>
		<id>https://rishon.rcorp.fr/index.php?title=Module:Lien_interwiki&amp;diff=242&amp;oldid=prev</id>
		<title>wp&gt;Orlodrim : Déplacement du &lt;span class=&quot;ExistingLink&quot;&gt;&lt;/span&gt; autour du lien affiché plutôt que le mettre sur un contenu invisible après le lien. Ça avait été ajouté par Dr Brains. Je ne suis pas sûr de ce qu&#039;il comptait en faire mais je n&#039;ai pas trouvé de script mentionnant cette classe, donc rien à mettre à jour a priori. Par contre, ça va m&#039;être utile pour en créer un.</title>
		<link rel="alternate" type="text/html" href="https://rishon.rcorp.fr/index.php?title=Module:Lien_interwiki&amp;diff=242&amp;oldid=prev"/>
		<updated>2024-11-17T19:20:33Z</updated>

		<summary type="html">&lt;p&gt;Déplacement du &amp;lt;span class=&amp;quot;ExistingLink&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; autour du lien affiché plutôt que le mettre sur un contenu invisible après le lien. Ça avait été &lt;a href=&quot;/index.php/Sp%C3%A9cial:Diff/64090687&quot; title=&quot;Spécial:Diff/64090687&quot;&gt;ajouté&lt;/a&gt; par Dr Brains. Je ne suis pas sûr de ce qu&amp;#039;il comptait en faire mais je n&amp;#039;ai pas trouvé de script mentionnant cette classe, donc rien à mettre à jour a priori. Par contre, ça va m&amp;#039;être utile pour &lt;a href=&quot;/index.php?title=Discussion_utilisateur:Orlodrim/liens-de-fichiers-bris%C3%A9s.js&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Discussion utilisateur:Orlodrim/liens-de-fichiers-brisés.js (page inexistante)&quot;&gt;en créer un&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- luacheck: globals mw, no max line length&lt;br /&gt;
&lt;br /&gt;
local mwTrim = mw.text.trim&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main( frame )&lt;br /&gt;
&lt;br /&gt;
	local function lien( interwiki, target, text )&lt;br /&gt;
		if target:sub( 1, 1 ) == &amp;#039;:&amp;#039; then&lt;br /&gt;
			target = target:sub( 2 )&lt;br /&gt;
		end&lt;br /&gt;
		if interwiki then&lt;br /&gt;
			target = interwiki .. &amp;#039;:&amp;#039; .. target&lt;br /&gt;
		end&lt;br /&gt;
		if text then&lt;br /&gt;
			return &amp;#039;[[:&amp;#039; .. target .. &amp;#039;|&amp;#039; .. text .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;#039;[[:&amp;#039; .. target .. &amp;#039;]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function indicateurAvecLien( lang, cible_trad )&lt;br /&gt;
&lt;br /&gt;
		local function makeSpan( libelle )&lt;br /&gt;
			local title = &amp;#039;Article &amp;#039; .. libelle .. &amp;#039;\194\160: «\194\160&amp;#039; .. cible_trad .. &amp;#039;\194\160»&amp;#039;&lt;br /&gt;
&lt;br /&gt;
			return &amp;#039;&amp;lt;span class=&amp;quot;indicateur-langue&amp;quot; title=&amp;quot;&amp;#039; .. title:gsub( &amp;#039;&amp;quot;&amp;#039;, &amp;#039;&amp;amp;quot;&amp;#039; ) .. &amp;#039;&amp;quot;&amp;gt;(&amp;#039; .. lang .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if lang == &amp;#039;wikidata&amp;#039; or lang == &amp;#039;d&amp;#039; then&lt;br /&gt;
			return lien( lang, cible_trad, makeSpan( &amp;#039;sur Wikidata&amp;#039; ) )&lt;br /&gt;
		else&lt;br /&gt;
			-- noms pour les langues les plus utilisées, afin d&amp;#039;économiser l&amp;#039;appel au Module:Langue&lt;br /&gt;
			local langs = {&lt;br /&gt;
				de = &amp;#039;allemand&amp;#039;,&lt;br /&gt;
				en = &amp;#039;anglais&amp;#039;,&lt;br /&gt;
				es = &amp;#039;espagnol&amp;#039;,&lt;br /&gt;
				it = &amp;#039;italien&amp;#039;,&lt;br /&gt;
				ja = &amp;#039;japonais&amp;#039;,&lt;br /&gt;
				pl = &amp;#039;polonais&amp;#039;,&lt;br /&gt;
				pt = &amp;#039;portugais&amp;#039;,&lt;br /&gt;
				ru = &amp;#039;russe&amp;#039;,&lt;br /&gt;
				zh = &amp;#039;chinois&amp;#039;,&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			local nomLangue = langs[ lang ]&lt;br /&gt;
			if not nomLangue then&lt;br /&gt;
				nomLangue = require( &amp;#039;Module:Langue&amp;#039; ).nomLangue( lang )&lt;br /&gt;
				if nomLangue:find( &amp;#039;class=&amp;quot;error&amp;quot;&amp;#039;, nil, true ) then&lt;br /&gt;
					nomLangue = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			if nomLangue then&lt;br /&gt;
				return lien( lang, cible_trad, makeSpan( &amp;#039;en &amp;#039; .. nomLangue ) )&lt;br /&gt;
			else&lt;br /&gt;
				return lien( lang, cible_trad, makeSpan( &amp;#039;dans une autre langue&amp;#039; ) )&lt;br /&gt;
					.. &amp;#039;&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Erreur : langue non reconnue par le modèle Lien : « &amp;#039; .. lang .. &amp;#039; ».&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
					.. &amp;#039;[[Catégorie:Article contenant un appel à traduction avec un code langue inconnu|+]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local validArgs = {&lt;br /&gt;
		fr     = true,&lt;br /&gt;
		[1]    = true,&lt;br /&gt;
		lang   = true,&lt;br /&gt;
		langue = true,&lt;br /&gt;
		trad   = true,&lt;br /&gt;
		texte  = true,&lt;br /&gt;
		lienfr = true,&lt;br /&gt;
		nocat  = true,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local parentArgs = frame:getParent().args&lt;br /&gt;
	local hasInvalidArgs = false&lt;br /&gt;
	local args = {}&lt;br /&gt;
&lt;br /&gt;
	for k, v in pairs( parentArgs ) do&lt;br /&gt;
		-- détecte la présence de paramètres non reconnus&lt;br /&gt;
		if not validArgs[ k ] then&lt;br /&gt;
			hasInvalidArgs = true&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- effectue un trim sur les paramètres non nommés,&lt;br /&gt;
		-- et exclut les paramètres dont la valeur est vide&lt;br /&gt;
		if type( k ) == &amp;#039;number&amp;#039; then&lt;br /&gt;
			v = mwTrim( v )&lt;br /&gt;
		end&lt;br /&gt;
		if v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			args[ k ] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local cible_fr = args[ &amp;#039;fr&amp;#039; ] or args[ 1 ] or args[ &amp;#039;trad&amp;#039; ]&lt;br /&gt;
	local cible_trad = args[ &amp;#039;trad&amp;#039; ] or args[ &amp;#039;fr&amp;#039; ] or args[ 1 ]&lt;br /&gt;
	local lang = args[ &amp;#039;langue&amp;#039; ] or args[ &amp;#039;lang&amp;#039; ] or &amp;#039;en&amp;#039;&lt;br /&gt;
	local nolinkfr = args[&amp;#039;lienfr&amp;#039;] == &amp;#039;non&amp;#039; or args[&amp;#039;lienfr&amp;#039;] == &amp;#039;no&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	local categorise = ( args[ &amp;#039;nocat&amp;#039; ] ~= &amp;#039;oui&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
	if not cible_fr then&lt;br /&gt;
		return frame:expandTemplate{ title = &amp;#039;Fix&amp;#039;, args = {&lt;br /&gt;
			[1]              = &amp;#039;&amp;amp;lsqb;&amp;amp;lsqb;&amp;#039; .. ( args[ &amp;#039;texte&amp;#039; ] and &amp;#039;&amp;amp;verbar;&amp;#039; .. args[ &amp;#039;texte&amp;#039; ] or &amp;#039;&amp;#039; ) .. &amp;#039;&amp;amp;rsqb;&amp;amp;rsqb;&amp;#039;,&lt;br /&gt;
			[&amp;#039;message&amp;#039;]      = &amp;#039;modèle à corriger&amp;#039;,&lt;br /&gt;
			[&amp;#039;message_lien&amp;#039;] = &amp;#039;Catégorie:Page contenant un appel à traduction d\&amp;#039;un article non spécifié&amp;#039;,&lt;br /&gt;
			[&amp;#039;infobulle&amp;#039;]    = &amp;#039;Cet appel à traduction est à corriger car aucun titre de page n\&amp;#039;est spécifié.&amp;#039;,&lt;br /&gt;
			[&amp;#039;catégorie&amp;#039;]    = ( categorise and &amp;#039;Page contenant un appel à traduction d\&amp;#039;un article non spécifié&amp;#039; or nil )&lt;br /&gt;
		} }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local result&lt;br /&gt;
&lt;br /&gt;
	if nolinkfr then&lt;br /&gt;
		result = ( args[ &amp;#039;texte&amp;#039; ] or cible_fr ) .. &amp;#039;\194\160&amp;#039; .. indicateurAvecLien( lang, cible_trad )&lt;br /&gt;
	else&lt;br /&gt;
		result = lien( nil, cible_fr, args[ &amp;#039;texte&amp;#039; ] )&lt;br /&gt;
&lt;br /&gt;
		local pageExiste&lt;br /&gt;
		local objetPage = mw.title.new( cible_fr )&lt;br /&gt;
		if objetPage then&lt;br /&gt;
			-- pcall permettant de masquer les erreurs « too many expensive function calls »&lt;br /&gt;
			local success = pcall( function ()&lt;br /&gt;
				pageExiste = objetPage.exists&lt;br /&gt;
			end )&lt;br /&gt;
			if not success then&lt;br /&gt;
				pageExiste = false&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			pageExiste = false -- titre de page invalide&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if pageExiste then&lt;br /&gt;
			result = &amp;#039;&amp;lt;span class=&amp;quot;ExistingLink&amp;quot;&amp;gt;&amp;#039; .. result .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
			if categorise then&lt;br /&gt;
				result = result .. p._temoin()&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			result = result .. &amp;#039;\194\160&amp;#039; .. indicateurAvecLien( lang, cible_trad )&lt;br /&gt;
&lt;br /&gt;
			if categorise then&lt;br /&gt;
				result = result .. p._categorisation( lang )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if hasInvalidArgs then&lt;br /&gt;
		local ns = mw.title.getCurrentTitle().namespace&lt;br /&gt;
		-- Utilisateur, Discussion utilisateur&lt;br /&gt;
		if ns == 2 or ns == 3 then&lt;br /&gt;
			result = result .. &amp;#039;[[Catégorie:Page utilisateur contenant un modèle Lien avec un paramètre inconnu]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			result = result .. &amp;#039;[[Catégorie:Page contenant un modèle Lien avec un paramètre inconnu]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._temoin()&lt;br /&gt;
	local categorie&lt;br /&gt;
&lt;br /&gt;
	local ns = mw.title.getCurrentTitle().namespace&lt;br /&gt;
	-- (principal), Portail, Référence&lt;br /&gt;
	if ns == 0 or ns == 100 or ns == 104 then&lt;br /&gt;
		categorie = &amp;#039;[[Catégorie:Page utilisant Lien pour un article existant]]&amp;#039;&lt;br /&gt;
	-- Modèle&lt;br /&gt;
	elseif ns == 10 then&lt;br /&gt;
		categorie = &amp;#039;[[Catégorie:Page utilisant Lien pour un article existant|*]]&amp;#039;&lt;br /&gt;
	-- Discussion, Wikipédia, Projet&lt;br /&gt;
	elseif ns == 1 or ns == 4 or ns == 102 then&lt;br /&gt;
		categorie = &amp;#039;[[Catégorie:Page de discussion utilisant Lien pour un article existant]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		categorie = &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return categorie&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._categorisation( lang )&lt;br /&gt;
	local ns = mw.title.getCurrentTitle().namespace&lt;br /&gt;
	-- (principal), Modèle&lt;br /&gt;
	if ns == 0 or ns == 10 then&lt;br /&gt;
		local data = mw.loadData( &amp;#039;Module:Lien interwiki/data catégorisation&amp;#039; )&lt;br /&gt;
		return ( data[ lang ] or &amp;#039;[[Catégorie:Article contenant un appel à traduction avec un code langue inconnu|&amp;#039; .. lang .. &amp;#039;]]&amp;#039; )&lt;br /&gt;
	else&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wp&gt;Orlodrim</name></author>
	</entry>
</feed>