Terraria Wiki

Button See Issues.png
Des problèmes sur le wiki ?
  • Fichiers et icônes invisibles : Effacez le cache de la page en la purgeant (via « Purge » dans le menu déroulant « Plus » en haut à droite)
  • Vue étrange sur ordinateur : Vous utilisez probablement la vue mobile; cliquez sur « Voir le site complet » tout en bas pour utiliser de nouveau la vue ordinateur
    • Peut aussi être provoqué par un adblocker, tel que Ghostery, essayez de le désactiver sur le wiki
Si rien n'a fonctionné, n'hésitez pas à nous en faire part sur le portail de la communauté ou sur le serveur discord.

EN SAVOIR PLUS

Terraria Wiki
Advertisement
Terraria Wiki
Voir aussi la page anglaise du module : Module:Localization. Elle pourra contenir des informations plus complètes et actuelles.

Aucune sous-page de documentation n'existe déjà pour ce module. En créer une maintenant.


local ugsub = mw.ustring.gsub
local usub = mw.ustring.sub

------------------------------
return {
	-- replace all tokens in source string with replacement
	replace = function(frame)
		local str = frame.args['str']
		-- iterate over parameters
		for token, replace in pairs(frame:getParent().args) do
			local isReplacementArg = usub(token, 1, 1) == '$' -- parameter name starts with the "$" character
			if frame.args['calledFromModule'] ~= nil and frame.args['calledFromModule'] ~= '' then
				-- if {{l10n/long}} was called from a module, then it is impossible to include the "$" character in a parameter name
				-- therefore, replacement arguments are not in the format of "$arg$", but "__arg" there
				isReplacementArg = usub(token, 1, 2) == '__'
				token = '$' .. usub(token, 3) .. '$' -- reformat "__arg" to "$arg$"
			end
			if isReplacementArg then
				-- escape, to perform plain text replacement. see Module:String
				str = ugsub(str, (ugsub(token, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1")), (ugsub(replace, "%%", "%%%%" ))) -- () to force return only 1 value.
			end
		end
		return str
	end,

}
Advertisement