Op den Inhalt sprangen

Modul Diskussioun:Wd

Inhalter vun der Säit ginn an anere Sproochen net ënnerstëtzt.
Vu Wikipedia

Fir Moosseenheeten d'Eenheetszeechen offroen

[Quelltext änneren]

Ech proposéieren eng Ännerung fir de Modul:Wd. (Resumé ënnen.) Fir d'éischt de Kontext.

Hei huet de @Les Meloures mech am Resumé vun der Ännerung dorop opmierksam gemaach, datt den lb-label vum Wikidata-Element Zentimeter (Q174728) misst „cm“ amplaz „Zentimeter“ sinn, fir datt a gewëssen Infoboxen hannert engem Wäert net den Numm vun enger Eenheet steet, mee d'symbolesch Schreifweis vun der Eenheet. Dat betrëfft mindestens d'Schablounen Infobox Biographie (Sportler) an Infobox Biographie (Mannequin) (ech weess net, ob et der nach méi gëtt), wou bspw. d'Gréisst mat

{{wikidata|property|linked|P2048}}

oder d'Gewiicht mat

{{wikidata|property|linked|P2067}}

ofgefrot gëtt. D'Schabloun:Wikidata rifft de Modul:Wd op an d'properties Héicht (P2048) a Gewiicht (P2067) sinn allebéid vum data type quantity. D. h., wa mer probéieren de Wee, deen de Wäert vun deenen Eegeschaften duerch de Modul:Wd hëlt, nozevollzéien, da komme mer duerch d'Funktioun getValue (momentant Zeil 773), wou mer an den Aascht

elseif datatype == 'quantity' then ...

geroden (momentant Zeil 804). Do gëtt dann ënner anerem op

datavalue['unit']

also d'Eenheet vum Wäert, zougegraff, déi dann an d'Funktioun convertUnit gejauft gëtt (momentant Zeil 735). Wat herno fir d'Eenheet ugewise gëtt, ass (nieft engem eventuelle Leerzeichen) de label, deen an der Zeil

label = self:getLabel(itemID, raw, link, short)

definéiert gëtt (momentant Zeil 754).

D'Musek spillt also an der Funktioun getLabel (momentant Zeil 600). Do gëtt iwwerpréift, ob gewësse Parameter vun der Funktioun true sinn an an Ofhängegkeet dovun de label sou oder anescht zeréckginn. Am Fall vun den uewe genannten Abannunge gëtt den lb-label vum Wikidata-Element vun der jeeweileger Eenheet mat Wikilink ugewisen.

De Fonctionnement vun deene genannten Infoboxe setzt viraus, datt den lb-label vun alle relevanten Eenheeten op Wikidata ëmmer déi gewënschte Form huet. Dat ass menger Meenung no kee gudden Zoustand, well domat eng Infobox op der lb.wikipedia dovun ofhänkt, datt gewësse Felder op Wikidata, déi a priori onofhängeg vun der lb.wikipedia, ee spezifescht Format hunn, dat net opgrond vun hirer Funktioun op Wikidata garantéiert ass. Mir brauchen eng Léisung, déi méi robust ass, d. h. déi och nach funktionéiert, wann ee Benotzer op Wikidata aus dem lb-label „cm“ „Zentimeter“ mécht, wat eng absolut valabel Ännerung ass, a wou ee Wikidata-Benotzer onméiglech wësse kann, datt domat eng lokal Schabloun gestéiert gëtt, wann en et net duerch Zoufall weess oder – wéi a mengem Fall – gesot kritt.

Léisungen

[Quelltext änneren]

