Diferencia entre revisiones de «Módulo:Wikidata/Formatos»

Contenido eliminado Contenido añadido
muevo la función para el lugar a otro módulo
Aplico el plural separadamente a cada palabra de las unidades de medida; 'milla náutica' => 'millas náuticas', 'metro cúbico' => 'metros cúbicos'
Línea 65:
return p.enlazar(enlacePais, gentilicio, idEntidadPais, opciones)
end
 
function plural(texto)
if texto:match("^.*[aeiou]$") then -- 'hombre' => 'hombres', 'metro' => 'metros'
texto = texto .. 's'
elseif texto:match("^.*[^s]$") then -- 'mujer' => 'mujeres', 'pascal' => 'pascales', (*) 'siemens' => 'siemens'
texto = texto .. 'es'
end
return texto
end
 
Línea 70 ⟶ 79:
cantidad = mw.ustring.gsub(valor.value['amount'], '+','')
unidad = mw.wikibase.label(mw.ustring.gsub(valor.value['unit'], '^.-/(Q%d+)$', '%1'))
if unidad and tonumber(cantidad) > 1 and unidad:match("^.*[aeiou]$") then
textoUnidad = unidadmw.ustring.'s'gsub(unidad, "(%S+)", plural)
elseif unidad and tonumber(cantidad) > 1 then
textoUnidad = unidad..'es'
end
 
if not unidad or (opciones['formatoUnidad'] and opciones['formatoUnidad'] == 'número') then
return tonumber(cantidad)