« Module:Infobox/Localité » : différence entre les versions
Contenu supprimé Contenu ajouté
m nom de paramètre sans majuscule |
mise en forme des devises (Projet:Modèle/Demandes#Langue d'une devise dans Module:Infobox/Localité) |
||
Ligne 5 :
local linguistic = require "Module:Linguistique"
local convert = require "Module:Conversion"
local str = require "Module:Str"
local lng = require "Module:Langue"
local country = wikidata.stringTable{entity = localdata.item, property = "P17", displayformat = "raw"}
local countryid
Ligne 122 ⟶ 124 :
end
local function devise() -- fonction de mise en forme pour les devises. exemple :
-- divisions amdinistratives▼
-- En [[anglais]] : ''The Gateway to Alberta'' (« La porte d'entrée de l'Alberta »)
local devises = localdata['devise']
if devises then -- données entrées en paramètre de l'infobox
local langDevise = localdata["langue_devise"]
if langDevise and langDevise ~= '' then
if str.non_latin({args={devises}}) == '' then
devises = "<i>" .. devises .. "</i>"
end
devises = "en ".. langDevise .. " : " .. devises
local traductionDevise = localdata["traduction_devise"]
local transcriptionDevise = localdata["transcription_devise"]
if transcriptionDevise then
if traductionDevise then
devises = devises .. " (<i>" .. transcriptionDevise .. "</i>)"
else
devises = devises .. " (<i>" .. transcriptionDevise .. "</i>, « " .. traductionDevise .. " »)"
end
elseif traductionDevise then
devises = devises .. " ( « " .. traductionDevise .. " »)"
end
end
local noteDevise = localdata["note_devise"]
if noteDevise then
devises = devises .. noteDevise
end
else -- données récupérées de Wikidata
local query = { property = "P1451", entity = localdata.item}
local claims = wikidata.getClaims(query)
if not claims or claims == {} then
return nil
end
for i, j in pairs(claims) do
local devise = wikidata.formatStatement(j, query)
local langDevise = j.mainsnak.datavalue.value.language
local noteDevise = '' -- récupération des éventuelles sources
local sources, hashes = wikidata.getReferences(j)
if sources then
local source = wikidata.sourceStr(sources, hashes)
if source then
noteDevise = noteDevise .. source
end
end
if langDevise ~= 'fr' and langDevise ~= '' then
local fullLanguage = "[[" .. lng.articleLangue(langDevise) .. "|" ..
lng.nomLangue(langDevise) .. "]]"
if str.non_latin({args={devise}}) == '' then
devise = "<i>" .. devise .. "</i>"
end
local traductionDevise
if j.qualifiers and j.qualifiers.P2441 then
for _, v in pairs(j.qualifiers.P2441) do
if v.datavalue.value.langDevise == 'fr' then
traductionDevise = v.datavalue.value.text
end
end
end
if traductionDevise then
claims[i] = "en ".. fullLanguage .. " : " .. devise ..
" (« " .. traductionDevise .. " »)" .. noteDevise
else
claims[i] = "en ".. fullLanguage .. " : " .. devise .. noteDevise
end
else
claims[i] = devise .. noteDevise
end
end
devises = linguistic.conj(claims, 'new line') .. wikidata.addTrackingCat("P1451")
devises = wikidata.addLinkBack(devises, localdata.item, "P1451")
end
return devises
end
--- par paramètres locaux
Ligne 292 ⟶ 371 :
{type = "row", label = "ISO 3166-2", value = "iso", property = "P300"},
{type = "row", label = "Langue officielle", plurallabel = "Langues officielles", value = "langue officielle", property = "P37"},
{type = "row", label = "Devise", value =
{type = "row", label = "Blasonnement", value = "blasonnement", property = "P237"},
{type = "row", label = "Drapeau", value = "description drapeau", property = "P163"},
|