Ech gesinn zwou Léisungen: 1. Eng Ännerung vum Modul:Wd, wat eng konzeptuell propper, robust a virun allem extrem allgemeng Léisung wier, awer och méi komplex a mat méi Risiko fir Niewewierkunge behaft ass, oder 2. eng Ännerung vun de jeeweilege Schablounen duerch ellent Gewurschtels, wou zwar net vill schifgoe kann, mee wou een dee selwechten Exercice fir all méiglechen Uwendungsfall widderhuele muss. (Ech mengen, et héiert ee scho raus, datt ech d'Optioun 1 preferéieren.)

1. Modul:Wd änneren

[Quelltext änneren]

Ech wëll an der Funktioun getLabel een neie booole'sche Parameter unitSign aféieren, also

function Config:getLabel(ID, raw, link, short, unitSign)

(momentan Zeil 600), an den end an der Zeil momentan 629 duerch

-- else try unit symbol if requested
elseif unitSymbol then
	label = p._property({p.aliasesP.unitSymbol, [p.args.eid] = ID}) -- get unit symbol

	if label == "" then
		label = nil
	end
end

ersetze fir am Fall, wou de Parameter unitSymbol true (oder truthy) ass, de Wäert vum Eenheetenzeechen (P5061) ofzeruffen. Dofir muss nach p.aliasesP ugepasst ginn (momentant Zeil 60) ugepasst ginn, andeems een d'Zeil

unitSymbol = "P5061"

bäisetzt. An da muss natierlech nach do, wou de Label fir d'Eenheet definéiert gëtt (momentan Zeil 754) den zousätzleche getLabel-Parameter op true gesat agespeist ginn:

label = self:getLabel(itemID, raw, link, short, true).

Mat deene Modifikatioune klappt et {{wikidata|property|linked|P2048}} etc. wéi gewënscht duerzestellen, wat ech och mat der Wikipedia:Wikidata-Sandkaul, dem zougehéieregen Wikidata-Element Wikidata-Spielwiese (Q4115189) an der Funktionalitéit Säit mat dëser Schabloun weisen ouni ze späicheren vum Modul:Wd getest hunn.

Ech hunn de modifizéierte Quellcode, wéi ech mer e virstellen, hei fir d'Begutachtung hannerluecht.

2. Infoboxen änneren

[Quelltext änneren]

Et kéint een an den Infoboxen d'Zeilen à la {{wikidata|property|linked|P2048}} duerch verschachtelt Konstruktiounen à la

{{#invoke:TypeConversion|convertNumberToString|{{wikidata|property|raw|P2048}}}} [[{{wikidata|title|{{wikidata|property|unit|raw|P2048}}}}|{{wikidata|property|linked|{{wikidata|property|unit|raw|P2048}}|P5061}}]]

ersetzen, wat dat selwecht mécht. Ech schreiwen dat hei just fir ze weisen, datt et prinzipiell och méiglech ass, de Problem ze léisen, ouni ee Modul unzepaken, an déi Zeil hei driwwer ass schnell a gedankenlos dohinner geklaakt an huet sécher nach vill Spillraum fir Verbesserungen. Well déi Zort Léisung de Problem awer nëmme punktuell an net ee fir allemol an iwwerall léist, hunn ech mech net amuséiert, dat ganzt ze optiméieren...

Ech schloe vir d'Modul:Wd dahingehend ze modifizéieren, datt am Fall wou e Wäert vum Typ quantity ofgefrot gëtt, d'Eenheet net als lb-label vum Wikidata-Element vun der jeeweileger Eenheet duergestallt gëtt, mee als Wäert vun der Eegenschaft Eenheetenzeechen (P5061).

Villäicht wëllen e puer Leit mäi Virschlag bedenken a mer Feedback ginn, ob ech komplett nieft der Scheif sinn oder op meng Iwwerleeungen eenegermoossen d'Spuer halen, éint ech mech un d'Wierk maachen. @Soued031, @Les Meloures? --Volvox (Diskussioun) 19:45, 6. Aug. 2024 (UTC)[äntweren]

Moie Volvox. Ech sinn derselwechter Meenung an zwar datt sou Ännerungen am WD-Module gemaach ginn. Merci fir deng detailéiert Analys an datt s du dech drëms gekëmmert hues :). --Soued031 (Diskussioun) 06:46, 7. Aug. 2024 (UTC)[äntweren]
Moien och, Ännerungen am Modul wier menger Meenung no allerdéngs déi bescht Léisung. --Les Meloures (Diskussioun) 06:53, 7. Aug. 2024 (UTC)[äntweren]
Ps. Wat maachen mer mat Fäll wéi USA oder DDR oder URSS, wou et menger Meenung no besser ass wann d'Ofkierzung an der Infobox steet wéi déi ganz Litanei vum Numm.--Les Meloures (Diskussioun) 07:04, 7. Aug. 2024 (UTC)[äntweren]
Merci fir de Feedback iech zwee! Da setzen ech d'Ännerung vum Modul wéi geplangt ëm.
Wat dem @Les Meloures seng Fro zu Länner mat laangen Nimm a kuerzen Ofkierzungen ugeet: Op Wikidata gëtt et d'Eegenschaft Kuerznumm (P1813), déi een an der Schabloun:Wikidata iwwert d'Optioun short opruffe kann. Ech huelen un, datt mer net an all Uwendungsfall vum Modul:Wd op de Kuerznumm vun engem Land zeréckgräife wëllen, also schloen ech vir, an all Schabloun, wou mer de Kuerznumm wëllen affichéiert kréien
{{wikidata|properties|linked|P27}}
duerch
{{wikidata|properties|short|linked|P27}}
z'ersetzen. Da muss ee just nach fir all erdenkleche Wäert vun Land vun der Nationalitéit (P27) ee lëtzebuergesche Kuerznumm op Wikidata enregistréieren.
Ech kann dat gäre maachen.
--Volvox (Diskussioun) 17:02, 7. Aug. 2024 (UTC)[äntweren]
Resalut, et besteet dann natierlech nach ëmmer d'Méiglechkeet fir dat manuell anzesetzen. Ech gleewen och kaum datt mer alles automatiséiert kréien. --Les Meloures (Diskussioun) 17:09, 7. Aug. 2024 (UTC)[äntweren]
Déi Saach mat den Eenheete misst lo an der Rei sinn. D'Ännerung um Modul ass gemaach an ech hunn op Wikidata bei all Eenheet, déi mer agefall ass, en Eenheetenzeechen op Lëtzebuergesch definéiert. Da muss ee kucken, ob engem an deenen nächsten Deeg a Wochen net awer nach éigendwou eng Méck an der Zopp opfält.
Un déi Saach mat de laange Länner setzen ech mech viraussiichtlech réischt moar.
--Volvox (Diskussioun) 20:31, 7. Aug. 2024 (UTC)[äntweren]
Ech konnt et awer net loossen. Déi eenzeg Schablounen, an deenen den Ausdrock
{{wikidata|properties|linked|P27}}
virkoum waren déi follgend:
Se si lo iwwerall ëm short ergänzt, et muss ee just nach au fur et à mesure bei all Land ee Kuerznumm (P1813) ergänzen, wou een et fir néideg hält.
--Volvox (Diskussioun) 22:04, 7. Aug. 2024 (UTC)[äntweren]
Flott, merci fir déi gutt Aarbecht. --Les Meloures (Diskussioun) 07:02, 8. Aug. 2024 (UTC)[äntweren]