. I DICTIOUS hittar du inte bara alla ordboksbetydelser av ordet
, utan du får också veta mer om dess etymologi, dess egenskaper och hur man säger
i singular och plural. Allt du behöver veta om ordet
finns här. Definitionen av ordet
hjälper dig att vara mer exakt och korrekt när du talar eller skriver dina texter. Genom att känna till definitionen av
och andra ord berikar du ditt ordförråd och får tillgång till fler och bättre språkliga resurser.
Den här sidan är tänkt som guide för dem som vill skriva en bot för att skapa böjningsuppslag för svenskspråkiga Wiktionary. Det går att skriva den på andra sätt, men förhoppningen är att denna sida ska presentera det tydligaste, mest korrekta.
Böjningsformer bör endast skapas utifrån moduler, men det vore nog bra att fylla på med fler praktiska tips.
Bra verktyg att ha
- XML-parser - det är bra om språket som boten skrivs i har en XML-parser. En SAX-parser bör räcka.
- Regexp - främst för att tolka wikikoden på en sida, t.ex. för att hitta fetstilsraden.
Alla grammatikmoduler stödjer funktionen för att hämta böjningsformer som JSON utifrån ett mallanrop.
- hämta wikitext för sidan
- hitta alla mallanvändningar, utifrån de mallar som stöds
- extrahera alla böjningsformer via grammatikmodulernas exportfunktion
Anta att du nu har en lång lista över böjningsformer som ska existera. Skapa också en lista över de böjningsformsuppslag som finns (beskrivs inte här), och du kommer märka att vissa böjningsuppslag behöver skapas, andra raderas, och säkerligen finns det några som behöver uppdateras.
Skapa böjningsuppslag
När man ska lägga in ett böjningsuppslag finns det flera saker som kan hända:
- nytt språkavsnitt på helt ny sida
- nytt språkavsnitt på sida endast innehållande omdirigering (tänk på alla olika varianter:
#REDIRECT]
, # redirect ]
, #OMDIRIGERING ]
)
- ändra omdirigeringen till
{{se även}}
- nytt språkavsnitt på befintlig sida
- ändra
{{inget uppslag}}
till {{se även}}
- placera språkavsnittet med svenska först, resterande språk sorterade i bokstavsordning efter språknamnet
- nytt ordklassavsnitt i befintligt språkavsnitt
- placera ordklassavsnittet sist bland existerande ordklassavsnitt
- ny definitionsrad i befintligt ordklassavsnitt
- placera definitionen sist bland definitionerna
- inte göra något alls, om definitionsraden redan finns
För punkterna 1-4 måste en fetstilsrad skapas (annars behålls den som den är). Den skapas på samma form som fetstilsraden för motsvarande huvuduppslag. Den hittas enligt algoritmen nedan. Dvs:
'''exempel''' {{n}}
→ '''exemplet'''
'''{{+arab|exempel}}''' {{n}}
→ '''{{+arab|exemplet}}'''
Frivilligt, men bra att göra:
- se till att det inte finns någon böjningsformsrad innehållande
{{tagg}}
, eller annan text än just mallen
Radera böjningsuppslag
- det finns inga andra definitioner på sidan
- markera sidan för manuell radering
- det finns inga andra definitioner i språkavsnittet
- radera språkavsnittet
- det finns inga andra definitioner i ordklassavsnittet
- radera ordklassavsnittet
- annars
- radera definitionsraden
Hitta fetstilsraden
Den här algoritmen går ut på att få fram texten i fetstilsraden. Om fetstilsrad inte hittas måste den markeras för manuell granskning och strunta i övriga uppgifter för sidan!
- separera så att du bara jobbar med ett ordklassavsnitt, där underrubrikerna är borttagna också
- fetstilsraden börjar på
'''
; jobba enbart med den första rad som börjar så
''']]'''
eller '''{{+arab|العربية}}''' ''(kort notis)''
- ta bort de inledande apostroferna, och tre ytterligare apostrofer, och alla tecken som följer de sistnämnda
]]
eller {{+arab|العربية}}
- om raden nu börjar på
{{+
kan du om du behöver, notera vilken typ av fetstilsrad det är; om den börjar på {{+
: ta bort inledande tecken fram till första |
, och de sista två }}
]]
eller العربية
(typ: "normal" resp. "+arab")
- ersätt
]
med <några andra tecken>
]n't
eller العربية
- ta bort alla
don't
eller العربية
- du har nu hittat texten för fetstilsraden!
Not: Om du vill vara bakåtkompatibel kan du också matcha tomma rader som bara innehåller sidnamnet.
Validering av hittat värde
Värdet kan antas korrekt om något av följande villkor gäller:
- det är identiskt med sidnamnet
- det är identiskt, sånär som på diakriter, dvs. om alla diakriter tas bort från sidnamnet och hittat värde är de identiska
- Not: I nuläget verkar det som om enbart latin följer detta andra kriterium.