Wiktionary
svwiktionary
https://sv.wiktionary.org/wiki/Wiktionary:Huvudsida
MediaWiki 1.47.0-wmf.24
case-sensitive
Media
Special
Diskussion
Användare
Användardiskussion
Wiktionary
Wiktionarydiskussion
Fil
Fildiskussion
MediaWiki
MediaWiki-diskussion
Mall
Malldiskussion
Hjälp
Hjälpdiskussion
Kategori
Kategoridiskussion
Appendix
Appendixdiskussion
Rimord
Rimordsdiskussion
Transwiki
Transwikidiskussion
TimedText
TimedText talk
Modul
Moduldiskussion
Event
Event talk
at
0
3184
4155636
3966683
2026-10-14T21:29:12Z
Frodlekis
762
/* Turkiska */
4155636
wikitext
text/x-wiki
{{övrigt|de engelska definitionerna behöver utökas med exempel och sammanhang, prepositionsuppslag behöver ofta vara ganska utförliga eftersom det skiljer sig mycket mellan språk. att veta att "at" betyder "på" säger inte så mycket utan exempel och sammanhang}}
{{se även|AT|At|ät|åt|a:t}}
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''at'''
#{{tagg|kat=däggdjur|språk=az}} [[häst]]
==Bokmål==
===Konjunktion===
{{konj|no}}
'''at'''
#[[att]]
#:''det er helt korrekt '''at''' mange vil ha flyttet''
#::''det är helt korrekt '''att''' många kommer att ha flyttat''
#:''bidra til '''at''' vi undervurderer eventuelle effekter''
#::''bidra till '''att''' vi undervärderar eventuella effekter''
#:''enige i '''at''' det er viktig''
#::''eniga om '''att''' det är viktigt''
==Danska==
===Konjunktion===
{{konj|da}}
'''at'''
*{{uttal|da|ipa=æt}}
#[[att]]
==Engelska==
===Adverb===
{{adv|en}}
'''at'''
#{{tagg|text=som verbpartikel}} [[på]], [[åt]], [[vid]] ... {{?|fler fall?}}
#:''look '''at''', make an attempt '''at''', point '''at''', swear '''at''', jump '''at''', ...'' {{?|Bättre struktur behövs. Notera också att en:wikt klassar detta som preposition.}}
#{{tagg|vardagligt|amerikansk engelska|språk=en}} [[någonstans]], [[nånstans]]
#:''Where are you '''at'''?''
#:''Var är du '''nånstans'''?''
===Preposition===
{{prep|en}}
'''at'''
*{{uttal|en|ipa=æt}}
#''(uttrycker närhet)'' [[hos]] ''(en person, ordet [[place]] eller [[house]] eller dylikt måste användas)''
#:'''''at''' her parents' place''
#::'''''hos''' hennes föräldrar''
#[[vid]], i samband med; som en respons på {{?|kan vi klargöra detta?}}
#:{{citat|förf=[[w:Jane Austen|Jane Austen]], svensk översättning från 1920 av Carl Axel Ringenson|titel=[[w:Stolthet och fördom|Pride and Prejudice]]|år=1813|At length, however, Mrs. Bennet had no more to say; and Lady Lucas, who had been long yawning '''at''' the repetition of delights which she saw no likelihood of sharing, was left to the comforts of cold ham and chicken.|Till slut hade mrs Bennet emellertid ingenting mer att säga, och lady Lucas, som länge hade setat och gäspat vid åhörandet av härligheter, som hon icke såg någon möjlighet att få dela, fick i ro njuta av kall skinka och kyckling.}}
#''anger klockslag, ingen preposition på svenska''
#:'''''At''' 3 o'clock.''
#::''Klockan 3.''
#[[på]] ''(anger plats (i vissa fall) {{?|när?}})''
#:''at work'', ''at home'', ''at the office''
#''(uttrycker närhet)'' [[vid]], [[bredvid]], i närheten av
#:''He is already '''at''' the car.''
#::''Han är redan '''vid''' bilen.''
#:''We will wait '''at''' the train station.''
#::''Vi kommer att vänta '''vid''' järnvägsstationen.''
#[[till]]
#:''arrive '''at''''' {{?|eller verbpartikel?}}
#::''anlända till''
:{{avgränsare}}
:{{fraser|[[at no cost]]}}
===Substantiv===
{{subst|en}}
'''at'''
#namn på tecknet [[@]]; [[snabel-a]]
==Isländska==
===Substantiv===
{{is-subst-n-0|rot=at|omljudsrot=öt}}
'''at'''
#[[slagsmål]], [[strid]], [[kamp]]
#:{{synonymer|[[bardagi]]}}
==Turkiska==
===Substantiv===
{{tr-subst-k|a|t}}
'''at'''
*{{uttal|tr|ipa=ɑt}}
#{{tagg|däggdjur|språk=tr}} [[häst]]
#:{{hyponymer|[[aygır]], [[kısrak]], [[tay]]}}
#:{{besläktade ord|[[atbalığı]], [[atbaşı]], [[atçı]], [[atçık]], [[atken]], [[atkuyruğu]], [[atla]], [[atlanmak]], [[atlı]], [[atlıkarınca]], [[atsa]], [[atsız]], [[denizatı]], [[Kırat]], [[kırat]]}}
#{{tagg|schack|språk=tr}} [[springare]]
===Verb===
'''at'''
#{{böjning|tr|verb|atmak}}
==Älvdalska==
===Konjunktion===
{{konj|ovd}}
'''at'''
#[[att]]
gfn5v9mriit7tzf7kojhtjlwwlil5tk
göz
0
3185
4155653
3632450
2026-10-14T21:37:41Z
Frodlekis
762
/* Turkiska */
4155653
wikitext
text/x-wiki
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''göz'''
#{{tagg|anatomi|språk=az}} [[öga]]
==Gagauziska==
===Substantiv===
{{subst|gag}}
'''göz'''
#{{tagg|anatomi|språk=gag}} [[öga]]
==Turkiska==
===Substantiv===
{{tr-subst-k|ö|z}}
'''göz'''
#{{tagg|anatomi|språk=tr}} [[öga]]
#:{{besläktade ord|[[gözlem]], [[gözlemci]], [[gözlemek]], [[gözlük]], [[gözlükçü]], [[gözlükçülük]]}}
==Turkmeniska==
===Substantiv===
{{subst|tk}}
'''göz'''
#{{tagg|anatomi|språk=tk}} [[öga]]
exsuwm3l5fqdy6m2l9d5bdorah2wq0s
penis
0
5108
4155692
4127639
2026-10-14T21:54:01Z
Frodlekis
762
/* Turkiska */
4155692
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Penis|pénis|pênis}}
==Svenska==
===Substantiv===
{{sv-subst-n-ar}}
'''penis'''
#{{tagg|fysiologi|kat=anatomi}} ett av mannens yttre [[könsorgan]], vilket är beläget mellan benen och som hos mannen innehåller [[urinrör]]ets mynning och dessutom innehåller [[erektil]] vävnad som gör penis styv så att organet vid [[samlag]] kan föras in i kvinnans [[slida]] ([[vagina]]) och vid [[utlösning]] ([[ejakulation]]) föra [[sperma]] in i de kvinnliga könsvägarna, vilket kan leda till [[befruktning]] av en [[äggcell]], vilket är första steget i [[fortplantning]]en
#:{{hyperonymer|[[könsorgan]]}}
#:{{grammatik|I bestämd form förekommer det även att ordet skrivs utan slutartikel (”[Älgen] hade saknat scrotum, och penis hade haft ett läge ungefär halvvägs mellan det normala och anus, sålunda vettande bakåt.” [https://runeberg.org/faunaflora/1930/0060.html Fauna och Flora]).}}
#:{{användning|Denna term är den medicinska och den mest neutrala benämningen på mannens könsorgan.}}
#:{{diverse|Ordet reduceras från "penis" till "pen" i vissa sammansättningar.}}
#:{{synonymer|[[balle]] ''(vardagligt, slang)'', [[dase]] ''(slang)'', [[dingeling]] ''(vardagligt, slang)'', [[dolme]] ''(vardagligt, slang)'', [[donge]] ''(slang)'', [[drule]] ''(slang)'', [[familjelycka]] ''(vardagligt)'', [[fläsksvärd]] ''(vardagligt)'', [[frodlem]] ''(ålderdomligt)'', [[frälsarstav]] ''(slang)'', [[kuk]] ''(slang, vulgärt)'', [[kärleksstav]], [[köttflöjt]] ''(vulgärt)'', [[köttklubba]] ''(vulgärt)'', [[köttspjut]] ''(vulgärt)'', [[manslem]] ''(vardagligt)'', [[petterniklas]] ''(vardagligt, slang)'', [[pick]] ''(vardagligt, slang)'', [[pille]] ''(vardagligt)'', [[pillesnopp]] ''(barnspråk)'', [[pillesnorre]] ''(slang)'', [[pillevink]] ''(barnspråk)'', [[pitt]] ''(vardagligt, slang)'', [[skinnspik]] ''(slang)'', [[snopp]] ''(vardagligt)'', [[snorre]] ''(vardagligt, slang)'', [[task]] ''(vardagligt)'', [[veke]] ''(vardagligt)'', [[åderpåle]] ''(vardagligt)''}}
#:{{sammansättningar|[[löspenis]], [[mikropenis]], [[penisattrapp]], [[penisfodral]], [[penisfraktur]], [[penisförlängare]], [[penisförlängning]], [[penisskaft]]}}
#:{{besläktade ord|[[penektomi]]}}
====Översättningar====
{{ö-topp|det manliga könsorganet}}
*afrikaans: {{ö+|af|penis}}
*alemanniska: {{ö|als|Penis}}
*arabiska: {{ö|ar|قَضِيب|m|tr=qaḍīb}}, {{ö+|ar|ذَكَر|m|tr=ḏakar}}
*aragonska: {{ö|an|pene}}
*asturiska: {{ö+|ast|pene|m}}
*azerbajdzjanska: {{ö+|az|penis}}
*baskiska: {{ö+|eu|zakil}}
*bayerska: {{ö|bar|Schwanz}}
*bikol: {{ö|bcl|putoy}}
*bokmål: {{ö+|no|penis}}
*bosniska: {{ö+|bs|penis}}
*danska: {{ö+|da|penis}}
*engelska: {{ö+|en|penis}}
*esperanto: {{ö|eo|peniso}}
*finska: {{ö+|fi|penis}}, {{ö+|fi|siitin}}
*franska: {{ö+|fr|pénis|m}}
*frisiska: {{ö|fy|penis}}
*galiciska: {{ö+|gl|pene|m}}
*grekiska: {{ö+|el|πέος|n}} (péos)
*indonesiska: {{ö+|id|penis}}, {{ö+|id|zakar}}, {{ö+|id|kontol|not=vulgärt}}
*isländska: {{ö+|is|getnaðarlimur|m}}, {{ö|is|reður|m}}, {{ö|is|tippi|n}}, {{ö|is|böllur|m}}
*italienska: {{ö+|it|pene|m}}
*kroatiska: {{ö+|hr|penis|m}}
*lakota: {{ö|lkt|čhé}}
*lulesamiska: {{ö|smj|buohtja}}
*malagassiska: {{ö+|mg|lataka}}
*manx: {{ö|gv|bwoid}}
*maori: {{ö|mi|ure}}
*nederländska: {{ö+|nl|penis|m}}
*polska: {{ö+|pl|penis|m}}
*portugisiska: {{ö+|pt|pênis}}, {{ö+|pt|pénis|m}}
*rumänska: {{ö+|ro|penis|n}}
*slovenska: {{ö+|sl|penis}}
*spanska: {{ö+|es|pene|m}}
*sydsamiska: {{ö|sma|boetje}}
*tjeckiska: {{ö+|cs|penis|m}}
*turkiska: {{ö+|tr|penis}}
*tyska: {{ö+|de|Penis|m}}, {{ö+|de|Glied|n}}
*ugaritiska: {{ö|uga|𐎜𐎌𐎗}}
{{ö-botten}}
==Afrikaans==
===Substantiv===
{{subst|af}}
'''penis'''
#{{tagg|anatomi|språk=af}} [[#Svenska|penis]]
==Bokmål==
===Substantiv===
{{subst|no}}
'''penis'''
#{{tagg|anatomi|kat=anatomi|språk=no}} [[#Svenska|penis]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''penis'''
#{{tagg|anatomi|språk=bs}} [[#Svenska|penis]]
==Danska==
===Substantiv===
{{da-subst-n|penis|penissen|penisser|penisserne|penis}}
'''penis''' {{u}}
#{{tagg|anatomi|språk=da}} [[#Svenska|penis]]
==Engelska==
===Substantiv===
{{en-subst|2=[[penises]], [[penes]], [[penii]]|4=[[penises']], [[penes']], [[penii's]]}}
'''penis'''
*{{uttal|en|ipa=ˈpiːnɪs|ljud=En-us-penis.ogg}}
#{{tagg|anatomi|språk=en}} [[#Svenska|penis]]
#:{{synonymer|[[male member]], [[membrum virile]] ''(latin)'', [[phallus]], [[pizzle]] ''(brittiska, australienska, om djur, särskilt tjur)'', [[virile member]], [[boner]] ''(erigerad)'', [[cock]], [[dick]], [[ding-a-ling]], [[ding-dong]], [[dingy]] ''(barnspråk)'', [[dong]], [[dork]], [[johnson]], [[John Thomas]], [[joystick]], [[knob]] ''(brittiska)'', [[lad]] ''(irländska)'', [[love muscle]], [[love truncheon]], [[male rod]], [[manhood]], [[member]], [[organ]], [[package]], [[pecker]], [[peen]], [[pee-pee]] ''(barnspråk)'', [[pee-wee]] ''(barnspråk)'', [[peter]], [[piece]], [[pocket rocket]], [[prick]], [[pud]], [[schlong]], [[shaft]], [[shlong]], [[skin flute]], [[todger]] ''(brittiska, australienska)'', [[tool]], [[unit]], [[wang]], [[weapon]], [[wee-wee]] ''(barnspråk)'', [[wiener]] ''(barnspråk)'', [[willie]]}}
#:{{antonymer|[[vagina]]}}
#:{{meronymer|[[glans]]}}
#:{{besläktade ord|[[penectomy]], [[penile]]}}
#:{{fraser|[[glans penis]], [[penis envy]], [[penis transplant]], [[penis worm]]}}
#:{{diverse|Latinska pluralformen ''[[penii]]'' används här och där i modern engelska. Ordet reduceras från "penis" till "pen" i vissa sammansättningar.}}
==Esperanto==
===Verb===
'''penis'''
#{{böjning|eo|verb|peni}}
==Finska==
===Substantiv===
{{subst|fi}}
'''penis'''
#{{tagg|anatomi|språk=fi}} [[#Svenska|penis]]
#:{{seäven|[[siitin]]}}
==Frisiska==
===Substantiv===
{{subst|fy}}
'''penis'''
*{{uttal|fy|ipa=ˈpe:nəs}}
#{{tagg|anatomi|språk=fy}} [[#Svenska|penis]]
#:{{synonymer|[[lid]], [[pyst]]}}
==Indonesiska==
===Substantiv===
{{subst|id}}
'''penis'''
#{{tagg|anatomi|språk=id}} [[#Svenska|penis]]
#:{{synonymer|[[zakar]], [[kontol]] ''(vulgärt)''}}
#:{{fraser|[[glans penis]], [[kanker penis]], [[kepala penis]]}}
==Katalanska==
===Substantiv===
{{subst|ca}}
'''penis''' {{m}}
*{{uttal|ca|ipa=ˈpɛ.nis}}
#{{tagg|anatomi|språk=ca}} [[#Svenska|penis]]
#:{{synonymer|[[carall]] ''(vulgärt)'', [[cigala]], [[cuca]] ''(vardagligt)'', [[fal·lus]], [[membre]], [[pardal]], [[piu]], [[pixa]] ''(vulgärt)'', [[quirra]], [[tita]], [[titola]], [[verga]]}}
==Nederländska==
===Substantiv===
{{subst|nl}}
'''penis'''
#{{tagg|anatomi|språk=nl}} [[#Svenska|penis]]
==Polska==
===Substantiv===
{{pl-subst-m|penis|penisy|penisa|penisów|penisowi|penisom|[[penis]], [[penisa]]|penisy|penisem|penisami|penisie|penisach|penisie|penisy}}
'''penis''' {{m}}
*{{uttal|pl|ipa=ˈpɛɲis̪/|ljud=Pl-penis.ogg}}
#{{tagg|anatomi|språk=pl}} [[#Svenska|penis]]
#:{{synonymer|[[chuj]] ''(slang)'', [[członek]], [[kutas]] ''(slang)'', [[fallus]], [[fiut]] ''(slang)'', [[lacha]] ''(slang)'', [[pała]] ''(slang)'', [[prącie]], [[kapucyn]] ''(slang)'', [[wacek]], [[laga]], [[siusiak]], [[pindol]], [[kuśka]]}}
==Rumänska==
===Substantiv===
{{subst|ro}}
'''penis''' {{n}}
#{{tagg|anatomi|språk=ro}} [[#Svenska|penis]]
#:{{synonymer|[[miel]] ''(slang)'', [[pulă]] ''(vulgärt, slang)'', [[puţă]] ''(slang)'', [[sculă]] ''(slang)''}} fitta
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''penis''' {{m}}
#{{tagg|anatomi|språk=cs}} [[#Svenska|penis]]
#:{{synonymer|[[pyj]]}}
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''penis'''
#{{tagg|anatomi|språk=tr}} [[#Svenska|penis]]
#:{{antonymer|vulva}}
#:{{synonymer|[[kamış]], [[sik]]}}
#:{{hyperonymer|[[cinsî organ]], [[cinsel organ]]}}
oy5q3f226en05llu437yka3ah23exyd
but
0
8512
4155704
3831460
2026-10-14T22:11:43Z
Frodlekis
762
/* Turkiska */
4155704
wikitext
text/x-wiki
==Engelska==
===Konjunktion===
{{konj|en}}
'''but'''
*{{uttal|en|ipa=bʌt}}
#[[men#Svenska|men]]
#:'''''But''' I do!''
#::''Men det gör (ju) jag!''
#[[utan]]{{?|kan exempel ges?}}
#[[utom]], [[förutom]]
#:''Everyone is going to the party '''but''' you.''
#::''Alla kommer till festen förutom du.''
====Etymologi====
Av {{härledning|en|ang|būtan}} av en urvästgermansk konstruktion av [[*be-]] och [[*utana]] motsvarande ''[[by]]'' och ''[[out]]''. Denna bildning återfinns i nederländska ''[[buiten]]'', "utanför", och dess andra element är identiskt med svenska ''[[utan]]''.
===Adverb===
{{adv|en}}
'''but'''
#[[bara]], [[blott]]
#:''He is '''but''' a mere peasant!''
#::''Han är ju blott en bonde!''
:{{avgränsare}}
:{{homofoner|butt|språk=en}}
==Franska==
===Substantiv===
{{fr-subst-m}}
'''but'''
#[[mål]]
===Verb===
'''but'''
#{{böjning|fr|verb|boire}}
==Maltesiska==
===Substantiv===
{{subst|mt}}
'''but'''
#[[ficka]]
==Polska==
===Substantiv===
{{pl-subst-m|but|buty|buta|butów|butowi|butom|but|buty|butem|butami|bucie|butach|bucie|buty}}
'''but''' {{m}}
#[[sko]]
#:{{synonymer|[[bucior]], [[bucik]], [[butek]], [[czółenko]], [[gumowiec]], [[kalosz]], [[kamasz]], [[klapek]], [[korek]], [[kozak]], [[pantofel]], [[półbut]], [[szpilka]], [[śniegowiec]], [[tenisówka]], [[trampek]], [[trzewik]], [[papeć]], [[papuć]]}}
==Romani==
===Adjektiv===
{{adj|rom}}
'''but'''
#[[mången]]
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''but'''
#{{tagg|kat=anatomi|språk=tr}} [[lår]]
#:{{synonymer|[[uyluk]]}}
2hhk6lsy6bkg1oehowkhh7nqa7ns07a
kalas
0
16411
4155722
4106660
2026-10-14T22:59:11Z
Frodlekis
762
/* Turkiska */
4155722
wikitext
text/x-wiki
{{se även|Kalas|Kalaš|Kałas|käläş}}
==Svenska==
===Substantiv===
{{sv-subst-t-0}}
'''kalas''' {{n}}
*{{uttal|sv|ljud=Sv-kalas.ogg}}
#[[fest]], i synnerhet för barn och med någon slags förtäring
#:''Är du bjuden till Marias '''kalas''' på lördag?''
#:{{synonymer|[[baluns]], [[bankett]], [[fest]], [[galej]], [[gästabud]], [[hippa]], [[party]], [[skiva]], [[bjudning]], [[tillställning]]}}
#:{{etymologi|{{belagt|sv|1500|b}} (cirka),<ref>{{källa-so}}</ref> som {{härledning|sv|gmq-fsv|collass}}, via lågtyskan från {{härledning|sv|la|collatio|sammanbärande}}, av ''[[conferre]]'' ("bära samman").}}
#:{{besläktade ord|[[kalasa]], [[kalasera]]}}
#:{{sammansättningar|[[barnkalas]], [[födelsedagskalas]], [[kalasbyxor]], [[klasskalas]], [[kalaskula]]}}
#:{{fraser|[[bestå kalaset]], [[hela kalaset]]}}
====Översättningar====
{{ö-topp|}}
*engelska: {{ö+|en|party}}
*finska: {{ö+|fi|juhlat|p}}, {{ö+|fi|pidot|p}}, {{ö+|fi|kekkerit|p}}
*franska: {{ö+|fr|fête|f}}
*polska: {{ö+|pl|przyjęcie}}, {{ö+|pl|zabawa}}
*tyska: {{ö+|de|Feier|f}}, {{ö+|de|Party|f}}
{{ö-botten}}
===Adjektiv===
{{sv-adj-0-okomp|pers=}}
'''kalas'''
#{{tagg|vardagligt|text=ej attributivt}} [[påverkad]] av [[alkohol]]; [[på sniskan]]
#:{{synonymer|''se '''[[full]]'''''}}
#:{{sammansättningar|[[apkalas]]}}
#{{tagg|vardagligt|text=ej attributivt}} [[jättebra]]
#:- ''Nu är vi klara med installationen av din dator''.
#:- '''''Kalas!'''''
#:{{sammansättningar|[[kalasbra]]}}
#{{böjning|sv|adj|kal}}
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''kalas'''
#tjock och lång [[planka]] eller [[balk]] av trä, som används för [[konstruktion]]; [[bjälke]]
==Källor==
<references/>
4x23e5x3ln12tdcwpazm427slg5l5nm
MediaWiki:Common.css
8
18417
4155765
4035232
2026-10-15T11:34:50Z
Maintenance script
21048
Use thumb.wikimedia.org for thumbnails ([[phab:T427465]], Operator: Ladsgroup)
4155765
css
text/css
cite { font-style: normal; }
/*
== Rubriker ==
The headline HTML has a legacy syntax and a new syntax.
For some time, which syntax is used depends on the skin. Support both variants.
See https://www.mediawiki.org/wiki/Heading_HTML_changes.
*/
/* Språkrubriken */
.ns-0 h2, /* Legacy HTML */
.ns-0 .mw-heading2 /* New HTML */ {
clear: both; /* hindra böjningstabeller mm från att glida över i nästa språk */
overflow: visible; /* formatera [[MediaWiki:Gadget-prominent interwikis.js]] rätt */
margin: 0.6em 0 0 0; /* öka avstånd ovanför, minska avstånd till nedanstående ordklassrubrik */
}
/* Ordklass- och översättningsrubrikerna */
.ns-0 h3, .ns-0 h4, /* Legacy HTML */
.ns-0 .mw-heading3, .ns-0 .mw-heading4 /* New HTML */ {
/*
* Hindra böjningstabeller mm från att glida över i nästa ordklass och se till
* att översättningsrubriken fortfarande är intill översättningsavsnittet.
*/
clear: both;
}
/* Dölj Redigera-länk för h3-avsnitt, eftersom detta inte stöds av [[MediaWiki:Gadget-tidy.js]] */
.ns-0 h3 > .mw-editsection, /* Legacy HTML */
.ns-0 .mw-heading3 > .mw-editsection /* New HTML */ {
display: none;
}
/*
== Göm rubriken på huvudsidan ==
*/
.page-Wiktionary_Huvudsida.action-view h1.firstHeading { display: none; }
/*
== Göm rubriker på kategorisidor ==
*/
.ns-14 #mw-content-text h3 { display:none; }
/*
== Semantiska relationer ==
*/
/* markera rubriken för semantiska relationer tydligt (använt i {{synonymer}}, {{antonymer}} etc.) */
.semantic-relation em {
color:#6b5a40;
font-style:normal;
}
/*
== Markera omdirigeringar ==
*/
/* markera omdirigeringar i [[Special:Prefixindex]] och [[Special:Alla sidor]] tydligt */
div.allpagesredirect a {
opacity:0.8;
font-style:italic;
padding-right:16px;
background:url("//thumb.wikimedia.org/wikipedia/commons/thumb/7/71/Arrow_east.svg/12px-Arrow_east.svg.png") right no-repeat;
}
/*
== Typsnitt ==
*/
/* använt i {{ipa}} */
.ipa, .IPA {
font-family:"Arial Unicode MS", "Lucida Sans Unicode", "Lucida Sans", Code2000, Code2001, "Doulos SIL", "TITUS Cyberbit", "TITUS Cyberbit Basic", "Chrysanthi Unicode", Gentium, GentiumAlt, "Bitstream Cyberbit", "Bitstream Vera", sans-serif;
}
/* klasser använda för olika skriftsystem, t.ex. mha {{+arab}}, {{+thai}} */
.arab-script { font-family:Tahoma, "Arial Unicode MS", Code2000, "Traditional Arabic"; font-size:125%; }
.armn-script { font-family:Mshtakan, Tahoma, Arian AMU, DejaVu Sans, Sylfaen, Code2000, "Arial Unicode MS", sans-serif; font-size:120%; }
.cyrl-script { font-family:Helvetica, Lucida Grande, Geneva, "Arial Unicode MS", Lucida Sans Unicode, Code2000, sans-serif; }
.deva-script { font-family:Devanagari Sangam MN, Devanagari MT, Mangal, Raghu, Gargi, JanaSanskrit, JanaHindi, "Arial Unicode MS", Code2000, Bitstream Cyberbit, Bitstream CyberBase, sans-serif; font-size:125%; }
.fa-arab-script { font-family:Tahoma, "Arial Unicode MS", Code2000; font-size:125%; }
.geor-script { font-family:DejaVu Sans, "Arial Unicode MS", Sylfaen; }
.grek-script { font-family:Athena, Gentium, Palatino Linotype, "Arial Unicode MS", Lucida Sans Unicode, Lucida Grande, Code2000, sans-serif; }
.hani-script { font-family:SimSun, PMingLiU, Song, Ming, MingLiu, "Arial Unicode MS", Code2000, sans-serif; font-size:110%; font-style:normal; font-weight:normal; }
.hebr-script { font-family:"SBL Hebrew", David, Narkisim, Miriam, Arial, serif; font-size:1.15em; font-style:normal; }
.jpan-script { font-family:Hiragino Kaku Gothic Pro, MS PGothic, "Arial Unicode MS", Code2000, sans-serif; font-size:110%; font-style:normal; }
.syrc-script {
font-family: 'Estrangelo Edessa', 'San Francisco', 'Code2000', 'Bitstream Cyberbit', 'Bitstream CyberBase', 'Bitstream Vera', 'TITUS Cyberbit Basic',
/* tru: Serto or Western form of Syriac */'Noto Sans Syriac Western', 'Serto Jerusalem', 'Noto Sans Syriac',
/* aii: Madnhaya or Eastern form of Syriac */ 'Noto Sans Syriac Eastern', 'Noto Sans Syriac',
sans-serif;
font-size:125%; font-style:normal; }
.taml-script { font-family:Tamil Sangam MN, InaiMathi, Vijaya, Akshar, JanaTamil, Code2000, ETTamilNew, Lohit Tamil, "Arial Unicode MS", Free Serif, Latha, sans-serif; font-size:125%; }
.thai-script { font-family:"Arial Unicode MS", Code2000; font-size:125%; }
/*
== Wikitable ==
*/
.wikitable {
margin: 0.5em;
background: #ffffe0;
border: 1px #c5bf86 solid;
border-collapse: collapse;
}
.wikitable th, .wikitable td {
border: 1px #c5bf86 solid;
background: #ffffe0;
padding: 0.2em;
}
.wikitable th {
background: #eee9bf;
text-align: center;
}
.wikitable caption {
margin-left: inherit;
margin-right: inherit;
}
.wikitable.preload td {
background: inherit;
}
/*
== {{tecken}} ==
*/
.symbol-display {
float: right;
clear: right;
border: 1px solid #eee;
line-height: 1;
text-align: center;
margin-bottom: 1em;
}
.symbol-display .symbol {
font-size: 500%;
padding: 0.15em 0.05em;
}
.symbol-display .information {
background-color: #eee;
padding: 0.15em 0.05em;
}
.symbol-display .codepoint {
font-weight: bold;
font-family: monospace;
}
/*
== Grammatikmallar ==
*/
.grammar {
float:right;
clear:right;
margin:0 0 10px 10px;
background-color:#fffafa;
color:#8b795e;
text-align:center;
font-size:11px;
line-height:14px;
font-stretch:extra-expanded;
border:1px solid #eee9bf;
}
.grammar-hide .NavHead {
color:#8b795e;
}
.grammar th, .grammar td {
width:70px;
background-color:#fffafa;
border:1px solid #fffafa;
border-width:1px 0 0 1px;
padding:3px;
margin:0;
}
.grammar th {
background-color:#eee9bf;
font-weight:normal;
font-style:italic;
width:auto;
}
.grammar th.main {
font-weight:bold;
font-style:normal;
width:70px;
}
.grammar td {
border-color: #eee9bf;
}
.grammar td.note {
width:auto;
padding:1px 2px 2px 1px;
}
.grammar td.note div {
padding:2px 1px 1px 2px;
}
.grammar td.note table {
width:100%;
border-collapse:collapse;
border:1px solid #cac278;
}
.grammar td.note table th, .grammar td.note table td {
border-style:none;
background-color:#f3f1d9;
color:#8b795e;
padding:0.3em;
text-align:left;
width:100%;
}
.grammar td.note table th {
font-style:italic;
font-weight:normal;
padding:0.5em 1em;
width:60px;
text-align:center;
}
.grammar td.min, .grammar.min td, .grammar th.main.min, .grammar.min th.main {
width:auto;
}
.grammar td[colspan], .grammar th.main[colspan] {
width:auto;
}
.grammar td.grammar-warning {
background-color:#fff0f0;
}
/* extra ram ev runt vissa celler */
.grammar td.b-left {
border-left-color:#eee9bf;
}
.grammar td.b-top {
border-top-color:#eee9bf;
}
/* hantera gömda mallar i mallar */
.grammar table.NavFrameContainer {
margin:-0.3em;
font-style:normal;
}
.grammar table.NavFrameContainer td {
padding:0;
border:none;
}
.grammar div.NavFrame .grammar {
border:none;
margin-left:-0.3em;
}
/* grammar tables should fit tightly */
div.NavFrame .grammar {
margin:0;
}
.grammar .grammar-arrow {
color: #ba8;
}
/*
== Meddelanderutor ==
*/
.message_header,
.message_content {
background: #ffffe0;
border-style: solid;
border-color: #eee9bf #eee9bf #eee9bf #e2d23c;
border-width: 1px 1px 1px 10px;
margin: 0 10%;
padding: 0.5em 1em;
}
.message_header {
font-weight: bold;
border-bottom-width: 0;
padding-bottom: 0;
}
.message_content {
border-top-width: 0;
font-style: italic;
}
#toc {
margin-top: 0.5em;
}
/*
== {{audio}} ==
*/
.audiolink a {
background: url("//thumb.wikimedia.org/wikipedia/commons/thumb/8/8a/Loudspeaker.svg/12px-Loudspeaker.svg.png") center left no-repeat !important;
padding-left: 12px !important;
padding-right: 0 !important;
}
/*
== {{f}}, {{m}}, {{p}} m.fl. ==
*/
/* bestäm färg åt {{f}}, {{m}}, {{p}} m.fl. */
#bodyContent .gender {
color: #6b5a40;
font-style: italic;
}
/*
== Gömbara rutor ==
*/
/* Standard Navigationsleisten, aka box hiding thingy from .de.*/
.NavFrame {
clear: both;
border: 1px solid #BFB76D;
padding: 2px !important;
overflow: hidden;
}
.NavFrame + .NavFrame {
margin-top: -1px;
}
.NavFrame .NavHead {
padding: 0 0.3em;
font-weight: bold;
font-size: 100%;
background-color: #EEE9BF;
position: relative;
}
.NavToggle {
float: right;
margin-left: 1em;
font-weight: normal;
font-size: smaller;
}
.NavFrame.half-width {
width: 50%;
clear: left;
float: left;
}
table.NavFrameContainer {
float:right;
clear:right;
font-size:11px;
line-height:14px;
}
.NavFrame > .NavContent {
overflow: auto;
}
.client-js .NavFrame > .NavContent {
display: none;
}
/*
== Mobil sida ==
*/
/* Den mobila sidan sköts via [[MediaWiki:Mobile.css]], men här gömmer vi sånt som annars skulle vara med två gånger */
.mobileonly { display: none; }
.mobile .mobileonly { display: block; }
/*
== [[Mall:saknad betydelse]] ==
*/
.template-saknad_betydelse {
clear:right;
float:right;
margin-left:0.2em;
}
.template-saknad_betydelse + .template-saknad_betydelse {
clear:none;
}
/*
== {{ö-inte}} ==
*/
.template-ö-inte {
font-style: italic;
}
.template-ö-inte a {
text-decoration: line-through;
}
/*
== {{ö-topp}}, {{ö-botten}} ==
*/
.ö-content {
-moz-column-width: 25em;
-webkit-column-width: 25em;
column-width: 25em;
background: #FFFFE0;
padding-top: 2px;
}
.ö-content li {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid-column;
}
/* Se till att första kolumnen inte blir kortare än väntat */
.ö-content > ul {
margin-top: 0;
}
/* Stödet för `break-inside` är bristfälligt, men vi kan gå runt det med inline-block. Då måste vi tyvärr också lägga tillbaka list-punkten. */
.ö-content > ul > li {
display: inline-block;
width: 100%;
}
.ö-content > ul > li:before {
content: "";
position: relative;
display: inline-block;
left: -1em;
width: 5px;
height: 13px;
margin-right: -5px;
background: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%225%22 height=%2213%22%3E %3Ccircle cx=%222.5%22 cy=%229.5%22 r=%222.5%22 fill=%22%2300528c%22/%3E %3C/svg%3E") no-repeat center;
}
85x34u7wpszoid1c1xuxqdkqiycu41z
snippa
0
20811
4155713
4125488
2026-10-14T22:37:08Z
Frodlekis
762
4155713
wikitext
text/x-wiki
==Svenska==
===Substantiv===
{{sv-subst-n-or|fog=|pluralrot=snipp}}
'''snippa'''
#{{tagg|vardagligt}} neutral benämning på det [[kvinnlig]]a [[könsorgan]]et
#:{{citat|datum=2 okt|år=2020|publ=Mama, för [[w:Expressen|Expressen]]|titel=[https://www.expressen.se/mama/mamaliv/pinsamma-saker-barn-sagt/ ”Nu ska vi hem och ha penismys!” – och fler pinsamma saker våra barn har sagt]|När ett litet barn säger något om snoppar och '''snippor''' är det så oskyldigt – men inför andra vuxna blir det plötsligt ganska pinsamt, eller vad säger ni?}}
#:{{citat|titel=[https://libris.kb.se/bib/2h47p8s405s2xg9h Hur blev jag till? Och hur kom jag ut?]|förf=[[w:Asabea Britton|Asabea Britton]]|övers=[[w:Louise Winblad|Louise Winblad]]|år=2022|När man pratar om de delar som inte syns utanpå kroppen, alltså hålet inuti '''snippan''', så kallas den ibland vagina eller slida.}}
#:{{synonymer|[[vagina]], [[slida]], [[mus]] ''(vardagligt)'', [[mutta]] ''(vardagligt)'', [[fitta]] ''(vulgärt)''}}
#:{{antonymer|[[snopp]]}}
#:{{etymologi|{{belagt|sv|1995}}<ref>{{källa-so}}</ref> Bildat genom [[avljud]] till [[snopp]].}}
====Översättningar====
{{ö-topp|neutral benämning på det kvinnliga könsorganet}}
*engelska: {{ö+|en|vagina}}
*tyska: {{ö+|de|Muschi|f}}, {{ö+|de|Vagina|f}}
{{ö-botten}}
===Verb===
{{sv-verb-ar}}
'''snippa'''
#[[klämma ihop]] och dylikt
#:{{sammansättningar|[[åtsnippa]]}}
#[[skära]] av, [[klippa]] bort
#:{{sammansättningar|[[avsnippa]], [[bortsnippa]]}}
:{{avgränsare}}
:{{varianter|[[snipa#Verb|snipa]]}}
:{{besläktade ord|[[snoppa]]}}
==Källor==
<references/>
r8cnvc14iksmc7s4knihqawb95gbupa
Användardiskussion:Skalman
3
26285
4155735
4015807
2026-10-14T23:49:53Z
Frodlekis
762
/* Förhandsvisningen i översättningsverktyget visar skräptext */ nytt avsnitt
4155735
wikitext
text/x-wiki
{{:Användare:Skalman/nav}}
{{meddelande|Arkiverade diskussioner|Arkiv för den här sidan: [[/Arkiv:okt06-jul07|oktober 2006 - juli 2007]], [[/Arkiv:jul07-nov13|juli 2007 - november 2013]] }}
== Grogggvirke ==
Betr. min redigering: Jag brukar inte redigera här utan råkade titta förbi. Jag ändrade eftersom definitionen är fel enligt SAOB. Se även Wikipedia Grogg [https://sv.wikipedia.org/wiki/Grogg]. Jag ämnar inte fortsätta denna redigering i wiktionary utan överlåter korrigeringen/redigeringen till dig. [[Special:Bidrag/213.64.210.186|213.64.210.186]] 24 november 2013 kl. 11.44 (CET)
:Svarat på [[Användardiskussion:213.64.210.186#Om groggvirke]]. [[Användare:Skalman|//Skal]] 24 november 2013 kl. 20.04 (CET)
== Geografi-listan ==
Hej! Jag försökte nyss nå Geografi-listan, du skapade för ett par veckor sedan, men får ingen kontakt med den sidan.--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 25 november 2013 kl. 18.05 (CET)
:Den kanske temporärt var nere? Jag kommer iaf in på [https://tools.wmflabs.org/svwiktionary/listor/?title=sidor-i-geografi]. [[Användare:Skalman|//Skal]] 25 november 2013 kl. 18.55 (CET)
::Jo, nu funkar den igen!--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 26 november 2013 kl. 15.54 (CET)
== Finessen för översättningsavsnitt ==
Vore det möjligt att göra något så att man, när ett översättningsavsnitt lagts till, kan redigera den hänvisning som hamnar i {{mall|ö-topp}}? Nu läggs hela definitionen till, vilket kan bli lite överdrivet långt, och kräver en ny redigering för att åtgärda. Jfr t.ex. [https://sv.wiktionary.org/w/index.php?title=tv%C3%A4rnsnitt&diff=1657353&oldid=1657351] [[User talk:Mike|\]][[User:Mike|Mike]] 7 december 2013 kl. 09.12 (CET)
:{{@|Mike}}, som standard tar den hela definitionen, minus ''(tagg)'' och minus det som finns efter ett semikolon. Det ska gå att ändra "översättningsrubriken" genom att klicka på "±". Dyker den inte upp, eller är den otydlig? [[Användare:Skalman|//Skal]] 7 december 2013 kl. 09.18 (CET)
::Ah, den uppmärksammade jag aldrig. Tack,då var det problemet löst! [[User talk:Mike|\]][[User:Mike|Mike]] 7 december 2013 kl. 09.44 (CET)
== Kategorisering ==
Hej! Jag har inte förstått vad det är för skillnad på <pre><nowiki>{{kat|kat=djur}}</nowiki></pre> och <pre><nowiki>{{tagg|kat=djur}}</nowiki></pre>.--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 8 december 2013 kl. 15.50 (CET)
:@{{@|Nyström}}, det finns ingen skillnad. För ungefär fyra år sedan så bytte vi namn från {{mall|kat}} till {{mall|tagg}} och något år senare raderades {{mall|kat}} helt. Anledningen är att mallen gör mer än att bara kategorisera - den "taggar" en definition. [[Användare:Skalman|//Skal]] 8 december 2013 kl. 17.30 (CET)
::Okey! Så vi skulle kunna stryka {{mall|kat}} från Stilguiden?--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 9 december 2013 kl. 11.41 (CET)
:::Jag ser inte att det står där över huvud taget. Om du ser att det står någonstans står att man ska använda {kat} så är det bara att ändra. [[Användare:Skalman|//Skal]] 9 december 2013 kl. 11.55 (CET)
::::Nej, förlåt! Det var ju här jag såg den: https://sv.wiktionary.org/wiki/Wiktionary:Mallar/tagg#parametrar --[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 9 december 2013 kl. 14.06 (CET)
:::::Fixat. [[Användare:Skalman|//Skal]] 9 december 2013 kl. 14.11 (CET)
== Automatiskt skapande av ryska böjningsformer? ==
Hej Skal! Vad tror du om att automatisera skapandet av uppslag på ryska adjektivens böjningsformer? Kanske kan man utgå från böjningstabellerna när sådana finns? Det känns som ett sådant jobb som görs bäst av en bot. [[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 12 december 2013 kl. 16.12 (CET)
Följdfråga: vet du vem som skapat mallarna för ryska ords böjningar? Hon/han skulle kanske kunna bidra med kloka synpunkter till en sådan bot. Särskilt den som ligger bakom [[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 12 december 2013 kl. 16.17 (CET)
:Om jag kollar i historiken för [[Mall:ru-subst-m]] och [[Mall:ru-subst]] så ser det ut att vara [[Användare:Fenix]], kan det stämma? [[Användare:Dodde]] verkar också ha ett finger med i spelet. [[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 12 december 2013 kl. 16.23 (CET)
::[[Användare:Eliashedberg|Elias]], det kan nog stämma. Om mallen länkar till böjningsformerna så kan man skapa böjningsuppslagen automatiskt (fast vi måste hitta på någon speciallösning för att hantera substantiv som är adjektivformer).
::Om mallen är så bra att sättet som den används på gör att vi ''nästan alltid'' får rätt böjningsformer, så kan mallnamnet läggas in på [[Wiktionary:Användare/Robotar/Godkända grammatikmallar]] - listan över mallar som en bot automatiskt får skapa böjningsuppslag från. Doddebot har skapat böjningsuppslag senast i oktober, så jag tror att Dodde kan fixa böjningsformerna när det blir aktuellt. [[Användare:Skalman|//Skal]] 12 december 2013 kl. 16.46 (CET)
:::Japp, det bör bara ses över att mallen uppfyller alla krav, då det blir besvärligt om något fel smugit sig in. Det kan du se till Skalman :). Användning av {länka-b} (m.fl. varianter) gör ju böjningsformen synlig för botten. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 16 januari 2014 kl. 05.29 (CET)
== Fritext i översättning ==
Är det tillåtet att infoga fritext i översättningar, eller stör det någon bot eller något skript? [https://sv.wiktionary.org/w/index.php?title=f%C3%A4ngelsedirekt%C3%B6r&diff=1670171&oldid=1670170 Exempel] --[[Användare:Andreas Rejbrand|Andreas Rejbrand]] ([[Användardiskussion:Andreas Rejbrand|diskussion]]) 3 januari 2014 kl. 15.13 (CET)
:{{@|Andreas Rejbrand}}, nej det stör inte, men användningsinformation/kommentarer placeras hellre som ''not='' än som fritext, alltså {{<nowiki/>ö|en|example|not=vardagligt}}.
:Den enda sak som kanske går emot intuitionen kan vara att det inte går att länka till svenskspråkiga sidor, så all förklaring med svensk text måste vara länkfri. (Vanliga [[<nowiki/>länkar]] konverteras till {{mall|ö}}.) [[Användare:Skalman|//Skal]] 3 januari 2014 kl. 15.21 (CET)
::Men jag tror inte att det uppmuntras. Om det på ett tydligt sätt går att ha en kommaseparerad lista med översättningar så är det att föredra. [[Användare:Skalman|//Skal]] 3 januari 2014 kl. 15.22 (CET)
== [[Oniomanie]] ==
Jag vet inte om det är fackspråk men jag fann den ord på ordboken. --[[Special:Bidrag/134.176.204.240|134.176.204.240]] 16 januari 2014 kl. 23.46 (CET)
:Jag är inte helt övertygad om att ordet är särskilt utbrett på svenska, men har ändå skapat uppslaget eftersom jag faktiskt också hittade ordet i ett par ordböcker+bloggar. [[Användare:Skalman|//Skal]] 17 januari 2014 kl. 00.09 (CET)
== [[samtlig]] ==
Artikelns nuvarande utseende är under all kritik. Håller du på med den eller går det bra om jag försöker mig på en omskrivning? --[[Användare:Andreas Rejbrand|Andreas Rejbrand]] ([[Användardiskussion:Andreas Rejbrand|diskussion]]) 17 januari 2014 kl. 17.55 (CET)
:{{@|Andreas Rejbrand}}, jag har börjat. Du får gärna vidareutveckla. [[Användare:Skalman|//Skal]] 17 januari 2014 kl. 17.59 (CET)
== Grafer ==
Det var riktigt snygga grafer du hade gjort som visar informationen på [[Wiktionary:Om/Statistik/Historik]]. Tack så mycket! {{=)}}
Jag vet att de har varit där i ett halvår, eller kanske ännu längre, men jag såg dem inte förrän nu. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 25 januari 2014 kl. 12.17 (CET)
:Tack. Ja, dom har varit där sedan augusti. Det kändes som om det är ett bättre sätt att visa informationen på. Det som jag tycker saknas nu är historik över antal uppslag per språk. [[Användare:Skalman|//Skal]] 25 januari 2014 kl. 16.14 (CET)
::Jag skapade sidan [[Användare:ÅttioFem/Historik över antalet artiklar efter språk]]. Det var väl något sådant du menade? Säg gärna till om du tycker att något kan förbättras. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 13.02 (CET)
:::Ja, det var så jag menade, men det blir så ''fruktansvärt'' brett bara. Går det att få det överskådligt på något sätt? Ett alternativ skulle vara att ha något skript som körs varje vecka och som sparar infon i en databas (som skulle gå att spara över till Wiktionary då och då). På så vis skulle det vara lite lättare att filtrera ut t.ex. "bara dom språk som har haft någon ändring den senaste månaden" eller "dom 25 största språken" (som för övrigt har varit samma i över ett år). [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 17.37 (CET)
::::Visst vore det fint om det gick att ordna. Själv har jag varken kunskap eller rätt verktyg för att få till det just nu, så jag vore tacksam om någon annan ville ta på sig det ansvaret någon gång i framtiden. Fram till dess kan jag fortsätta uppdatera den lista som finns på sidan [[Användare:ÅttioFem/Historik över antalet artiklar efter språk]]. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 22.08 (CET)
:::::Ok. Om jag får inspiration så fixar jag ett verktyg, annars så kör vi på din lösning tills vidare. [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 22.16 (CET)
::::::Jag funderar på om den tabellen kanske borde uppdateras samtidigt som den på [[Wiktionary:Om/Statistik/Historik]], så att listorna inte visar olika antal uppslag för samma dag under "svenska grundformer" och "alla språks grundformer". [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 21.26 (CET)
:::::::På sistone har det varit jag som uppdaterat [[WT:Om/Statistik/Historik]]. Ska jag försöka att samtidigt uppdatera [[Användare:ÅttioFem/Historik över antalet artiklar efter språk]]? [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 22.43 (CET)
::::::::Ja, det vore bra, om det går bra för dig. Det blir en lång lista med språknamn att kopiera men det går till på samma sätt som på den andra historiksidan. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 22.48 (CET)
:::::::::Jag har ett verktyg som gör det lite lättare, så att man inte måste kopiera manuellt, så det borde inte vara några problem. [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 22.52 (CET)
::::::::::Ok, vad bra! Tack så mycket! [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 23.02 (CET)
== förnybar energi ==
Svar är nja. På fackspråk skrivs stor men där är också det variant som liten bokstaven. --[[Special:Bidrag/134.176.204.240|134.176.204.240]] 27 januari 2014 kl. 12.49 (CET) P.S.: Se även http://de.wikipedia.org/wiki/Erneuerbare_Energien
== Kan man göra citaten hopfällbara som på engelska wiktionary? ==
Är det möjligt att göra citaten hopfällbara, så som de gjort på engelska wikipedia (t.ex. [http://en.wiktionary.org/wiki/long#Adjective long])? Det är bra med många exempel men det känns som om de helt tar över artikeln [[испорченный]]. /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 28 januari 2014 kl. 12.00 (CET)
:{{@|Eliashedberg}}, ja. Jag har [[WT:BB#Dölja info invid definitioner som standard med JavaScript?|experimenterat med det]] och även att dölja andra saker invid definitionen. Du aktiverar det genom att gå till ''Inställningar->Finesser->Dölj viss info invid definitionerna''.
:Innan vi aktiverar det som standard för alla användare så vore det bra om man kunde välja vad man vill visa och inte visa (några är intresserade av etymologin, andra inte osv). Har du något förslag på ''hur'' man ska välja vad man vill visa? Var ska knappen/länken för inställningar finnas? [[Användare:Skalman|//Skal]] 28 januari 2014 kl. 12.08 (CET)
::{{@|Skalman}} Nej, inte på rak arm. Och jag tror inte att det behövs – etymologi/besläktade ord/*onymer/etc. är (i) oftast ganska korta, (ii) få uppslag har mer än en handfull av dem ifyllda (i dagsläget i alla fall), och (iii) de avviker tydligt från förklaringsraden med sin beigea färg, utan att för den skull ta så mycket uppmärksamhet. Citaten däremot är väldigt textrika och tar därmed mycket utrymme, men framförallt tar de mycket '''uppmärksamhet''' på grund av alla '''fetade''' ord och [http://top.rbc.ru/wildworld/06/04/2007/96821.shtml de långa blå länkarna till källorna för citaten]. Därför känns det viktigare att kunna dölja citaten.{{osignerad|Eliashedberg}}
:::{{@|Eliashedberg}}, du har nog rätt. Det enda undantaget skulle kunna vara [[radio|samman]][[apparat|sättning]][[-artad|ar]], så dom skulle nog inkluderas. Om man dessutom gör så att funktionen kommer ihåg om användaren vill visa eller dölja citat+sammansättningar, så borde det kanske kunna aktiveras som standard. [[Användare:Skalman|//Skal]] 11 februari 2018 kl. 20.23 (CET)
::::{{@|Skalman}}, ja sammansättningar kan också bli långa. Att komma ihåg om användaren vill visa eller dölja citat+sammansättningar låter spontant som en god idé. Och om möjligt vore det kanske en bra idé att testa även den biten innan det släpps lös som standard? /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 25 juni 2020 kl. 13.34 (CEST)
:::::{{@|Eliashedberg}}, jag känner mig tyvärr inte inspirerad att arbeta med det här i närtid. Om någon annan tar fram ett förslag, får det godkänt och fixar fungerande kod, så kan jag lägga in det.
:::::(Det känns bättre att vara ärlig med hur jag kan prioritera min energi/tid än att jag uttrycker mig alltför optimistiskt.) [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 25 juni 2020 kl. 23.03 (CEST)
::::::{{@|Skalman}} Ok. Ja, absolut, bättre att sätta förväntningarna rätt. Vi tar det som det kommer och ser vem som har tid och lust, och när de har det. Trevlig helg! /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 28 juni 2020 kl. 09.36 (CEST)
== "Lägg till översättningar…" dyker upp trots att det redan finns ett översättningsavsnitt ==
Hej Skalman!
Jag lade just till substantivbetydelsen för "[[hej]]" och inkluderade då direkt ett översättningsavsnitt, ändå dyker det upp en länk för att skapa översättningsavsnitt under det som redan finns. Är det något i formateringen av det existerande översättningsavsnittet som gör att systemet inte förstår att det redan existerar eller dyker "Lägg till översättningar…" alltid upp, till dess att man klickat på den länken och sparat? /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 10 februari 2014 kl. 09.04 (CET)
:{{@|Eliashedberg}}: Det beror på att rubriken <code>====Översättningar====</code> saknas. [[Användare:Skalman|//Skal]] 10 februari 2014 kl. 09.06 (CET)
::Ah, tackar tackar. Fixat. /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 10 februari 2014 kl. 09.47 (CET)
== Ordnungszahl/Kernladungszahl ==
Pa tyska där är flera betydelser av '''Ordnungszahl'''. Det kemiska betydelse definerar [http://www.dwds.de/?qu=Ordnungszahl DWDS] som ''"Nummer eines Elements im Periodensystem" (nummer av en grundämne på periodiska systemet)''. Som jag tycka att det är atomnummeret.
'''Kernladungszahl''' kallas som synonymer i den tyska wikitionary artikel och vice versa. [http://www.canoo.net/Kernladungszahl?lookup=caseSensitive canoo.net] kallas också Kernladungszahl (och Atomnummer) som synonymer av Ordnungzahl.--[[Special:Bidrag/134.176.205.246|134.176.205.246]] 15 februari 2014 kl. 23.20 (CET)
== Hindernis ==
Hindernis är inte bara fysikalisk hinder men också mental hinder. Jag är inte säkert som metafor är det rätt ord för det. --[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 19.24 (CET)
:{{@|Edroeh}}, nä, "metafor" är nog inte rätt ord. Det enklaste är nog att direkt säga att det kan vara både fysiskt och mentalt.
:Jag har ytterligare en fråga: gäller detta endast sport, eller också allmänt? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 19.49 (CET)
:: Såvitt jag vet är det '''inte''' mögligt att översätta den sportig ''Hindernis'' som förhinder men allmänt (för byråkratisk eller mental eller annat ''Hindernisse'') du kan översätta med förhinder '''och''' hinder.--[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 20.02 (CET)
:::{{@|Edroeh}}, jag förstår inte vad du menar med "byråkratisk". Jag har försökt förtydliga uppslaget. Verkar det korrekt? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 20.24 (CET)
Jag tycka att det verkar. Ett/en byråkratisk Hindernis menar att man måste skriva ansökning(?) eller fylla i formulär, etc.--[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 20.38 (CET)
:"Hinder" skulle kunna användas i byråkrati, men det är nog ganska ovanligt. Om det tyska ordet ofta används om byråkrati vore det nog en bra idé att poängtera det särskilt. Tycker du vi ska skriva något om det? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 20.56 (CET)
== Gewinner ==
Jag tycka att vinnare och segrare är inte detsamma liksom Gewinner och Sieger på tyska. Som man är vinnare man vann någonting (ett pris, medalj, ...). Som man är segrare man behöva att vinna någonting men man måste bara segrar i tävling.
Därför segrare är egentligen ingen översättning av Gewinner.
Jag vet inte varför jag skrev ''metafor'' men jag tycka att jag menade egentligen ''vardarlig''. Trots att segrare är egentligen ingen översättning av Gewinner man brukar det på tyska synonym (på talspråk).--[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 19.52 (CET)
:{{@|Edroeh}}, du har rätt i att det finns en viss skillnad mellan [[segrare]] och [[vinnare]]. Jag har försökt förtydliga uppslagen [[vinnare]] och [[segrare]]. ''Vinnare'' kan vara i tävling, spel eller andra sammanhang, medan ''segrare'' främst är i tävling eller strid.
:I ''[[Gewinner]]'' markerade jag betydelsen "en som vunnit något värdefullt" som vardaglig. Verkar det rätt? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 21.10 (CET)
== Kasusböjning i språk med kasusböjning ==
Rent generellt bör en ordbok som gör anspråk på att vara rimligt heltäckande också ge den väsentliga lexikaliska informationen. För språk som isländska och tyska omfattar detta för verben definitivt vilka kasus dessa styr, och därför finns sådan information med i alla de ordböcker jag har sett för dessa språk.
Det finns flera sätt att hantera det faktum att många läsare inte i första vändan är ute efter just dessa delar av informationen - och kanske inte heller riktigt förstår den. Det traditionella sättet är att använda förkortningar och kanske mindre stilstorlek och ett annat typsnitt för extrainformationen. Läsaren kan då låta ögonen glida förbi denna information - utom när han/hon verkligen vill hämta in den. Ett typiskt exempel på hur detta skulle kunna se ut i en svensk ordbok, som beskriver låt oss säga 1800-talssvenskan, skulle vara orden
::'''gröt'''-en -ar <small>''m''</small> . . .
respektive
::'''säng'''-en -ar <small>''f''</small> . . . .
De små bokstäverna ''m'' respektive ''f'' stör knappast framställningen; men för den som verkligen vill veta vilka genus man ännu på 1800-talet använde för substantiven ''gröt'' respektive ''säng'', finns där förklaringen till det som förvirrar en hel del folkvisesångare: Varför sjunger man "Gröten han står kokad" men "Sängen hon står bäddad" i en relativt känd fäbodsvisa? Jo, "gröt" var maskulinum men "säng" femininum!
Detta exempel är historiskt, och upplevs därför lätt som krångligt av nutida svenskar. Det är inte heller information vi behöver ha med för ''vårt'' språk, utom kanske i det etymologiska avsnittet. För ord som tyska och isländska är informationen om genus dock minst lika nödvändig som den om vilka kasus som ett verb styr.
'''Tyvärr''' har många wikipedianer fått för sig att det enda skälet till att traditionella ordböcker och uppslagsverk använder förkortningar är att de lider av utrymmesbrist. Därför kan man knappast lösa problemet genom att nedtona objektens kasus på detta sätt; alltför många wikipedianer skulle protestera. Alltså måste vi nog uttrycka att det isländska verbet "sakna" styr genitiv på annat sätt än med det smidiga
::'''sakna''' -ði <small>''+g''</small> . . . .
Det finns dock andra sätt; man kan förlägga informationen till en senare del av artikeln, och man kan länka direkt till förklaringar av termerna - så snart man har skrivit dem. Se gärna önskelistan [[Appendix:Grammatik]]! M. v. h., [[Användare:JoergenB|Jörgen B]] ([[Användardiskussion:JoergenB|diskussion]]) 16 mars 2014 kl. 07.37 (CET)
:Välkommen [[Användare:JoergenB|Jörgen]]! Det är ibland lite svårt att förstå vad du menar, så i mitt svar gör jag några antaganden: 1) detta gäller det faktum att jag då och då tagit bort bl.a. {{m}} från fetstilsraden, 2) när du pratar om wikipedianer menar du egentligen ''wiktionaryaner''.
:Det är absolut viktigt att ha med grammatisk information, och jag tar bara bort {{m}} från fetstilsraden när samma information finns på annat håll i uppslaget: i böjningstabellen. Tycker du att detta inte räcker och att samma information nödvändigtvis också måste finnas närmare definitionerna?
:Finns det i ditt inlägg en önskan om förändring? Skulle du kunna förklara vad den består i i så fall? [[Användare:Skalman|//Skal]] 16 mars 2014 kl. 18.48 (CET)
::Tack för välkomnandet och välkomstmallen! Nu har jag visserligen petat runt i detta projekt sedan maj 2013, och redan kollat hjälpsidor (och delvis petat även där); men det är tanken som räknas.
::#. Detta är generella kommentarer om vad som normalt ingår i bättre ordböcker; men jag borde kanske ha förklarat varför jag skrev dem här. Det beror närmast på att du hade undringar om just detta i ett konkret fall för någon månad sedan; se [[Användardiskussion:Lundgren8#Om taka]], (Någon särskild orsak att kommentera detta specialfall tyckte jag inte fanns.) Om/När vi ordentligt utvidgar sv-wikts innehåll av uppslagsord på språk som tyska, färöiska eller isländska, så bör vi ha löst frågan om hur vi anger vilket eller vilka kasus som ett verb styr.
::#. Med "wikipedianer" menade jag nog just wikipedianer, i första hand. Eftersom detta är ett separat projekt, är det möjligt att inställningen är mer positiv till användningen av förkortningar här. Uppfattar du det som att det finns en sådan skillnad?
::M. v. h., [[Användare:JoergenB|Jörgen B]] ([[Användardiskussion:JoergenB|diskussion]]) 17 mars 2014 kl. 21.17 (CET)
:::Det om ''taka'' handlade från min sida snarare om var man ska placera uppslaget, dvs på sidan [[taka]] eller [[takast]].
:::Det finns flera personer aktiva med att lägga in tyska ord: den senaste månaden har det tillkommit 700 nya tyska uppslag. Detta är alltså en relevant fråga ''nu''.
:::De flesta wiktionaryaner är inte särskilt intresserade av strukturfrågor, utan lägger hellre energi på att skapa/utöka/förbättra uppslag, så i praktiken är det Dodde och jag som har drivit många strukturfrågor. Generellt skulle jag säga att vi inte heller är positiva till förkortningar om man kan göra det tydligt och bra utan. Problemet med förkortningar är ju att man måste vara insatt för att förstå dom.
:::Till sakfrågan: Går detta att ange med böjningstabell? Om inte, går det att ange i {{mall|grammatik}}? Om inte det heller, borde vi ha en mall {g} eller {+g} för att lägga till informationen och är det i isländskan lika vedertaget som t.ex. ''m'' för maskulinum?
:::Det blir lättare att diskutera om vi har något konkret förslag att prata om. Exakt vad är det du vill förändra och hur? [[Användare:Skalman|//Skal]] 18 mars 2014 kl. 07.59 (CET)
::::En liten inflikning :) Strukturen vi använder idag tillåter att grammatisk information läggs till på fetstilsraden, i stil med det du beskriver. När informationen istället ges av en tabell kan den informationen tas bort från fetstilsraden. För genus använder vi oss av mallar som ex.vis {{mall|f}} och {{mall|m}}, som ger en enhetlig formatering och även möjlighet att lägga till information som tooltip och en länk till en närmare beskrivning av vad som avses med beteckningarna (även om detta kanske inte har gjorts ännu). Andra mallar som finns för fetstilsraden är ex.vis {{mall|oböjl}} och {{mall|peri}}. Nackdelen med förkortningar är att man behöver vara insatt i vad förkortningarna står för, som Skalman säger. Med användning av mallar kan det göras enhetligt och funktionellt. Det föreligger inget generellt "förbud" mot förkortningar på Wiktionary vad jag känner till, som kanske mer är fallet på Wikipedia. Motiveringen "ingen platsbrist" skulle jag vilja påstå inte riktigt gäller för fetstilsraden, men som sagt, man ska om möjligt slippa behöva gissa. Ibland och för vissa språk kan det finnas anledning att mer kortfattat beskriva ett böjningsmönster. Exempelvis i latin tillhör ett ord en viss deklination. I franskan böjs verb som vissa exempelord. Den här informationen skulle kunna vara ett komplement till den utförliga böjningsinformationen som framgår av grammatikmallarna idag, och en ruta med denna information skulle kunna läggas till i dessa mallar. Det har dock inte gjorts ännu. Vad som gäller för tyska och isländska känner jag inte till, men det finns absolut spelrum för förbättringar! Generellt är att vi är positiva till mallar, men de ska vara genomtänkta och väl beskrivna. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 mars 2014 kl. 06.13 (CET)
:::::<small>Ledsen att det är sådana tidsmellanrum mellan inläggen; jag har ont om tid för wikiprojekt denna termin.</small> Det är sant att förkortningar som man inte förstår inte hgör så stor nytta. Å andra sidan gäller detta i ännu högre grad utskrivna termer som man inte förstår.
:::::Bland annat jag och Grillo diskuterade på svwp om förkortningar i etymologier för ett tag sedan. Grillo är ju inte på något vis en obeläst eller ointresserad person; men han hade aldrig över huvud taget hört talas om "fornhögtyska", Min uppfattning är (då som nu) att förkortningar ''för vana läsare'' underlättar läsningen: Man får direkt en överblick över det väsentligaste, och går sedan, om man har lust eller behöver det, in på vissa detaljer. Det betyder, att de som ofta har intresse av att gå in i detalj i hur olika historiska former av ett ord såg ut under olika utvecklingsskeden av olika språk, rätt snabbt lär sig att hålla utkik efter förkortningar som ''fht'' eller ''fhty'', medan övriga relativt lätt kan ignorera dessa delar av texten.
:::::Det är EMRÅ en ren missuppfattning att förkortningar i konventionella verk bara skulle användas för att spara plats. De används också för att göra texten läsbarare - för den vana läsaren!
:::::<small>("EMRÅ" står för "Enligt min ringa åsikt" (det väletablerade svenska uttryck som till engelska översätts med "In my humble opinion"). Hade det gjort föregående mening lättlästare om jag hade skrivit ut detta i fulltextformat?)</small>
:::::Oavsett om man skriver ut termerna eller använder förkortningar. har vi en klar fördel jämfört med vanliga ordböcker. Vi kan utan vidare länka alla helt utskrivna termer eller förkortningar, som kan vara obekanta för en del läsare, till vettiga förklaringar. När det gäller förkortningar har detta den extra fördelen att man i många webbläsare kommer att kunna se en längre version av ordet redan genom att låda musen glida över förkortningen, som i "sakna [[Appendix:svagt verb|sv]] [[Appendix:styr|+]][[Appendix:genitiv|g]]", för att nämna ett möjligt format.
:::::Vad gäller de tyska orden, ser jag att redan vissa är försedda med '''icke länkade''' förkortningar, som i [[Nominativ]], som har texten
:::::::Nominativ ''m'',
:::::där jag självklart förstår att detta "m" står för [[Appendix:Grammatik/Maskulinum]]; men detta är väl knappast lika självklart för våra ovana läsare?
:::::En slutsats blir att det är hög tid att vi skriver åtminstone de grammatikartiklar som behövs för att förstå grunderna av den tyska grammatiken. [[Användare:JoergenB|Jörgen B]] ([[Användardiskussion:JoergenB|diskussion]]) 22 april 2014 kl. 11.03 (CEST)
::::::Det har funnits på önskelistan länge (flera år), att någon hade kunskap, tid och engagemang att utöka [[Appendix:Grammatik]]. Vad gäller förkortningar eller ej, så eftersträvar vi enhetlighet (och tydlighet, enkelhet, korrekthet osv), gärna över språkgränserna. Om vissa använder förkortningar och andra inte, och om förkortningarna/skrivsätten dessutom följer olika format, så blir det oftast inte bra. Det försvårar läsningen. Det försvårar redigeringen, för det blir ännu något som man som bidragande användare behöver sätta sig in i och känna osäkerhet kring. Mallar kan i viss mån hjälpa till om de är genomtänkta och har bra dokumentation. Exempelvis skulle "sv +g" för mig bara te sig kryptiskt, utskrivet som text eller med länkar till de ingående orden. Men är detta en fråga om klassificering av verb, så hade väl <code><nowiki>{{mall|sv-verbklass|svagt|gentiv}}</nowiki></code> (e.d. eller hur det nu skulle kunna tänkas se ut) vara en tänkbar användning. Då skulle det kunna skrivas ut som "''Klassificering: sv +g''" (kanske med avvikande färg/stil) och länka till en sida som visar alla tänkbara klassificeringar (mallens dokumentationssida rimligtvis), och det skulle bli tydligt för så väl vana som ovana användare. Det behöver inte handla om en generell diskussion om användandet av förkortningar eller inte. EMRÅ kan du så klart använda i diskussioner, men på uppslagen så vore det nog tydligare med utskrivna ord :)
::::::Jag vet inte hur förkortningar påverkar läsbarheten. [http://www.mediesprak.fi/sprakrad.aspx?id=47#.U1mswfmSycI Mediesprak.fi] skriver att även mycket vanliga förkortningar gör det. Men det är å andra sidan inte skönlitterär text vi skriver på Wiktionary. Rimligtvis försämrar det läsbarheten mer ju ovanligare förkortningen är, hur som helst. Det beror förmodligen också till stor del på typ av text och vem den tänkta läsaren är. Har för mig att det finns nån lista över mycket vanliga förkortningar som t.ex. osv. som är ok att använda utan ytterligare förklaring i ex.vis myndighetstexter, tidningsartiklar osv. men kan inte hitta källan just nu. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 april 2014 kl. 02.33 (CEST)
== Tack! Mallförflyttning ==
Okej, tack för hjälpen! Jag är ganska ny här, så jag vet ännu inte hur allting fungerar. Därför är det jättebra med lite hjälp. Hoppas jag har svarat rätt på meddelandet nu, och att det är så här man gör.
MVH // [[användare:rasms|rasms]]
:{{@|Rasms}}, ingen orsak. När man diskuterar med folk så är det bra att signera sina inlägg med <nowiki>~~~~</nowiki>. Då kommer namn och datum med automatiskt.
:Det kan vara ganska krångligt att arbeta med böjningsmallarna, så fråga gärna om det är något du undrar över. [[Användare:Skalman|//Skal]] 6 april 2014 kl. 12.35 (CEST)
== Måsvingar ==
Se till exempel etymologin under [[gräma]]. Det verkar ha blivit något fel vid uppdaterningen av {{mall|härledning-}}. [[Användare:Fiskjuice|Fiskjuice]] ([[Användardiskussion:Fiskjuice|diskussion]]) 7 april 2014 kl. 21.30 (CEST)
:{{@|Fiskjuice}}, tack för att du uppmärksammade det. Fixat nu. [[Användare:Skalman|//Skal]] 7 april 2014 kl. 21.40 (CEST)
== Tack igen! ==
Ber om ursäkt för felredigeringen och tackar för den nya informationen! Alltid bra med feedback, så att allt blir rätt och så bra som möjligt.
Tänkte bara passa på och fråga om du möjligtvis vet hur man länkar till relaterat uppslag när orden skiljer sig åt ganska mycket?
Jag skulle nämligen vilja länka [[sámegiella]] till uppslagen [[sápmi]]+[[giella]]. Giella är inget problem förstås.
//[[Användare:Rasms|Rasms]] ([[Användardiskussion:Rasms|diskussion]]) 10 april 2014 kl. 13.04 (CEST)
:{{@|Rasms}}, ingen orsak. Här är en exempellänk: <nowiki>[[länk|visad text]]</nowiki>. I ditt fall skulle det alltså bli '''<nowiki>[[sápmi|sáme]][[giella]]</nowiki>'''. [[Användare:Skalman|//Skal]] 10 april 2014 kl. 18.15 (CEST)
::{{@|Skalman}}, tackar! //[[Användare:Rasms|Rasms]] ([[Användardiskussion:Rasms|diskussion]]) 10 april 2014 kl. 19.17 (CEST)
== Ny kategori ==
Hej Skalman! Längesen sen sist vi pratade! Jag undrar om jag, eller någonannan som vill, kan skapa en kategori för sånt som har att göra med versmått. Det skulle komma till godo för poesiintresserade och det skulle också vidga svenska Wiktionarys läsekrets. Jag hoppas det låter som en smart idé. Mvh --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 24 april 2014 kl. 23.03 (CEST)
:Kategoristrukturen finns på [[Wiktionary:Kategorier]]. Vi har en kategori som heter Litteratur. Menar du att vi bör ha en underkategori "Poesi"? Första steget är i så fall att lägga till den kategorin på rätt plats i [[Wiktionary:Kategorier]]. Sen får en bot (osäker på om en sådan bot körs för tillfället?) skapa kategorisidorna vid behov allteftersom taggen används i definitionerna på uppslagen (<code><nowiki>{{tagg|kat=poesi}}</nowiki></code> eller <code><nowiki>{{tagg|kat=poesi|språk=engelska}}</nowiki></code> e.d.). ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 april 2014 kl. 00.52 (CEST)
::En kategori om poesi är kanske inte precist utan mer brett. Jag talar om poetik (metrik/verslära/versmått). --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 25 april 2014 kl. 22.33 (CEST)
:::{{@|Vannucci}}, jag kan inte begreppet ''poetik'', men jag tycker inte det är någon större idé att ha en kategori om det inte kan finnas åtminstone ett 20-tal ord som platsar där. Vad är det för ord du tänker skulle finnas där? Hur som helst: om du tror att ''Poetik'' skulle vara bra som kategori så är det bara att lägga till det på [[Wiktionary:Kategorier]] och börja använda det. [[Användare:Skalman|//Skal]] 26 april 2014 kl. 08.36 (CEST)
::::Hej Skalman! Poetik (alltså poesins konst) är vitt och brett. Det är så att man kan skriva en hel ordbok över poetik. Det finns redan en del ord i Wiktionary som berör poetik. Jag har möjlighet att låna böcker om verslära. Eftersom ordet poetik har flera betydelser än poesins konst så föreslår jag att kategorin ska hetta verslära (Kategori:Verslära). --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 26 april 2014 kl. 15.29 (CEST)
:::::{{@|Vannucci}}, du behöver inte vänta på någons explicita tillstånd för att lägga till kategorier: gör det själv på [[Wiktionary:Kategorier]], t.ex. under ''Litteratur''. När du sedan börjar använda kategorin så kommer den automatiskt skapas av {{@|Skalbot}} när jag kör boten igen. [[Användare:Skalman|//Skal]] 27 april 2014 kl. 19.28 (CEST)
:::::: Kan meddela nu i efterhand att jag har påbörjat arbetet med att samla svenska ord med kopplingar till verslära/metrik i kategorin Kategori:Svenska/Poesi --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 23 augusti 2014 kl. 18.47 (CEST)
== Recent "car games" spam ==
If you want a filter for the recent spam, try:
<pre>
(old_size+user_age==0)
& new_wikitext irlike ".*\[https?:\/\/.+ car.game.*\].*"
</pre>
If your community would like to receive such filters automatically from stewards, ask if it is possible on [[m:SN]] to enable [[m:GAF|global abusefilters]]. [[Användare:PiRSquared17|PiRSquared17]] ([[Användardiskussion:PiRSquared17|diskussion]]) 1 november 2014 kl. 00.30 (CET)
:{{@|PiRSquared17}}, thanks for the tip. I'll look into both adding the filter and asking to receive filters automatically. [[Användare:Skalman|//Skal]] 1 november 2014 kl. 23.49 (CET)
== Seilschaft ==
''Seilschaft'' är en begrepp för en grupp av personer som försörja varandra med poster eller uppdrager. Vanligtvis är det illegalt eller i en rättslig gråzon(?). Den begrepp stå ochså för ''replag'' som begreppen kommas här. [http://desv.dict.cc/?s=Seilschaft här] står att ''gamla vänner'' är översättningar. Jag ha nu tillägd articeln.--[[Special:Bidrag/2A02:908:C30:EBE0:C89B:8502:9409:7F6C|2A02:908:C30:EBE0:C89B:8502:9409:7F6C]] 10 augusti 2015 kl. 00.05 (CEST)
:I normala fall betyder "gamla vänner" bara "vänner som man har haft länge". Jag hittar ingen annanstans där "gamla vänner" har den betydelsen, och din definition verkade inte stämma överens med [[de:Seilschaft|de-wikt]], så jag skrev om den och utgick från de-wikt. Hoppas det blev bra. [[Användare:Skalman|//Skal]] 10 augusti 2015 kl. 00.53 (CEST)
:: Ja, det är bra. --[[Special:Bidrag/2A02:908:C30:EBE0:C89B:8502:9409:7F6C|2A02:908:C30:EBE0:C89B:8502:9409:7F6C]] 10 augusti 2015 kl. 03.12 (CEST)
== [[habitus]] ==
Hej Skal!
Jag vet inte om man kan säga habitus ochså i biologin, men man inte säga det för det medicinisk och det mineralogisk definitioner.
--[[Special:Bidrag/2A02:908:C30:EBE0:4C44:4BAD:DB77:95A2|2A02:908:C30:EBE0:4C44:4BAD:DB77:95A2]] 25 september 2015 kl. 01.09 (CEST) (Who had a 37.-IP just before.)
== [[o.s.v.]] ==
T.ex.:
* o. s. v.: books.google.de/books?id=4iVAAAAAIAAJ&pg=PR25 , books.google.de/books?id=GAkAAAAAMAAJ&pg=PA239 , books.google.de/books?id=EGwJAAAAQAAJ&pg=PA536 , books.google.de/books?id=oS9VAAAAcAAJ&pg=PA74 , books.google.de/books?id=OXIf4PxnHmgC&pg=PA462
* jfr. (jemför): books.google.de/books?id=OXIf4PxnHmgC&pg=PA462 , books.google.de/books?id=oS9VAAAAcAAJ&pg=PA74
If you excuse me using English: In German it is common to use spaces (like "z. B." and not "z.B.") and same is true for older English (nowadays the space is often omitted), and in German it is common to use dots after abbreviations with small letters (e.g. "u. s. w." or "usw.", not "usw") which should also be true for older English. Maybe modern Swedish is like modern English: spaces and dots can be or often are omitted. That is, maybe "o. s. v." is nowadays rare or dated, but indeed it exists (or existed).
-[[Special:Bidrag/84.161.40.170|84.161.40.170]] 16 november 2015 kl. 21.31 (CET)
:Thank you.
:BTW:
:* Does "jmf." for "jämför" exist and should it be mentioned in "jfr"? (English Wiktionary says that abbreviation exists.)
:* Should "jemför" be mentioned in [[jämför]] and if, how should it be mentioned? Is it "Varianter: [[jemför]] (föråldrad stavning)"?
:-[[Special:Bidrag/84.161.40.170|84.161.40.170]] 16 november 2015 kl. 22.50 (CET)
::But there should be reasons why obsolete forms should be included:
::* Own entries like [[jemför]] which include something like "obsolete spelling of [[jämför]]" are useful as one can find the spelling "jemför" in older books and one could search for them.
::* The mentioning of old forms gives more information. Maybe it's not an important information, but why shouldn't the reader decide whether it's interessting for them or not? In same cases, older spellings also say something about older pronunciations. E.g.: In German there were words which were written with "c" in Latin and were written with both "k" and "z" in German, like "Kerberus" and "Zerberus".
::* The mentioning of old forms in a modern-spelling entry could be useful for personal considerations.<br />E.g.: In German in 1996 spellings like "Delfin" with "f" were added to spellings like "Delphin" with "ph". But in case of some words like "Philosoph" no spellings with "f" were added. But earlier (like 18th-19th century) spellings like "Filosof" did occur. So one could ask, why shouldn't "Filosof" be also possible?
::* Old forms could be used for an archaic tone. E.g. if one is writing a story set in older times, it could make sense that restaurants, hotels etc. have names with old spellings instead of modern ones. In reality, there should be English restaurants which have names with "Ye" instead of "The".
::* In some cases the older spellings are important for the etymology. E.g. in German there was the verb "einbleuen" which in 1996 was changed into "einbläuen" based on the false etymology that the word is derived from "blau".
::* Maybe one wants to research something, like how did people define something in older times or how did they think about something. There it makes sense to know old spellings, so one can find old dictionary entries etc.
::* If old spellings are marked as old, there should be no problem with including them. If one isn't interessted it in, one can ignore it. If they are marked as old, one should get the impression that the are modern. But in the other direction it's different: If one is interessted in old spellings - the reason doesn't matter - and they aren't mentioned here, then wiktionary is quite useless.
::-[[Special:Bidrag/84.161.40.170|84.161.40.170]] 17 november 2015 kl. 03.38 (CET)
== MediaWiki:Gadget-translation_editor.js ==
Hi dear Skalman. Can you help me to use translation editor gadget in hywiktionary, please? What do I need to copy/adapt?--[[Användare:ԱշոտՏՆՂ|ԱշոտՏՆՂ]] ([[Användardiskussion:ԱշոտՏՆՂ|diskussion]]) 11 december 2015 kl. 11.21 (CET)
== Chatt ==
Tja, du har inte Discord eller så? Tänkte det kunde vara sjyst att ha ett chattrum som inte försvinner så fort man loggar ut (som irc-kanalen). Man vill ju kunna se vad som diskuterats medan man varit borta. (https://discord.gg/fPzmEhm) –[[User_talk:Moberg|d]][[User:Moberg|Moberg]] 3 juni 2017 kl. 01.42 (CEST)
== pz i länk till saob ==
Vet du vad pz argumentet o saob:s url:er gör? [https://sv.wiktionary.org/w/index.php?title=Mall:k%C3%A4lla-saob&diff=2976901&oldid=2966370] –[[User_talk:Moberg|d]][[User:Moberg|Moberg]] 24 juni 2017 kl. 14.13 (CEST)
:{{@|Moberg}}: Nej, men om jag skulle chansa så skulle jag gissa att det styr vilken av SAOB:s servrar som svarar. Jag kan ha helt fel, förstås. {{=)}} [[Användare:Skalman|//Skal]] 24 juni 2017 kl. 14.17 (CEST)
::OK, jag skrev till dem och frågade ;) –[[User_talk:Moberg|d]][[User:Moberg|Moberg]] 24 juni 2017 kl. 14.20 (CEST)
== engelska verbmallar ==
Med anledning av [https://sv.wiktionary.org/w/index.php?title=Mall:en-verb&curid=19454&diff=2980014&oldid=2980009], stöds de av javascriptet för skapande av uppslag från böjningstabeller? De engelska verbmallarnas particip i tabellerna bör skapa både böjnings- och participuppslag i ett svep. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 5 juli 2017 kl. 00.33 (CEST)
:{{@|Dodde}}, nej det stöds inte att skapa både böjnings- och participuppslag samtidigt. Är detta något vi ska lägga till stöd för? [[Användare:Skalman|//Skal]] 6 juli 2017 kl. 18.13 (CEST)
::Jag antar det, men inte bråttom. Däremot skulle jag vilja veta vad som behöver göras om varje länk ska få en span med klass infl istället för idag hela cellen. Är det endast scriptet för att skapa nya böjningsuppslag som drabbas av en sådan förändring eller finns det fler, andra, funktioner som påverkas? ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 6 juli 2017 kl. 18.21 (CEST)
:::{{@|Dodde}}, idag används span med klass "b-" och motsvarande, så det enda som behöver göras för infl, är att ersätta/lägga till infl; och motsvarande för adv,prespart,perfpart. Det borde bara vara [[MediaWiki:Gadget-green links.js]] som påverkas. [[Användare:Skalman|//Skal]] 6 juli 2017 kl. 18.25 (CEST)
::::Så ingen särskild ändring behöver göras om varje enskild länk förses med en tagg istället för hela cellen, alltså? ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 6 juli 2017 kl. 18.27 (CEST)
:::::Korrekt - redan idag har varje länk en egen span, inte cellen. [[Användare:Skalman|//Skal]] 6 juli 2017 kl. 19.17 (CEST)
== Raderingar av tyska perfektparticip ==
Hej Skalman, ska tyska perfektparticip inte vara med i Wiktonary? Eller varför raderade du följande participer: [[geleugnet]], [[geknutscht]], [[geknabbert]], [[geeilt]], [[abgekürzt]]. Tillhörande verb är [[leugnen]], [[knutschen]], [[knabbern]], [[eilen]], [[abkürzen]]--[[Användare:Pametzma|Pametzma]] ([[Användardiskussion:Pametzma|diskussion]]) 9 januari 2018 kl. 17.24 (CET)
:{{@|Pametzma}}, visst ska de vara med. De sidor som jag raderade hade rubriken "verb", som jag tror är felaktigt för participer - visst ska det väl vara adjektiv? Jag tänkte att det är lättare att återskapa dem, än att korrigera dem (även om det också är ganska lätt). [[Användare:Skalman|//Skal]] 9 januari 2018 kl. 19.34 (CET)
:::{{@|Skalman}}: Se [[Malldiskussion:de-verb#Perfektparticip]]. Jag är inte helt säker på att det är felaktigt.[[Användare:Jonteemil|Jonteemil]] ([[Användardiskussion:Jonteemil|diskussion]]) Ps. använd gärna <code>{{[[Mall:@|@]]}}</code> vid svar 9 januari 2018 kl. 22.02 (CET)
::::{{@|Pametzma|Jonteemil}}: Ah, okej. Om det stämmer att dom ska vara med som verbformer, så borde dom använda {{mall|böjning}} och inte {{mall|avledning}} (sidorna jag raderade hade ''avledning''). [[Användare:Skalman|//Skal]] 9 januari 2018 kl. 22.10 (CET)
{{@|Skalman}}: Jag vet men det fortfarande lite oklart om tyska perfektparticip kan vara både verbformer och adjektivavledningar. Troligtvis är det dock så då "Jag är skjuten" = "Ich bin geschossen" och "Jag har skjutit" är "Ich habe geschossen".[[Användare:Jonteemil|Jonteemil]] ([[Användardiskussion:Jonteemil|diskussion]]) Ps. använd gärna <code>{{[[Mall:@|@]]}}</code> vid svar 9 januari 2018 kl. 22.18 (CET)
:{{@|Skalman|Jonteemil}}: tyska perfektparticip är både verbform och adjektiv. Som verbform har perfektparticipet samma funktion som supinumet i svenska språket. Det används tillsammans med hjälpverbet [[haben]] eller [[sein]] för att bilda Perfekt, Pluskvamperfekt eller Futur II. Som adjektiv är det inte kompererbar och det finns perfektparticip som inte kan användas tillsammans med första eller andra person. Se ovanstående exempel [[geschossen]]. Man kan skriva "Das Tier ist geschossen" = "Djuret är skjuten". Mening "Jag är skjuten" kan översättas "Ich bin erschossen" (perfektparticip av [[erschießen]])--[[Användare:Pametzma|Pametzma]] ([[Användardiskussion:Pametzma|diskussion]]) 10 januari 2018 kl. 14.32 (CET)
::{{@|Pametzma|Jonteemil}} Vi bör alltså, precis som för engelska perfektparticip, redovisa både verbformen och adjektivet. Som i [[started]] och [[pleased]]. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 11 januari 2018 kl. 08.32 (CET)
:::{{@|Pametzma}}, texten på [[zurückgenommen]] följde inte formen som Dodde beskrivit, så jag raderade sidan. Gör om och gör rätt. [[Användare:Skalman|//Skal]] 11 januari 2018 kl. 22.44 (CET)
== Skriptproblem ==
Det blir en massa skriptproblem i orduppslag som jag skapar. Vad är felet? Har aldrig stött på det förut. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 11 januari 2018 kl. 20.12 (CET)
:{{@|Vannucci}}, det är ett generellt problem för hela svenska Wiktionary, inte bara för skript. Jag rekommenderar att du låter bli att redigera Wiktionary idag, utan prövar imorgon istället.
:Förhoppningsvis löser teknikerna problemet snart. Man kan följa hur det går på [https://phabricator.wikimedia.org/T184749]. [[Användare:Skalman|//Skal]] 11 januari 2018 kl. 20.38 (CET)
::{{@|Vannucci}}, problemet verkar vara löst nu. [[Användare:Skalman|//Skal]] 11 januari 2018 kl. 21.45 (CET)
:::Förträffligt, tack för ditt svar och hjälp. Med vänlig hälsning --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 11 januari 2018 kl. 23.22 (CET)
== "[[allt som oftast]]" ==
Varför visas ''(även sammansatt: alltsomoftast)'' så konstigt? Är det fel i taggen? Ser inte så finputsat ut. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 12 januari 2018 kl. 22.24 (CET)
:{{@|Vannucci}}: Därför att någon lagt {{mall|tagg}} utanför definitionsraden. Jag har fixat det nu. [[Användare:Skalman|//Skal]] 12 januari 2018 kl. 22.28 (CET)
::Tack för redigeringen. Jag var nyfiken på felet. Man lär sig. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 12 januari 2018 kl. 22.33 (CET)
:::Jag har [https://sv.wiktionary.org/wiki/Wiktionary:Projekt/Struktur_p%C3%A5_uppslag#Felplacerad_{tagg} lagt till detta] som ett projekt. [[Användare:Skalman|//Skal]] 12 januari 2018 kl. 22.35 (CET)
::::Ska förkovra mig i det. Finns det förresten möjlighet att skapa en (svensk-albansk) tematisk ordlista här på Sv. Wiktionary? --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 13 januari 2018 kl. 00.05 (CET)
:::::{{@|Vannucci}}: Vi har ingen bra struktur för det, men har påbörjat diverse liknande grejer på [[Appendix:Index]]. Jag vet inte vilket format som skulle bli smidigast för en sådan ordlista, så jag föreslår att du hittar på nåt. [[Användare:Skalman|//Skal]] 13 januari 2018 kl. 10.25 (CET)
== Mall på albanska böjningar ==
På tyskspråkiga Wiktionary, till exempel [https://de.wiktionary.org/wiki/bibliotekë här] finns albanska böjningar. Jag undrar om det går att sno mallen(mallarna) därifrån och tillämpa på vår Wiktionary kring albanska uppslag utan att det blir en massa fel? --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 23 januari 2018 kl. 17.51 (CET)
:{{@|Vannucci}}, jag är osäker. Det viktiga för oss är att det blir långsiktigt korrekt, också om du lämnar sv-wikt. {{@|Dodde}}, du är mer inblandad i moderniseringen av våra mallar - vad tycker du? [[Användare:Skalman|//Skal]] 23 januari 2018 kl. 17.56 (CET)
::Det är bättre att vi skapar våra egna mallar som bygger på [[Modul:grammar]]. Det kan vi göra, om du bistår med kunskap kring hur grammatiken är utformad? Det handlar om att hitta mönster och regler för hur de olika formerna skapas. Kan du börja på [[Moduldiskussion:sq-subst]]? ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 januari 2018 kl. 09.53 (CET)
:::{{@|Vannucci}} (glömde ping) ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 2 februari 2018 kl. 01.10 (CET)
::::{{@|Dodde}} Jag vet inte om jag har resurserna och kunskapen för att ta mig an uppgiften och önskar mig ett snabbfix om det går? Mvh --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 8 februari 2018 kl. 00.10 (CET)
:::::{{@|Vannucci}} Om du med snabbfix menar att copypaste:a en grammatikmall från en annan språkupplaga av Wiktionary så är svaret nej, det går inte.
:::::Det går rätt snabbt att fixa nya mallar anpassade till svenskspråkiga Wiktionary om man bara vet hur man vill att det ska vara. Jag vet inte det och om du inte heller vet känns det som en uppgift som är svåra att genomföra. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 8 februari 2018 kl. 20.54 (CET)
== Share your experience and feedback as a Wikimedian in this global survey ==
<div class="mw-parser-output">
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Hello! The Wikimedia Foundation is asking for your feedback in a survey. We want to know how well we are supporting your work on and off wiki, and how we can change or improve things in the future. The opinions you share will directly affect the current and future work of the Wikimedia Foundation. You have been randomly selected to take this survey as we would like to hear from your Wikimedia community. The survey is available in various languages and will take between 20 and 40 minutes.
<big>'''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=6&prjedc=ot6 Take the survey now!]'''</big>
You can find more information about this survey [[m:Special:MyLanguage/Community_Engagement_Insights/About_CE_Insights|on the project page]] and see how your feedback helps the Wikimedia Foundation support editors like you. This survey is hosted by a third-party service and governed by this [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|privacy statement]] (in English). Please visit our [[m:Special:MyLanguage/Community_Engagement_Insights/Frequently_asked_questions|frequently asked questions page]] to find more information about this survey. If you need additional help, or if you wish to opt-out of future communications about this survey, send an email through the EmailUser feature to [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]] to remove you from the list.
Thank you!
</div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 29 mars 2018 kl. 20.36 (CEST)
</div>
<!-- Meddelande skickades av User:WMF Surveys@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot6&oldid=17881403 -->
== Reminder: Share your feedback in this Wikimedia survey ==
<div class="mw-parser-output">
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Every response for this survey can help the Wikimedia Foundation improve your experience on the Wikimedia projects. So far, we have heard from just 29% of Wikimedia contributors. The survey is available in various languages and will take between 20 and 40 minutes to be completed. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=6&prjedc=ot6 Take the survey now.]'''
If you have already taken the survey, we are sorry you've received this reminder. We have design the survey to make it impossible to identify which users have taken the survey, so we have to send reminders to everyone.
If you wish to opt-out of the next reminder or any other survey, send an email through EmailUser feature to [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. You can also send any questions you have to this user email. [[m:Community_Engagement_Insights/About_CE_Insights|Learn more about this survey on the project page.]] This survey is hosted by a third-party service and governed by this Wikimedia Foundation [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|privacy statement]]. Thanks!
</div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 13 april 2018 kl. 03.34 (CEST)
</div>
<!-- Meddelande skickades av User:WMF Surveys@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot6&oldid=17881403 -->
== Your feedback matters: Final reminder to take the global Wikimedia survey ==
<div class="mw-parser-output">
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Hello! This is a final reminder that the Wikimedia Foundation survey will close on '''23 April, 2018 (07:00 UTC)'''. The survey is available in various languages and will take between 20 and 40 minutes. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=6&prjedc=ot6 Take the survey now.]'''
'''If you already took the survey - thank you! We will not bother you again.''' We have designed the survey to make it impossible to identify which users have taken the survey, so we have to send reminders to everyone. To opt-out of future surveys, send an email through EmailUser feature to [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. You can also send any questions you have to this user email. [[m:Community_Engagement_Insights/About_CE_Insights|Learn more about this survey on the project page.]] This survey is hosted by a third-party service and governed by this Wikimedia Foundation [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|privacy statement]].
</div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 20 april 2018 kl. 02.44 (CEST)
</div>
<!-- Meddelande skickades av User:WMF Surveys@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot6&oldid=17952438 -->
== Administratörskap ==
Hur ansöker man om administratörskap på svenskspråkiga Wiktionary? Det vore bra för mig att ha tillgång till verktygen. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 3 maj 2018 kl. 00.16 (CEST)
:{{@|Vannucci}}: Det gör man på [[WT:BOA]]. [[Användare:Skalman|//Skal]] 4 maj 2018 kl. 07.55 (CEST)
== Lexicographical data ==
Skalman, med stort engegemang här, och med tillgång till egen bot etc, vill jag intressera dig för [[:d:Wikidata:Lexicographical_data]], där det f.n. tycks [[:d:Wikidata:Lexicographical_data/How_to_help|saknas svenska ambassdörer]]. [[Användare:Dan Koehl|Dan Koehl]] ([[Användardiskussion:Dan Koehl|diskussion]]) 30 september 2018 kl. 10.22 (CEST)
== Gammal testkod i kategori ==
Hej Skal. I kategorin [[:Kategori:Wiktionary:Programteknikmallar]] återfinner man sedan 6 januari 2013 sidan [[Användare:Skalman/sandlåda/grammatik-start]] som du både skapade och redigerade några gånger just den dagen, men som inte rörts sedan dess. Redan dagen efter kopierades delar av sidans kod ("<code>stöds ej=</code>" m.m.) till [[Mall:grammatik-start]]-mallen. För formens skull tycker jag att sandlådesidan nu bör raderas, eller åtminstone tas bort från kategorin för programteknikmallar. Mvh, [[Användare:Tommy Kronkvist|Tommy Kronkvist]] ([[Användardiskussion:Tommy Kronkvist|diskussion]]), 17 juni 2019 kl. 11.34 (CEST).
:{{@|Tommy Kronkvist}}, jag håller med dig! Nu är sidan borttagen. {{=)}} [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 17 juni 2019 kl. 20.34 (CEST)
== Böjningsartiklar ==
Hej Skal!
Är det korrekt uppfattat av mig att vi inte längre har någon bot som skapar böjningsuppslag? Är det meningen att man själv skall göra det (vilket i och för sig är mycket smidigt m.h.a. böjningsmallen)? --[[Användare:Andreas Rejbrand|Andreas Rejbrand]] ([[Användardiskussion:Andreas Rejbrand|diskussion]]) 23 augusti 2020 kl. 20.57 (CEST)
:{{@|Andreas Rejbrand}}, ja det stämmer att vi inte har nån bot för böjningsuppslag. Det är flera år sen jag var involverad i det, men som jag minns det var det svåra inte att skapa böjningsuppslag, utan att underhålla dom, exempelvis att lägga till dom på befintliga sidor eftersom man då måste kunna parsa sidan korrekt. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 23 augusti 2020 kl. 22.10 (CEST)
::Det finns några problem. Att parsa sidorna är inte ett av de större, men naturligtvis väsentligt (att bara skapa uppslag på tomma sidor är inte hållbart). Att underhålla innebär dock inte bara att lägga till uppslag utan också att ta bort eller ändra i befintliga uppslag. Det är mycket tidskrävande och resurskrävande med tiotusentals serveranrop att börja från scratch. Därför måste en hållbar lösning baseras på att man kan ta reda på vilka sidor som ändrats sen senaste körningen (och vilken typ av ändring som skett). En bra källa för denna information är senaste ändringar och loggen för skapade, raderade och flyttade sidor (eller motsvarande API-anrop). Senaste ändringar finns bara en ganska kort tid och om man missar att uppdatera inom denna tidsram så måste man börja från scratch. Så knäckfrågan som jag ser det är hur man kan säkerställa att man alltid ska kunna få reda på vilka ändringar som skett sidan en viss tidpunkt, även om den tidpunkten ligger långt tillbaka i tiden, så man vid ett avbrott inte ska behöva börja från scratch. Det finns också en del manuellt arbete involverat för sidor som inte är formaterade korrekt och därför inte kan parsas. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 23 augusti 2020 kl. 23.21 (CEST)
:::Istället för att skriva helt ny kod kanske det går att göra en del med [[w:WP:AWB]]?[[Användare:Jonteemil|Jonteemil]] ([[Användardiskussion:Jonteemil|diskussion]]) Ps. använd gärna <code>{{[[Mall:@|@]]}}</code> vid svar 23 augusti 2020 kl. 23.57 (CEST)
::::AWB förenklar ingenting tyvärr. De problemområden jag beskrev ligger utanför AWB:s funktionalitet. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 24 augusti 2020 kl. 21.14 (CEST)
== We sent you an e-mail ==
Hello {{PAGENAME}},
Really sorry for the inconvenience. This is a gentle note to request that you check your email. We sent you a message titled "The Community Insights survey is coming!". If you have questions, email surveys@wikimedia.org.
You can [[:m:Special:Diff/20479077|see my explanation here]].
[[Användare:MediaWiki message delivery|MediaWiki message delivery]] ([[Användardiskussion:MediaWiki message delivery|diskussion]]) 25 september 2020 kl. 20.54 (CEST)
<!-- Meddelande skickades av User:Samuel (WMF)@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/Community_Insights_survey/other-languages&oldid=20479295 -->
== 4 frågor ==
Hej!
* Sida "[[Användare:Skalman/antal artiklar efter språk]]" -- Får jag uppdatera denna sida, eller vill du kanske radera den? Se [[Wiktionary:Om/Statistik/Tabell]]. Det finns mer [[Special:PrefixIndex/Användare:Skalman/]] ... kanske kan något flyttas i en offentlig namnrymd eller raderas?
* [[Wiktionary:Teknikvinden#Bugg_i_"MediaWiki:Common.css"]] -- Sida [[MediaWiki:Common.css]] inkluderar en massa mallar och fastnar i 2 spårningskategorier - går det att fixa den?
* [[Wiktionary:Teknikvinden#Bugg:_"$wgExpensiveParserFunctionLimit"_för_lyxiga_funktioner]] -- Kanske bevöver vi ett fåtal stödröster på [https://phabricator.wikimedia.org/T278629 T278629], annars slutar snart delar av wikitionaryn funka.
* Sida [[MediaWiki:Gadget-enhanced wikitext.js/test.js]] fastnar i spårningskategorier ... är [[MediaWiki:Gadget-enhanced wikitext.js]] överhuvudtaget i drift? Kan du tills vidare tömma dessa 2 sidor, eller fixa det på ett annat sätt?
[[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 8 augusti 2021 kl. 02.30 (CEST)
:{{@|Taylor 49}}, jag har inte glömt dig.
:* Jag ska fixa så att css- och js-sidorna inte hamnar i spårningskategorier
:* Jag får kika på expensive parser functions vid tillfälle
:* [[MediaWiki:Gadget-enhanced wikitext.js]] är (åtminstone delvis) i drift (finess: "Experimentiellt: Dölj språkkoder i wikitext")
:* Du får uppdatera alla mina undersidor om du tror att jag skulle uppskatta ändringen. Om något passar bättre "offentligt" får du flytta sidan, men jag är inte säker på att jag ser vitsen med att radera sidor
:Jag vet inte när jag fixar kategorier och kollar på parserfunktioner - men senast under helgen vore rimligt. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 10 augusti 2021 kl. 00.44 (CEST)
:: Tack.
:: Sidan "[[Användare:Skalman/antal artiklar efter språk]]" är uppdaterad.
:: Vad är "Dölj språkkoder i wikitext"? Är det aktivt för alla?
:: [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 10 augusti 2021 kl. 03.00 (CEST)
::: Fixat spårningskategorierna. Jag har kommenterat expensiveparserfunctionlimit på TV - men inte skrivit något på Phabricator, eftersom jag inte har så mkt nytt att tillägga.
::: "Experimentiellt: Dölj språkkoder i wikitext" är inte aktiverad som standard, och fungerar bara när syntaxmarkering '''inte''' är aktiv.
::: [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 12 augusti 2021 kl. 00.01 (CEST)
:::: Spårningskategorierna är tömda nu. :-) Skulle inte [[MediaWiki:Common.css]] kunna fixas på samma sätt som [[MediaWiki:Gadget-enhanced wikitext.js/test.js]] ? [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 12 augusti 2021 kl. 00.38 (CEST)
== Rohingisk (rhg) ==
Hello, here's [[Wiktionary:Teknikvinden#Rohingisk_(rhg)|something]], that I would like to point out. --[[Användare:Apisite|Apisite]] ([[Användardiskussion:Apisite|diskussion]]) 14 november 2021 kl. 16.20 (CET)
== How we will see unregistered users ==
<section begin=content/>
Hej!
Du får det här meddelandet eftersom du är administratör på en Wikimediawiki.
När någon redigerar en Wikimediawiki utan att vara inloggad visar vi deras IP-adress. Som du kanske redan vet kommer vi inte att kunna göra det i framtiden. Detta är ett beslut från Wikimedia Foundations jurister, för att normer och regleringar om integritet på nätet har ändrats sedan Wikipedia startades.
Istället för IP kommer vi att visa en maskerad identitet. Du som administratör '''kommer fortfarande ha tillgång till IP-numret'''. Det kommer också att finnas en ny användarrättighet för de som behöver tillgång till hela IP-adressen för att hantera vandalism, trakasserier och spam utan att vara administratörer. De som patrullerar kommer också att kunna se en del av IP-adressen utan användarrättigheten. Vi arbetar också på [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|bättre verktyg]] som stöd.
Om du inte har sett sidan tidigare [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|kan du läsa mer på Meta]]. Om du vill försäkra dig om att inte missa tekniska uppdateringar på Wikimediawikierna kan du [[m:Global message delivery/Targets/Tech ambassadors|prenumerera]] på det [[m:Tech/News|tekniska nyhetsbrevet]].
Vi har [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|två föreslagna sätt]] den här maskerade identiteten skulle kunna fungera på. '''Vi skulle uppskatta din återkoppling''' om vilket som skulle fungera bäst för dig och din wiki, nu och i framtiden. Du kan [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|svara på diskussionssidan]]. Du kan skriva på ditt språk. Föreslagen publicerades i oktober och vi kommer att besluta oss efter 17 januari.
Tack.
/[[m:User:Johan (WMF)|Johan (WMF)]]<section end=content/>
4 januari 2022 kl. 19.19 (CET)
<!-- Meddelande skickades av User:Johan (WMF)@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(7)&oldid=22532681 -->
== Matt! ==
{{mall|schackdiagram}} borde väl förenklas dvs massor med odokumenterade och obehövliga parametrar bör tas bort. [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 9 oktober 2022 kl. 01.44 (CEST)
:@[[Användare:Taylor 49|Taylor 49]], jag håller med.
:Problemet jag försökte lösa just nu var att få bort dubbla mellanslag i uppslagen, eftersom jag vill att min nya finess ska normalisera sånt till ''ett'' mellanslag.
:Mitt förslag var att flytta alltihop till mallnamnrymden, medan @[[Användare:Dodde|Dodde]] bytte ut mellanslagen mot <code>__</code>. Om du gillar Doddes lösning, så är det bara att förenkla!
:Jag har inte starka åsikter här om ''hur'' man får bort mellanslagen, bara att det ska vara konsekvent. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 9 oktober 2022 kl. 10.44 (CEST)
== Need your input on a policy impacting gadgets and UserJS ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Dear interface administrator,
This is Samuel from the Security team and I hope my message finds you well.
There is an [[m:Talk:Third-party resources policy|ongoing discussion]] on a proposed policy governing the use of external resources in gadgets and UserJS. The proposed [[m:Special:MyLanguage/Third-party resources policy|Third-party resources policy]] aims at making the UserJS and Gadgets landscape a bit safer by encouraging best practices around external resources. After an initial non-public conversation with a small number of interface admins and staff, we've launched a much larger, public consultation to get a wider pool of feedback for improving the policy proposal. Based on the ideas received so far, the proposed policy now includes some of the risks related to user scripts and gadgets loading third-party resources, best practices for gadgets and UserJS developers, and exemptions requirements such as code transparency and inspectability.
As an interface administrator, your feedback and suggestions are warmly welcome until July 17, 2023 on the [[m:Talk:Third-party resources policy|policy talk page]].
Have a great day!</div>
<bdi lang="en" dir="ltr">[[m:User:Samuel (WMF)|Samuel (WMF)]], on behalf of the Foundation's Security team</bdi> 10 juli 2023 kl. 14.08 (CEST)
<!-- Meddelande skickades av User:Samuel (WMF)@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/IAdmins_MassMessage_list_2&oldid=25272792 -->
== Radering ==
[[Användare:Jacc/monobook.js]] måste raderas. Användaren har varit inaktiv under bara 15 år. [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 17 september 2023 kl. 00.06 (CEST)
:Ok, det ser ut som att du har lyckats. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 17 september 2023 kl. 20.40 (CEST)
== Radering (bottniska.js) ==
[[Användare:Skalman/konvertera bottniska.js]] [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 26 december 2023 kl. 00.22 (CET)
:@[[Användare:Taylor 49|Taylor 49]], raderad, också sidan som använde det där skriptet. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 27 december 2023 kl. 19.34 (CET)
== Massrarering ==
Det finns [[:Kategori:Wiktionary:Raderas?|nästan 5000 sidor som bör raderas]]. Hur gör du massradering? [[Special:Massradering]] verkar inte vara avsett för sådana fall. Har du någon "[[w:en:Trinity_(nuclear_test)#The_bomb|gadget]]" för detta? [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 26 december 2023 kl. 00.22 (CET)
:@[[Användare:Taylor 49|Taylor 49]], ja, jag har ett skript som gör att det bara krävs ett klick per radering. Jag fixar det inom ett par dagar. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 27 december 2023 kl. 19.27 (CET)
::@[[Användare:Taylor 49|Taylor 49]], jag har nu raderat samtliga kategorier och 400 uppslag. Jag kör igenom resten senare. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 31 december 2023 kl. 06.51 (CET)
:::Ytterligare 1000 uppslag raderade. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 31 december 2023 kl. 12.00 (CET)
::::Och nu är samtliga raderade. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 31 december 2023 kl. 13.23 (CET)
== LeGo ==
Hej! Angående uppslaget för LEGO är det lite tvetydigt från Stilguiden hus vi ska förhålla oss gällande versalisering, men företagsnamnet är marknadsfört i stora bokstäver, ''LEGO'', ursprungligen ett teleskopord av "leg godt", "lek gott/bra". Jag kan hålla med om att svenska skrivregler stödjer att det skrivs lego för bitarna osv, precis som en barbie, men jag skulle vilja skriva företaget som LEGO i undermallarna då det är se de själva skriver det. 𐏐[[Användare:Frodlekis|Frodlekis]] ([[Användardiskussion:Frodlekis|✍]]) 12 april 2024 kl. 18.51 (CEST)
:Syftar du på "Lego" i "...som tillverkas av företaget Lego" eller nåt annat?
:Svenska skrivregler stödjer också att man normaliserar företagsnamnet till "Lego" (trots att dom själva skriver "LEGO"). På samma sätt skriver vi "Nato" trots att organisationen själv kör med "NATO" (nog pga annorlunda skrivregler på engelska jämfört med svenska). Och "Iphone", trots att Apple skriver "iPhone".
:Jag vet inte om vi har några särskilda princper på svwikt, men det känns väl ganska rimligt att följa [[w:wp:Skrivregler#Versalisering|Wikipedia]] och [https://tt-spraket.tt.se/versaler-och-gemener/#chapter4 TT-språket]. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 12 april 2024 kl. 19.24 (CEST)
== Förhandsvisningen i översättningsverktyget visar skräptext ==
== Förhandsvisningen i översättningsverktyget visar skräptext ==
Hej @[[Användare:Skalman|Skalman]]! Först en liten urspäkt i förväg: det kan mycket väl vara jag som har orsakat det här. Jag har nyligen rotat runt i ett gäng moduler och mallar, och om något har gått sönder så är jag först på listan över misstänkta. Men efter en del utredande och AI-stöd så tror jag ändå att felet ligger någon annanstans, så här kommer en problembeskrivning och ett lösningsförslag:
Förhandsvisningen i [[MediaWiki:Gadget-translation editor.js]] har börjat visa en främmande textbit när man lägger in en översättning i {{mall|ö-topp}}-rutan. Exempel när jag lade in ''smør'' med språkkoden ''nn'':
<pre>* nynorska: tion data-mw-section-id="0" id="mwAQ"> [[smør]]</pre>
Det som sparas blir rätt (<code>*nynorska: {{ö|nn|smør}}</code>), så felet gäller bara förhandsvisningen.
Jag fick fram orsaken och en lösning med hjälp av lite AI-felsökning, så ta gärna en extra titt och kontrollera att resonemanget håller innan något ändras i gadgeten.
'''Orsak:''' Funktionen <code>parse_wikitext</code> skickar <code><nowiki><div>…</div></nowiki></code> till <code>action=parse</code> och klipper sedan ut texten mellan första <code><nowiki><div></nowiki></code> och sista <code><nowiki></div></nowiki></code> med <code>indexOf</code>/<code>lastIndexOf</code>. Svaret från parsern verkar numera innehålla <code><nowiki><section data-mw-section-id="0" id="mwAQ"></nowiki></code> och ett <code><nowiki><div></nowiki></code> med attribut, så <nowiki>indexOf('<div>')</nowiki> returnerar -1. Klippet börjar då på tecken 4 och de första tecknen i <code><nowiki><section …></nowiki></code> hamnar i förhandsvisningen. Det förklarar att det som blir kvar börjar med <code>tion data-mw-section-id…</code>. Gadgeten och MediaWiki:Common.js har inte ändrats på länge, så ändringen ligger troligen i parserns utdata.
'''Förslag på rättning:''' Ersätt <code>parse_wikitext</code> med en variant som hittar omslaget via en klass i stället för att räkna tecken:
<syntaxhighlight lang="javascript">
function parse_wikitext(wikitext) {
return new mw.Api().get({
action: 'parse',
prop: 'text',
disablelimitreport: '',
wrapoutputclass: '',
contentmodel: 'wikitext',
text: '<div class="ed-parse-wrapper">' + wikitext + '</div>',
title: mw.config.get('wgPageName')
}).then(function (data) {
var html = itypeof data.parse.text === 'string'
? data.parse.text
: data.parse.text['*'];
var wrapper = $('<div>').append($.parseHTML(html))
.find('.ed-parse-wrapper').first();
return $.trim(wrapper.html());
});
}
</syntaxhighlight>
Jag har inte behörighet att redigera gadgeten själv. Jag har en tillfällig lösning i mitt eget skript som rättar till svaret från API:et, och den löste problemet för mig, men det vore bra om gadgeten rättades på riktigt. Säg till om du vill att jag testar något mer.
᛫⟣[[Användare:Frodlekis|Frodlekis]]⟣᛫ ([[Användardiskussion:Frodlekis|✍]]) 15 oktober 2026 kl. 01.49 (CEST)
tnd9w3qogykw15eji3bi66o8wzespah
4155736
4155735
2026-10-14T23:50:59Z
Frodlekis
762
/* Förhandsvisningen i översättningsverktyget visar skräptext */
4155736
wikitext
text/x-wiki
{{:Användare:Skalman/nav}}
{{meddelande|Arkiverade diskussioner|Arkiv för den här sidan: [[/Arkiv:okt06-jul07|oktober 2006 - juli 2007]], [[/Arkiv:jul07-nov13|juli 2007 - november 2013]] }}
== Grogggvirke ==
Betr. min redigering: Jag brukar inte redigera här utan råkade titta förbi. Jag ändrade eftersom definitionen är fel enligt SAOB. Se även Wikipedia Grogg [https://sv.wikipedia.org/wiki/Grogg]. Jag ämnar inte fortsätta denna redigering i wiktionary utan överlåter korrigeringen/redigeringen till dig. [[Special:Bidrag/213.64.210.186|213.64.210.186]] 24 november 2013 kl. 11.44 (CET)
:Svarat på [[Användardiskussion:213.64.210.186#Om groggvirke]]. [[Användare:Skalman|//Skal]] 24 november 2013 kl. 20.04 (CET)
== Geografi-listan ==
Hej! Jag försökte nyss nå Geografi-listan, du skapade för ett par veckor sedan, men får ingen kontakt med den sidan.--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 25 november 2013 kl. 18.05 (CET)
:Den kanske temporärt var nere? Jag kommer iaf in på [https://tools.wmflabs.org/svwiktionary/listor/?title=sidor-i-geografi]. [[Användare:Skalman|//Skal]] 25 november 2013 kl. 18.55 (CET)
::Jo, nu funkar den igen!--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 26 november 2013 kl. 15.54 (CET)
== Finessen för översättningsavsnitt ==
Vore det möjligt att göra något så att man, när ett översättningsavsnitt lagts till, kan redigera den hänvisning som hamnar i {{mall|ö-topp}}? Nu läggs hela definitionen till, vilket kan bli lite överdrivet långt, och kräver en ny redigering för att åtgärda. Jfr t.ex. [https://sv.wiktionary.org/w/index.php?title=tv%C3%A4rnsnitt&diff=1657353&oldid=1657351] [[User talk:Mike|\]][[User:Mike|Mike]] 7 december 2013 kl. 09.12 (CET)
:{{@|Mike}}, som standard tar den hela definitionen, minus ''(tagg)'' och minus det som finns efter ett semikolon. Det ska gå att ändra "översättningsrubriken" genom att klicka på "±". Dyker den inte upp, eller är den otydlig? [[Användare:Skalman|//Skal]] 7 december 2013 kl. 09.18 (CET)
::Ah, den uppmärksammade jag aldrig. Tack,då var det problemet löst! [[User talk:Mike|\]][[User:Mike|Mike]] 7 december 2013 kl. 09.44 (CET)
== Kategorisering ==
Hej! Jag har inte förstått vad det är för skillnad på <pre><nowiki>{{kat|kat=djur}}</nowiki></pre> och <pre><nowiki>{{tagg|kat=djur}}</nowiki></pre>.--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 8 december 2013 kl. 15.50 (CET)
:@{{@|Nyström}}, det finns ingen skillnad. För ungefär fyra år sedan så bytte vi namn från {{mall|kat}} till {{mall|tagg}} och något år senare raderades {{mall|kat}} helt. Anledningen är att mallen gör mer än att bara kategorisera - den "taggar" en definition. [[Användare:Skalman|//Skal]] 8 december 2013 kl. 17.30 (CET)
::Okey! Så vi skulle kunna stryka {{mall|kat}} från Stilguiden?--[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 9 december 2013 kl. 11.41 (CET)
:::Jag ser inte att det står där över huvud taget. Om du ser att det står någonstans står att man ska använda {kat} så är det bara att ändra. [[Användare:Skalman|//Skal]] 9 december 2013 kl. 11.55 (CET)
::::Nej, förlåt! Det var ju här jag såg den: https://sv.wiktionary.org/wiki/Wiktionary:Mallar/tagg#parametrar --[[Användare:Nyström|Nyström]] ([[Användardiskussion:Nyström|diskussion]]) 9 december 2013 kl. 14.06 (CET)
:::::Fixat. [[Användare:Skalman|//Skal]] 9 december 2013 kl. 14.11 (CET)
== Automatiskt skapande av ryska böjningsformer? ==
Hej Skal! Vad tror du om att automatisera skapandet av uppslag på ryska adjektivens böjningsformer? Kanske kan man utgå från böjningstabellerna när sådana finns? Det känns som ett sådant jobb som görs bäst av en bot. [[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 12 december 2013 kl. 16.12 (CET)
Följdfråga: vet du vem som skapat mallarna för ryska ords böjningar? Hon/han skulle kanske kunna bidra med kloka synpunkter till en sådan bot. Särskilt den som ligger bakom [[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 12 december 2013 kl. 16.17 (CET)
:Om jag kollar i historiken för [[Mall:ru-subst-m]] och [[Mall:ru-subst]] så ser det ut att vara [[Användare:Fenix]], kan det stämma? [[Användare:Dodde]] verkar också ha ett finger med i spelet. [[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 12 december 2013 kl. 16.23 (CET)
::[[Användare:Eliashedberg|Elias]], det kan nog stämma. Om mallen länkar till böjningsformerna så kan man skapa böjningsuppslagen automatiskt (fast vi måste hitta på någon speciallösning för att hantera substantiv som är adjektivformer).
::Om mallen är så bra att sättet som den används på gör att vi ''nästan alltid'' får rätt böjningsformer, så kan mallnamnet läggas in på [[Wiktionary:Användare/Robotar/Godkända grammatikmallar]] - listan över mallar som en bot automatiskt får skapa böjningsuppslag från. Doddebot har skapat böjningsuppslag senast i oktober, så jag tror att Dodde kan fixa böjningsformerna när det blir aktuellt. [[Användare:Skalman|//Skal]] 12 december 2013 kl. 16.46 (CET)
:::Japp, det bör bara ses över att mallen uppfyller alla krav, då det blir besvärligt om något fel smugit sig in. Det kan du se till Skalman :). Användning av {länka-b} (m.fl. varianter) gör ju böjningsformen synlig för botten. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 16 januari 2014 kl. 05.29 (CET)
== Fritext i översättning ==
Är det tillåtet att infoga fritext i översättningar, eller stör det någon bot eller något skript? [https://sv.wiktionary.org/w/index.php?title=f%C3%A4ngelsedirekt%C3%B6r&diff=1670171&oldid=1670170 Exempel] --[[Användare:Andreas Rejbrand|Andreas Rejbrand]] ([[Användardiskussion:Andreas Rejbrand|diskussion]]) 3 januari 2014 kl. 15.13 (CET)
:{{@|Andreas Rejbrand}}, nej det stör inte, men användningsinformation/kommentarer placeras hellre som ''not='' än som fritext, alltså {{<nowiki/>ö|en|example|not=vardagligt}}.
:Den enda sak som kanske går emot intuitionen kan vara att det inte går att länka till svenskspråkiga sidor, så all förklaring med svensk text måste vara länkfri. (Vanliga [[<nowiki/>länkar]] konverteras till {{mall|ö}}.) [[Användare:Skalman|//Skal]] 3 januari 2014 kl. 15.21 (CET)
::Men jag tror inte att det uppmuntras. Om det på ett tydligt sätt går att ha en kommaseparerad lista med översättningar så är det att föredra. [[Användare:Skalman|//Skal]] 3 januari 2014 kl. 15.22 (CET)
== [[Oniomanie]] ==
Jag vet inte om det är fackspråk men jag fann den ord på ordboken. --[[Special:Bidrag/134.176.204.240|134.176.204.240]] 16 januari 2014 kl. 23.46 (CET)
:Jag är inte helt övertygad om att ordet är särskilt utbrett på svenska, men har ändå skapat uppslaget eftersom jag faktiskt också hittade ordet i ett par ordböcker+bloggar. [[Användare:Skalman|//Skal]] 17 januari 2014 kl. 00.09 (CET)
== [[samtlig]] ==
Artikelns nuvarande utseende är under all kritik. Håller du på med den eller går det bra om jag försöker mig på en omskrivning? --[[Användare:Andreas Rejbrand|Andreas Rejbrand]] ([[Användardiskussion:Andreas Rejbrand|diskussion]]) 17 januari 2014 kl. 17.55 (CET)
:{{@|Andreas Rejbrand}}, jag har börjat. Du får gärna vidareutveckla. [[Användare:Skalman|//Skal]] 17 januari 2014 kl. 17.59 (CET)
== Grafer ==
Det var riktigt snygga grafer du hade gjort som visar informationen på [[Wiktionary:Om/Statistik/Historik]]. Tack så mycket! {{=)}}
Jag vet att de har varit där i ett halvår, eller kanske ännu längre, men jag såg dem inte förrän nu. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 25 januari 2014 kl. 12.17 (CET)
:Tack. Ja, dom har varit där sedan augusti. Det kändes som om det är ett bättre sätt att visa informationen på. Det som jag tycker saknas nu är historik över antal uppslag per språk. [[Användare:Skalman|//Skal]] 25 januari 2014 kl. 16.14 (CET)
::Jag skapade sidan [[Användare:ÅttioFem/Historik över antalet artiklar efter språk]]. Det var väl något sådant du menade? Säg gärna till om du tycker att något kan förbättras. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 13.02 (CET)
:::Ja, det var så jag menade, men det blir så ''fruktansvärt'' brett bara. Går det att få det överskådligt på något sätt? Ett alternativ skulle vara att ha något skript som körs varje vecka och som sparar infon i en databas (som skulle gå att spara över till Wiktionary då och då). På så vis skulle det vara lite lättare att filtrera ut t.ex. "bara dom språk som har haft någon ändring den senaste månaden" eller "dom 25 största språken" (som för övrigt har varit samma i över ett år). [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 17.37 (CET)
::::Visst vore det fint om det gick att ordna. Själv har jag varken kunskap eller rätt verktyg för att få till det just nu, så jag vore tacksam om någon annan ville ta på sig det ansvaret någon gång i framtiden. Fram till dess kan jag fortsätta uppdatera den lista som finns på sidan [[Användare:ÅttioFem/Historik över antalet artiklar efter språk]]. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 22.08 (CET)
:::::Ok. Om jag får inspiration så fixar jag ett verktyg, annars så kör vi på din lösning tills vidare. [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 22.16 (CET)
::::::Jag funderar på om den tabellen kanske borde uppdateras samtidigt som den på [[Wiktionary:Om/Statistik/Historik]], så att listorna inte visar olika antal uppslag för samma dag under "svenska grundformer" och "alla språks grundformer". [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 21.26 (CET)
:::::::På sistone har det varit jag som uppdaterat [[WT:Om/Statistik/Historik]]. Ska jag försöka att samtidigt uppdatera [[Användare:ÅttioFem/Historik över antalet artiklar efter språk]]? [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 22.43 (CET)
::::::::Ja, det vore bra, om det går bra för dig. Det blir en lång lista med språknamn att kopiera men det går till på samma sätt som på den andra historiksidan. [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 22.48 (CET)
:::::::::Jag har ett verktyg som gör det lite lättare, så att man inte måste kopiera manuellt, så det borde inte vara några problem. [[Användare:Skalman|//Skal]] 26 januari 2014 kl. 22.52 (CET)
::::::::::Ok, vad bra! Tack så mycket! [[Användardiskussion:ÅttioFem|"]][[Användare:ÅttioFem|85]][[Special:Bidrag/ÅttioFem|"]] 26 januari 2014 kl. 23.02 (CET)
== förnybar energi ==
Svar är nja. På fackspråk skrivs stor men där är också det variant som liten bokstaven. --[[Special:Bidrag/134.176.204.240|134.176.204.240]] 27 januari 2014 kl. 12.49 (CET) P.S.: Se även http://de.wikipedia.org/wiki/Erneuerbare_Energien
== Kan man göra citaten hopfällbara som på engelska wiktionary? ==
Är det möjligt att göra citaten hopfällbara, så som de gjort på engelska wikipedia (t.ex. [http://en.wiktionary.org/wiki/long#Adjective long])? Det är bra med många exempel men det känns som om de helt tar över artikeln [[испорченный]]. /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 28 januari 2014 kl. 12.00 (CET)
:{{@|Eliashedberg}}, ja. Jag har [[WT:BB#Dölja info invid definitioner som standard med JavaScript?|experimenterat med det]] och även att dölja andra saker invid definitionen. Du aktiverar det genom att gå till ''Inställningar->Finesser->Dölj viss info invid definitionerna''.
:Innan vi aktiverar det som standard för alla användare så vore det bra om man kunde välja vad man vill visa och inte visa (några är intresserade av etymologin, andra inte osv). Har du något förslag på ''hur'' man ska välja vad man vill visa? Var ska knappen/länken för inställningar finnas? [[Användare:Skalman|//Skal]] 28 januari 2014 kl. 12.08 (CET)
::{{@|Skalman}} Nej, inte på rak arm. Och jag tror inte att det behövs – etymologi/besläktade ord/*onymer/etc. är (i) oftast ganska korta, (ii) få uppslag har mer än en handfull av dem ifyllda (i dagsläget i alla fall), och (iii) de avviker tydligt från förklaringsraden med sin beigea färg, utan att för den skull ta så mycket uppmärksamhet. Citaten däremot är väldigt textrika och tar därmed mycket utrymme, men framförallt tar de mycket '''uppmärksamhet''' på grund av alla '''fetade''' ord och [http://top.rbc.ru/wildworld/06/04/2007/96821.shtml de långa blå länkarna till källorna för citaten]. Därför känns det viktigare att kunna dölja citaten.{{osignerad|Eliashedberg}}
:::{{@|Eliashedberg}}, du har nog rätt. Det enda undantaget skulle kunna vara [[radio|samman]][[apparat|sättning]][[-artad|ar]], så dom skulle nog inkluderas. Om man dessutom gör så att funktionen kommer ihåg om användaren vill visa eller dölja citat+sammansättningar, så borde det kanske kunna aktiveras som standard. [[Användare:Skalman|//Skal]] 11 februari 2018 kl. 20.23 (CET)
::::{{@|Skalman}}, ja sammansättningar kan också bli långa. Att komma ihåg om användaren vill visa eller dölja citat+sammansättningar låter spontant som en god idé. Och om möjligt vore det kanske en bra idé att testa även den biten innan det släpps lös som standard? /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 25 juni 2020 kl. 13.34 (CEST)
:::::{{@|Eliashedberg}}, jag känner mig tyvärr inte inspirerad att arbeta med det här i närtid. Om någon annan tar fram ett förslag, får det godkänt och fixar fungerande kod, så kan jag lägga in det.
:::::(Det känns bättre att vara ärlig med hur jag kan prioritera min energi/tid än att jag uttrycker mig alltför optimistiskt.) [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 25 juni 2020 kl. 23.03 (CEST)
::::::{{@|Skalman}} Ok. Ja, absolut, bättre att sätta förväntningarna rätt. Vi tar det som det kommer och ser vem som har tid och lust, och när de har det. Trevlig helg! /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 28 juni 2020 kl. 09.36 (CEST)
== "Lägg till översättningar…" dyker upp trots att det redan finns ett översättningsavsnitt ==
Hej Skalman!
Jag lade just till substantivbetydelsen för "[[hej]]" och inkluderade då direkt ett översättningsavsnitt, ändå dyker det upp en länk för att skapa översättningsavsnitt under det som redan finns. Är det något i formateringen av det existerande översättningsavsnittet som gör att systemet inte förstår att det redan existerar eller dyker "Lägg till översättningar…" alltid upp, till dess att man klickat på den länken och sparat? /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 10 februari 2014 kl. 09.04 (CET)
:{{@|Eliashedberg}}: Det beror på att rubriken <code>====Översättningar====</code> saknas. [[Användare:Skalman|//Skal]] 10 februari 2014 kl. 09.06 (CET)
::Ah, tackar tackar. Fixat. /[[Användare:Eliashedberg|Elias Mossholm]] ([[Användardiskussion:Eliashedberg|diskussion]]) 10 februari 2014 kl. 09.47 (CET)
== Ordnungszahl/Kernladungszahl ==
Pa tyska där är flera betydelser av '''Ordnungszahl'''. Det kemiska betydelse definerar [http://www.dwds.de/?qu=Ordnungszahl DWDS] som ''"Nummer eines Elements im Periodensystem" (nummer av en grundämne på periodiska systemet)''. Som jag tycka att det är atomnummeret.
'''Kernladungszahl''' kallas som synonymer i den tyska wikitionary artikel och vice versa. [http://www.canoo.net/Kernladungszahl?lookup=caseSensitive canoo.net] kallas också Kernladungszahl (och Atomnummer) som synonymer av Ordnungzahl.--[[Special:Bidrag/134.176.205.246|134.176.205.246]] 15 februari 2014 kl. 23.20 (CET)
== Hindernis ==
Hindernis är inte bara fysikalisk hinder men också mental hinder. Jag är inte säkert som metafor är det rätt ord för det. --[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 19.24 (CET)
:{{@|Edroeh}}, nä, "metafor" är nog inte rätt ord. Det enklaste är nog att direkt säga att det kan vara både fysiskt och mentalt.
:Jag har ytterligare en fråga: gäller detta endast sport, eller också allmänt? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 19.49 (CET)
:: Såvitt jag vet är det '''inte''' mögligt att översätta den sportig ''Hindernis'' som förhinder men allmänt (för byråkratisk eller mental eller annat ''Hindernisse'') du kan översätta med förhinder '''och''' hinder.--[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 20.02 (CET)
:::{{@|Edroeh}}, jag förstår inte vad du menar med "byråkratisk". Jag har försökt förtydliga uppslaget. Verkar det korrekt? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 20.24 (CET)
Jag tycka att det verkar. Ett/en byråkratisk Hindernis menar att man måste skriva ansökning(?) eller fylla i formulär, etc.--[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 20.38 (CET)
:"Hinder" skulle kunna användas i byråkrati, men det är nog ganska ovanligt. Om det tyska ordet ofta används om byråkrati vore det nog en bra idé att poängtera det särskilt. Tycker du vi ska skriva något om det? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 20.56 (CET)
== Gewinner ==
Jag tycka att vinnare och segrare är inte detsamma liksom Gewinner och Sieger på tyska. Som man är vinnare man vann någonting (ett pris, medalj, ...). Som man är segrare man behöva att vinna någonting men man måste bara segrar i tävling.
Därför segrare är egentligen ingen översättning av Gewinner.
Jag vet inte varför jag skrev ''metafor'' men jag tycka att jag menade egentligen ''vardarlig''. Trots att segrare är egentligen ingen översättning av Gewinner man brukar det på tyska synonym (på talspråk).--[[Användare:Edroeh|Edroeh]] ([[Användardiskussion:Edroeh|diskussion]]) 18 februari 2014 kl. 19.52 (CET)
:{{@|Edroeh}}, du har rätt i att det finns en viss skillnad mellan [[segrare]] och [[vinnare]]. Jag har försökt förtydliga uppslagen [[vinnare]] och [[segrare]]. ''Vinnare'' kan vara i tävling, spel eller andra sammanhang, medan ''segrare'' främst är i tävling eller strid.
:I ''[[Gewinner]]'' markerade jag betydelsen "en som vunnit något värdefullt" som vardaglig. Verkar det rätt? [[Användare:Skalman|//Skal]] 18 februari 2014 kl. 21.10 (CET)
== Kasusböjning i språk med kasusböjning ==
Rent generellt bör en ordbok som gör anspråk på att vara rimligt heltäckande också ge den väsentliga lexikaliska informationen. För språk som isländska och tyska omfattar detta för verben definitivt vilka kasus dessa styr, och därför finns sådan information med i alla de ordböcker jag har sett för dessa språk.
Det finns flera sätt att hantera det faktum att många läsare inte i första vändan är ute efter just dessa delar av informationen - och kanske inte heller riktigt förstår den. Det traditionella sättet är att använda förkortningar och kanske mindre stilstorlek och ett annat typsnitt för extrainformationen. Läsaren kan då låta ögonen glida förbi denna information - utom när han/hon verkligen vill hämta in den. Ett typiskt exempel på hur detta skulle kunna se ut i en svensk ordbok, som beskriver låt oss säga 1800-talssvenskan, skulle vara orden
::'''gröt'''-en -ar <small>''m''</small> . . .
respektive
::'''säng'''-en -ar <small>''f''</small> . . . .
De små bokstäverna ''m'' respektive ''f'' stör knappast framställningen; men för den som verkligen vill veta vilka genus man ännu på 1800-talet använde för substantiven ''gröt'' respektive ''säng'', finns där förklaringen till det som förvirrar en hel del folkvisesångare: Varför sjunger man "Gröten han står kokad" men "Sängen hon står bäddad" i en relativt känd fäbodsvisa? Jo, "gröt" var maskulinum men "säng" femininum!
Detta exempel är historiskt, och upplevs därför lätt som krångligt av nutida svenskar. Det är inte heller information vi behöver ha med för ''vårt'' språk, utom kanske i det etymologiska avsnittet. För ord som tyska och isländska är informationen om genus dock minst lika nödvändig som den om vilka kasus som ett verb styr.
'''Tyvärr''' har många wikipedianer fått för sig att det enda skälet till att traditionella ordböcker och uppslagsverk använder förkortningar är att de lider av utrymmesbrist. Därför kan man knappast lösa problemet genom att nedtona objektens kasus på detta sätt; alltför många wikipedianer skulle protestera. Alltså måste vi nog uttrycka att det isländska verbet "sakna" styr genitiv på annat sätt än med det smidiga
::'''sakna''' -ði <small>''+g''</small> . . . .
Det finns dock andra sätt; man kan förlägga informationen till en senare del av artikeln, och man kan länka direkt till förklaringar av termerna - så snart man har skrivit dem. Se gärna önskelistan [[Appendix:Grammatik]]! M. v. h., [[Användare:JoergenB|Jörgen B]] ([[Användardiskussion:JoergenB|diskussion]]) 16 mars 2014 kl. 07.37 (CET)
:Välkommen [[Användare:JoergenB|Jörgen]]! Det är ibland lite svårt att förstå vad du menar, så i mitt svar gör jag några antaganden: 1) detta gäller det faktum att jag då och då tagit bort bl.a. {{m}} från fetstilsraden, 2) när du pratar om wikipedianer menar du egentligen ''wiktionaryaner''.
:Det är absolut viktigt att ha med grammatisk information, och jag tar bara bort {{m}} från fetstilsraden när samma information finns på annat håll i uppslaget: i böjningstabellen. Tycker du att detta inte räcker och att samma information nödvändigtvis också måste finnas närmare definitionerna?
:Finns det i ditt inlägg en önskan om förändring? Skulle du kunna förklara vad den består i i så fall? [[Användare:Skalman|//Skal]] 16 mars 2014 kl. 18.48 (CET)
::Tack för välkomnandet och välkomstmallen! Nu har jag visserligen petat runt i detta projekt sedan maj 2013, och redan kollat hjälpsidor (och delvis petat även där); men det är tanken som räknas.
::#. Detta är generella kommentarer om vad som normalt ingår i bättre ordböcker; men jag borde kanske ha förklarat varför jag skrev dem här. Det beror närmast på att du hade undringar om just detta i ett konkret fall för någon månad sedan; se [[Användardiskussion:Lundgren8#Om taka]], (Någon särskild orsak att kommentera detta specialfall tyckte jag inte fanns.) Om/När vi ordentligt utvidgar sv-wikts innehåll av uppslagsord på språk som tyska, färöiska eller isländska, så bör vi ha löst frågan om hur vi anger vilket eller vilka kasus som ett verb styr.
::#. Med "wikipedianer" menade jag nog just wikipedianer, i första hand. Eftersom detta är ett separat projekt, är det möjligt att inställningen är mer positiv till användningen av förkortningar här. Uppfattar du det som att det finns en sådan skillnad?
::M. v. h., [[Användare:JoergenB|Jörgen B]] ([[Användardiskussion:JoergenB|diskussion]]) 17 mars 2014 kl. 21.17 (CET)
:::Det om ''taka'' handlade från min sida snarare om var man ska placera uppslaget, dvs på sidan [[taka]] eller [[takast]].
:::Det finns flera personer aktiva med att lägga in tyska ord: den senaste månaden har det tillkommit 700 nya tyska uppslag. Detta är alltså en relevant fråga ''nu''.
:::De flesta wiktionaryaner är inte särskilt intresserade av strukturfrågor, utan lägger hellre energi på att skapa/utöka/förbättra uppslag, så i praktiken är det Dodde och jag som har drivit många strukturfrågor. Generellt skulle jag säga att vi inte heller är positiva till förkortningar om man kan göra det tydligt och bra utan. Problemet med förkortningar är ju att man måste vara insatt för att förstå dom.
:::Till sakfrågan: Går detta att ange med böjningstabell? Om inte, går det att ange i {{mall|grammatik}}? Om inte det heller, borde vi ha en mall {g} eller {+g} för att lägga till informationen och är det i isländskan lika vedertaget som t.ex. ''m'' för maskulinum?
:::Det blir lättare att diskutera om vi har något konkret förslag att prata om. Exakt vad är det du vill förändra och hur? [[Användare:Skalman|//Skal]] 18 mars 2014 kl. 07.59 (CET)
::::En liten inflikning :) Strukturen vi använder idag tillåter att grammatisk information läggs till på fetstilsraden, i stil med det du beskriver. När informationen istället ges av en tabell kan den informationen tas bort från fetstilsraden. För genus använder vi oss av mallar som ex.vis {{mall|f}} och {{mall|m}}, som ger en enhetlig formatering och även möjlighet att lägga till information som tooltip och en länk till en närmare beskrivning av vad som avses med beteckningarna (även om detta kanske inte har gjorts ännu). Andra mallar som finns för fetstilsraden är ex.vis {{mall|oböjl}} och {{mall|peri}}. Nackdelen med förkortningar är att man behöver vara insatt i vad förkortningarna står för, som Skalman säger. Med användning av mallar kan det göras enhetligt och funktionellt. Det föreligger inget generellt "förbud" mot förkortningar på Wiktionary vad jag känner till, som kanske mer är fallet på Wikipedia. Motiveringen "ingen platsbrist" skulle jag vilja påstå inte riktigt gäller för fetstilsraden, men som sagt, man ska om möjligt slippa behöva gissa. Ibland och för vissa språk kan det finnas anledning att mer kortfattat beskriva ett böjningsmönster. Exempelvis i latin tillhör ett ord en viss deklination. I franskan böjs verb som vissa exempelord. Den här informationen skulle kunna vara ett komplement till den utförliga böjningsinformationen som framgår av grammatikmallarna idag, och en ruta med denna information skulle kunna läggas till i dessa mallar. Det har dock inte gjorts ännu. Vad som gäller för tyska och isländska känner jag inte till, men det finns absolut spelrum för förbättringar! Generellt är att vi är positiva till mallar, men de ska vara genomtänkta och väl beskrivna. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 mars 2014 kl. 06.13 (CET)
:::::<small>Ledsen att det är sådana tidsmellanrum mellan inläggen; jag har ont om tid för wikiprojekt denna termin.</small> Det är sant att förkortningar som man inte förstår inte hgör så stor nytta. Å andra sidan gäller detta i ännu högre grad utskrivna termer som man inte förstår.
:::::Bland annat jag och Grillo diskuterade på svwp om förkortningar i etymologier för ett tag sedan. Grillo är ju inte på något vis en obeläst eller ointresserad person; men han hade aldrig över huvud taget hört talas om "fornhögtyska", Min uppfattning är (då som nu) att förkortningar ''för vana läsare'' underlättar läsningen: Man får direkt en överblick över det väsentligaste, och går sedan, om man har lust eller behöver det, in på vissa detaljer. Det betyder, att de som ofta har intresse av att gå in i detalj i hur olika historiska former av ett ord såg ut under olika utvecklingsskeden av olika språk, rätt snabbt lär sig att hålla utkik efter förkortningar som ''fht'' eller ''fhty'', medan övriga relativt lätt kan ignorera dessa delar av texten.
:::::Det är EMRÅ en ren missuppfattning att förkortningar i konventionella verk bara skulle användas för att spara plats. De används också för att göra texten läsbarare - för den vana läsaren!
:::::<small>("EMRÅ" står för "Enligt min ringa åsikt" (det väletablerade svenska uttryck som till engelska översätts med "In my humble opinion"). Hade det gjort föregående mening lättlästare om jag hade skrivit ut detta i fulltextformat?)</small>
:::::Oavsett om man skriver ut termerna eller använder förkortningar. har vi en klar fördel jämfört med vanliga ordböcker. Vi kan utan vidare länka alla helt utskrivna termer eller förkortningar, som kan vara obekanta för en del läsare, till vettiga förklaringar. När det gäller förkortningar har detta den extra fördelen att man i många webbläsare kommer att kunna se en längre version av ordet redan genom att låda musen glida över förkortningen, som i "sakna [[Appendix:svagt verb|sv]] [[Appendix:styr|+]][[Appendix:genitiv|g]]", för att nämna ett möjligt format.
:::::Vad gäller de tyska orden, ser jag att redan vissa är försedda med '''icke länkade''' förkortningar, som i [[Nominativ]], som har texten
:::::::Nominativ ''m'',
:::::där jag självklart förstår att detta "m" står för [[Appendix:Grammatik/Maskulinum]]; men detta är väl knappast lika självklart för våra ovana läsare?
:::::En slutsats blir att det är hög tid att vi skriver åtminstone de grammatikartiklar som behövs för att förstå grunderna av den tyska grammatiken. [[Användare:JoergenB|Jörgen B]] ([[Användardiskussion:JoergenB|diskussion]]) 22 april 2014 kl. 11.03 (CEST)
::::::Det har funnits på önskelistan länge (flera år), att någon hade kunskap, tid och engagemang att utöka [[Appendix:Grammatik]]. Vad gäller förkortningar eller ej, så eftersträvar vi enhetlighet (och tydlighet, enkelhet, korrekthet osv), gärna över språkgränserna. Om vissa använder förkortningar och andra inte, och om förkortningarna/skrivsätten dessutom följer olika format, så blir det oftast inte bra. Det försvårar läsningen. Det försvårar redigeringen, för det blir ännu något som man som bidragande användare behöver sätta sig in i och känna osäkerhet kring. Mallar kan i viss mån hjälpa till om de är genomtänkta och har bra dokumentation. Exempelvis skulle "sv +g" för mig bara te sig kryptiskt, utskrivet som text eller med länkar till de ingående orden. Men är detta en fråga om klassificering av verb, så hade väl <code><nowiki>{{mall|sv-verbklass|svagt|gentiv}}</nowiki></code> (e.d. eller hur det nu skulle kunna tänkas se ut) vara en tänkbar användning. Då skulle det kunna skrivas ut som "''Klassificering: sv +g''" (kanske med avvikande färg/stil) och länka till en sida som visar alla tänkbara klassificeringar (mallens dokumentationssida rimligtvis), och det skulle bli tydligt för så väl vana som ovana användare. Det behöver inte handla om en generell diskussion om användandet av förkortningar eller inte. EMRÅ kan du så klart använda i diskussioner, men på uppslagen så vore det nog tydligare med utskrivna ord :)
::::::Jag vet inte hur förkortningar påverkar läsbarheten. [http://www.mediesprak.fi/sprakrad.aspx?id=47#.U1mswfmSycI Mediesprak.fi] skriver att även mycket vanliga förkortningar gör det. Men det är å andra sidan inte skönlitterär text vi skriver på Wiktionary. Rimligtvis försämrar det läsbarheten mer ju ovanligare förkortningen är, hur som helst. Det beror förmodligen också till stor del på typ av text och vem den tänkta läsaren är. Har för mig att det finns nån lista över mycket vanliga förkortningar som t.ex. osv. som är ok att använda utan ytterligare förklaring i ex.vis myndighetstexter, tidningsartiklar osv. men kan inte hitta källan just nu. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 april 2014 kl. 02.33 (CEST)
== Tack! Mallförflyttning ==
Okej, tack för hjälpen! Jag är ganska ny här, så jag vet ännu inte hur allting fungerar. Därför är det jättebra med lite hjälp. Hoppas jag har svarat rätt på meddelandet nu, och att det är så här man gör.
MVH // [[användare:rasms|rasms]]
:{{@|Rasms}}, ingen orsak. När man diskuterar med folk så är det bra att signera sina inlägg med <nowiki>~~~~</nowiki>. Då kommer namn och datum med automatiskt.
:Det kan vara ganska krångligt att arbeta med böjningsmallarna, så fråga gärna om det är något du undrar över. [[Användare:Skalman|//Skal]] 6 april 2014 kl. 12.35 (CEST)
== Måsvingar ==
Se till exempel etymologin under [[gräma]]. Det verkar ha blivit något fel vid uppdaterningen av {{mall|härledning-}}. [[Användare:Fiskjuice|Fiskjuice]] ([[Användardiskussion:Fiskjuice|diskussion]]) 7 april 2014 kl. 21.30 (CEST)
:{{@|Fiskjuice}}, tack för att du uppmärksammade det. Fixat nu. [[Användare:Skalman|//Skal]] 7 april 2014 kl. 21.40 (CEST)
== Tack igen! ==
Ber om ursäkt för felredigeringen och tackar för den nya informationen! Alltid bra med feedback, så att allt blir rätt och så bra som möjligt.
Tänkte bara passa på och fråga om du möjligtvis vet hur man länkar till relaterat uppslag när orden skiljer sig åt ganska mycket?
Jag skulle nämligen vilja länka [[sámegiella]] till uppslagen [[sápmi]]+[[giella]]. Giella är inget problem förstås.
//[[Användare:Rasms|Rasms]] ([[Användardiskussion:Rasms|diskussion]]) 10 april 2014 kl. 13.04 (CEST)
:{{@|Rasms}}, ingen orsak. Här är en exempellänk: <nowiki>[[länk|visad text]]</nowiki>. I ditt fall skulle det alltså bli '''<nowiki>[[sápmi|sáme]][[giella]]</nowiki>'''. [[Användare:Skalman|//Skal]] 10 april 2014 kl. 18.15 (CEST)
::{{@|Skalman}}, tackar! //[[Användare:Rasms|Rasms]] ([[Användardiskussion:Rasms|diskussion]]) 10 april 2014 kl. 19.17 (CEST)
== Ny kategori ==
Hej Skalman! Längesen sen sist vi pratade! Jag undrar om jag, eller någonannan som vill, kan skapa en kategori för sånt som har att göra med versmått. Det skulle komma till godo för poesiintresserade och det skulle också vidga svenska Wiktionarys läsekrets. Jag hoppas det låter som en smart idé. Mvh --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 24 april 2014 kl. 23.03 (CEST)
:Kategoristrukturen finns på [[Wiktionary:Kategorier]]. Vi har en kategori som heter Litteratur. Menar du att vi bör ha en underkategori "Poesi"? Första steget är i så fall att lägga till den kategorin på rätt plats i [[Wiktionary:Kategorier]]. Sen får en bot (osäker på om en sådan bot körs för tillfället?) skapa kategorisidorna vid behov allteftersom taggen används i definitionerna på uppslagen (<code><nowiki>{{tagg|kat=poesi}}</nowiki></code> eller <code><nowiki>{{tagg|kat=poesi|språk=engelska}}</nowiki></code> e.d.). ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 april 2014 kl. 00.52 (CEST)
::En kategori om poesi är kanske inte precist utan mer brett. Jag talar om poetik (metrik/verslära/versmått). --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 25 april 2014 kl. 22.33 (CEST)
:::{{@|Vannucci}}, jag kan inte begreppet ''poetik'', men jag tycker inte det är någon större idé att ha en kategori om det inte kan finnas åtminstone ett 20-tal ord som platsar där. Vad är det för ord du tänker skulle finnas där? Hur som helst: om du tror att ''Poetik'' skulle vara bra som kategori så är det bara att lägga till det på [[Wiktionary:Kategorier]] och börja använda det. [[Användare:Skalman|//Skal]] 26 april 2014 kl. 08.36 (CEST)
::::Hej Skalman! Poetik (alltså poesins konst) är vitt och brett. Det är så att man kan skriva en hel ordbok över poetik. Det finns redan en del ord i Wiktionary som berör poetik. Jag har möjlighet att låna böcker om verslära. Eftersom ordet poetik har flera betydelser än poesins konst så föreslår jag att kategorin ska hetta verslära (Kategori:Verslära). --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 26 april 2014 kl. 15.29 (CEST)
:::::{{@|Vannucci}}, du behöver inte vänta på någons explicita tillstånd för att lägga till kategorier: gör det själv på [[Wiktionary:Kategorier]], t.ex. under ''Litteratur''. När du sedan börjar använda kategorin så kommer den automatiskt skapas av {{@|Skalbot}} när jag kör boten igen. [[Användare:Skalman|//Skal]] 27 april 2014 kl. 19.28 (CEST)
:::::: Kan meddela nu i efterhand att jag har påbörjat arbetet med att samla svenska ord med kopplingar till verslära/metrik i kategorin Kategori:Svenska/Poesi --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 23 augusti 2014 kl. 18.47 (CEST)
== Recent "car games" spam ==
If you want a filter for the recent spam, try:
<pre>
(old_size+user_age==0)
& new_wikitext irlike ".*\[https?:\/\/.+ car.game.*\].*"
</pre>
If your community would like to receive such filters automatically from stewards, ask if it is possible on [[m:SN]] to enable [[m:GAF|global abusefilters]]. [[Användare:PiRSquared17|PiRSquared17]] ([[Användardiskussion:PiRSquared17|diskussion]]) 1 november 2014 kl. 00.30 (CET)
:{{@|PiRSquared17}}, thanks for the tip. I'll look into both adding the filter and asking to receive filters automatically. [[Användare:Skalman|//Skal]] 1 november 2014 kl. 23.49 (CET)
== Seilschaft ==
''Seilschaft'' är en begrepp för en grupp av personer som försörja varandra med poster eller uppdrager. Vanligtvis är det illegalt eller i en rättslig gråzon(?). Den begrepp stå ochså för ''replag'' som begreppen kommas här. [http://desv.dict.cc/?s=Seilschaft här] står att ''gamla vänner'' är översättningar. Jag ha nu tillägd articeln.--[[Special:Bidrag/2A02:908:C30:EBE0:C89B:8502:9409:7F6C|2A02:908:C30:EBE0:C89B:8502:9409:7F6C]] 10 augusti 2015 kl. 00.05 (CEST)
:I normala fall betyder "gamla vänner" bara "vänner som man har haft länge". Jag hittar ingen annanstans där "gamla vänner" har den betydelsen, och din definition verkade inte stämma överens med [[de:Seilschaft|de-wikt]], så jag skrev om den och utgick från de-wikt. Hoppas det blev bra. [[Användare:Skalman|//Skal]] 10 augusti 2015 kl. 00.53 (CEST)
:: Ja, det är bra. --[[Special:Bidrag/2A02:908:C30:EBE0:C89B:8502:9409:7F6C|2A02:908:C30:EBE0:C89B:8502:9409:7F6C]] 10 augusti 2015 kl. 03.12 (CEST)
== [[habitus]] ==
Hej Skal!
Jag vet inte om man kan säga habitus ochså i biologin, men man inte säga det för det medicinisk och det mineralogisk definitioner.
--[[Special:Bidrag/2A02:908:C30:EBE0:4C44:4BAD:DB77:95A2|2A02:908:C30:EBE0:4C44:4BAD:DB77:95A2]] 25 september 2015 kl. 01.09 (CEST) (Who had a 37.-IP just before.)
== [[o.s.v.]] ==
T.ex.:
* o. s. v.: books.google.de/books?id=4iVAAAAAIAAJ&pg=PR25 , books.google.de/books?id=GAkAAAAAMAAJ&pg=PA239 , books.google.de/books?id=EGwJAAAAQAAJ&pg=PA536 , books.google.de/books?id=oS9VAAAAcAAJ&pg=PA74 , books.google.de/books?id=OXIf4PxnHmgC&pg=PA462
* jfr. (jemför): books.google.de/books?id=OXIf4PxnHmgC&pg=PA462 , books.google.de/books?id=oS9VAAAAcAAJ&pg=PA74
If you excuse me using English: In German it is common to use spaces (like "z. B." and not "z.B.") and same is true for older English (nowadays the space is often omitted), and in German it is common to use dots after abbreviations with small letters (e.g. "u. s. w." or "usw.", not "usw") which should also be true for older English. Maybe modern Swedish is like modern English: spaces and dots can be or often are omitted. That is, maybe "o. s. v." is nowadays rare or dated, but indeed it exists (or existed).
-[[Special:Bidrag/84.161.40.170|84.161.40.170]] 16 november 2015 kl. 21.31 (CET)
:Thank you.
:BTW:
:* Does "jmf." for "jämför" exist and should it be mentioned in "jfr"? (English Wiktionary says that abbreviation exists.)
:* Should "jemför" be mentioned in [[jämför]] and if, how should it be mentioned? Is it "Varianter: [[jemför]] (föråldrad stavning)"?
:-[[Special:Bidrag/84.161.40.170|84.161.40.170]] 16 november 2015 kl. 22.50 (CET)
::But there should be reasons why obsolete forms should be included:
::* Own entries like [[jemför]] which include something like "obsolete spelling of [[jämför]]" are useful as one can find the spelling "jemför" in older books and one could search for them.
::* The mentioning of old forms gives more information. Maybe it's not an important information, but why shouldn't the reader decide whether it's interessting for them or not? In same cases, older spellings also say something about older pronunciations. E.g.: In German there were words which were written with "c" in Latin and were written with both "k" and "z" in German, like "Kerberus" and "Zerberus".
::* The mentioning of old forms in a modern-spelling entry could be useful for personal considerations.<br />E.g.: In German in 1996 spellings like "Delfin" with "f" were added to spellings like "Delphin" with "ph". But in case of some words like "Philosoph" no spellings with "f" were added. But earlier (like 18th-19th century) spellings like "Filosof" did occur. So one could ask, why shouldn't "Filosof" be also possible?
::* Old forms could be used for an archaic tone. E.g. if one is writing a story set in older times, it could make sense that restaurants, hotels etc. have names with old spellings instead of modern ones. In reality, there should be English restaurants which have names with "Ye" instead of "The".
::* In some cases the older spellings are important for the etymology. E.g. in German there was the verb "einbleuen" which in 1996 was changed into "einbläuen" based on the false etymology that the word is derived from "blau".
::* Maybe one wants to research something, like how did people define something in older times or how did they think about something. There it makes sense to know old spellings, so one can find old dictionary entries etc.
::* If old spellings are marked as old, there should be no problem with including them. If one isn't interessted it in, one can ignore it. If they are marked as old, one should get the impression that the are modern. But in the other direction it's different: If one is interessted in old spellings - the reason doesn't matter - and they aren't mentioned here, then wiktionary is quite useless.
::-[[Special:Bidrag/84.161.40.170|84.161.40.170]] 17 november 2015 kl. 03.38 (CET)
== MediaWiki:Gadget-translation_editor.js ==
Hi dear Skalman. Can you help me to use translation editor gadget in hywiktionary, please? What do I need to copy/adapt?--[[Användare:ԱշոտՏՆՂ|ԱշոտՏՆՂ]] ([[Användardiskussion:ԱշոտՏՆՂ|diskussion]]) 11 december 2015 kl. 11.21 (CET)
== Chatt ==
Tja, du har inte Discord eller så? Tänkte det kunde vara sjyst att ha ett chattrum som inte försvinner så fort man loggar ut (som irc-kanalen). Man vill ju kunna se vad som diskuterats medan man varit borta. (https://discord.gg/fPzmEhm) –[[User_talk:Moberg|d]][[User:Moberg|Moberg]] 3 juni 2017 kl. 01.42 (CEST)
== pz i länk till saob ==
Vet du vad pz argumentet o saob:s url:er gör? [https://sv.wiktionary.org/w/index.php?title=Mall:k%C3%A4lla-saob&diff=2976901&oldid=2966370] –[[User_talk:Moberg|d]][[User:Moberg|Moberg]] 24 juni 2017 kl. 14.13 (CEST)
:{{@|Moberg}}: Nej, men om jag skulle chansa så skulle jag gissa att det styr vilken av SAOB:s servrar som svarar. Jag kan ha helt fel, förstås. {{=)}} [[Användare:Skalman|//Skal]] 24 juni 2017 kl. 14.17 (CEST)
::OK, jag skrev till dem och frågade ;) –[[User_talk:Moberg|d]][[User:Moberg|Moberg]] 24 juni 2017 kl. 14.20 (CEST)
== engelska verbmallar ==
Med anledning av [https://sv.wiktionary.org/w/index.php?title=Mall:en-verb&curid=19454&diff=2980014&oldid=2980009], stöds de av javascriptet för skapande av uppslag från böjningstabeller? De engelska verbmallarnas particip i tabellerna bör skapa både böjnings- och participuppslag i ett svep. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 5 juli 2017 kl. 00.33 (CEST)
:{{@|Dodde}}, nej det stöds inte att skapa både böjnings- och participuppslag samtidigt. Är detta något vi ska lägga till stöd för? [[Användare:Skalman|//Skal]] 6 juli 2017 kl. 18.13 (CEST)
::Jag antar det, men inte bråttom. Däremot skulle jag vilja veta vad som behöver göras om varje länk ska få en span med klass infl istället för idag hela cellen. Är det endast scriptet för att skapa nya böjningsuppslag som drabbas av en sådan förändring eller finns det fler, andra, funktioner som påverkas? ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 6 juli 2017 kl. 18.21 (CEST)
:::{{@|Dodde}}, idag används span med klass "b-" och motsvarande, så det enda som behöver göras för infl, är att ersätta/lägga till infl; och motsvarande för adv,prespart,perfpart. Det borde bara vara [[MediaWiki:Gadget-green links.js]] som påverkas. [[Användare:Skalman|//Skal]] 6 juli 2017 kl. 18.25 (CEST)
::::Så ingen särskild ändring behöver göras om varje enskild länk förses med en tagg istället för hela cellen, alltså? ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 6 juli 2017 kl. 18.27 (CEST)
:::::Korrekt - redan idag har varje länk en egen span, inte cellen. [[Användare:Skalman|//Skal]] 6 juli 2017 kl. 19.17 (CEST)
== Raderingar av tyska perfektparticip ==
Hej Skalman, ska tyska perfektparticip inte vara med i Wiktonary? Eller varför raderade du följande participer: [[geleugnet]], [[geknutscht]], [[geknabbert]], [[geeilt]], [[abgekürzt]]. Tillhörande verb är [[leugnen]], [[knutschen]], [[knabbern]], [[eilen]], [[abkürzen]]--[[Användare:Pametzma|Pametzma]] ([[Användardiskussion:Pametzma|diskussion]]) 9 januari 2018 kl. 17.24 (CET)
:{{@|Pametzma}}, visst ska de vara med. De sidor som jag raderade hade rubriken "verb", som jag tror är felaktigt för participer - visst ska det väl vara adjektiv? Jag tänkte att det är lättare att återskapa dem, än att korrigera dem (även om det också är ganska lätt). [[Användare:Skalman|//Skal]] 9 januari 2018 kl. 19.34 (CET)
:::{{@|Skalman}}: Se [[Malldiskussion:de-verb#Perfektparticip]]. Jag är inte helt säker på att det är felaktigt.[[Användare:Jonteemil|Jonteemil]] ([[Användardiskussion:Jonteemil|diskussion]]) Ps. använd gärna <code>{{[[Mall:@|@]]}}</code> vid svar 9 januari 2018 kl. 22.02 (CET)
::::{{@|Pametzma|Jonteemil}}: Ah, okej. Om det stämmer att dom ska vara med som verbformer, så borde dom använda {{mall|böjning}} och inte {{mall|avledning}} (sidorna jag raderade hade ''avledning''). [[Användare:Skalman|//Skal]] 9 januari 2018 kl. 22.10 (CET)
{{@|Skalman}}: Jag vet men det fortfarande lite oklart om tyska perfektparticip kan vara både verbformer och adjektivavledningar. Troligtvis är det dock så då "Jag är skjuten" = "Ich bin geschossen" och "Jag har skjutit" är "Ich habe geschossen".[[Användare:Jonteemil|Jonteemil]] ([[Användardiskussion:Jonteemil|diskussion]]) Ps. använd gärna <code>{{[[Mall:@|@]]}}</code> vid svar 9 januari 2018 kl. 22.18 (CET)
:{{@|Skalman|Jonteemil}}: tyska perfektparticip är både verbform och adjektiv. Som verbform har perfektparticipet samma funktion som supinumet i svenska språket. Det används tillsammans med hjälpverbet [[haben]] eller [[sein]] för att bilda Perfekt, Pluskvamperfekt eller Futur II. Som adjektiv är det inte kompererbar och det finns perfektparticip som inte kan användas tillsammans med första eller andra person. Se ovanstående exempel [[geschossen]]. Man kan skriva "Das Tier ist geschossen" = "Djuret är skjuten". Mening "Jag är skjuten" kan översättas "Ich bin erschossen" (perfektparticip av [[erschießen]])--[[Användare:Pametzma|Pametzma]] ([[Användardiskussion:Pametzma|diskussion]]) 10 januari 2018 kl. 14.32 (CET)
::{{@|Pametzma|Jonteemil}} Vi bör alltså, precis som för engelska perfektparticip, redovisa både verbformen och adjektivet. Som i [[started]] och [[pleased]]. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 11 januari 2018 kl. 08.32 (CET)
:::{{@|Pametzma}}, texten på [[zurückgenommen]] följde inte formen som Dodde beskrivit, så jag raderade sidan. Gör om och gör rätt. [[Användare:Skalman|//Skal]] 11 januari 2018 kl. 22.44 (CET)
== Skriptproblem ==
Det blir en massa skriptproblem i orduppslag som jag skapar. Vad är felet? Har aldrig stött på det förut. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 11 januari 2018 kl. 20.12 (CET)
:{{@|Vannucci}}, det är ett generellt problem för hela svenska Wiktionary, inte bara för skript. Jag rekommenderar att du låter bli att redigera Wiktionary idag, utan prövar imorgon istället.
:Förhoppningsvis löser teknikerna problemet snart. Man kan följa hur det går på [https://phabricator.wikimedia.org/T184749]. [[Användare:Skalman|//Skal]] 11 januari 2018 kl. 20.38 (CET)
::{{@|Vannucci}}, problemet verkar vara löst nu. [[Användare:Skalman|//Skal]] 11 januari 2018 kl. 21.45 (CET)
:::Förträffligt, tack för ditt svar och hjälp. Med vänlig hälsning --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 11 januari 2018 kl. 23.22 (CET)
== "[[allt som oftast]]" ==
Varför visas ''(även sammansatt: alltsomoftast)'' så konstigt? Är det fel i taggen? Ser inte så finputsat ut. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 12 januari 2018 kl. 22.24 (CET)
:{{@|Vannucci}}: Därför att någon lagt {{mall|tagg}} utanför definitionsraden. Jag har fixat det nu. [[Användare:Skalman|//Skal]] 12 januari 2018 kl. 22.28 (CET)
::Tack för redigeringen. Jag var nyfiken på felet. Man lär sig. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 12 januari 2018 kl. 22.33 (CET)
:::Jag har [https://sv.wiktionary.org/wiki/Wiktionary:Projekt/Struktur_p%C3%A5_uppslag#Felplacerad_{tagg} lagt till detta] som ett projekt. [[Användare:Skalman|//Skal]] 12 januari 2018 kl. 22.35 (CET)
::::Ska förkovra mig i det. Finns det förresten möjlighet att skapa en (svensk-albansk) tematisk ordlista här på Sv. Wiktionary? --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 13 januari 2018 kl. 00.05 (CET)
:::::{{@|Vannucci}}: Vi har ingen bra struktur för det, men har påbörjat diverse liknande grejer på [[Appendix:Index]]. Jag vet inte vilket format som skulle bli smidigast för en sådan ordlista, så jag föreslår att du hittar på nåt. [[Användare:Skalman|//Skal]] 13 januari 2018 kl. 10.25 (CET)
== Mall på albanska böjningar ==
På tyskspråkiga Wiktionary, till exempel [https://de.wiktionary.org/wiki/bibliotekë här] finns albanska böjningar. Jag undrar om det går att sno mallen(mallarna) därifrån och tillämpa på vår Wiktionary kring albanska uppslag utan att det blir en massa fel? --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 23 januari 2018 kl. 17.51 (CET)
:{{@|Vannucci}}, jag är osäker. Det viktiga för oss är att det blir långsiktigt korrekt, också om du lämnar sv-wikt. {{@|Dodde}}, du är mer inblandad i moderniseringen av våra mallar - vad tycker du? [[Användare:Skalman|//Skal]] 23 januari 2018 kl. 17.56 (CET)
::Det är bättre att vi skapar våra egna mallar som bygger på [[Modul:grammar]]. Det kan vi göra, om du bistår med kunskap kring hur grammatiken är utformad? Det handlar om att hitta mönster och regler för hur de olika formerna skapas. Kan du börja på [[Moduldiskussion:sq-subst]]? ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 25 januari 2018 kl. 09.53 (CET)
:::{{@|Vannucci}} (glömde ping) ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 2 februari 2018 kl. 01.10 (CET)
::::{{@|Dodde}} Jag vet inte om jag har resurserna och kunskapen för att ta mig an uppgiften och önskar mig ett snabbfix om det går? Mvh --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 8 februari 2018 kl. 00.10 (CET)
:::::{{@|Vannucci}} Om du med snabbfix menar att copypaste:a en grammatikmall från en annan språkupplaga av Wiktionary så är svaret nej, det går inte.
:::::Det går rätt snabbt att fixa nya mallar anpassade till svenskspråkiga Wiktionary om man bara vet hur man vill att det ska vara. Jag vet inte det och om du inte heller vet känns det som en uppgift som är svåra att genomföra. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 8 februari 2018 kl. 20.54 (CET)
== Share your experience and feedback as a Wikimedian in this global survey ==
<div class="mw-parser-output">
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Hello! The Wikimedia Foundation is asking for your feedback in a survey. We want to know how well we are supporting your work on and off wiki, and how we can change or improve things in the future. The opinions you share will directly affect the current and future work of the Wikimedia Foundation. You have been randomly selected to take this survey as we would like to hear from your Wikimedia community. The survey is available in various languages and will take between 20 and 40 minutes.
<big>'''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=6&prjedc=ot6 Take the survey now!]'''</big>
You can find more information about this survey [[m:Special:MyLanguage/Community_Engagement_Insights/About_CE_Insights|on the project page]] and see how your feedback helps the Wikimedia Foundation support editors like you. This survey is hosted by a third-party service and governed by this [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|privacy statement]] (in English). Please visit our [[m:Special:MyLanguage/Community_Engagement_Insights/Frequently_asked_questions|frequently asked questions page]] to find more information about this survey. If you need additional help, or if you wish to opt-out of future communications about this survey, send an email through the EmailUser feature to [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]] to remove you from the list.
Thank you!
</div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 29 mars 2018 kl. 20.36 (CEST)
</div>
<!-- Meddelande skickades av User:WMF Surveys@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot6&oldid=17881403 -->
== Reminder: Share your feedback in this Wikimedia survey ==
<div class="mw-parser-output">
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Every response for this survey can help the Wikimedia Foundation improve your experience on the Wikimedia projects. So far, we have heard from just 29% of Wikimedia contributors. The survey is available in various languages and will take between 20 and 40 minutes to be completed. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=6&prjedc=ot6 Take the survey now.]'''
If you have already taken the survey, we are sorry you've received this reminder. We have design the survey to make it impossible to identify which users have taken the survey, so we have to send reminders to everyone.
If you wish to opt-out of the next reminder or any other survey, send an email through EmailUser feature to [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. You can also send any questions you have to this user email. [[m:Community_Engagement_Insights/About_CE_Insights|Learn more about this survey on the project page.]] This survey is hosted by a third-party service and governed by this Wikimedia Foundation [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|privacy statement]]. Thanks!
</div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 13 april 2018 kl. 03.34 (CEST)
</div>
<!-- Meddelande skickades av User:WMF Surveys@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot6&oldid=17881403 -->
== Your feedback matters: Final reminder to take the global Wikimedia survey ==
<div class="mw-parser-output">
<div class="plainlinks mw-content-ltr" lang="en" dir="ltr">
Hello! This is a final reminder that the Wikimedia Foundation survey will close on '''23 April, 2018 (07:00 UTC)'''. The survey is available in various languages and will take between 20 and 40 minutes. '''[https://wikimedia.qualtrics.com/jfe/form/SV_5ABs6WwrDHzAeLr?aud=VAE&prj=ot&edc=6&prjedc=ot6 Take the survey now.]'''
'''If you already took the survey - thank you! We will not bother you again.''' We have designed the survey to make it impossible to identify which users have taken the survey, so we have to send reminders to everyone. To opt-out of future surveys, send an email through EmailUser feature to [[:m:Special:EmailUser/WMF Surveys|WMF Surveys]]. You can also send any questions you have to this user email. [[m:Community_Engagement_Insights/About_CE_Insights|Learn more about this survey on the project page.]] This survey is hosted by a third-party service and governed by this Wikimedia Foundation [[:foundation:Community_Engagement_Insights_2018_Survey_Privacy_Statement|privacy statement]].
</div> <span class="mw-content-ltr" dir="ltr">[[m:User:WMF Surveys|WMF Surveys]]</span>, 20 april 2018 kl. 02.44 (CEST)
</div>
<!-- Meddelande skickades av User:WMF Surveys@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=Community_Engagement_Insights/MassMessages/Lists/2018/ot6&oldid=17952438 -->
== Administratörskap ==
Hur ansöker man om administratörskap på svenskspråkiga Wiktionary? Det vore bra för mig att ha tillgång till verktygen. --[[Användare:Vannucci|Vannucci]] ([[Användardiskussion:Vannucci|diskussion]]) 3 maj 2018 kl. 00.16 (CEST)
:{{@|Vannucci}}: Det gör man på [[WT:BOA]]. [[Användare:Skalman|//Skal]] 4 maj 2018 kl. 07.55 (CEST)
== Lexicographical data ==
Skalman, med stort engegemang här, och med tillgång till egen bot etc, vill jag intressera dig för [[:d:Wikidata:Lexicographical_data]], där det f.n. tycks [[:d:Wikidata:Lexicographical_data/How_to_help|saknas svenska ambassdörer]]. [[Användare:Dan Koehl|Dan Koehl]] ([[Användardiskussion:Dan Koehl|diskussion]]) 30 september 2018 kl. 10.22 (CEST)
== Gammal testkod i kategori ==
Hej Skal. I kategorin [[:Kategori:Wiktionary:Programteknikmallar]] återfinner man sedan 6 januari 2013 sidan [[Användare:Skalman/sandlåda/grammatik-start]] som du både skapade och redigerade några gånger just den dagen, men som inte rörts sedan dess. Redan dagen efter kopierades delar av sidans kod ("<code>stöds ej=</code>" m.m.) till [[Mall:grammatik-start]]-mallen. För formens skull tycker jag att sandlådesidan nu bör raderas, eller åtminstone tas bort från kategorin för programteknikmallar. Mvh, [[Användare:Tommy Kronkvist|Tommy Kronkvist]] ([[Användardiskussion:Tommy Kronkvist|diskussion]]), 17 juni 2019 kl. 11.34 (CEST).
:{{@|Tommy Kronkvist}}, jag håller med dig! Nu är sidan borttagen. {{=)}} [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 17 juni 2019 kl. 20.34 (CEST)
== Böjningsartiklar ==
Hej Skal!
Är det korrekt uppfattat av mig att vi inte längre har någon bot som skapar böjningsuppslag? Är det meningen att man själv skall göra det (vilket i och för sig är mycket smidigt m.h.a. böjningsmallen)? --[[Användare:Andreas Rejbrand|Andreas Rejbrand]] ([[Användardiskussion:Andreas Rejbrand|diskussion]]) 23 augusti 2020 kl. 20.57 (CEST)
:{{@|Andreas Rejbrand}}, ja det stämmer att vi inte har nån bot för böjningsuppslag. Det är flera år sen jag var involverad i det, men som jag minns det var det svåra inte att skapa böjningsuppslag, utan att underhålla dom, exempelvis att lägga till dom på befintliga sidor eftersom man då måste kunna parsa sidan korrekt. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 23 augusti 2020 kl. 22.10 (CEST)
::Det finns några problem. Att parsa sidorna är inte ett av de större, men naturligtvis väsentligt (att bara skapa uppslag på tomma sidor är inte hållbart). Att underhålla innebär dock inte bara att lägga till uppslag utan också att ta bort eller ändra i befintliga uppslag. Det är mycket tidskrävande och resurskrävande med tiotusentals serveranrop att börja från scratch. Därför måste en hållbar lösning baseras på att man kan ta reda på vilka sidor som ändrats sen senaste körningen (och vilken typ av ändring som skett). En bra källa för denna information är senaste ändringar och loggen för skapade, raderade och flyttade sidor (eller motsvarande API-anrop). Senaste ändringar finns bara en ganska kort tid och om man missar att uppdatera inom denna tidsram så måste man börja från scratch. Så knäckfrågan som jag ser det är hur man kan säkerställa att man alltid ska kunna få reda på vilka ändringar som skett sidan en viss tidpunkt, även om den tidpunkten ligger långt tillbaka i tiden, så man vid ett avbrott inte ska behöva börja från scratch. Det finns också en del manuellt arbete involverat för sidor som inte är formaterade korrekt och därför inte kan parsas. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 23 augusti 2020 kl. 23.21 (CEST)
:::Istället för att skriva helt ny kod kanske det går att göra en del med [[w:WP:AWB]]?[[Användare:Jonteemil|Jonteemil]] ([[Användardiskussion:Jonteemil|diskussion]]) Ps. använd gärna <code>{{[[Mall:@|@]]}}</code> vid svar 23 augusti 2020 kl. 23.57 (CEST)
::::AWB förenklar ingenting tyvärr. De problemområden jag beskrev ligger utanför AWB:s funktionalitet. ~ [[Användare:Dodde|Dodde]] ([[Användardiskussion:Dodde|diskussion]]) 24 augusti 2020 kl. 21.14 (CEST)
== We sent you an e-mail ==
Hello {{PAGENAME}},
Really sorry for the inconvenience. This is a gentle note to request that you check your email. We sent you a message titled "The Community Insights survey is coming!". If you have questions, email surveys@wikimedia.org.
You can [[:m:Special:Diff/20479077|see my explanation here]].
[[Användare:MediaWiki message delivery|MediaWiki message delivery]] ([[Användardiskussion:MediaWiki message delivery|diskussion]]) 25 september 2020 kl. 20.54 (CEST)
<!-- Meddelande skickades av User:Samuel (WMF)@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/Community_Insights_survey/other-languages&oldid=20479295 -->
== 4 frågor ==
Hej!
* Sida "[[Användare:Skalman/antal artiklar efter språk]]" -- Får jag uppdatera denna sida, eller vill du kanske radera den? Se [[Wiktionary:Om/Statistik/Tabell]]. Det finns mer [[Special:PrefixIndex/Användare:Skalman/]] ... kanske kan något flyttas i en offentlig namnrymd eller raderas?
* [[Wiktionary:Teknikvinden#Bugg_i_"MediaWiki:Common.css"]] -- Sida [[MediaWiki:Common.css]] inkluderar en massa mallar och fastnar i 2 spårningskategorier - går det att fixa den?
* [[Wiktionary:Teknikvinden#Bugg:_"$wgExpensiveParserFunctionLimit"_för_lyxiga_funktioner]] -- Kanske bevöver vi ett fåtal stödröster på [https://phabricator.wikimedia.org/T278629 T278629], annars slutar snart delar av wikitionaryn funka.
* Sida [[MediaWiki:Gadget-enhanced wikitext.js/test.js]] fastnar i spårningskategorier ... är [[MediaWiki:Gadget-enhanced wikitext.js]] överhuvudtaget i drift? Kan du tills vidare tömma dessa 2 sidor, eller fixa det på ett annat sätt?
[[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 8 augusti 2021 kl. 02.30 (CEST)
:{{@|Taylor 49}}, jag har inte glömt dig.
:* Jag ska fixa så att css- och js-sidorna inte hamnar i spårningskategorier
:* Jag får kika på expensive parser functions vid tillfälle
:* [[MediaWiki:Gadget-enhanced wikitext.js]] är (åtminstone delvis) i drift (finess: "Experimentiellt: Dölj språkkoder i wikitext")
:* Du får uppdatera alla mina undersidor om du tror att jag skulle uppskatta ändringen. Om något passar bättre "offentligt" får du flytta sidan, men jag är inte säker på att jag ser vitsen med att radera sidor
:Jag vet inte när jag fixar kategorier och kollar på parserfunktioner - men senast under helgen vore rimligt. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 10 augusti 2021 kl. 00.44 (CEST)
:: Tack.
:: Sidan "[[Användare:Skalman/antal artiklar efter språk]]" är uppdaterad.
:: Vad är "Dölj språkkoder i wikitext"? Är det aktivt för alla?
:: [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 10 augusti 2021 kl. 03.00 (CEST)
::: Fixat spårningskategorierna. Jag har kommenterat expensiveparserfunctionlimit på TV - men inte skrivit något på Phabricator, eftersom jag inte har så mkt nytt att tillägga.
::: "Experimentiellt: Dölj språkkoder i wikitext" är inte aktiverad som standard, och fungerar bara när syntaxmarkering '''inte''' är aktiv.
::: [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 12 augusti 2021 kl. 00.01 (CEST)
:::: Spårningskategorierna är tömda nu. :-) Skulle inte [[MediaWiki:Common.css]] kunna fixas på samma sätt som [[MediaWiki:Gadget-enhanced wikitext.js/test.js]] ? [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 12 augusti 2021 kl. 00.38 (CEST)
== Rohingisk (rhg) ==
Hello, here's [[Wiktionary:Teknikvinden#Rohingisk_(rhg)|something]], that I would like to point out. --[[Användare:Apisite|Apisite]] ([[Användardiskussion:Apisite|diskussion]]) 14 november 2021 kl. 16.20 (CET)
== How we will see unregistered users ==
<section begin=content/>
Hej!
Du får det här meddelandet eftersom du är administratör på en Wikimediawiki.
När någon redigerar en Wikimediawiki utan att vara inloggad visar vi deras IP-adress. Som du kanske redan vet kommer vi inte att kunna göra det i framtiden. Detta är ett beslut från Wikimedia Foundations jurister, för att normer och regleringar om integritet på nätet har ändrats sedan Wikipedia startades.
Istället för IP kommer vi att visa en maskerad identitet. Du som administratör '''kommer fortfarande ha tillgång till IP-numret'''. Det kommer också att finnas en ny användarrättighet för de som behöver tillgång till hela IP-adressen för att hantera vandalism, trakasserier och spam utan att vara administratörer. De som patrullerar kommer också att kunna se en del av IP-adressen utan användarrättigheten. Vi arbetar också på [[m:IP Editing: Privacy Enhancement and Abuse Mitigation/Improving tools|bättre verktyg]] som stöd.
Om du inte har sett sidan tidigare [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|kan du läsa mer på Meta]]. Om du vill försäkra dig om att inte missa tekniska uppdateringar på Wikimediawikierna kan du [[m:Global message delivery/Targets/Tech ambassadors|prenumerera]] på det [[m:Tech/News|tekniska nyhetsbrevet]].
Vi har [[m:IP Editing: Privacy Enhancement and Abuse Mitigation#IP Masking Implementation Approaches (FAQ)|två föreslagna sätt]] den här maskerade identiteten skulle kunna fungera på. '''Vi skulle uppskatta din återkoppling''' om vilket som skulle fungera bäst för dig och din wiki, nu och i framtiden. Du kan [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|svara på diskussionssidan]]. Du kan skriva på ditt språk. Föreslagen publicerades i oktober och vi kommer att besluta oss efter 17 januari.
Tack.
/[[m:User:Johan (WMF)|Johan (WMF)]]<section end=content/>
4 januari 2022 kl. 19.19 (CET)
<!-- Meddelande skickades av User:Johan (WMF)@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Target_lists/Admins2022(7)&oldid=22532681 -->
== Matt! ==
{{mall|schackdiagram}} borde väl förenklas dvs massor med odokumenterade och obehövliga parametrar bör tas bort. [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 9 oktober 2022 kl. 01.44 (CEST)
:@[[Användare:Taylor 49|Taylor 49]], jag håller med.
:Problemet jag försökte lösa just nu var att få bort dubbla mellanslag i uppslagen, eftersom jag vill att min nya finess ska normalisera sånt till ''ett'' mellanslag.
:Mitt förslag var att flytta alltihop till mallnamnrymden, medan @[[Användare:Dodde|Dodde]] bytte ut mellanslagen mot <code>__</code>. Om du gillar Doddes lösning, så är det bara att förenkla!
:Jag har inte starka åsikter här om ''hur'' man får bort mellanslagen, bara att det ska vara konsekvent. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 9 oktober 2022 kl. 10.44 (CEST)
== Need your input on a policy impacting gadgets and UserJS ==
<div lang="en" dir="ltr" class="mw-content-ltr">
Dear interface administrator,
This is Samuel from the Security team and I hope my message finds you well.
There is an [[m:Talk:Third-party resources policy|ongoing discussion]] on a proposed policy governing the use of external resources in gadgets and UserJS. The proposed [[m:Special:MyLanguage/Third-party resources policy|Third-party resources policy]] aims at making the UserJS and Gadgets landscape a bit safer by encouraging best practices around external resources. After an initial non-public conversation with a small number of interface admins and staff, we've launched a much larger, public consultation to get a wider pool of feedback for improving the policy proposal. Based on the ideas received so far, the proposed policy now includes some of the risks related to user scripts and gadgets loading third-party resources, best practices for gadgets and UserJS developers, and exemptions requirements such as code transparency and inspectability.
As an interface administrator, your feedback and suggestions are warmly welcome until July 17, 2023 on the [[m:Talk:Third-party resources policy|policy talk page]].
Have a great day!</div>
<bdi lang="en" dir="ltr">[[m:User:Samuel (WMF)|Samuel (WMF)]], on behalf of the Foundation's Security team</bdi> 10 juli 2023 kl. 14.08 (CEST)
<!-- Meddelande skickades av User:Samuel (WMF)@metawiki med hjälp av listan på https://meta.wikimedia.org/w/index.php?title=User:Samuel_(WMF)/IAdmins_MassMessage_list_2&oldid=25272792 -->
== Radering ==
[[Användare:Jacc/monobook.js]] måste raderas. Användaren har varit inaktiv under bara 15 år. [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 17 september 2023 kl. 00.06 (CEST)
:Ok, det ser ut som att du har lyckats. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 17 september 2023 kl. 20.40 (CEST)
== Radering (bottniska.js) ==
[[Användare:Skalman/konvertera bottniska.js]] [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 26 december 2023 kl. 00.22 (CET)
:@[[Användare:Taylor 49|Taylor 49]], raderad, också sidan som använde det där skriptet. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 27 december 2023 kl. 19.34 (CET)
== Massrarering ==
Det finns [[:Kategori:Wiktionary:Raderas?|nästan 5000 sidor som bör raderas]]. Hur gör du massradering? [[Special:Massradering]] verkar inte vara avsett för sådana fall. Har du någon "[[w:en:Trinity_(nuclear_test)#The_bomb|gadget]]" för detta? [[Användare:Taylor 49|Taylor 49]] ([[Användardiskussion:Taylor 49|diskussion]]) 26 december 2023 kl. 00.22 (CET)
:@[[Användare:Taylor 49|Taylor 49]], ja, jag har ett skript som gör att det bara krävs ett klick per radering. Jag fixar det inom ett par dagar. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 27 december 2023 kl. 19.27 (CET)
::@[[Användare:Taylor 49|Taylor 49]], jag har nu raderat samtliga kategorier och 400 uppslag. Jag kör igenom resten senare. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 31 december 2023 kl. 06.51 (CET)
:::Ytterligare 1000 uppslag raderade. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 31 december 2023 kl. 12.00 (CET)
::::Och nu är samtliga raderade. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 31 december 2023 kl. 13.23 (CET)
== LeGo ==
Hej! Angående uppslaget för LEGO är det lite tvetydigt från Stilguiden hus vi ska förhålla oss gällande versalisering, men företagsnamnet är marknadsfört i stora bokstäver, ''LEGO'', ursprungligen ett teleskopord av "leg godt", "lek gott/bra". Jag kan hålla med om att svenska skrivregler stödjer att det skrivs lego för bitarna osv, precis som en barbie, men jag skulle vilja skriva företaget som LEGO i undermallarna då det är se de själva skriver det. 𐏐[[Användare:Frodlekis|Frodlekis]] ([[Användardiskussion:Frodlekis|✍]]) 12 april 2024 kl. 18.51 (CEST)
:Syftar du på "Lego" i "...som tillverkas av företaget Lego" eller nåt annat?
:Svenska skrivregler stödjer också att man normaliserar företagsnamnet till "Lego" (trots att dom själva skriver "LEGO"). På samma sätt skriver vi "Nato" trots att organisationen själv kör med "NATO" (nog pga annorlunda skrivregler på engelska jämfört med svenska). Och "Iphone", trots att Apple skriver "iPhone".
:Jag vet inte om vi har några särskilda princper på svwikt, men det känns väl ganska rimligt att följa [[w:wp:Skrivregler#Versalisering|Wikipedia]] och [https://tt-spraket.tt.se/versaler-och-gemener/#chapter4 TT-språket]. [[Användare:Skalman|Skalman]] ([[Användardiskussion:Skalman|diskussion]]) 12 april 2024 kl. 19.24 (CEST)
== Förhandsvisningen i översättningsverktyget visar skräptext ==
Hej @[[Användare:Skalman|Skalman]]! Först en liten ursäkt i förväg: det kan mycket väl vara jag som har orsakat den här buggen. Jag har nyligen rotat runt i ett gäng moduler och mallar, och om något har gått sönder så är jag först på listan över misstänkta. Men efter en del utredande och AI-stöd så tror jag ändå att felet ligger någon annanstans, så här kommer en problembeskrivning och ett lösningsförslag:
Förhandsvisningen i [[MediaWiki:Gadget-translation editor.js]] har börjat visa en främmande textbit när man lägger in en översättning i {{mall|ö-topp}}-rutan. Exempel när jag lade in ''smør'' med språkkoden ''nn'':
<pre>* nynorska: tion data-mw-section-id="0" id="mwAQ"> [[smør]]</pre>
Det som sparas blir rätt (<code>*nynorska: {{ö|nn|smør}}</code>), så felet gäller bara förhandsvisningen.
Jag fick fram orsaken och en lösning med hjälp av lite AI-felsökning, så ta gärna en extra titt och kontrollera att resonemanget håller innan något ändras i gadgeten.
'''Orsak:''' Funktionen <code>parse_wikitext</code> skickar <code><nowiki><div>…</div></nowiki></code> till <code>action=parse</code> och klipper sedan ut texten mellan första <code><nowiki><div></nowiki></code> och sista <code><nowiki></div></nowiki></code> med <code>indexOf</code>/<code>lastIndexOf</code>. Svaret från parsern verkar numera innehålla <code><nowiki><section data-mw-section-id="0" id="mwAQ"></nowiki></code> och ett <code><nowiki><div></nowiki></code> med attribut, så <nowiki>indexOf('<div>')</nowiki> returnerar -1. Klippet börjar då på tecken 4 och de första tecknen i <code><nowiki><section …></nowiki></code> hamnar i förhandsvisningen. Det förklarar att det som blir kvar börjar med <code>tion data-mw-section-id…</code>. Gadgeten och MediaWiki:Common.js har inte ändrats på länge, så ändringen ligger troligen i parserns utdata.
'''Förslag på rättning:''' Ersätt <code>parse_wikitext</code> med en variant som hittar omslaget via en klass i stället för att räkna tecken:
<syntaxhighlight lang="javascript">
function parse_wikitext(wikitext) {
return new mw.Api().get({
action: 'parse',
prop: 'text',
disablelimitreport: '',
wrapoutputclass: '',
contentmodel: 'wikitext',
text: '<div class="ed-parse-wrapper">' + wikitext + '</div>',
title: mw.config.get('wgPageName')
}).then(function (data) {
var html = itypeof data.parse.text === 'string'
? data.parse.text
: data.parse.text['*'];
var wrapper = $('<div>').append($.parseHTML(html))
.find('.ed-parse-wrapper').first();
return $.trim(wrapper.html());
});
}
</syntaxhighlight>
Jag har inte behörighet att redigera gadgeten själv. Jag har en tillfällig lösning i mitt eget skript som rättar till svaret från API:et, och den löste problemet för mig, men det vore bra om gadgeten rättades på riktigt. Säg till om du vill att jag testar något mer.
᛫⟣[[Användare:Frodlekis|Frodlekis]]⟣᛫ ([[Användardiskussion:Frodlekis|✍]]) 15 oktober 2026 kl. 01.49 (CEST)
7bguc9j75n1egisjlbu6virsqsrb185
smör
0
46206
4155727
4103162
2026-10-14T23:03:04Z
Frodlekis
762
+nn: [[smør]] (assisterat)
4155727
wikitext
text/x-wiki
{{wikipedia}}
{{se även|smør}}
==Svenska==
===Substantiv===
{{sv-subst-t-oräkn}}
{{media|NCI butter.jpg|Smör}}
'''smör''' {{n}}
*{{uttal|sv|ipa=ˈsmœ̞ːr}}
#{{tagg|mat}} [[mejeri]]produkt, främst bestående av [[mjölkfett]] som är fast vid rumstemperatur, men smälter vid 32-35°C
#:''Ska jag bre '''smör''' på mackan?''
#:{{etymologi|{{belagt|sv|1300|bt}},<ref>{{källa-so}}</ref> som {{härledning|sv|gmq-fsv|smør}}.}}
#:{{besläktade ord|[[smöra]], [[smörig]], [[smörja]]}}
#:{{sammansättningar|[[aromsmör]], [[jordnötssmör]], [[kakaosmör]], [[kryddsmör]], [[kräftsmör]], [[messmör]], [[persiljesmör]], [[sheasmör]], [[smörassiett]], [[smörbakelse]], [[smörberg]], [[smörblomma]], [[smörboll]], [[smörbult]], [[smörbytta]], [[smördeg]], [[smörfräsa]], [[smörgul]], [[smörklick]], [[smörklimp]], [[smörkniv]], [[smörkola]], [[smörkräm]], [[smörkula]], [[smörkärna]], [[smörkärning]], [[smörpaket]], [[smörpapper]], [[smörpass]], [[smörpassning]], [[smörsopp]], [[smörspade]], [[smörstekt]], [[smörsvamp]], [[smörsyra]], [[smörsång]], [[smörsångare]], [[smörsås]], [[smörtenor]], [[smöröga]], [[trollsmör]], [[vitlökssmör]], [[örtsmör]]}}
#:{{fraser|[[som smör i solsken]]}}
====Översättningar====
{{ö-topp}}
*baskiska: {{ö+|eu|gurin}}
*bokmål: {{ö+|no|smør}}
*bretonska: {{ö+|br|amann}}
*danska: {{ö+|da|smør}}
*engelska: {{ö+|en|butter}}
*esperanto: {{ö+|eo|butero}}
*finska: {{ö+|fi|voi}}
*franska: {{ö+|fr|beurre}}
*frisiska: {{ö|fy|bûter|u}}
*grönländska: {{ö|kl|punneq}}
*isländska: {{ö+|is|smjör|n}}
*italienska: {{ö+|it|burro|m}}
*japanska: {{ö+|ja|バター}} (''bataa'')
*jiddisch: {{ö|yi|פּוטער|f|tr=puter}}
*katalanska: {{ö+|ca|mantega|f}}
*nederländska: {{ö+|nl|boter|f}} / {{m}}
*nynorska: {{ö|nn|smør|n}}
*polska: {{ö+|pl|masło|n}}
*ryska: {{ö+|ru|масло|n}}
*slovakiska: {{ö+|sk|maslo|n}}
*spanska: {{ö+|es|mantequilla|f}}
*surinamesiska: {{ö|srn|botro}}
*svensk romani: {{ö|rmu|kill|n}}
*sydsamiska: {{ö|sma|voeje}}
*tigrinska: {{ö|ti|ጠስሚ|tr=ṭäsmi}}
*tjeckiska: {{ö+|cs|máslo|n}}
*turkiska: {{ö+|tr|tereyağı}}
*tyska: {{ö+|de|Butter|f}}
*älvdalska: {{ö|ovd|smyör}}
{{ö-botten}}
==Källor==
<references/>
qxx1nh5qw9bt7osm248olzx0l4sgtym
nur
0
58483
4155680
3784796
2026-10-14T21:49:57Z
Frodlekis
762
/* Turkiska */
4155680
wikitext
text/x-wiki
==Esperanto==
===Adverb===
{{adv|eo}}
'''nur'''
#[[bara]], [[endast]]
#:{{etymologi|Av det tyska ''[[#Tyska|nur]]'' (samma betydelse).}}
==Polska==
===Substantiv===
{{subst|pl}}
'''nur''' {{m}}
#[[dykning]]
#:{{besläktade ord|[[nurek]]}}
==Turkiska==
===Substantiv===
{{tr-subst-k|u}}
'''nur'''
#{{tagg|religion|språk=tr}} [[ljus]], [[sanning]]
#:{{citat|år=1941 (1917)|titel=Joh. 1:5|'''Nur''' karanlıkta parlar, ve karanlık onu anlamadı.|Och '''ljuset''' lyser i mörkret, och mörkret har icke fått makt därmed.}}
==Tyska==
===Adverb===
{{adv|de}}
'''nur'''
#[[bara]], [[enbart]], [[endast]]
om9vguxmhvwneew8hd27nfkkcf6ltgg
sik
0
72050
4155690
4127642
2026-10-14T21:53:28Z
Frodlekis
762
/* Turkiska */
4155690
wikitext
text/x-wiki
{{wikipedia|Sikar (fisk)}}
==Svenska==
===Substantiv===
{{sv-subst-n-ar}}
'''sik'''
#{{tagg|fiskar}} ''[[Coregonus lavaretus]]''; [[art]] inom familjen laxfiskar; [[individ]] av arten ovan
#:{{etymologi|{{belagt|sv|1297}}<ref>{{källa-so}}</ref> Som {{härledning|sv|gmq-fsv|siker}}.}}
#:{{sammansättningar|[[siklöja]]}}
====Översättningar====
{{ö-topp|fiskart}}
*engelska: {{ö+|en|whitefish}}, {{ö+|en|cisco}}
*finska: {{ö+|fi|siika}}
*ryska: {{ö+|ru|сиг|m}}
*tyska: {{ö+|de|Renke|f}}, {{ö+|de|Felchen|m}}, {{ö|de|Coregonus|m}}
{{ö-botten}}
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''sik'''
#{{tagg|kat=anatomi|vulgärt|språk=az}} [[kuk]]
#:{{besläktade ord|[[sikmək]]}}
==Fornnordiska==
===Pronomen===
{{pron|non}}
'''sik'''
#[[sig]]
#:''þeir verja '''sik''' þar''
#:{{etymologi|Av {{härledning|non|gem-ugm|*sek}}.}}
==Fornsvenska==
===Pronomen===
{{pron|gmq-fsv}}
'''sik'''
#[[sig]]
#:{{etymologi|Av {{härledning|gmq-fsv|gem-ugm|*sek}}.}}
==Tok pisin==
===Adjektiv===
{{adj|tpi}}
'''sik'''
#{{tagg|medicin|språk=tpi}} [[sjuk]]
===Substantiv===
{{subst|tpi}}
'''sik'''
#{{tagg|medicin|språk=tpi}} [[sjukdom]]
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''sik'''
#{{tagg|kat=anatomi|vulgärt|språk=tr}} [[kuk]]
#:{{antonymer|am}}
#:{{synonymer|[[kamış]], [[penis]]}}
==Källor==
<references/>
06mjtt1owz9oxw70onq9scmlqss8cn6
smør
0
120743
4155728
3986860
2026-10-14T23:05:36Z
Frodlekis
762
4155728
wikitext
text/x-wiki
==Bokmål==
===Substantiv===
{{no-subst-n-0}}
'''smør'''
#{{tagg|kat=mat|språk=no}} [[smör]]
#:{{besläktade ord|[[smøre]]}}
==Danska==
===Substantiv===
{{subst|da}}
'''smør''' {{n}}
#{{tagg|kat=mat|språk=da}} [[smör]]
==Fornsvenska==
===Substantiv===
{{subst|gmq-fsv}}
'''smør''' {{n}}
#{{tagg|kat=mat|språk=gmq-fsv}} [[smör]]
#:''bætra ær got '''smør''' æn swr sildh''
#::''Bättre är gott smör än sur sill.''
==Nynorska==
===Substantiv===
{{nn-subst-n}}
'''smør''' {{n}}
#{{tagg|kat=mat|språk=no}} [[smör]]
7stwz260vnauj62ga0xx0mrshew7mcx
4155729
4155728
2026-10-14T23:05:48Z
Frodlekis
762
/* Nynorska */
4155729
wikitext
text/x-wiki
==Bokmål==
===Substantiv===
{{no-subst-n-0}}
'''smør'''
#{{tagg|kat=mat|språk=no}} [[smör]]
#:{{besläktade ord|[[smøre]]}}
==Danska==
===Substantiv===
{{subst|da}}
'''smør''' {{n}}
#{{tagg|kat=mat|språk=da}} [[smör]]
==Fornsvenska==
===Substantiv===
{{subst|gmq-fsv}}
'''smør''' {{n}}
#{{tagg|kat=mat|språk=gmq-fsv}} [[smör]]
#:''bætra ær got '''smør''' æn swr sildh''
#::''Bättre är gott smör än sur sill.''
==Nynorska==
===Substantiv===
{{nn-subst-n}}
'''smør''' {{n}}
#{{tagg|kat=mat|språk=nn}} [[smör]]
moe0ar1ilvu0dqd49ujrtohhc677as5
kåseri
0
135800
4155730
3991850
2026-10-14T23:14:41Z
Frodlekis
762
+nn: [[kåseri]] (assisterat)
4155730
wikitext
text/x-wiki
{{wikipedia}}
==Svenska==
===Substantiv===
{{sv-subst-t-er}}
'''kåseri'''
#[[underhållande]] kortare text i [[tidning]] eller [[tidskrift]]
#:{{besläktade ord|[[kåsera]], [[kåseriartad]], [[kåsör]], [[kåsös]]}}
#:{{seäven|[[krönika]]}}
#:{{etymologi|Av {{härledning|sv|fr|causerie}}.<ref>{{källa-svetym|0471|kåsera|2024-01-15}}</ref>}}
====Översättningar====
{{ö-topp|underhållande kortare text i tidning eller tidskrift}}
*bokmål: {{ö|no|kåseri|n}}
*engelska: {{ö+|en|causerie}}
*nynorska: {{ö|nn|kåseri|n}}
*tyska: {{ö+|de|Feuilleton|n}}, {{ö+|de|Plauderei|f}}
{{ö-botten}}
==Källor==
<references/>
ieksohd5lbkfr3jkr55fhvojrxbuztn
vulva
0
147410
4155695
3950941
2026-10-14T21:55:05Z
Frodlekis
762
tr
4155695
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Vulva}}
==Svenska==
===Substantiv===
{{sv-subst-n-or}}
'''vulva'''
*{{uttal|sv|ipa=ˈvɵlvˌa}}
#{{tagg|anatomi}} de yttre [[könsorgan]]en hos [[kvinna]]n
#:''Till '''vulvan''' räknas de inre och yttre blygdläpparna, klitoris och huden mellan blygdläpparna. I '''vulvan''' finns också urinrörsöppningen och slidöppningen.''
#:{{synonymer|[[blygd]]}}
====Översättningar====
{{ö-topp|de yttre könsorganen hos kvinnan}}
*alemanniska: {{ö|als|Vulva}}
*aragonska: {{ö|an|vulva}}
*bayerska: {{ö|bar|Vulva}}
*bosniska: {{ö|bs|vulva}}
*danska: {{ö|da|vulva}}
*engelska: {{ö+|en|vulva}}
*esperanto: {{ö|eo|vulvo}}
*finska: {{ö+|fi|häpy}}
*frankoprovensalska: {{ö|frp|vulva|f}}
*franska: {{ö+|fr|vulve|f}}
*isländska: {{ö|is|kvensköp}}, {{ö+|is|sköp|n|p}}
*italienska: {{ö+|it|vulva|f}}
*jiddisch: {{ö|yi|וווּלווע|f|tr=vulve}}
*katalanska: {{ö+|ca|vulva|f}}
*kroatiska: {{ö|hr|vulva|f}}, {{ö|hr|stidnica|f}}
*kymriska: {{ö|cy|fylfa}}
*nederländska: {{ö+|nl|vulva}}
*spanska: {{ö+|es|vulva|f}}
*tjeckiska: {{ö+|cs|vulva}}
*tyska: {{ö+|de|Vulva|f}}
{{ö-botten}}
==Aragonska==
===Substantiv===
{{subst|an}}
'''vulva'''
#{{tagg|kat=anatomi|språk=an}} [[#Svenska|vulva]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=bs}} [[#Svenska|vulva]]
==Danska==
===Substantiv===
{{subst|da}}
'''vulva'''
#{{tagg|kat=anatomi|språk=da}} [[#Svenska|vulva]]
==Engelska==
===Substantiv===
{{en-subst|2=[[vulvas]], [[vulvae]]|4=[[vulvas']], [[vulvae's]]}}
'''vulva'''
*{{uttal|en|ipa=ˈvʌlvə}}
#{{tagg|kat=anatomi|språk=en}} [[#Svenska|vulva]]
==Frankoprovensalska==
===Substantiv===
{{subst|frp}}
'''vulva'''
#{{tagg|kat=anatomi|språk=frp}} [[#Svenska|vulva]]
==Italienska==
===Substantiv===
{{subst|it}}
'''vulva'''
#{{tagg|kat=anatomi|språk=it}} [[#Svenska|vulva]]
==Katalanska==
===Substantiv===
{{subst|ca}}
'''vulva'''
#{{tagg|kat=anatomi|språk=ca}} [[#Svenska|vulva]]
==Nederländska==
===Substantiv===
{{subst|nl}}
'''vulva'''
#{{tagg|kat=anatomi|språk=nl}} [[#Svenska|vulva]]
==Spanska==
===Substantiv===
{{es-subst-f-s}}
'''vulva'''
#{{tagg|kat=anatomi|språk=es}} [[#Svenska|vulva]]
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=cs}} [[#Svenska|vulva]]
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''vulva'''
#{{tagg|kat=anatomi|språk=tr}} [[#Svenska|vulva]]
r2f2zdgp8mrn9cyljk0d2v8v3ptywre
4155699
4155695
2026-10-14T22:08:43Z
Frodlekis
762
/* Katalanska */
4155699
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Vulva}}
==Svenska==
===Substantiv===
{{sv-subst-n-or}}
'''vulva'''
*{{uttal|sv|ipa=ˈvɵlvˌa}}
#{{tagg|anatomi}} de yttre [[könsorgan]]en hos [[kvinna]]n
#:''Till '''vulvan''' räknas de inre och yttre blygdläpparna, klitoris och huden mellan blygdläpparna. I '''vulvan''' finns också urinrörsöppningen och slidöppningen.''
#:{{synonymer|[[blygd]]}}
====Översättningar====
{{ö-topp|de yttre könsorganen hos kvinnan}}
*alemanniska: {{ö|als|Vulva}}
*aragonska: {{ö|an|vulva}}
*bayerska: {{ö|bar|Vulva}}
*bosniska: {{ö|bs|vulva}}
*danska: {{ö|da|vulva}}
*engelska: {{ö+|en|vulva}}
*esperanto: {{ö|eo|vulvo}}
*finska: {{ö+|fi|häpy}}
*frankoprovensalska: {{ö|frp|vulva|f}}
*franska: {{ö+|fr|vulve|f}}
*isländska: {{ö|is|kvensköp}}, {{ö+|is|sköp|n|p}}
*italienska: {{ö+|it|vulva|f}}
*jiddisch: {{ö|yi|וווּלווע|f|tr=vulve}}
*katalanska: {{ö+|ca|vulva|f}}
*kroatiska: {{ö|hr|vulva|f}}, {{ö|hr|stidnica|f}}
*kymriska: {{ö|cy|fylfa}}
*nederländska: {{ö+|nl|vulva}}
*spanska: {{ö+|es|vulva|f}}
*tjeckiska: {{ö+|cs|vulva}}
*tyska: {{ö+|de|Vulva|f}}
{{ö-botten}}
==Aragonska==
===Substantiv===
{{subst|an}}
'''vulva'''
#{{tagg|kat=anatomi|språk=an}} [[#Svenska|vulva]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=bs}} [[#Svenska|vulva]]
==Danska==
===Substantiv===
{{subst|da}}
'''vulva'''
#{{tagg|kat=anatomi|språk=da}} [[#Svenska|vulva]]
==Engelska==
===Substantiv===
{{en-subst|2=[[vulvas]], [[vulvae]]|4=[[vulvas']], [[vulvae's]]}}
'''vulva'''
*{{uttal|en|ipa=ˈvʌlvə}}
#{{tagg|kat=anatomi|språk=en}} [[#Svenska|vulva]]
==Frankoprovensalska==
===Substantiv===
{{subst|frp}}
'''vulva'''
#{{tagg|kat=anatomi|språk=frp}} [[#Svenska|vulva]]
==Italienska==
===Substantiv===
{{subst|it}}
'''vulva'''
#{{tagg|kat=anatomi|språk=it}} [[#Svenska|vulva]]
==Katalanska==
===Substantiv===
{{ca-subst-f}}
'''vulva''' {{f}}
#{{tagg|kat=anatomi|språk=ca}} [[#Svenska|vulva]]
==Nederländska==
===Substantiv===
{{subst|nl}}
'''vulva'''
#{{tagg|kat=anatomi|språk=nl}} [[#Svenska|vulva]]
==Spanska==
===Substantiv===
{{es-subst-f-s}}
'''vulva'''
#{{tagg|kat=anatomi|språk=es}} [[#Svenska|vulva]]
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=cs}} [[#Svenska|vulva]]
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''vulva'''
#{{tagg|kat=anatomi|språk=tr}} [[#Svenska|vulva]]
jwbhgj2ytluceojfiplowf4ml40o0b0
4155705
4155699
2026-10-14T22:27:51Z
Frodlekis
762
+es: [[sad]]; +nn: [[vulva]] (assisterat)
4155705
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Vulva}}
==Svenska==
===Substantiv===
{{sv-subst-n-or}}
'''vulva'''
*{{uttal|sv|ipa=ˈvɵlvˌa}}
#{{tagg|anatomi}} de yttre [[könsorgan]]en hos [[kvinna]]n
#:''Till '''vulvan''' räknas de inre och yttre blygdläpparna, klitoris och huden mellan blygdläpparna. I '''vulvan''' finns också urinrörsöppningen och slidöppningen.''
#:{{synonymer|[[blygd]]}}
====Översättningar====
{{ö-topp|de yttre könsorganen hos kvinnan}}
*alemanniska: {{ö|als|Vulva}}
*aragonska: {{ö|an|vulva}}
*bayerska: {{ö|bar|Vulva}}
*bosniska: {{ö|bs|vulva}}
*danska: {{ö|da|vulva}}
*engelska: {{ö+|en|vulva}}
*esperanto: {{ö|eo|vulvo}}
*finska: {{ö+|fi|häpy}}
*frankoprovensalska: {{ö|frp|vulva|f}}
*franska: {{ö+|fr|vulve|f}}
*isländska: {{ö|is|kvensköp}}, {{ö+|is|sköp|n|p}}
*italienska: {{ö+|it|vulva|f}}
*jiddisch: {{ö|yi|וווּלווע|f|tr=vulve}}
*katalanska: {{ö+|ca|vulva|f}}
*kroatiska: {{ö|hr|vulva|f}}, {{ö|hr|stidnica|f}}
*kymriska: {{ö|cy|fylfa}}
*nederländska: {{ö+|nl|vulva}}
*nynorska: {{ö|nn|vulva}}
*spanska: {{ö+|es|vulva|f}}, {{ö|es|sad}}
*tjeckiska: {{ö+|cs|vulva}}
*tyska: {{ö+|de|Vulva|f}}
{{ö-botten}}
==Aragonska==
===Substantiv===
{{subst|an}}
'''vulva'''
#{{tagg|kat=anatomi|språk=an}} [[#Svenska|vulva]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=bs}} [[#Svenska|vulva]]
==Danska==
===Substantiv===
{{subst|da}}
'''vulva'''
#{{tagg|kat=anatomi|språk=da}} [[#Svenska|vulva]]
==Engelska==
===Substantiv===
{{en-subst|2=[[vulvas]], [[vulvae]]|4=[[vulvas']], [[vulvae's]]}}
'''vulva'''
*{{uttal|en|ipa=ˈvʌlvə}}
#{{tagg|kat=anatomi|språk=en}} [[#Svenska|vulva]]
==Frankoprovensalska==
===Substantiv===
{{subst|frp}}
'''vulva'''
#{{tagg|kat=anatomi|språk=frp}} [[#Svenska|vulva]]
==Italienska==
===Substantiv===
{{subst|it}}
'''vulva'''
#{{tagg|kat=anatomi|språk=it}} [[#Svenska|vulva]]
==Katalanska==
===Substantiv===
{{ca-subst-f}}
'''vulva''' {{f}}
#{{tagg|kat=anatomi|språk=ca}} [[#Svenska|vulva]]
==Nederländska==
===Substantiv===
{{subst|nl}}
'''vulva'''
#{{tagg|kat=anatomi|språk=nl}} [[#Svenska|vulva]]
==Spanska==
===Substantiv===
{{es-subst-f-s}}
'''vulva'''
#{{tagg|kat=anatomi|språk=es}} [[#Svenska|vulva]]
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=cs}} [[#Svenska|vulva]]
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''vulva'''
#{{tagg|kat=anatomi|språk=tr}} [[#Svenska|vulva]]
np5xsjj498uzn9bmok6ddbe5e30qx0d
4155706
4155705
2026-10-14T22:28:18Z
Frodlekis
762
/* Översättningar */
4155706
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Vulva}}
==Svenska==
===Substantiv===
{{sv-subst-n-or}}
'''vulva'''
*{{uttal|sv|ipa=ˈvɵlvˌa}}
#{{tagg|anatomi}} de yttre [[könsorgan]]en hos [[kvinna]]n
#:''Till '''vulvan''' räknas de inre och yttre blygdläpparna, klitoris och huden mellan blygdläpparna. I '''vulvan''' finns också urinrörsöppningen och slidöppningen.''
#:{{synonymer|[[blygd]]}}
====Översättningar====
{{ö-topp|de yttre könsorganen hos kvinnan}}
*alemanniska: {{ö|als|Vulva}}
*aragonska: {{ö|an|vulva}}
*bayerska: {{ö|bar|Vulva}}
*bosniska: {{ö|bs|vulva}}
*danska: {{ö|da|vulva}}
*engelska: {{ö+|en|vulva}}
*esperanto: {{ö|eo|vulvo}}
*finska: {{ö+|fi|häpy}}
*frankoprovensalska: {{ö|frp|vulva|f}}
*franska: {{ö+|fr|vulve|f}}
*isländska: {{ö|is|kvensköp}}, {{ö+|is|sköp|n|p}}
*italienska: {{ö+|it|vulva|f}}
*jiddisch: {{ö|yi|וווּלווע|f|tr=vulve}}
*katalanska: {{ö+|ca|vulva|f}}
*kroatiska: {{ö|hr|vulva|f}}, {{ö|hr|stidnica|f}}
*kymriska: {{ö|cy|fylfa}}
*nederländska: {{ö+|nl|vulva}}
*nynorska: {{ö|nn|vulva}}
*spanska: {{ö+|es|vulva|f}}
*tjeckiska: {{ö+|cs|vulva}}
*tyska: {{ö+|de|Vulva|f}}
{{ö-botten}}
==Aragonska==
===Substantiv===
{{subst|an}}
'''vulva'''
#{{tagg|kat=anatomi|språk=an}} [[#Svenska|vulva]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=bs}} [[#Svenska|vulva]]
==Danska==
===Substantiv===
{{subst|da}}
'''vulva'''
#{{tagg|kat=anatomi|språk=da}} [[#Svenska|vulva]]
==Engelska==
===Substantiv===
{{en-subst|2=[[vulvas]], [[vulvae]]|4=[[vulvas']], [[vulvae's]]}}
'''vulva'''
*{{uttal|en|ipa=ˈvʌlvə}}
#{{tagg|kat=anatomi|språk=en}} [[#Svenska|vulva]]
==Frankoprovensalska==
===Substantiv===
{{subst|frp}}
'''vulva'''
#{{tagg|kat=anatomi|språk=frp}} [[#Svenska|vulva]]
==Italienska==
===Substantiv===
{{subst|it}}
'''vulva'''
#{{tagg|kat=anatomi|språk=it}} [[#Svenska|vulva]]
==Katalanska==
===Substantiv===
{{ca-subst-f}}
'''vulva''' {{f}}
#{{tagg|kat=anatomi|språk=ca}} [[#Svenska|vulva]]
==Nederländska==
===Substantiv===
{{subst|nl}}
'''vulva'''
#{{tagg|kat=anatomi|språk=nl}} [[#Svenska|vulva]]
==Spanska==
===Substantiv===
{{es-subst-f-s}}
'''vulva'''
#{{tagg|kat=anatomi|språk=es}} [[#Svenska|vulva]]
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=cs}} [[#Svenska|vulva]]
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''vulva'''
#{{tagg|kat=anatomi|språk=tr}} [[#Svenska|vulva]]
aa2ufjhfpc1wgwynoyq2updyn5gdgyh
4155707
4155706
2026-10-14T22:29:57Z
Frodlekis
762
/* Nederländska */
4155707
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Vulva}}
==Svenska==
===Substantiv===
{{sv-subst-n-or}}
'''vulva'''
*{{uttal|sv|ipa=ˈvɵlvˌa}}
#{{tagg|anatomi}} de yttre [[könsorgan]]en hos [[kvinna]]n
#:''Till '''vulvan''' räknas de inre och yttre blygdläpparna, klitoris och huden mellan blygdläpparna. I '''vulvan''' finns också urinrörsöppningen och slidöppningen.''
#:{{synonymer|[[blygd]]}}
====Översättningar====
{{ö-topp|de yttre könsorganen hos kvinnan}}
*alemanniska: {{ö|als|Vulva}}
*aragonska: {{ö|an|vulva}}
*bayerska: {{ö|bar|Vulva}}
*bosniska: {{ö|bs|vulva}}
*danska: {{ö|da|vulva}}
*engelska: {{ö+|en|vulva}}
*esperanto: {{ö|eo|vulvo}}
*finska: {{ö+|fi|häpy}}
*frankoprovensalska: {{ö|frp|vulva|f}}
*franska: {{ö+|fr|vulve|f}}
*isländska: {{ö|is|kvensköp}}, {{ö+|is|sköp|n|p}}
*italienska: {{ö+|it|vulva|f}}
*jiddisch: {{ö|yi|וווּלווע|f|tr=vulve}}
*katalanska: {{ö+|ca|vulva|f}}
*kroatiska: {{ö|hr|vulva|f}}, {{ö|hr|stidnica|f}}
*kymriska: {{ö|cy|fylfa}}
*nederländska: {{ö+|nl|vulva}}
*nynorska: {{ö|nn|vulva}}
*spanska: {{ö+|es|vulva|f}}
*tjeckiska: {{ö+|cs|vulva}}
*tyska: {{ö+|de|Vulva|f}}
{{ö-botten}}
==Aragonska==
===Substantiv===
{{subst|an}}
'''vulva'''
#{{tagg|kat=anatomi|språk=an}} [[#Svenska|vulva]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=bs}} [[#Svenska|vulva]]
==Danska==
===Substantiv===
{{subst|da}}
'''vulva'''
#{{tagg|kat=anatomi|språk=da}} [[#Svenska|vulva]]
==Engelska==
===Substantiv===
{{en-subst|2=[[vulvas]], [[vulvae]]|4=[[vulvas']], [[vulvae's]]}}
'''vulva'''
*{{uttal|en|ipa=ˈvʌlvə}}
#{{tagg|kat=anatomi|språk=en}} [[#Svenska|vulva]]
==Frankoprovensalska==
===Substantiv===
{{subst|frp}}
'''vulva'''
#{{tagg|kat=anatomi|språk=frp}} [[#Svenska|vulva]]
==Italienska==
===Substantiv===
{{subst|it}}
'''vulva'''
#{{tagg|kat=anatomi|språk=it}} [[#Svenska|vulva]]
==Katalanska==
===Substantiv===
{{ca-subst-f}}
'''vulva''' {{f}}
#{{tagg|kat=anatomi|språk=ca}} [[#Svenska|vulva]]
==Nederländska==
===Substantiv===
{{subst|nl}}
'''vulva'''
#{{tagg|kat=anatomi|språk=nl}} [[#Svenska|vulva]]
==Nynorska==
===Substantiv===
{{nn-subst-m}}
'''vulva''' {{m}}
#{{tagg|kat=anatomi|språk=nn}} [[#Svenska|vulva]]
==Spanska==
===Substantiv===
{{es-subst-f-s}}
'''vulva'''
#{{tagg|kat=anatomi|språk=es}} [[#Svenska|vulva]]
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=cs}} [[#Svenska|vulva]]
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''vulva'''
#{{tagg|kat=anatomi|språk=tr}} [[#Svenska|vulva]]
tox497rwy4jzxnd1ehd24dlmdboap7s
4155708
4155707
2026-10-14T22:30:44Z
Frodlekis
762
/* Bosniska */
4155708
wikitext
text/x-wiki
{{wikipedia}}
{{se även|Vulva}}
==Svenska==
===Substantiv===
{{sv-subst-n-or}}
'''vulva'''
*{{uttal|sv|ipa=ˈvɵlvˌa}}
#{{tagg|anatomi}} de yttre [[könsorgan]]en hos [[kvinna]]n
#:''Till '''vulvan''' räknas de inre och yttre blygdläpparna, klitoris och huden mellan blygdläpparna. I '''vulvan''' finns också urinrörsöppningen och slidöppningen.''
#:{{synonymer|[[blygd]]}}
====Översättningar====
{{ö-topp|de yttre könsorganen hos kvinnan}}
*alemanniska: {{ö|als|Vulva}}
*aragonska: {{ö|an|vulva}}
*bayerska: {{ö|bar|Vulva}}
*bosniska: {{ö|bs|vulva}}
*danska: {{ö|da|vulva}}
*engelska: {{ö+|en|vulva}}
*esperanto: {{ö|eo|vulvo}}
*finska: {{ö+|fi|häpy}}
*frankoprovensalska: {{ö|frp|vulva|f}}
*franska: {{ö+|fr|vulve|f}}
*isländska: {{ö|is|kvensköp}}, {{ö+|is|sköp|n|p}}
*italienska: {{ö+|it|vulva|f}}
*jiddisch: {{ö|yi|וווּלווע|f|tr=vulve}}
*katalanska: {{ö+|ca|vulva|f}}
*kroatiska: {{ö|hr|vulva|f}}, {{ö|hr|stidnica|f}}
*kymriska: {{ö|cy|fylfa}}
*nederländska: {{ö+|nl|vulva}}
*nynorska: {{ö|nn|vulva}}
*spanska: {{ö+|es|vulva|f}}
*tjeckiska: {{ö+|cs|vulva}}
*tyska: {{ö+|de|Vulva|f}}
{{ö-botten}}
==Aragonska==
===Substantiv===
{{subst|an}}
'''vulva'''
#{{tagg|kat=anatomi|språk=an}} [[#Svenska|vulva]]
==Bokmål==
===Substantiv===
{{no-subst-m-er}}
'''vulva''' {{m}}
#{{tagg|kat=anatomi|språk=no}} [[#Svenska|vulva]]
==Bosniska==
===Substantiv===
{{subst|bs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=bs}} [[#Svenska|vulva]]
==Danska==
===Substantiv===
{{subst|da}}
'''vulva'''
#{{tagg|kat=anatomi|språk=da}} [[#Svenska|vulva]]
==Engelska==
===Substantiv===
{{en-subst|2=[[vulvas]], [[vulvae]]|4=[[vulvas']], [[vulvae's]]}}
'''vulva'''
*{{uttal|en|ipa=ˈvʌlvə}}
#{{tagg|kat=anatomi|språk=en}} [[#Svenska|vulva]]
==Frankoprovensalska==
===Substantiv===
{{subst|frp}}
'''vulva'''
#{{tagg|kat=anatomi|språk=frp}} [[#Svenska|vulva]]
==Italienska==
===Substantiv===
{{subst|it}}
'''vulva'''
#{{tagg|kat=anatomi|språk=it}} [[#Svenska|vulva]]
==Katalanska==
===Substantiv===
{{ca-subst-f}}
'''vulva''' {{f}}
#{{tagg|kat=anatomi|språk=ca}} [[#Svenska|vulva]]
==Nederländska==
===Substantiv===
{{subst|nl}}
'''vulva'''
#{{tagg|kat=anatomi|språk=nl}} [[#Svenska|vulva]]
==Nynorska==
===Substantiv===
{{nn-subst-m}}
'''vulva''' {{m}}
#{{tagg|kat=anatomi|språk=nn}} [[#Svenska|vulva]]
==Spanska==
===Substantiv===
{{es-subst-f-s}}
'''vulva'''
#{{tagg|kat=anatomi|språk=es}} [[#Svenska|vulva]]
==Tjeckiska==
===Substantiv===
{{subst|cs}}
'''vulva'''
#{{tagg|kat=anatomi|språk=cs}} [[#Svenska|vulva]]
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''vulva'''
#{{tagg|kat=anatomi|språk=tr}} [[#Svenska|vulva]]
9wcpij8pl056f73y4y9jwp4gz1hdc5r
kısrak
0
164941
4155637
3737739
2026-10-14T21:29:34Z
Frodlekis
762
4155637
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|k}}
'''kısrak'''
#{{tagg|djurfamiljen|däggdjur|språk=tr}} [[sto]], [[märr]]
#:{{hyperonymer|[[at]]}}
1sfnu5vg65q4f3bkm0zzh6babmq1q34
4155640
4155637
2026-10-14T21:30:44Z
Frodlekis
762
/* Turkiska */
4155640
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|k|rot=kısrağ}}
'''kısrak'''
#{{tagg|djurfamiljen|däggdjur|språk=tr}} [[sto]], [[märr]]
#:{{hyperonymer|[[at]]}}
4jeqxk6xdmra1o7fmq5yevbxa4asr3l
zafer
0
177763
4155683
3854412
2026-10-14T21:51:08Z
Frodlekis
762
/* Turkiska */
4155683
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|e}}
'''zafer'''
*{{uttal|tr|ipa=zɑˈfeɾ}}
#[[vinst]], [[seger]]
9nzcd7m92vn33qajmzht6gukk5quv3k
blygd
0
179801
4155709
3968177
2026-10-14T22:31:59Z
Frodlekis
762
/* Översättningar */
4155709
wikitext
text/x-wiki
==Svenska==
===Substantiv===
{{sv-subst-n-oräkn}}
'''blygd'''
#{{tagg|ålderdomligt}} [[blyghet]], [[sedesamhet]], [[skamkänsla]], [[skam]]
#:{{besläktade ord|[[blyg]], [[blygas]], [[blyghet]]}}
#{{tagg|anatomi}} kvinnans yttre [[könsorgan]]
#:{{sammansättningar|[[blygdben]], [[blygdbensfog]], [[blygdhår]], [[blygdkapsel]], [[blygdkulle]], [[blygdläpp]]}}
:{{avgränsare}}
:{{etymologi|Av {{härledning|sv|gmq-fsv|blyghþ}}<ref>{{källa-so}}</ref>, av {{härledning|sv|non|blygð|skam}}.<ref>{{källa-zoega|61|blygð}}</ref>}}
:{{seäven-bring|Kropp}}
====Översättningar====
{{ö-se|vulva}}
==Källor==
<references/>
18js0fia8r1us7uuelnv92zd1ec1r2h
Quintus
0
187609
4155767
4154076
2026-10-15T11:44:58Z
~2026-53571-04
62255
Quintus finns inte på Wikipedia eftersom Wikipedia-artikeln verkar ha raderats.
4155767
wikitext
text/x-wiki
==Latin==
===Substantiv===
{{subst|la}}
'''Quintus'''
#{{tagg|kat=mansnamn|språk=la}} ett [[mansnamn]], vars betydelse är ''[[quintus]]'' ("den femte")
==Svenska==
===Interjektion===
{{interj|sv}}
'''Quintus'''
#{{tagg|bokstavering}} bokstaven [[Q]] (gement: [[q]]) i det svenska [[bokstaveringsalfabet]]et
#:{{varianter|[[Quebec]] ''(bör användas internationellt)''}}
8rynmbge4n0g0y2ze3aaqpqhv97t56x
yağ
0
189833
4155720
2855737
2026-10-14T22:49:42Z
Frodlekis
762
4155720
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a}}
'''yağ'''
#[[fett]]
frr1nxaewrkjkx2pxbxw79xec9fmi5p
virtual
0
213713
4155607
4080323
2026-10-14T18:18:41Z
LA2
544
/* Engelska */
4155607
wikitext
text/x-wiki
==Engelska==
===Adjektiv===
{{adj|en}}
'''virtual'''
#[[virtuell]], inte fullt [[verklig]], [[simulerad]], [[datorstödd]], på [[distans]], [[fjärr]]-, [[tele-]]
#:''It was a '''virtual''' interview.''
#::''Det var en '''telefon'''intervju.''
#:{{sammansättningar|[[virtual memory]], [[virtual reality]]}}
#:{{besläktade ord|[[virtually]], [[virtualise]], [[virtualisation]], [[virtuality]], [[virtualize]], [[virtualization]]}}
==Galiciska==
===Adjektiv===
{{gl-adj}}
'''virtual'''
#[[virtuell]]
==Katalanska==
===Adjektiv===
{{ca-adj}}
'''virtual'''
#[[virtuell]]
==Occitanska==
===Adjektiv===
{{oc-adj}}
'''virtual'''
#[[virtuell]]
==Portugisiska==
===Adjektiv===
{{pt-adj}}
'''virtual'''
#[[virtuell]]
==Spanska==
===Adjektiv===
{{es-adj}}
'''virtual'''
#[[virtuell]]
8kyatqkrute9ft9scq63012o3yrealm
millet
0
215565
4155678
3951172
2026-10-14T21:49:04Z
Frodlekis
762
/* Turkiska */
4155678
wikitext
text/x-wiki
==Engelska==
===Substantiv===
{{subst|en}}
'''millet'''
#{{tagg|växter|mat|språk=en}} [[hirs]]
==Turkiska==
===Substantiv===
{{tr-subst-k|e|t}}
'''millet'''
#[[nation]], [[stat]]
#:{{synonymer|[[ulus]]}}
#:{{etymologi|Av {{härledning|tr|ar|مِلَّة|tr=milla}}.}}
#:{{sammansättningar|[[Birleşmiş Milletler]]}}
3jkz45j0g9345l0m8rkrpic45uxtgpu
uyluk
0
216283
4155701
3535940
2026-10-14T22:11:06Z
Frodlekis
762
/* Turkiska */
4155701
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|rot=uyluğ}}
'''uyluk'''
#{{tagg|kat=anatomi|språk=tr}} [[lår]]
#:{{synonymer|[[but]]}}
8u6kb9bcunolg55h3k2ge5rmrkeze7g
maden
0
363279
4155723
4115761
2026-10-14T23:00:37Z
Frodlekis
762
/* Turkiska */
4155723
wikitext
text/x-wiki
==Danska==
===Substantiv===
'''maden'''
#{{böjning|da|subst|mad}}
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''maden'''
#[[brott]]
#:{{synonymer|[[taş ocağı]]}}
dgexn15qxx84z9turi97zj3o9iskbgg
kåsör
0
415459
4155731
3868441
2026-10-14T23:16:18Z
Frodlekis
762
+nn: [[kåsør]]; +no: [[kåsør]] (assisterat)
4155731
wikitext
text/x-wiki
==Svenska==
===Substantiv===
{{sv-subst-n-er}}
'''kåsör'''
#den som [[kåsera]]r
#:{{besläktade ord|[[kåsera]], [[kåseri]]}}
#:''En '''kåsör''' skriver [[underhållande]] texter i tidningar.''
====Översättningar====
{{ö-topp|den som kåserar}}
*bokmål: {{ö|no|kåsør|m}}
*nynorska: {{ö|nn|kåsør|m}}
*tyska: {{ö+|de|Kolumnist|m}}, {{ö+|de|Kolumnistin|f}}, {{ö+|de|Feuilletonist|m}}, {{ö+|de|Feuilletonistin|f}}
{{ö-botten}}
e50byfezuwnxfizlvt9mcyo844crqf4
4155732
4155731
2026-10-14T23:17:32Z
Frodlekis
762
+fi: [[pakinoitsija]] (assisterat)
4155732
wikitext
text/x-wiki
==Svenska==
===Substantiv===
{{sv-subst-n-er}}
'''kåsör'''
#den som [[kåsera]]r
#:{{besläktade ord|[[kåsera]], [[kåseri]]}}
#:''En '''kåsör''' skriver [[underhållande]] texter i tidningar.''
====Översättningar====
{{ö-topp|den som kåserar}}
*bokmål: {{ö|no|kåsør|m}}
*finska: {{ö|fi|pakinoitsija}}
*nynorska: {{ö|nn|kåsør|m}}
*tyska: {{ö+|de|Kolumnist|m}}, {{ö+|de|Kolumnistin|f}}, {{ö+|de|Feuilletonist|m}}, {{ö+|de|Feuilletonistin|f}}
{{ö-botten}}
4cgznelkqjleiggp1uiozorcffbzo8w
yemek
0
475302
4155714
3562917
2026-10-14T22:39:15Z
Frodlekis
762
/* Turkiska */
4155714
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|rot=yemeğ}}
'''yemek'''
#{{tagg|kat=mat|språk=tr}} [[mat]]
===Verb===
{{verb|tr}}
'''yemek'''
#[[äta]]
8vb4kiut8f78g02ha985pi6441ndhxi
baş
0
508369
4155628
3808974
2026-10-14T21:15:41Z
Frodlekis
762
/* Turkiska */
4155628
wikitext
text/x-wiki
{{se även|bas|bås|bás}}
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''baş'''
#{{tagg|anatomi|språk=az}} [[huvud]]
==Kurdiska==
===Adjektiv===
{{adj|ku}}
'''baş''' (''komparativ [[baştir]], superlativ [[baştirîn]]'')
#[[bra]]
#:{{besläktade ord|[[başî]]}}
==Turkiska==
===Substantiv===
{{tr-subst-k|a|ş}}
'''baş''' 1
#{{tagg|kat=anatomi|språk=tr}} [[huvud]]
#[[ledare]]
:{{avgränsare}}
:{{etymologi|Av {{härledning|tr|otk|baş}}, av {{härledning|tr|trk-utr|*baĺč|huvud}}.}}
'''baş''' 2
#{{tagg|dialektalt|språk=tr}} [[sår]]
#:{{etymologi|Av {{härledning|tr|trk-utr|*biāĺč|sår}}.}}
euplvrc9v7lz3033icax1msebf67mzt
sværþ
0
529621
4155615
3945392
2026-10-14T20:20:19Z
Frodlekis
762
/* Fornsvenska */
4155615
wikitext
text/x-wiki
==Fornsvenska==
===Substantiv===
{{gmq-fsv-subst|sværþ|sværþit|sværþ|sværþin
|sværþ|sværþit|sværþ|sværþin
|sværþi, sværþe|sværþinu, sværþeno|sværþum, sværþom|sværþumin, sværþomen
|sværþs|sværþsins|sværþa|sværþanna}}
'''sværþ''' {{n}}
#{{tagg|text=äldre fornsvenska|kat=vapen|språk=gmq-fsv}} [[svärd]]
#:{{varianter|''(yngre fornsvenska)'' [[sværdh]], [[swærdh]]}}
#:{{sammansättningar|[[stalsværdh]], [[sværdhbref]], [[sværdhkafle]], [[sværdhon]], [[sværdhslipare]]}}
lq3mqw6crsd3iyix0jp0ljwue54w2i8
på eget bevåg
0
618541
4155652
3808845
2026-10-14T21:37:16Z
Stefh73
62316
/* Svenska */
4155652
wikitext
text/x-wiki
==Svenska==
===Adverb===
{{adv|sv}}
'''[[på]] [[egen|eget]] [[bevåg]]'''
#{{tagg|kat=prepositionsfraser|idiomatiskt}} på eget [[initiativ]], efter eget beslut, utan [[uppmaning]] från någon annan
#: {{synonymer|[[på eget initiativ]]|[[självmant]]|[[av egen drift]]}}
#: ''Hon tog på eget bevåg initiativ till att förbättra arbetsrutinerna.''
#: ''Han bestämde sig på eget bevåg för att hjälpa till med arrangemanget.''
#: ''Medarbetaren ändrade inställningarna på eget bevåg, utan att först samråda med ansvarig.''
====Översättningar====
{{ö-topp|på eget initiativ, på eget ansvar, utan uppmaning}}
*bokmål: {{ö|no|på eget initiativ}}
*polska: {{ö+|pl|na własną rękę}}, {{ö|pl|z własnej woli}}, {{ö|pl|na swoją odpowiedzialność}}
*ryska: {{ö+|ru|на свой страх и риск}}
*tyska: {{ö|de|aus eigenem Antrieb}}
{{ö-botten}}
40s6zk8jih51zri9mpasji6tyreg9rt
4155698
4155652
2026-10-14T22:00:02Z
~2026-55190-04
62317
/* Svenska */
4155698
wikitext
text/x-wiki
==Svenska==
===Adverb===
{{adv|sv}}
'''[[på]] [[egen|eget]] [[bevåg]]'''
#{{tagg|kat=prepositionsfraser|idiomatiskt}} på eget [[initiativ]], efter eget beslut, utan [[uppmaning]] från någon annan
#: {{synonymer|[[på eget initiativ]], [[självmant]], [[av egen drift]]}}
#: ''Hon tog på eget bevåg initiativ till att förbättra arbetsrutinerna.''
#: ''Han bestämde sig på eget bevåg för att hjälpa till med arrangemanget.''
#: ''Medarbetaren ändrade inställningarna på eget bevåg, utan att först samråda med ansvarig.''
====Översättningar====
{{ö-topp|på eget initiativ, på eget ansvar, utan uppmaning}}
*bokmål: {{ö|no|på eget initiativ}}
*polska: {{ö+|pl|na własną rękę}}, {{ö|pl|z własnej woli}}, {{ö|pl|na swoją odpowiedzialność}}
*ryska: {{ö+|ru|на свой страх и риск}}
*tyska: {{ö|de|aus eigenem Antrieb}}
{{ö-botten}}
ivnduuuk0xbxhzcac5y07m4bwa1or6b
eylem
0
659722
4155649
3589890
2026-10-14T21:36:28Z
Frodlekis
762
4155649
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|e|m}}
'''eylem'''
#{{tagg|lingvistik|språk=tr}} [[verb]]
cpenofjogkm9syj4mwe8enwlsl7qdv0
tay
0
708083
4155642
3736861
2026-10-14T21:33:01Z
Frodlekis
762
/* Turkiska */
4155642
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|y}}
'''tay'''
#{{tagg|däggdjur|djurfamiljen|språk=tr}} [[föl]]
#:{{hyperonymer|[[at]]}}
r67dl1gtuqy99ziu96os3om3wldnj76
kazı
0
816294
4155673
3390475
2026-10-14T21:47:21Z
Frodlekis
762
/* Turkiska */
4155673
wikitext
text/x-wiki
{{se även|kazi|kaži|käzi}}
==Turkiska==
===Substantiv===
{{tr-subst-v|ı|z}}
'''kazı'''
#[[utgrävning]]
#{{böjning|tr|subst|kaz}}
s6akwpm3zmk0c19afg0w34yhidexbdp
4155674
4155673
2026-10-14T21:47:27Z
Frodlekis
762
/* Turkiska */
4155674
wikitext
text/x-wiki
{{se även|kazi|kaži|käzi}}
==Turkiska==
===Substantiv===
{{tr-subst-v|ı}}
'''kazı'''
#[[utgrävning]]
#{{böjning|tr|subst|kaz}}
jq7nluy4c16cya14orid641hbwrggff
hayal
0
817325
4155749
4155198
2026-10-15T00:45:51Z
Frodlekis
762
/* Turkiska */
4155749
wikitext
text/x-wiki
==Spanska==
===Substantiv===
{{es-subst-m-es}}
'''hayal''' {{m}}
#[[bokskog]]
#:{{synonymer|[[hayedo]]}}
#:{{besläktade ord|[[haya]]}}
==Turkiska==
===Substantiv===
{{tr-subst-k|e}}
'''hayal'''
*{{uttal|tr|ipa=hɑ.ˈjal}}
#[[dröm]], [[önskan]] som man hoppas ska gå i uppfyllelse
#:Tek hayalim başarılı bir doktor olmak.
#:''Min enda dröm är att bli en framgångsrik läkare.''
#:{{sammansättningar|[[hayal kırıklığı]]}}
#:{{besläktade ord|[[düş]], [[rüya]]}}
#[[dagdrömma]]
#:{{synonymer|[[gündüz düşü]]}}
#:{{sammansättningar|[[hayal âlemi]], [[hayal dünyası]], [[hayal gücü]], [[hayal kurmak]], [[hayallere dalmak]], [[hayal meyal]]}}
rjxvlhhhjdc1or04zrxwljg3rdsafdi
aşı
0
817904
4155632
3723822
2026-10-14T21:22:28Z
Frodlekis
762
/* Turkiska */
4155632
wikitext
text/x-wiki
{{se även|asi|aši|así|asī|ası|äsi}}
==Turkiska==
===Substantiv===
{{tr-subst-v|ı}}
'''aşı'''
#{{tagg|kat=medicin|språk=tr}} [[vaccin]]
#{{böjning|tr|subst|aş}}
p8tqu1pskti78tg54drip8z0sypiaoi
Mall:tr-subst-k
10
853251
4155746
4155195
2026-10-15T00:38:26Z
Frodlekis
762
4155746
wikitext
text/x-wiki
<noinclude>{{grammatik-dok|Turkiska|Substantiv}}{{#invoke:categorize|getTemplateWikitext}}</noinclude><includeonly>
{{grammatik-start|3|{{{fakta|X}}}|tr-subst-k|lang=tr|h3=subst}}
{{#invoke:tr-subst|getMainRows|konsonant=1}}
|-
!colspan="3"|
{{grammatik-start-göm|3|{{{fakta|X}}}|tr-subst-k|Possessiva former|lang=tr|h3=subst}}
{{#invoke:tr-subst|getPossessiveRows|konsonant=1}}
{{grammatik-slut-göm|3|{{{not|}}}|{{{förled|}}}}}
{{grammatik-slut|3|{{{not|}}}|{{{förled|}}}}}
{{#invoke:categorize|getMainWikitext|tr|subst}}
</includeonly>
kr7or1wolw53sy10iyvkl4qjawairyt
Mall:tr-subst-v
10
853252
4155748
4155177
2026-10-15T00:39:57Z
Frodlekis
762
4155748
wikitext
text/x-wiki
<noinclude>{{grammatik-dok|Turkiska|Substantiv}}{{#invoke:categorize|getTemplateWikitext}}</noinclude><includeonly>
{{grammatik-start|3|{{{fakta|X}}}|tr-subst-v|lang=tr|h3=subst}}
{{#invoke:tr-subst|getMainRows}}
|-
!colspan="3"|
{{grammatik-start-göm|3|{{{fakta|X}}}|tr-subst-v|Possessiva former|lang=tr|h3=subst}}
{{#invoke:tr-subst|getPossessiveRows}}
{{grammatik-slut-göm|3|{{{not|}}}|{{{förled|}}}}}
{{grammatik-slut|3|{{{not|}}}|{{{förled|}}}}}
{{#invoke:categorize|getMainWikitext|tr|subst}}
</includeonly>
flktv391xzdjc1xy4gh2saz8op7gynd
Qvintus
0
860858
4155766
4154339
2026-10-15T11:44:07Z
~2026-53571-04
62255
Den rätta stavningen är nog "Quintus", stavningen "Qv-" är snarare bara en försvenskning
4155766
wikitext
text/x-wiki
{{inget uppslag|Quintus}}
8lw146i97qjehe70rv324frqfoxzzg5
abajur
0
864978
4155724
3705820
2026-10-14T23:01:03Z
Frodlekis
762
/* Turkiska */
4155724
wikitext
text/x-wiki
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''abajur'''
#[[lampskärm]]
#:{{etymologi|Av {{härledning|az|fr|abat-jour}}.}}
==Krimtatariska==
===Substantiv===
{{subst|crh}}
'''abajur'''
#[[lampskärm]]
#:{{etymologi|Av {{härledning|crh|fr|abat-jour}}.}}
==Portugisiska==
===Substantiv===
{{subst|pt}}
'''abajur''' {{m}}
#[[lampskärm]]
#:{{etymologi|Av {{härledning|pt|fr|abat-jour}}.}}
==Rumänska==
===Substantiv===
{{subst|ro}}
'''abajur''' {{n}}
#[[lampskärm]]
#:{{etymologi|Av {{härledning|ro|fr|abat-jour}}.}}
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''abajur'''
#[[lampskärm]]
o7r53a7wlfoeuhfwhdmr0t8gkwl1737
ardıç
0
893757
4155750
3728060
2026-10-15T00:49:40Z
Frodlekis
762
/* Turkiska */
4155750
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|ı|rot=ardıc}}
'''ardıç'''
#{{tagg|växter|språk=tr}} [[en]]
moh94ri80mbiy2vtisyon07kw79zyrz
Wiktionary:Stilguide/Grammatik/Turkiska
4
894998
4155753
4155479
2026-10-15T00:59:43Z
Frodlekis
762
4155753
wikitext
text/x-wiki
==Substantiv==
{{topp|Tillgängliga mallar}}
*{{mall|tr-subst-v}} ''för substantiv som slutar på vokal''
*{{mall|tr-subst-k}} ''för substantiv som slutar på konsonant''
*{{mall|tr-subst}} ''för oregelbundna substantiv eller substantiv som inte kan använda någon annan mall''
{{botten}}
==={{mall|tr-subst-v}}===
Används för substantiv som slutar på vokal.
{{parameterschema|tr-subst-v|{{tr-subst-v|a}}}}
*'''1=''' anger vokalharmonin. Om ordet har avvikande vokalharmoni kan värdet skilja sig från den sista skrivna vokalen. För ''hayal'' används exempelvis vokalen e.
*'''poss=1''' används när substantivets slutvokal är en possessivändelse, som i ''tereyağı''. Parametern gör att böjningen bildas från stammen ''tereyağ-'', så att former som ''tereyağını'' och ''tereyağları'' bildas korrekt.
*Possessivformer visas automatiskt.
Exempel:
*{{mall|tr-subst-v|a}} för ''[[rüya]]''
*{{mall|tr-subst-v|ı|poss=1}} för ''[[tereyağı]]''
==={{mall|tr-subst-k}}===
Används för substantiv som slutar på konsonant.
{{parameterschema|tr-subst-k|{{tr-subst-k|a|d}}}}
*'''1=''' anger vokalharmonin.
*'''2=''' kan anges som d eller t för lokativ och ablativ. Om parametern utelämnas väljs konsonanten utifrån uppslagsordets slut.
*'''rot=''' anger en alternativ stam framför vokalsuffix, exempelvis rot=özgürlüğ för ''özgürlük''.
*Possessivformer visas automatiskt.
Exempel:
*{{mall|tr-subst-k|ü|t}} för ''[[düş]]''
*{{mall|tr-subst-k|e|d}} för ''[[hayal]]''
*{{mall|tr-subst-k|ü|t|rot=özgürlüğ}} för ''[[özgürlük]]''
==={{mall|tr-subst}}===
{{parameterschema|tr-subst|{{tr-subst|grundform=<sidnamnet>|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|{9}|{10}|{11}|{12}}}}}
Används för oregelbundna substantiv eller substantiv som inte kan böjas med {{mall|tr-subst-v}} eller {{mall|tr-subst-k}}.
====Parametrar====
*[[Wiktionary:Stilguide/Grammatik/Allmänna parametrar|Allmänna parametrar]]
*De 12 namnlösa parametrarna anger samtliga kombinationer av numerus och kasus.
;klass= : Gör det möjligt att återanvända mallen för andra ordklasser, som pronomen (klass=pron).
==Pronomen==
{{topp|Tillgängliga mallar}}
*{{mall|tr-pron-pers}} ''infogas för alla personliga pronomen''
{{botten}}
{{parameterschema|tr-pron-pers|{{tr-pron-pers}}}}
mrbyg465n64wssxklyh7co1gp54z3bt
başlangıç
0
894999
4155629
3632389
2026-10-14T21:16:32Z
Frodlekis
762
4155629
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|ı|ç}}
'''başlangıç'''
#[[begynnelse]], [[början]], [[start]]
#:{{citat|år=1941 (1917)|titel=Joh. 1:1|Kelâm '''başlangıçta''' var idi, ve Kelâm Allah nezdinde idi, ve Kelâm Allah idi.|I '''begynnelsen''' var Ordet, och Ordet var hos Gud, och Ordet var Gud.}}
80jg1eo7u7lf6rq8bpe7fvtdweqqwy4
4155630
4155629
2026-10-14T21:19:23Z
Frodlekis
762
/* Turkiska */
4155630
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|ı|ç|rot=başlangıc}}
'''başlangıç'''
#[[begynnelse]], [[början]], [[start]]
#:{{citat|år=1941 (1917)|titel=Joh. 1:1|Kelâm '''başlangıçta''' var idi, ve Kelâm Allah nezdinde idi, ve Kelâm Allah idi.|I '''begynnelsen''' var Ordet, och Ordet var hos Gud, och Ordet var Gud.}}
dxs4a6fqgf73rpggkvp2d2nqctyd494
insan
0
895012
4155662
3783802
2026-10-14T21:41:03Z
Frodlekis
762
/* Turkiska */
4155662
wikitext
text/x-wiki
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''insan'''
#{{tagg|kat=däggdjur|språk=az}} [[människa]]
==Turkiska==
===Substantiv===
{{tr-subst-v|a|n}}
'''insan'''
#{{tagg|kat=däggdjur|språk=tr}} [[människa]]
#:{{citat|år=1941 (1917)|titel=Joh. 1:9|Dünyaya gelerek her '''insanı''' aydınlatan gerçek nur var idi.|Det sanna ljuset, det som lyser över alla '''människor''', skulle nu komma i världen.}}
kaff1k219qky3lchdm1cj30889xlzon
karanlık
0
895025
4155671
3632421
2026-10-14T21:45:57Z
Frodlekis
762
4155671
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|ı|k|rot=karanlığ}}
'''[[kara]]n[[-lık|lık]]'''
#[[mörker]]
#:{{citat|år=1941 (1917)|titel=Joh. 1:5|Nur '''karanlıkta''' parlar, ve '''karanlık''' onu anlamadı.|Och ljuset lyser '''i mörkret''', och '''mörkret''' har icke fått makt därmed.}}
#:{{besläktade ord|[[kara]]}}
jpy548fd5c6w0jgzbydlocti2qyoytc
evlilik
0
895059
4155647
4073930
2026-10-14T21:35:45Z
Frodlekis
762
4155647
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|i|k|rot=evliliğ}}
'''[[evli]][[-lik|lik]]'''
#{{tagg|juridik|språk=tr}} [[äktenskap]]
42ft9rps41pq41olsus6wu3l1swiuqy
akvaryum
0
895071
4155631
3632476
2026-10-14T21:21:15Z
Frodlekis
762
4155631
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|u|m}}
'''akvaryum'''
#[[akvarium]]
#:{{besläktade ord|[[akvarist]]}}
gjob6s8zxs5f9vzdy8gug932gtgo8kw
supap
0
895083
4155685
3780312
2026-10-14T21:51:52Z
Frodlekis
762
4155685
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k}}
'''supap'''
#{{tagg|teknik|språk=tr}} [[ventil]]
#:{{etymologi|Från franska [[soupape]]}}
njgw6i4pz0762uyvdyyjrz1p1qyprmh
4155686
4155685
2026-10-14T21:52:12Z
Frodlekis
762
4155686
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|p}}
'''supap'''
#{{tagg|teknik|språk=tr}} [[ventil]]
#:{{etymologi|Från franska [[soupape]]}}
43ny6dtao8995bdg6kimohi0008o20a
4155687
4155686
2026-10-14T21:52:24Z
Frodlekis
762
4155687
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|rot=supab}}
'''supap'''
#{{tagg|teknik|språk=tr}} [[ventil]]
#:{{etymologi|Från franska [[soupape]]}}
aoifqdsawrc9heu71kyr8idslue3zx5
4155688
4155687
2026-10-14T21:52:46Z
Frodlekis
762
4155688
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|rot=supab}}
'''supap'''
#{{tagg|teknik|språk=tr}} [[ventil]]
#:{{etymologi|Från {{härledning|tr|fr|soupape}}.}}
oqda5aobs6025n1h1n7fpfq5npnetja
günah
0
895132
4155657
4032567
2026-10-14T21:38:45Z
Frodlekis
762
/* Turkiska */
4155657
wikitext
text/x-wiki
==Azerbajdzjanska==
===Substantiv===
{{subst|az}}
'''{{PAGENAME}}'''
#{{tagg|religion|språk=az}} [[synd]]
==Turkiska==
===Substantiv===
{{tr-subst-k|a|h}}
'''günah'''
#{{tagg|religion|språk=tr}} [[synd]]
#:{{citat|år=1941 (1917)|titel=Joh. 1:29|Ertesi gün, İsanın kendisine gelmekte olduğunu Yahya görüp dedi: İşte, dünyanın '''günahını''' kaldıran Allah Kuzusu!|Dagen därefter såg han Jesus nalkas; då sade han: Se, Guds Lamm, som borttager världens '''synd'''!}}
#:{{besläktade ord|[[günahça]], [[günahçık]], [[günahkâr]], [[günahken]], [[günahla]], [[günahlı]], [[günahsa]], [[günahsız]]}}
f1wdbzvty9ubetezv2nmb5xh4sfnm9w
kavram
0
895144
4155672
3783090
2026-10-14T21:46:43Z
Frodlekis
762
4155672
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|m}}
'''kavram'''
#{{tagg|filosofi|språk=tr}} [[begrepp]], [[koncept]], [[term]]
#:{{synonymer|[[mefhum]], [[nosyon]]}}
#:{{besläktade ord|[[kavramak]]}}
#{{tagg|vardagligt|anatomi|språk=tr}} [[bukhinna]]
#{{tagg|vardagligt|språk=tr}} [[nypa]], [[grepp]], [[handfull]]
11p1vqhhy1zbqn8w8jvk0654r32i9ch
günahkâr
0
895284
4155658
3783542
2026-10-14T21:39:08Z
Frodlekis
762
4155658
wikitext
text/x-wiki
==Turkiska==
===Adjektiv===
{{adj|tr}}
'''[[günah]][[-kâr|kâr]]'''
#{{tagg|religion|språk=tr}} [[syndig]]
#:{{besläktade ord|[[günah]], [[günahça]], [[günahçık]], [[günahken]], [[günahla]], [[günahlı]], [[günahsa]], [[günahsız]]}}
===Substantiv===
{{tr-subst|â|r}}
'''[[günah]][[-kâr|kâr]]'''
#{{tagg|religion|språk=tr}} [[syndare]]
3fcwyapi3qlm1cyfelo4bp3g5wwsmad
4155659
4155658
2026-10-14T21:39:16Z
Frodlekis
762
4155659
wikitext
text/x-wiki
==Turkiska==
===Adjektiv===
{{adj|tr}}
'''[[günah]][[-kâr|kâr]]'''
#{{tagg|religion|språk=tr}} [[syndig]]
#:{{besläktade ord|[[günah]], [[günahça]], [[günahçık]], [[günahken]], [[günahla]], [[günahlı]], [[günahsa]], [[günahsız]]}}
===Substantiv===
{{tr-subst-k|â|r}}
'''[[günah]][[-kâr|kâr]]'''
#{{tagg|religion|språk=tr}} [[syndare]]
9iswof33ks8upeugzxzplz7w5j1llqd
güverte
0
895469
4155660
3783296
2026-10-14T21:40:06Z
Frodlekis
762
4155660
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|e}}
'''güverte'''
#{{tagg|sjöfart|språk=tr}} [[däck]]
#:{{sammansättningar|[[alt güverte]], [[ana güverte]], [[filika güvertesi]], [[miyar güverte]], [[palavra güverte]], [[rüşvet güverte]], [[tavlun güverte]], [[üst güverte]]}}
#:{{etymologi|Från italienska [[coverta]]}}
spqbwr60hha1iltr9pf78p34k2zl5xl
4155661
4155660
2026-10-14T21:40:28Z
Frodlekis
762
4155661
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|e}}
'''güverte'''
#{{tagg|sjöfart|språk=tr}} [[däck]]
#:{{sammansättningar|[[alt güverte]], [[ana güverte]], [[filika güvertesi]], [[miyar güverte]], [[palavra güverte]], [[rüşvet güverte]], [[tavlun güverte]], [[üst güverte]]}}
#:{{etymologi|Från {{härledning|tr|it|coverta}}.}}
tpyfp27fuhncsc07ker6v295l4qbe6y
fiil
0
895659
4155648
3783946
2026-10-14T21:36:15Z
Frodlekis
762
4155648
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|i|l}}
'''fiil'''
#[[handling]], [[dåd]]
#{{tagg|lingvistik|språk=tr}} [[verb]]
#:{{synonymer|[[eylem]]}}
#:{{användning|Fiil är ett arabiskt lånord och det som oftast används. Turkiska Wikipedia beskriver verb i artikeln [[:w:tr:Fiil|Fiil]]. Turkiska Wiktionary använder emellertid eylem, som är av turkiskt ursprung.}}
:{{avgränsare}}
:{{besläktade ord|[[fiilen]], [[fiilî]], [[fiiliyat]]}}
2v5z1emx8uur5t15rgkbvixg0aw31zn
zarf
0
895742
4155646
3785029
2026-10-14T21:35:04Z
Frodlekis
762
4155646
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|f}}
{{media|01464 vintage Russian Soviet silver cup tea holder.jpg|zarf [1]}}
'''zarf'''
#[[mugghållare]] ([[glashållare]], [[kopphållare]]), för koppar utan eget handtag, zarf
#{{tagg|postväsen|språk=tr}} [[kuvert]]
#:{{sammansättningar|[[viral zarf]]}}
#{{tagg|lingvistik|språk=tr}} [[adverb]]
#:{{synonymer|[[belirteç]]}}
#:{{användning|Zarf är ett arabiskt lånord och det som oftast används om adverb, till exempel [[w:tr:Zarf (dilbilgisi)|i Wikipedia]]. Turkiska Wiktionary använder emellertid synonymen belirteç, ett ord av turkiskt ursprung.}}
:{{avgränsare}}
:{{besläktade ord|[[zarflamak]]}}
8afe8vryuku5sp4uf56t5kktcv4stzn
belirteç
0
895755
4155645
3783490
2026-10-14T21:34:35Z
Frodlekis
762
4155645
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|e|ç|rot=belirtec}}
'''belirteç'''
#{{tagg|lingvistik|språk=tr}} [[adverb]]
#:{{synonymer|[[zarf]]}}
#{{tagg|kemi|språk=tr}} [[reagens]]
:{{avgränsare}}
:{{besläktade ord|[[belirteççe]], [[belirteççi]], [[belirteççik]], [[belirteçken]], [[belirteçle]], [[belirteçli]], [[belirteçse]], [[belirteçsiz]]}}
ctzrpkypm09jbe4yxe53897nfxz05e6
istatistik
0
895900
4155663
3781580
2026-10-14T21:41:37Z
Frodlekis
762
4155663
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|i|k}}
'''istatistik'''
#{{tagg|vetenskaper|språk=tr}} [[statistik]]
#:{{besläktade ord|[[istatistikçi]]}}
lvs80fa8m7p7d40bct2ce9zpinia84j
istatistikçi
0
895912
4155664
3777202
2026-10-14T21:42:00Z
Frodlekis
762
4155664
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|i|ç}}
'''[[istatistik]][[-çi|çi]]'''
#{{tagg|forskare|språk=tr}} [[statistiker]]
#:{{besläktade ord|[[istatistik]]}}
5blac3k6d9k83cdeep1zg7yz39rk0ox
4155667
4155664
2026-10-14T21:43:38Z
Frodlekis
762
4155667
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|i|ç}}
'''[[istatistik]][[-çi|çi]]'''
#{{tagg|forskare|språk=tr}} [[statistiker]]
#:{{synonymer|[[sayımlamacı]]}}
#:{{besläktade ord|[[istatistik]]}}
t99d2c5v5hkokjlgfcs7zi9lzdzk56h
tereyağı
0
896623
4155716
3728096
2026-10-14T22:40:35Z
Frodlekis
762
/* Turkiska */
4155716
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v}}
'''tereyağı'''
#{{tagg|mat|språk=tr}} [[smör]]
iw3x5ohvmlutpbmevkz7sy4x0dhyjzp
4155719
4155716
2026-10-14T22:46:13Z
Frodlekis
762
4155719
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|ı}}
'''tereyağı'''
#{{tagg|mat|språk=tr}} [[smör]]
r7tisv9t3o8u89r2pfm61ts51h06b7u
4155721
4155719
2026-10-14T22:51:33Z
Frodlekis
762
4155721
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{subst|tr}}
'''tereyağı'''
#{{tagg|mat|språk=tr}} [[smör]]
r7a21gisxuxsrilfvz28dx6cogm1r52
4155754
4155721
2026-10-15T01:00:26Z
Frodlekis
762
/* Turkiska */
4155754
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|ı|poss=1}}
'''tereyağı'''
#{{tagg|mat|språk=tr}} [[smör]]
ekhrmdqyq7wv9mj68dp5qnaxf80k9rd
gözlem
0
900401
4155654
3645272
2026-10-14T21:37:55Z
Frodlekis
762
/* Turkiska */
4155654
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|e|m}}
'''gözlem'''
#[[observation]]
67t29e4kjy8beguhrt0o0620b8uttaf
proje
0
926876
4155681
3697959
2026-10-14T21:50:33Z
Frodlekis
762
/* Turkiska */
4155681
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|e}}
'''proje'''
#[[projekt]]
#:{{besläktade ord|[[projece]], [[projeci]], [[projecik]], [[projelendirmek]], [[projeli]], [[projelik]], [[projesi]], [[projesiz]], [[projeyken]], [[projeyle]], [[projeyse]]}}
jnunfylnox3dynur0srkapsdsf2kixq
kurşun
0
926888
4155677
3782056
2026-10-14T21:48:34Z
Frodlekis
762
4155677
wikitext
text/x-wiki
==Turkiska==
===Adjektiv===
{{adj|tr}}
'''kurşun'''
#av [[bly]]
===Substantiv===
{{tr-subst-k|u|n}}
'''kurşun'''
#{{tagg|grundämnen|språk=tr}} [[bly]]
#{{tagg|vapen|språk=tr}} [[kula]], [[gevärskula]]
#:{{synonymer|[[mermi]]}}
9od2bpchifxlbcygwdo2by3d5mayfv6
Mall:tr
10
928541
4155621
4155541
2026-10-14T20:56:40Z
Frodlekis
762
+ språk som skrivs med runor
4155621
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:<!--o-->{{{1}}}<!--
-->|<!--o-->ru={{#invoke:translit|tr|lang=ru|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->be={{#invoke:translit|tr|lang=be|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->bg={{#invoke:translit|tr|lang=bg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->uk={{#invoke:translit|tr|lang=uk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sah={{#invoke:translit|tr|lang=sah|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->kk={{#invoke:translit|tr|lang=kk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ky={{#invoke:translit|tr|lang=ky|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->mn={{#invoke:translit|tr|lang=mn|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tg={{#invoke:translit|tr|lang=tg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ar={{#invoke:translit/ar|transkribera|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->grc={{#invoke:translit|tr|lang=grc|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gem-uno={{#invoke:translit|tr|lang=gem-uno|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ang={{#invoke:translit|tr|lang=ang|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->non={{#invoke:translit|tr|lang=non|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->goh={{#invoke:translit|tr|lang=goh|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fda={{#invoke:translit|tr|lang=gmq-fda|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fsv={{#invoke:translit|tr|lang=gmq-fsv|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->got={{#invoke:translit|tr|lang=got|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ovd={{#invoke:translit|tr|lang=runr|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ka={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sva={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->lzz={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->xmf={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hy={{#invoke:translit|tr|lang=hy|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->yi={{#invoke:translit|tr|lang=yi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->am={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ti={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tig={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gez={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->byn={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hi={{#invoke:translit|tr|lang=hi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->fa={{#invoke:translit|tr|lang=fa-ira|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->#default='''FEL i mall "{<nowiki>{tr}</nowiki>}" : språkkod "{{{1|??}}}" stöds ej'''<!--
-->}}<!--endswitch--></includeonly><noinclude>
== Syfte ==
Denna mall transkriberar vissa språk till det latinska alfabetet. Det råder delade meningar om ”transkribering” eller ”translitterering” är det lämpligaste ordet för att beskriva vad den gör. Den omvandlar i vart fall text från källspråket till latinska bokstäver på ett sätt som varken entydigt beskriver vilka bokstäver originalspråket bestod av, eller som utgör en komplett guide till uttalet av ordet.
== Språk som stöds ==
=== Språk som skrivs med kyrilliska alfabetet ===
För ryska, belarusiska/vitryska, bulgariska och ukrainska följer mallen det särskilda svenska systemet som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
Kazakiska och kirgiziska bygger också på de rysk-svenska principerna, med särskilda regler för respektive språks extra bokstäver. För jakutiska används de rysk-svenska reglerna för de gemensamma bokstäverna och särskilda återgivningar för jakutiskans egna bokstäver.
* ryska [ru]
* belarusiska/vitryska [be]
* bulgariska [bg]
* ukrainska [uk]
* kazakiska [kk]
* kirgiziska [ky]
* jakutiska [sah]
=== Språk som skrivs med geez-skrift ===
Följande språk som skrivs med det etiopiska alfabetet (ge'ez-skrift) har också fått stöd:
* amhariska [am]
* tigrinska [ti]
* tigre [tig]
* ge'ez [gez]
* blin [byn]
=== Språk som skrivs med runor ===
* fornsvenska [gmq-fsv]
* forndanska [gmq-fda]
* fornnordiska [non]
* urnordiska [gem-uno]
* fornhögtyska [goh]
* fornengelska [goh]
===Övriga språk===
* armeniska [hy]
* georgiska [yi]
* jiddisch [yi]
===På experimentstadiet===
På experimentstadiet hanterar mallen även:
* arabiska [ar]
* klassisk grekiska [grc]
* gotiska [got]
* hindi [hi]
På längre sikt är ambitionen att mallen även ska kunna transkribera andra språk.
==Parametrar==
Mallen har två anonyma parametrar. Den första parametern, som är obligatorisk, är språkkoden. Som standard transkriberas ordet i sidtiteln, men detta kan ändras genom att ange ordet i den andra parametern. Exempelvis behöver ryska accentuerade ord anges uttryckligen som andra parameter.
==Några språkspecifika saker att beakta==
;Ryska [ru]
Mallen strävar efter att följa det system som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
En vanlig fallgrop är att bokstaven ё ofta utelämnas i skriven ryska när sammanhanget gör uttalet uppenbart. Till exempel stavas Пётр ofta Пeтр. Mallen hanterar bara bokstaven korrekt när den finns med. Пeтр som indata blir alltså ''Petr'' i stället för ''Pjotr''.
Mallen kan hantera indata med eller utan accenttecken. Normalfallet på Wiktionary är det senare. För att underlätta för användarna accentueras ё automatiskt i flerstavig text. Горбачёв blir därför ''Gorbatjóv'', inte ''Gorbatjov''.
Detta sätt är specifikt för transkribering till svenska. Transkribering till andra språk sker enligt andra mönster. Горбачёв ska exempelvis bli ''Gorbatjóv'' på svenska, men kan återges som ''Gorbachev'', ''Gorbatschow'', ''Gorbatchev'' eller ''Gorbatsjov'' på andra språk.
;Kazakiska [kk]
Kazakisk translitterering följer de rysk-svenska principerna, med särskilda återgivningar för nio extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ғ ғ || gh
|-
| Ә ә || ä
|-
| І і || i (kort, till skillnad från И и)
|-
| Қ қ || q
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|-
| Ұ ұ || u (kort, till skillnad från У у)
|-
| Һ һ || h
|}
Bokstavskombinationen ау skrivs ''au'', inte ''aw''.
På engelska och franska kan prickarna i vissa translittereringar saknas. Ryska texter återger ofta de kazakiska specialbokstäverna med närliggande ryska bokstäver. Därför kan ett personnamn få en annan form om en engelsk eller fransk text har utgått från en rysk källa. Ett exempel är politikern Bolat Äbilov, som kan förekomma som ''Bulat Abilov'' eller ''Boulat Abilov'' när formen bygger på ryska, i stället för den kazakiska namnformen.
Flera orter i Kazakstan har bytt namn. Se vidare under ”Namnbyten, Kazakstan” och ”Exonymer, Kazakstan”. Kazakiska hanteras tills vidare med kyrillisk skrift.
;Kirgiziska [ky]
Kirgizisk translitterering följer de rysk-svenska principerna. Kirgiziskan har tre extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|}
Exempel på skillnader mellan svensk och annan translitterering är politikern Kurmanbek Bakijev (engelska ''Bakiev'') och politikern Feliks Kulov (engelska ''Felix Kulov''). Se även ”Exonymer, Kirgizistan”.
;Jakutiska [sah]
Jakutisk translitterering följer de rysk-svenska principerna för bokstäver som är gemensamma med ryskan. Jakutiskans egna bokstäver återges särskilt. Mallen återger bland annat Ҕ ҕ, Ҥ ҥ, Ө ө, Һ һ och Ү ү med jakutiska specialformer. Även digraferna Дь дь och Нь нь förekommer i det jakutiska alfabetet.
;Klassisk grekiska [grc]
Mallen strävar efter att följa det system som används av [https://www.loc.gov/catdir/cpso/romanization/greek.pdf Library of Congress], med en viktig avvikelse. Bokstaven φ blir ''f'' (inte ''ph''), eftersom det är mycket vanligare att göra så på svenska. Vi talar om ”Aristo'''f'''anes”, inte ”Aristo'''ph'''anes”, och våra låneord skrivs ”'''f'''onetik”, inte ”'''ph'''onetics”. Det kan diskuteras hur lämpligt detta är. De gamla grekerna uttalade förmodligen φ som ett aspirerat ''p'' (alltså mer likt det svenska ordet ”peta” än ”feta”). Trots det är ''f'' det vanligaste sättet att skriva φ på i svensk text. Denna mall följer den konventionen.
;Jiddisch [yi]
Mallen transkriberar jiddisch enligt den internationella standarden som används av [[w:YIVO|YIVO]] (Yidisher Visnshaftlekher Institut).
Jiddisch skrivs med det hebreiska alfabetet men följer i normalfallet en fonetisk stavning. Detta innebär att de flesta ord kan transkriberas mekaniskt till latinska bokstäver.
En mindre del av jiddischens ordförråd består av hebreiska och arameiska lånord, så kallade ''loshn-koydesh''-ord. Dessa följer den hebreiska stavningen, som inte direkt motsvarar uttalet, i synnerhet inte på det sätt som jiddisch använder det hebreiska alfabetet. För dessa ord behöver translittereringen anges manuellt i artikeln.
== Exempel och självtest ==
<pre>{{tr}}</pre>
{{tr}}
----
<pre>{{tr|ru|Пётр Ильи́ч Чайко́вский}}</pre>
{{tr|ru|Пётр Ильи́ч Чайко́вский}}
----
<pre>{{tr|ru|Горбачёв}}</pre>
{{tr|ru|Горбачёв}}
----
<pre>{{tr|ru|ёж}}</pre>
{{tr|ru|ёж}}
----
<pre>{{tr|ru|ёлка}}</pre>
{{tr|ru|ёлка}}
----
<pre>{{tr|bg|Жельо}}</pre>
{{tr|bg|Жельо}}
----
<pre>{{tr|uk|Запоріжжя}}</pre>
{{tr|uk|Запоріжжя}}
----
<pre>{{tr|kk|Қазақстан}}</pre>
{{tr|kk|Қазақстан}}
----
<pre>{{tr|ky|Кыргызстан}}</pre>
{{tr|ky|Кыргызстан}}
----
<pre>{{tr|sah|Лүксембург}}</pre>
{{tr|sah|Лүксембург}}
----
<pre>{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}</pre>
{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}
----
<pre>{{tr|yi|ייִדיש}}</pre>
{{tr|yi|ייִדיש}}
----
<pre>{{tr|ti|መሃዚ}}</pre>
{{tr|ti|መሃዚ}}
----
<pre>{{tr|am|መንግሥት}}</pre>
{{tr|am|መንግሥት}}
----
<pre>{{tr|hi|अंकारा}}</pre>
{{tr|hi|अंकारा}}
== Behövda moduler ==
* {{modul|translit}}
* {{modul|translit/ru}}
* {{modul|translit/be}}
* {{modul|translit/bg}}
* {{modul|translit/uk}}
* {{modul|translit/sah}}
* {{modul|translit/kk}}
* {{modul|translit/ky}}
* {{modul|translit/mn}}
* {{modul|translit/tg}}
* {{modul|translit/ar}}
* {{modul|translit/grc}}
* {{modul|translit/runr}}
* {{modul|translit/got}}
* {{modul|translit/hy}}
* {{modul|translit/geor}}
* {{modul|translit/hi}}
* {{modul|translit/yi}}
* {{modul|translit/geez}}
* {{modul|queue}}
[[Kategori:Wiktionary:Mallar]]
</noinclude>
4yf24mvs1gg1i7t1vafuyq5u9fgn4rj
4155622
4155621
2026-10-14T20:56:51Z
Frodlekis
762
/* Språk som skrivs med runor */
4155622
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:<!--o-->{{{1}}}<!--
-->|<!--o-->ru={{#invoke:translit|tr|lang=ru|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->be={{#invoke:translit|tr|lang=be|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->bg={{#invoke:translit|tr|lang=bg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->uk={{#invoke:translit|tr|lang=uk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sah={{#invoke:translit|tr|lang=sah|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->kk={{#invoke:translit|tr|lang=kk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ky={{#invoke:translit|tr|lang=ky|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->mn={{#invoke:translit|tr|lang=mn|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tg={{#invoke:translit|tr|lang=tg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ar={{#invoke:translit/ar|transkribera|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->grc={{#invoke:translit|tr|lang=grc|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gem-uno={{#invoke:translit|tr|lang=gem-uno|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ang={{#invoke:translit|tr|lang=ang|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->non={{#invoke:translit|tr|lang=non|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->goh={{#invoke:translit|tr|lang=goh|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fda={{#invoke:translit|tr|lang=gmq-fda|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fsv={{#invoke:translit|tr|lang=gmq-fsv|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->got={{#invoke:translit|tr|lang=got|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ovd={{#invoke:translit|tr|lang=runr|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ka={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sva={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->lzz={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->xmf={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hy={{#invoke:translit|tr|lang=hy|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->yi={{#invoke:translit|tr|lang=yi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->am={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ti={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tig={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gez={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->byn={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hi={{#invoke:translit|tr|lang=hi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->fa={{#invoke:translit|tr|lang=fa-ira|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->#default='''FEL i mall "{<nowiki>{tr}</nowiki>}" : språkkod "{{{1|??}}}" stöds ej'''<!--
-->}}<!--endswitch--></includeonly><noinclude>
== Syfte ==
Denna mall transkriberar vissa språk till det latinska alfabetet. Det råder delade meningar om ”transkribering” eller ”translitterering” är det lämpligaste ordet för att beskriva vad den gör. Den omvandlar i vart fall text från källspråket till latinska bokstäver på ett sätt som varken entydigt beskriver vilka bokstäver originalspråket bestod av, eller som utgör en komplett guide till uttalet av ordet.
== Språk som stöds ==
=== Språk som skrivs med kyrilliska alfabetet ===
För ryska, belarusiska/vitryska, bulgariska och ukrainska följer mallen det särskilda svenska systemet som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
Kazakiska och kirgiziska bygger också på de rysk-svenska principerna, med särskilda regler för respektive språks extra bokstäver. För jakutiska används de rysk-svenska reglerna för de gemensamma bokstäverna och särskilda återgivningar för jakutiskans egna bokstäver.
* ryska [ru]
* belarusiska/vitryska [be]
* bulgariska [bg]
* ukrainska [uk]
* kazakiska [kk]
* kirgiziska [ky]
* jakutiska [sah]
=== Språk som skrivs med geez-skrift ===
Följande språk som skrivs med det etiopiska alfabetet (ge'ez-skrift) har också fått stöd:
* amhariska [am]
* tigrinska [ti]
* tigre [tig]
* ge'ez [gez]
* blin [byn]
=== Språk som skrivs med runor ===
* fornsvenska [gmq-fsv]
* forndanska [gmq-fda]
* fornnordiska [non]
* urnordiska [gem-uno]
* fornhögtyska [goh]
* fornengelska [ang]
===Övriga språk===
* armeniska [hy]
* georgiska [yi]
* jiddisch [yi]
===På experimentstadiet===
På experimentstadiet hanterar mallen även:
* arabiska [ar]
* klassisk grekiska [grc]
* gotiska [got]
* hindi [hi]
På längre sikt är ambitionen att mallen även ska kunna transkribera andra språk.
==Parametrar==
Mallen har två anonyma parametrar. Den första parametern, som är obligatorisk, är språkkoden. Som standard transkriberas ordet i sidtiteln, men detta kan ändras genom att ange ordet i den andra parametern. Exempelvis behöver ryska accentuerade ord anges uttryckligen som andra parameter.
==Några språkspecifika saker att beakta==
;Ryska [ru]
Mallen strävar efter att följa det system som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
En vanlig fallgrop är att bokstaven ё ofta utelämnas i skriven ryska när sammanhanget gör uttalet uppenbart. Till exempel stavas Пётр ofta Пeтр. Mallen hanterar bara bokstaven korrekt när den finns med. Пeтр som indata blir alltså ''Petr'' i stället för ''Pjotr''.
Mallen kan hantera indata med eller utan accenttecken. Normalfallet på Wiktionary är det senare. För att underlätta för användarna accentueras ё automatiskt i flerstavig text. Горбачёв blir därför ''Gorbatjóv'', inte ''Gorbatjov''.
Detta sätt är specifikt för transkribering till svenska. Transkribering till andra språk sker enligt andra mönster. Горбачёв ska exempelvis bli ''Gorbatjóv'' på svenska, men kan återges som ''Gorbachev'', ''Gorbatschow'', ''Gorbatchev'' eller ''Gorbatsjov'' på andra språk.
;Kazakiska [kk]
Kazakisk translitterering följer de rysk-svenska principerna, med särskilda återgivningar för nio extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ғ ғ || gh
|-
| Ә ә || ä
|-
| І і || i (kort, till skillnad från И и)
|-
| Қ қ || q
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|-
| Ұ ұ || u (kort, till skillnad från У у)
|-
| Һ һ || h
|}
Bokstavskombinationen ау skrivs ''au'', inte ''aw''.
På engelska och franska kan prickarna i vissa translittereringar saknas. Ryska texter återger ofta de kazakiska specialbokstäverna med närliggande ryska bokstäver. Därför kan ett personnamn få en annan form om en engelsk eller fransk text har utgått från en rysk källa. Ett exempel är politikern Bolat Äbilov, som kan förekomma som ''Bulat Abilov'' eller ''Boulat Abilov'' när formen bygger på ryska, i stället för den kazakiska namnformen.
Flera orter i Kazakstan har bytt namn. Se vidare under ”Namnbyten, Kazakstan” och ”Exonymer, Kazakstan”. Kazakiska hanteras tills vidare med kyrillisk skrift.
;Kirgiziska [ky]
Kirgizisk translitterering följer de rysk-svenska principerna. Kirgiziskan har tre extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|}
Exempel på skillnader mellan svensk och annan translitterering är politikern Kurmanbek Bakijev (engelska ''Bakiev'') och politikern Feliks Kulov (engelska ''Felix Kulov''). Se även ”Exonymer, Kirgizistan”.
;Jakutiska [sah]
Jakutisk translitterering följer de rysk-svenska principerna för bokstäver som är gemensamma med ryskan. Jakutiskans egna bokstäver återges särskilt. Mallen återger bland annat Ҕ ҕ, Ҥ ҥ, Ө ө, Һ һ och Ү ү med jakutiska specialformer. Även digraferna Дь дь och Нь нь förekommer i det jakutiska alfabetet.
;Klassisk grekiska [grc]
Mallen strävar efter att följa det system som används av [https://www.loc.gov/catdir/cpso/romanization/greek.pdf Library of Congress], med en viktig avvikelse. Bokstaven φ blir ''f'' (inte ''ph''), eftersom det är mycket vanligare att göra så på svenska. Vi talar om ”Aristo'''f'''anes”, inte ”Aristo'''ph'''anes”, och våra låneord skrivs ”'''f'''onetik”, inte ”'''ph'''onetics”. Det kan diskuteras hur lämpligt detta är. De gamla grekerna uttalade förmodligen φ som ett aspirerat ''p'' (alltså mer likt det svenska ordet ”peta” än ”feta”). Trots det är ''f'' det vanligaste sättet att skriva φ på i svensk text. Denna mall följer den konventionen.
;Jiddisch [yi]
Mallen transkriberar jiddisch enligt den internationella standarden som används av [[w:YIVO|YIVO]] (Yidisher Visnshaftlekher Institut).
Jiddisch skrivs med det hebreiska alfabetet men följer i normalfallet en fonetisk stavning. Detta innebär att de flesta ord kan transkriberas mekaniskt till latinska bokstäver.
En mindre del av jiddischens ordförråd består av hebreiska och arameiska lånord, så kallade ''loshn-koydesh''-ord. Dessa följer den hebreiska stavningen, som inte direkt motsvarar uttalet, i synnerhet inte på det sätt som jiddisch använder det hebreiska alfabetet. För dessa ord behöver translittereringen anges manuellt i artikeln.
== Exempel och självtest ==
<pre>{{tr}}</pre>
{{tr}}
----
<pre>{{tr|ru|Пётр Ильи́ч Чайко́вский}}</pre>
{{tr|ru|Пётр Ильи́ч Чайко́вский}}
----
<pre>{{tr|ru|Горбачёв}}</pre>
{{tr|ru|Горбачёв}}
----
<pre>{{tr|ru|ёж}}</pre>
{{tr|ru|ёж}}
----
<pre>{{tr|ru|ёлка}}</pre>
{{tr|ru|ёлка}}
----
<pre>{{tr|bg|Жельо}}</pre>
{{tr|bg|Жельо}}
----
<pre>{{tr|uk|Запоріжжя}}</pre>
{{tr|uk|Запоріжжя}}
----
<pre>{{tr|kk|Қазақстан}}</pre>
{{tr|kk|Қазақстан}}
----
<pre>{{tr|ky|Кыргызстан}}</pre>
{{tr|ky|Кыргызстан}}
----
<pre>{{tr|sah|Лүксембург}}</pre>
{{tr|sah|Лүксембург}}
----
<pre>{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}</pre>
{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}
----
<pre>{{tr|yi|ייִדיש}}</pre>
{{tr|yi|ייִדיש}}
----
<pre>{{tr|ti|መሃዚ}}</pre>
{{tr|ti|መሃዚ}}
----
<pre>{{tr|am|መንግሥት}}</pre>
{{tr|am|መንግሥት}}
----
<pre>{{tr|hi|अंकारा}}</pre>
{{tr|hi|अंकारा}}
== Behövda moduler ==
* {{modul|translit}}
* {{modul|translit/ru}}
* {{modul|translit/be}}
* {{modul|translit/bg}}
* {{modul|translit/uk}}
* {{modul|translit/sah}}
* {{modul|translit/kk}}
* {{modul|translit/ky}}
* {{modul|translit/mn}}
* {{modul|translit/tg}}
* {{modul|translit/ar}}
* {{modul|translit/grc}}
* {{modul|translit/runr}}
* {{modul|translit/got}}
* {{modul|translit/hy}}
* {{modul|translit/geor}}
* {{modul|translit/hi}}
* {{modul|translit/yi}}
* {{modul|translit/geez}}
* {{modul|queue}}
[[Kategori:Wiktionary:Mallar]]
</noinclude>
dh4z4jpqqhgg1wbv3i7wxm2fp1nsxjt
4155623
4155622
2026-10-14T21:01:27Z
Frodlekis
762
/* Språk som skrivs med kyrilliska alfabetet */
4155623
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:<!--o-->{{{1}}}<!--
-->|<!--o-->ru={{#invoke:translit|tr|lang=ru|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->be={{#invoke:translit|tr|lang=be|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->bg={{#invoke:translit|tr|lang=bg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->uk={{#invoke:translit|tr|lang=uk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sah={{#invoke:translit|tr|lang=sah|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->kk={{#invoke:translit|tr|lang=kk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ky={{#invoke:translit|tr|lang=ky|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->mn={{#invoke:translit|tr|lang=mn|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tg={{#invoke:translit|tr|lang=tg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ar={{#invoke:translit/ar|transkribera|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->grc={{#invoke:translit|tr|lang=grc|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gem-uno={{#invoke:translit|tr|lang=gem-uno|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ang={{#invoke:translit|tr|lang=ang|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->non={{#invoke:translit|tr|lang=non|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->goh={{#invoke:translit|tr|lang=goh|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fda={{#invoke:translit|tr|lang=gmq-fda|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fsv={{#invoke:translit|tr|lang=gmq-fsv|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->got={{#invoke:translit|tr|lang=got|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ovd={{#invoke:translit|tr|lang=runr|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ka={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sva={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->lzz={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->xmf={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hy={{#invoke:translit|tr|lang=hy|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->yi={{#invoke:translit|tr|lang=yi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->am={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ti={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tig={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gez={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->byn={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hi={{#invoke:translit|tr|lang=hi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->fa={{#invoke:translit|tr|lang=fa-ira|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->#default='''FEL i mall "{<nowiki>{tr}</nowiki>}" : språkkod "{{{1|??}}}" stöds ej'''<!--
-->}}<!--endswitch--></includeonly><noinclude>
== Syfte ==
Denna mall transkriberar vissa språk till det latinska alfabetet. Det råder delade meningar om ”transkribering” eller ”translitterering” är det lämpligaste ordet för att beskriva vad den gör. Den omvandlar i vart fall text från källspråket till latinska bokstäver på ett sätt som varken entydigt beskriver vilka bokstäver originalspråket bestod av, eller som utgör en komplett guide till uttalet av ordet.
== Språk som stöds ==
=== Språk som skrivs med kyrilliska alfabetet ===
För ryska, belarusiska/vitryska, bulgariska och ukrainska följer mallen det särskilda svenska systemet som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
För jakutiska, kazakiska, kirgiziska och mongoliska bygger translittereringen också på de rysk-svenska principerna, med särskilda regler för respektive språks extra bokstäver.
* ryska [ru]
* belarusiska/vitryska [be]
* bulgariska [bg]
* ukrainska [uk]
––
* jakutiska [sah]
* kazakiska [kk]
* kirgiziska [ky]
* mongoliska [mn]
=== Språk som skrivs med geez-skrift ===
Följande språk som skrivs med det etiopiska alfabetet (ge'ez-skrift) har också fått stöd:
* amhariska [am]
* tigrinska [ti]
* tigre [tig]
* ge'ez [gez]
* blin [byn]
=== Språk som skrivs med runor ===
* fornsvenska [gmq-fsv]
* forndanska [gmq-fda]
* fornnordiska [non]
* urnordiska [gem-uno]
* fornhögtyska [goh]
* fornengelska [ang]
===Övriga språk===
* armeniska [hy]
* georgiska [yi]
* jiddisch [yi]
===På experimentstadiet===
På experimentstadiet hanterar mallen även:
* arabiska [ar]
* klassisk grekiska [grc]
* gotiska [got]
* hindi [hi]
På längre sikt är ambitionen att mallen även ska kunna transkribera andra språk.
==Parametrar==
Mallen har två anonyma parametrar. Den första parametern, som är obligatorisk, är språkkoden. Som standard transkriberas ordet i sidtiteln, men detta kan ändras genom att ange ordet i den andra parametern. Exempelvis behöver ryska accentuerade ord anges uttryckligen som andra parameter.
==Några språkspecifika saker att beakta==
;Ryska [ru]
Mallen strävar efter att följa det system som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
En vanlig fallgrop är att bokstaven ё ofta utelämnas i skriven ryska när sammanhanget gör uttalet uppenbart. Till exempel stavas Пётр ofta Пeтр. Mallen hanterar bara bokstaven korrekt när den finns med. Пeтр som indata blir alltså ''Petr'' i stället för ''Pjotr''.
Mallen kan hantera indata med eller utan accenttecken. Normalfallet på Wiktionary är det senare. För att underlätta för användarna accentueras ё automatiskt i flerstavig text. Горбачёв blir därför ''Gorbatjóv'', inte ''Gorbatjov''.
Detta sätt är specifikt för transkribering till svenska. Transkribering till andra språk sker enligt andra mönster. Горбачёв ska exempelvis bli ''Gorbatjóv'' på svenska, men kan återges som ''Gorbachev'', ''Gorbatschow'', ''Gorbatchev'' eller ''Gorbatsjov'' på andra språk.
;Kazakiska [kk]
Kazakisk translitterering följer de rysk-svenska principerna, med särskilda återgivningar för nio extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ғ ғ || gh
|-
| Ә ә || ä
|-
| І і || i (kort, till skillnad från И и)
|-
| Қ қ || q
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|-
| Ұ ұ || u (kort, till skillnad från У у)
|-
| Һ һ || h
|}
Bokstavskombinationen ау skrivs ''au'', inte ''aw''.
På engelska och franska kan prickarna i vissa translittereringar saknas. Ryska texter återger ofta de kazakiska specialbokstäverna med närliggande ryska bokstäver. Därför kan ett personnamn få en annan form om en engelsk eller fransk text har utgått från en rysk källa. Ett exempel är politikern Bolat Äbilov, som kan förekomma som ''Bulat Abilov'' eller ''Boulat Abilov'' när formen bygger på ryska, i stället för den kazakiska namnformen.
Flera orter i Kazakstan har bytt namn. Se vidare under ”Namnbyten, Kazakstan” och ”Exonymer, Kazakstan”. Kazakiska hanteras tills vidare med kyrillisk skrift.
;Kirgiziska [ky]
Kirgizisk translitterering följer de rysk-svenska principerna. Kirgiziskan har tre extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|}
Exempel på skillnader mellan svensk och annan translitterering är politikern Kurmanbek Bakijev (engelska ''Bakiev'') och politikern Feliks Kulov (engelska ''Felix Kulov''). Se även ”Exonymer, Kirgizistan”.
;Jakutiska [sah]
Jakutisk translitterering följer de rysk-svenska principerna för bokstäver som är gemensamma med ryskan. Jakutiskans egna bokstäver återges särskilt. Mallen återger bland annat Ҕ ҕ, Ҥ ҥ, Ө ө, Һ һ och Ү ү med jakutiska specialformer. Även digraferna Дь дь och Нь нь förekommer i det jakutiska alfabetet.
;Klassisk grekiska [grc]
Mallen strävar efter att följa det system som används av [https://www.loc.gov/catdir/cpso/romanization/greek.pdf Library of Congress], med en viktig avvikelse. Bokstaven φ blir ''f'' (inte ''ph''), eftersom det är mycket vanligare att göra så på svenska. Vi talar om ”Aristo'''f'''anes”, inte ”Aristo'''ph'''anes”, och våra låneord skrivs ”'''f'''onetik”, inte ”'''ph'''onetics”. Det kan diskuteras hur lämpligt detta är. De gamla grekerna uttalade förmodligen φ som ett aspirerat ''p'' (alltså mer likt det svenska ordet ”peta” än ”feta”). Trots det är ''f'' det vanligaste sättet att skriva φ på i svensk text. Denna mall följer den konventionen.
;Jiddisch [yi]
Mallen transkriberar jiddisch enligt den internationella standarden som används av [[w:YIVO|YIVO]] (Yidisher Visnshaftlekher Institut).
Jiddisch skrivs med det hebreiska alfabetet men följer i normalfallet en fonetisk stavning. Detta innebär att de flesta ord kan transkriberas mekaniskt till latinska bokstäver.
En mindre del av jiddischens ordförråd består av hebreiska och arameiska lånord, så kallade ''loshn-koydesh''-ord. Dessa följer den hebreiska stavningen, som inte direkt motsvarar uttalet, i synnerhet inte på det sätt som jiddisch använder det hebreiska alfabetet. För dessa ord behöver translittereringen anges manuellt i artikeln.
== Exempel och självtest ==
<pre>{{tr}}</pre>
{{tr}}
----
<pre>{{tr|ru|Пётр Ильи́ч Чайко́вский}}</pre>
{{tr|ru|Пётр Ильи́ч Чайко́вский}}
----
<pre>{{tr|ru|Горбачёв}}</pre>
{{tr|ru|Горбачёв}}
----
<pre>{{tr|ru|ёж}}</pre>
{{tr|ru|ёж}}
----
<pre>{{tr|ru|ёлка}}</pre>
{{tr|ru|ёлка}}
----
<pre>{{tr|bg|Жельо}}</pre>
{{tr|bg|Жельо}}
----
<pre>{{tr|uk|Запоріжжя}}</pre>
{{tr|uk|Запоріжжя}}
----
<pre>{{tr|kk|Қазақстан}}</pre>
{{tr|kk|Қазақстан}}
----
<pre>{{tr|ky|Кыргызстан}}</pre>
{{tr|ky|Кыргызстан}}
----
<pre>{{tr|sah|Лүксембург}}</pre>
{{tr|sah|Лүксембург}}
----
<pre>{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}</pre>
{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}
----
<pre>{{tr|yi|ייִדיש}}</pre>
{{tr|yi|ייִדיש}}
----
<pre>{{tr|ti|መሃዚ}}</pre>
{{tr|ti|መሃዚ}}
----
<pre>{{tr|am|መንግሥት}}</pre>
{{tr|am|መንግሥት}}
----
<pre>{{tr|hi|अंकारा}}</pre>
{{tr|hi|अंकारा}}
== Behövda moduler ==
* {{modul|translit}}
* {{modul|translit/ru}}
* {{modul|translit/be}}
* {{modul|translit/bg}}
* {{modul|translit/uk}}
* {{modul|translit/sah}}
* {{modul|translit/kk}}
* {{modul|translit/ky}}
* {{modul|translit/mn}}
* {{modul|translit/tg}}
* {{modul|translit/ar}}
* {{modul|translit/grc}}
* {{modul|translit/runr}}
* {{modul|translit/got}}
* {{modul|translit/hy}}
* {{modul|translit/geor}}
* {{modul|translit/hi}}
* {{modul|translit/yi}}
* {{modul|translit/geez}}
* {{modul|queue}}
[[Kategori:Wiktionary:Mallar]]
</noinclude>
0s7gvi0pf2eet6bfkji4fq0bfvw4976
4155624
4155623
2026-10-14T21:02:11Z
Frodlekis
762
/* Övriga språk */
4155624
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:<!--o-->{{{1}}}<!--
-->|<!--o-->ru={{#invoke:translit|tr|lang=ru|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->be={{#invoke:translit|tr|lang=be|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->bg={{#invoke:translit|tr|lang=bg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->uk={{#invoke:translit|tr|lang=uk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sah={{#invoke:translit|tr|lang=sah|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->kk={{#invoke:translit|tr|lang=kk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ky={{#invoke:translit|tr|lang=ky|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->mn={{#invoke:translit|tr|lang=mn|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tg={{#invoke:translit|tr|lang=tg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ar={{#invoke:translit/ar|transkribera|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->grc={{#invoke:translit|tr|lang=grc|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gem-uno={{#invoke:translit|tr|lang=gem-uno|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ang={{#invoke:translit|tr|lang=ang|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->non={{#invoke:translit|tr|lang=non|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->goh={{#invoke:translit|tr|lang=goh|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fda={{#invoke:translit|tr|lang=gmq-fda|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fsv={{#invoke:translit|tr|lang=gmq-fsv|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->got={{#invoke:translit|tr|lang=got|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ovd={{#invoke:translit|tr|lang=runr|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ka={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sva={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->lzz={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->xmf={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hy={{#invoke:translit|tr|lang=hy|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->yi={{#invoke:translit|tr|lang=yi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->am={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ti={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tig={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gez={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->byn={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hi={{#invoke:translit|tr|lang=hi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->fa={{#invoke:translit|tr|lang=fa-ira|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->#default='''FEL i mall "{<nowiki>{tr}</nowiki>}" : språkkod "{{{1|??}}}" stöds ej'''<!--
-->}}<!--endswitch--></includeonly><noinclude>
== Syfte ==
Denna mall transkriberar vissa språk till det latinska alfabetet. Det råder delade meningar om ”transkribering” eller ”translitterering” är det lämpligaste ordet för att beskriva vad den gör. Den omvandlar i vart fall text från källspråket till latinska bokstäver på ett sätt som varken entydigt beskriver vilka bokstäver originalspråket bestod av, eller som utgör en komplett guide till uttalet av ordet.
== Språk som stöds ==
=== Språk som skrivs med kyrilliska alfabetet ===
För ryska, belarusiska/vitryska, bulgariska och ukrainska följer mallen det särskilda svenska systemet som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
För jakutiska, kazakiska, kirgiziska och mongoliska bygger translittereringen också på de rysk-svenska principerna, med särskilda regler för respektive språks extra bokstäver.
* ryska [ru]
* belarusiska/vitryska [be]
* bulgariska [bg]
* ukrainska [uk]
––
* jakutiska [sah]
* kazakiska [kk]
* kirgiziska [ky]
* mongoliska [mn]
=== Språk som skrivs med geez-skrift ===
Följande språk som skrivs med det etiopiska alfabetet (ge'ez-skrift) har också fått stöd:
* amhariska [am]
* tigrinska [ti]
* tigre [tig]
* ge'ez [gez]
* blin [byn]
=== Språk som skrivs med runor ===
* fornsvenska [gmq-fsv]
* forndanska [gmq-fda]
* fornnordiska [non]
* urnordiska [gem-uno]
* fornhögtyska [goh]
* fornengelska [ang]
===Övriga språk===
* jiddisch [yi]
* armeniska [hy]
* georgiska [ka]
* svanetiska [sva]
===På experimentstadiet===
På experimentstadiet hanterar mallen även:
* arabiska [ar]
* klassisk grekiska [grc]
* gotiska [got]
* hindi [hi]
På längre sikt är ambitionen att mallen även ska kunna transkribera andra språk.
==Parametrar==
Mallen har två anonyma parametrar. Den första parametern, som är obligatorisk, är språkkoden. Som standard transkriberas ordet i sidtiteln, men detta kan ändras genom att ange ordet i den andra parametern. Exempelvis behöver ryska accentuerade ord anges uttryckligen som andra parameter.
==Några språkspecifika saker att beakta==
;Ryska [ru]
Mallen strävar efter att följa det system som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
En vanlig fallgrop är att bokstaven ё ofta utelämnas i skriven ryska när sammanhanget gör uttalet uppenbart. Till exempel stavas Пётр ofta Пeтр. Mallen hanterar bara bokstaven korrekt när den finns med. Пeтр som indata blir alltså ''Petr'' i stället för ''Pjotr''.
Mallen kan hantera indata med eller utan accenttecken. Normalfallet på Wiktionary är det senare. För att underlätta för användarna accentueras ё automatiskt i flerstavig text. Горбачёв blir därför ''Gorbatjóv'', inte ''Gorbatjov''.
Detta sätt är specifikt för transkribering till svenska. Transkribering till andra språk sker enligt andra mönster. Горбачёв ska exempelvis bli ''Gorbatjóv'' på svenska, men kan återges som ''Gorbachev'', ''Gorbatschow'', ''Gorbatchev'' eller ''Gorbatsjov'' på andra språk.
;Kazakiska [kk]
Kazakisk translitterering följer de rysk-svenska principerna, med särskilda återgivningar för nio extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ғ ғ || gh
|-
| Ә ә || ä
|-
| І і || i (kort, till skillnad från И и)
|-
| Қ қ || q
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|-
| Ұ ұ || u (kort, till skillnad från У у)
|-
| Һ һ || h
|}
Bokstavskombinationen ау skrivs ''au'', inte ''aw''.
På engelska och franska kan prickarna i vissa translittereringar saknas. Ryska texter återger ofta de kazakiska specialbokstäverna med närliggande ryska bokstäver. Därför kan ett personnamn få en annan form om en engelsk eller fransk text har utgått från en rysk källa. Ett exempel är politikern Bolat Äbilov, som kan förekomma som ''Bulat Abilov'' eller ''Boulat Abilov'' när formen bygger på ryska, i stället för den kazakiska namnformen.
Flera orter i Kazakstan har bytt namn. Se vidare under ”Namnbyten, Kazakstan” och ”Exonymer, Kazakstan”. Kazakiska hanteras tills vidare med kyrillisk skrift.
;Kirgiziska [ky]
Kirgizisk translitterering följer de rysk-svenska principerna. Kirgiziskan har tre extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|}
Exempel på skillnader mellan svensk och annan translitterering är politikern Kurmanbek Bakijev (engelska ''Bakiev'') och politikern Feliks Kulov (engelska ''Felix Kulov''). Se även ”Exonymer, Kirgizistan”.
;Jakutiska [sah]
Jakutisk translitterering följer de rysk-svenska principerna för bokstäver som är gemensamma med ryskan. Jakutiskans egna bokstäver återges särskilt. Mallen återger bland annat Ҕ ҕ, Ҥ ҥ, Ө ө, Һ һ och Ү ү med jakutiska specialformer. Även digraferna Дь дь och Нь нь förekommer i det jakutiska alfabetet.
;Klassisk grekiska [grc]
Mallen strävar efter att följa det system som används av [https://www.loc.gov/catdir/cpso/romanization/greek.pdf Library of Congress], med en viktig avvikelse. Bokstaven φ blir ''f'' (inte ''ph''), eftersom det är mycket vanligare att göra så på svenska. Vi talar om ”Aristo'''f'''anes”, inte ”Aristo'''ph'''anes”, och våra låneord skrivs ”'''f'''onetik”, inte ”'''ph'''onetics”. Det kan diskuteras hur lämpligt detta är. De gamla grekerna uttalade förmodligen φ som ett aspirerat ''p'' (alltså mer likt det svenska ordet ”peta” än ”feta”). Trots det är ''f'' det vanligaste sättet att skriva φ på i svensk text. Denna mall följer den konventionen.
;Jiddisch [yi]
Mallen transkriberar jiddisch enligt den internationella standarden som används av [[w:YIVO|YIVO]] (Yidisher Visnshaftlekher Institut).
Jiddisch skrivs med det hebreiska alfabetet men följer i normalfallet en fonetisk stavning. Detta innebär att de flesta ord kan transkriberas mekaniskt till latinska bokstäver.
En mindre del av jiddischens ordförråd består av hebreiska och arameiska lånord, så kallade ''loshn-koydesh''-ord. Dessa följer den hebreiska stavningen, som inte direkt motsvarar uttalet, i synnerhet inte på det sätt som jiddisch använder det hebreiska alfabetet. För dessa ord behöver translittereringen anges manuellt i artikeln.
== Exempel och självtest ==
<pre>{{tr}}</pre>
{{tr}}
----
<pre>{{tr|ru|Пётр Ильи́ч Чайко́вский}}</pre>
{{tr|ru|Пётр Ильи́ч Чайко́вский}}
----
<pre>{{tr|ru|Горбачёв}}</pre>
{{tr|ru|Горбачёв}}
----
<pre>{{tr|ru|ёж}}</pre>
{{tr|ru|ёж}}
----
<pre>{{tr|ru|ёлка}}</pre>
{{tr|ru|ёлка}}
----
<pre>{{tr|bg|Жельо}}</pre>
{{tr|bg|Жельо}}
----
<pre>{{tr|uk|Запоріжжя}}</pre>
{{tr|uk|Запоріжжя}}
----
<pre>{{tr|kk|Қазақстан}}</pre>
{{tr|kk|Қазақстан}}
----
<pre>{{tr|ky|Кыргызстан}}</pre>
{{tr|ky|Кыргызстан}}
----
<pre>{{tr|sah|Лүксембург}}</pre>
{{tr|sah|Лүксембург}}
----
<pre>{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}</pre>
{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}
----
<pre>{{tr|yi|ייִדיש}}</pre>
{{tr|yi|ייִדיש}}
----
<pre>{{tr|ti|መሃዚ}}</pre>
{{tr|ti|መሃዚ}}
----
<pre>{{tr|am|መንግሥት}}</pre>
{{tr|am|መንግሥት}}
----
<pre>{{tr|hi|अंकारा}}</pre>
{{tr|hi|अंकारा}}
== Behövda moduler ==
* {{modul|translit}}
* {{modul|translit/ru}}
* {{modul|translit/be}}
* {{modul|translit/bg}}
* {{modul|translit/uk}}
* {{modul|translit/sah}}
* {{modul|translit/kk}}
* {{modul|translit/ky}}
* {{modul|translit/mn}}
* {{modul|translit/tg}}
* {{modul|translit/ar}}
* {{modul|translit/grc}}
* {{modul|translit/runr}}
* {{modul|translit/got}}
* {{modul|translit/hy}}
* {{modul|translit/geor}}
* {{modul|translit/hi}}
* {{modul|translit/yi}}
* {{modul|translit/geez}}
* {{modul|queue}}
[[Kategori:Wiktionary:Mallar]]
</noinclude>
6qsxf11rndhkrpl3b3vpin75o63flqj
4155625
4155624
2026-10-14T21:05:06Z
Frodlekis
762
4155625
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:<!--o-->{{{1}}}<!--
-->|<!--o-->ru={{#invoke:translit|tr|lang=ru|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->be={{#invoke:translit|tr|lang=be|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->bg={{#invoke:translit|tr|lang=bg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->uk={{#invoke:translit|tr|lang=uk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sah={{#invoke:translit|tr|lang=sah|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->kk={{#invoke:translit|tr|lang=kk|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ky={{#invoke:translit|tr|lang=ky|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->mn={{#invoke:translit|tr|lang=mn|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tg={{#invoke:translit|tr|lang=tg|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ar={{#invoke:translit/ar|transkribera|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->grc={{#invoke:translit|tr|lang=grc|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gem-uno={{#invoke:translit|tr|lang=gem-uno|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ang={{#invoke:translit|tr|lang=ang|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->non={{#invoke:translit|tr|lang=non|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->goh={{#invoke:translit|tr|lang=goh|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fda={{#invoke:translit|tr|lang=gmq-fda|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gmq-fsv={{#invoke:translit|tr|lang=gmq-fsv|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->got={{#invoke:translit|tr|lang=got|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ovd={{#invoke:translit|tr|lang=runr|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ka={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->sva={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->lzz={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->xmf={{#invoke:translit|tr|lang=geor|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hy={{#invoke:translit|tr|lang=hy|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->yi={{#invoke:translit|tr|lang=yi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->am={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->ti={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->tig={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->gez={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->byn={{#invoke:translit|tr|lang=geez|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->hi={{#invoke:translit|tr|lang=hi|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->fa={{#invoke:translit|tr|lang=fa-ira|text={{{2|{{PAGENAME}}}}}}}<!--
-->|<!--o-->#default='''FEL i mall "{<nowiki>{tr}</nowiki>}" : språkkod "{{{1|??}}}" stöds ej'''<!--
-->}}<!--endswitch--></includeonly><noinclude>
== Syfte ==
Denna mall transkriberar vissa språk till det latinska alfabetet. Det råder delade meningar om ”transkribering” eller ”translitterering” är det lämpligaste ordet för att beskriva vad den gör. Den omvandlar i vart fall text från källspråket till latinska bokstäver på ett sätt som varken entydigt beskriver vilka bokstäver originalspråket bestod av, eller som utgör en komplett guide till uttalet av ordet.
== Språk som stöds ==
=== Språk som skrivs med kyrilliska alfabetet ===
För ryska, belarusiska/vitryska, bulgariska och ukrainska följer mallen det särskilda svenska systemet som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
För jakutiska, kazakiska, kirgiziska och mongoliska bygger translittereringen också på de rysk-svenska principerna, med särskilda regler för respektive språks extra bokstäver.
* ryska [ru]
* belarusiska/vitryska [be]
* bulgariska [bg]
* ukrainska [uk]
––
* jakutiska [sah]
* kazakiska [kk]
* kirgiziska [ky]
* mongoliska [mn]
=== Språk som skrivs med geez-skrift ===
Följande språk som skrivs med det etiopiska alfabetet (ge'ez-skrift) har också fått stöd:
* amhariska [am]
* tigrinska [ti]
* tigre [tig]
* ge'ez [gez]
* blin [byn]
=== Språk som skrivs med runor ===
* fornsvenska [gmq-fsv]
* forndanska [gmq-fda]
* fornnordiska [non]
* urnordiska [gem-uno]
* fornhögtyska [goh]
* fornengelska [ang]
===Övriga språk===
* jiddisch [yi]
* armeniska [hy]
* georgiska [ka]
** även svanetiska [sva], lagiska [lzz], megreliska [xmf]
===På experimentstadiet===
På experimentstadiet hanterar mallen även:
* arabiska [ar]
* klassisk grekiska [grc]
* gotiska [got]
* hindi [hi]
På längre sikt är ambitionen att mallen även ska kunna transkribera andra språk.
==Parametrar==
Mallen har två anonyma parametrar. Den första parametern, som är obligatorisk, är språkkoden. Som standard transkriberas ordet i sidtiteln, men detta kan ändras genom att ange ordet i den andra parametern. Exempelvis behöver ryska accentuerade ord anges uttryckligen som andra parameter.
==Några språkspecifika saker att beakta==
;Ryska [ru]
Mallen strävar efter att följa det system som beskrivs i [https://www.isof.se/download/18.648bef4b18093ee2f03ee80/1652364347434/Kyrillisk%20tabell%20SS2017.pdf Svenska skrivregler].
En vanlig fallgrop är att bokstaven ё ofta utelämnas i skriven ryska när sammanhanget gör uttalet uppenbart. Till exempel stavas Пётр ofta Пeтр. Mallen hanterar bara bokstaven korrekt när den finns med. Пeтр som indata blir alltså ''Petr'' i stället för ''Pjotr''.
Mallen kan hantera indata med eller utan accenttecken. Normalfallet på Wiktionary är det senare. För att underlätta för användarna accentueras ё automatiskt i flerstavig text. Горбачёв blir därför ''Gorbatjóv'', inte ''Gorbatjov''.
Detta sätt är specifikt för transkribering till svenska. Transkribering till andra språk sker enligt andra mönster. Горбачёв ska exempelvis bli ''Gorbatjóv'' på svenska, men kan återges som ''Gorbachev'', ''Gorbatschow'', ''Gorbatchev'' eller ''Gorbatsjov'' på andra språk.
;Kazakiska [kk]
Kazakisk translitterering följer de rysk-svenska principerna, med särskilda återgivningar för nio extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ғ ғ || gh
|-
| Ә ә || ä
|-
| І і || i (kort, till skillnad från И и)
|-
| Қ қ || q
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|-
| Ұ ұ || u (kort, till skillnad från У у)
|-
| Һ һ || h
|}
Bokstavskombinationen ау skrivs ''au'', inte ''aw''.
På engelska och franska kan prickarna i vissa translittereringar saknas. Ryska texter återger ofta de kazakiska specialbokstäverna med närliggande ryska bokstäver. Därför kan ett personnamn få en annan form om en engelsk eller fransk text har utgått från en rysk källa. Ett exempel är politikern Bolat Äbilov, som kan förekomma som ''Bulat Abilov'' eller ''Boulat Abilov'' när formen bygger på ryska, i stället för den kazakiska namnformen.
Flera orter i Kazakstan har bytt namn. Se vidare under ”Namnbyten, Kazakstan” och ”Exonymer, Kazakstan”. Kazakiska hanteras tills vidare med kyrillisk skrift.
;Kirgiziska [ky]
Kirgizisk translitterering följer de rysk-svenska principerna. Kirgiziskan har tre extra bokstäver:
{| class="wikitable"
! Kyrilliska !! Translitterering
|-
| Ң ң || ng
|-
| Ө ө || ö
|-
| Ү ү || ü
|}
Exempel på skillnader mellan svensk och annan translitterering är politikern Kurmanbek Bakijev (engelska ''Bakiev'') och politikern Feliks Kulov (engelska ''Felix Kulov''). Se även ”Exonymer, Kirgizistan”.
;Jakutiska [sah]
Jakutisk translitterering följer de rysk-svenska principerna för bokstäver som är gemensamma med ryskan. Jakutiskans egna bokstäver återges särskilt. Mallen återger bland annat Ҕ ҕ, Ҥ ҥ, Ө ө, Һ һ och Ү ү med jakutiska specialformer. Även digraferna Дь дь och Нь нь förekommer i det jakutiska alfabetet.
;Klassisk grekiska [grc]
Mallen strävar efter att följa det system som används av [https://www.loc.gov/catdir/cpso/romanization/greek.pdf Library of Congress], med en viktig avvikelse. Bokstaven φ blir ''f'' (inte ''ph''), eftersom det är mycket vanligare att göra så på svenska. Vi talar om ”Aristo'''f'''anes”, inte ”Aristo'''ph'''anes”, och våra låneord skrivs ”'''f'''onetik”, inte ”'''ph'''onetics”. Det kan diskuteras hur lämpligt detta är. De gamla grekerna uttalade förmodligen φ som ett aspirerat ''p'' (alltså mer likt det svenska ordet ”peta” än ”feta”). Trots det är ''f'' det vanligaste sättet att skriva φ på i svensk text. Denna mall följer den konventionen.
;Jiddisch [yi]
Mallen transkriberar jiddisch enligt den internationella standarden som används av [[w:YIVO|YIVO]] (Yidisher Visnshaftlekher Institut).
Jiddisch skrivs med det hebreiska alfabetet men följer i normalfallet en fonetisk stavning. Detta innebär att de flesta ord kan transkriberas mekaniskt till latinska bokstäver.
En mindre del av jiddischens ordförråd består av hebreiska och arameiska lånord, så kallade ''loshn-koydesh''-ord. Dessa följer den hebreiska stavningen, som inte direkt motsvarar uttalet, i synnerhet inte på det sätt som jiddisch använder det hebreiska alfabetet. För dessa ord behöver translittereringen anges manuellt i artikeln.
== Exempel och självtest ==
<pre>{{tr}}</pre>
{{tr}}
----
<pre>{{tr|ru|Пётр Ильи́ч Чайко́вский}}</pre>
{{tr|ru|Пётр Ильи́ч Чайко́вский}}
----
<pre>{{tr|ru|Горбачёв}}</pre>
{{tr|ru|Горбачёв}}
----
<pre>{{tr|ru|ёж}}</pre>
{{tr|ru|ёж}}
----
<pre>{{tr|ru|ёлка}}</pre>
{{tr|ru|ёлка}}
----
<pre>{{tr|bg|Жельо}}</pre>
{{tr|bg|Жельо}}
----
<pre>{{tr|uk|Запоріжжя}}</pre>
{{tr|uk|Запоріжжя}}
----
<pre>{{tr|kk|Қазақстан}}</pre>
{{tr|kk|Қазақстан}}
----
<pre>{{tr|ky|Кыргызстан}}</pre>
{{tr|ky|Кыргызстан}}
----
<pre>{{tr|sah|Лүксембург}}</pre>
{{tr|sah|Лүксембург}}
----
<pre>{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}</pre>
{{tr|got|𐌰𐌽𐌰𐍃𐍄𐍉𐌳𐌴𐌹𐌽𐌹𐌻𐌰𐌿𐍆𐍃}}
----
<pre>{{tr|yi|ייִדיש}}</pre>
{{tr|yi|ייִדיש}}
----
<pre>{{tr|ti|መሃዚ}}</pre>
{{tr|ti|መሃዚ}}
----
<pre>{{tr|am|መንግሥት}}</pre>
{{tr|am|መንግሥት}}
----
<pre>{{tr|hi|अंकारा}}</pre>
{{tr|hi|अंकारा}}
== Behövda moduler ==
* {{modul|translit}}
* {{modul|translit/ru}}
* {{modul|translit/be}}
* {{modul|translit/bg}}
* {{modul|translit/uk}}
* {{modul|translit/sah}}
* {{modul|translit/kk}}
* {{modul|translit/ky}}
* {{modul|translit/mn}}
* {{modul|translit/tg}}
* {{modul|translit/ar}}
* {{modul|translit/grc}}
* {{modul|translit/runr}}
* {{modul|translit/got}}
* {{modul|translit/hy}}
* {{modul|translit/geor}}
* {{modul|translit/hi}}
* {{modul|translit/yi}}
* {{modul|translit/geez}}
* {{modul|queue}}
[[Kategori:Wiktionary:Mallar]]
</noinclude>
e6trhqp9ex301reytm744xn8droi8yj
Modul:translit
828
928924
4155620
4155542
2026-10-14T20:53:43Z
Frodlekis
762
4155620
Scribunto
text/plain
-- Denna modul fungerar som ett "paraply" för mer specifika
-- transkriberingsmoduler. Dessa har alla namn av formatet
-- "Modul:translit/[språkkod]".
--
-- Syftet med modulen är att kunna åberopas av mallen {{tr}}
-- samt eventuellt av andra moduler.
local export = {}
local working_lang = {
["ru"] = true,
["be"] = true,
["bg"] = true,
["uk"] = true,
["kk"] = true,
["ky"] = true,
["sah"] = true,
["mn"] = true,
["tg"] = true,
["grc"] = true,
["got"] = true,
["gem-uno"] = true,
["goh"] = true,
["ang"] = true,
["non"] = true,
["gmq-fda"] = true,
["gmq-fsv"] = true,
["hy"] = true,
["geor"] = true,
["hi"] = true,
["yi"] = true,
["geez"] = true,
-- ["fa-ira"] = true,
-- ["ar"] = true,
}
function export.available_lang(lang)
return working_lang[lang] == true
end
function export.tr(argument)
local langcode = argument.args["lang"]
local text = argument.args["text"]
if not export.available_lang(langcode) then
return ""
end
local runr_lang = {
["gem-uno"] = true,
["goh"] = true,
["ang"] = true,
["non"] = true,
["gmq-fda"] = true,
["gmq-fsv"] = true,
}
local module_name
if runr_lang[langcode] then
module_name = "Modul:translit/runr"
else
module_name = "Modul:translit/" .. langcode
end
local tr_modul = require(module_name)
local result = tr_modul.tr(text, langcode)
if runr_lang[langcode] then
local lang = require("Modul:lang")
local language_name = lang.getLanguageUCFirst(langcode)
if language_name ~= "okänt språk" then
result = result .. "[[Kategori:" .. language_name .. "/Runskrift]]"
end
end
return result
end
return export
3v9aktelktqmyoxj0yq8bdlhzxs6hrz
aborî
0
976799
4155608
3938537
2026-10-14T19:58:18Z
Frodlekis
762
/* Kurdiska */
4155608
wikitext
text/x-wiki
==Nordkurdiska==
===Substantiv===
{{kmr-subst-f}}
'''aborî''' {{f}}
#{{tagg|kat=ekonomi|språk=kmr}} [[ekonomi]]
#[[tillvaro]], [[levnad]], [[existens]]
===Adjektiv===
{{adj|kmr}}
'''aborî'''
#{{tagg|kat=ekonomi|språk=kmr}} [[finansiell]], [[ekonomisk]]
o7daalrcz9pm00wbdmkzo0hriinj5xw
Användardiskussion:Tapio Toola
3
1070928
4155617
4144186
2026-10-14T20:37:22Z
Frodlekis
762
/* Turkiska substantiv */ nytt avsnitt
4155617
wikitext
text/x-wiki
== 12332 ==
historik [[Special:Bidrag/~2026-28142-56|~2026-28142-56]] ([[Användardiskussion:~2026-28142-56|diskussion]]) 10 maj 2026 kl. 15.55 (CEST)
== Turkiska substantiv ==
Hej Tapio! Tack för alla dina bidrag med översättningar. Jag ville bara tipsa dig om att jag har uppdaterat två mallar för turkiska substantiv på Wiktionary: en för ord som slutar på konsonant och en för ord som slutar på vokal. Om du någon gång skulle vilja skapa egna uppslag för turkiska ord kan du använda mallarna för att automatiskt visa böjningen. Böjningsformerna blir dessutom grönlänkade, så att du enkelt kan skapa nya uppslag för dem med ett klick. Tänkte att det kanske kunde vara intressant för dig! ᛫⟣[[Användare:Frodlekis|Frodlekis]]⟣᛫ ([[Användardiskussion:Frodlekis|✍]]) 14 oktober 2026 kl. 22.37 (CEST)
098it50xc1rzxrw1jlmei3hvoqcsl4s
Modul:tr-subst
828
1074266
4155616
4155214
2026-10-14T20:31:42Z
Frodlekis
762
4155616
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = {}
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function makeTableStart(columnCount, title, hasQualityNotice)
local rows = gt.getStart(columnCount, "tr", "subst", hasQualityNotice)
if columnCount == 3 then
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
end
return rows
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = possessorForms.singular[case.key]
local pluralForm = possessorForms.plural[case.key]
if possessorForms.singularVariant then
rows = rows .. "|-\n"
.. "!style=\"width:38%\"|" .. case.label .. "\n"
.. "|style=\"width:31%\"|" .. grammarLink(singularForm)
.. "<br />" .. grammarLink(possessorForms.singularVariant[case.key]) .. "\n"
.. "|style=\"width:31%\"|" .. grammarLink(pluralForm) .. "\n"
else
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', grammarLink(singularForm)},
{'|style="width:31%"', grammarLink(pluralForm)}
)
end
end
return rows
end
local function renderTable(lemma, args, forms)
local title = "Böjningar av ''[[" .. forms.lemma .. "#Turkiska|" .. forms.lemma .. "]]''"
local meanings = clean(args.betydelser)
if meanings then
title = title .. " " .. meanings
end
local factValue = clean(args.fakta)
local hasQualityNotice = factValue ~= nil and factValue ~= "X"
-- The table start retains tr/subst metadata; leave cell links unanchored so
-- green_links.js can add its preload parameters to the target URL.
gt.setLanguage("")
local rows = makeTableStart(3, title, hasQualityNotice)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local possessiveTableStart = gt.getStart(3, "tr", "subst", false)
possessiveTableStart = possessiveTableStart:gsub("^{|", '{| style="width:100%"', 1)
local possessiveSection = {
'\n|-\n| colspan="3" | <div class="NavFrame collapsed" style="width:100%"><div class="NavHead">Possessiva former</div><div class="NavContent">\n',
possessiveTableStart,
}
for _, possessor in ipairs(possessors) do
table.insert(possessiveSection, renderPossessorTable(possessor, forms))
end
table.insert(possessiveSection, "|}\n</div></div>")
return rows .. table.concat(possessiveSection, "\n") .. "\n|}"
end
function export.getWikitext(frame)
local args = {}
for key, value in pairs(frame:getParent().args) do
args[key] = value
end
for key, value in pairs(frame.args) do
args[key] = value
end
local lemma = clean(args.lemma) or clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(lemma, args)
if not forms then
return '<strong class="error">' .. err .. "</strong>"
end
return renderTable(lemma, args, forms)
end
-- Unit tests call this function and compare its structured forms with expected data.
function export.test(lemma, args)
args = args or {}
local copiedArgs = {}
for key, value in pairs(args) do
copiedArgs[key] = value
end
copiedArgs.grundform = clean(copiedArgs.grundform) or lemma
local forms, err = makeForms(lemma, copiedArgs)
if not forms then
return {error = err}
end
return forms
end
return export
9rll6i8yk9tgha2iis66tgrx018jwqx
4155737
4155616
2026-10-15T00:02:11Z
Frodlekis
762
4155737
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = {}
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function makeTableStart(columnCount, title, hasQualityNotice)
local rows = gt.getStart(columnCount, "tr", "subst", hasQualityNotice)
if columnCount == 3 then
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
end
return rows
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = possessorForms.singular[case.key]
local pluralForm = possessorForms.plural[case.key]
if possessorForms.singularVariant then
rows = rows .. "|-\n"
.. "!style=\"width:38%\"|" .. case.label .. "\n"
.. "|style=\"width:31%\"|" .. grammarLink(singularForm)
.. "<br />" .. grammarLink(possessorForms.singularVariant[case.key]) .. "\n"
.. "|style=\"width:31%\"|" .. grammarLink(pluralForm) .. "\n"
else
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', grammarLink(singularForm)},
{'|style="width:31%"', grammarLink(pluralForm)}
)
end
end
return rows
end
local function renderTable(lemma, args, forms, frame)
local title = "Böjningar av ''[[" .. forms.lemma .. "#Turkiska|" .. forms.lemma .. "]]''"
local meanings = clean(args.betydelser)
if meanings then
title = title .. " " .. meanings
end
local factValue = clean(args.fakta)
local hasQualityNotice = factValue ~= nil and factValue ~= "X"
-- The table start retains tr/subst metadata; leave cell links unanchored so
-- green_links.js can add its preload parameters to the target URL.
gt.setLanguage("")
local rows = makeTableStart(3, title, hasQualityNotice)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = "3",
[2] = "X",
[3] = "tr-subst",
[4] = "Possessiva former",
lang = "tr",
h3 = "subst",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {[1] = "3", [2] = "", [3] = ""},
}
return rows .. "\n|}\n" .. hiddenStart .. table.concat(possessiveRows, "\n") .. hiddenEnd
end
function export.getWikitext(frame)
local args = {}
for key, value in pairs(frame:getParent().args) do
args[key] = value
end
for key, value in pairs(frame.args) do
args[key] = value
end
local lemma = clean(args.lemma) or clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(lemma, args)
if not forms then
return '<strong class="error">' .. err .. "</strong>"
end
return renderTable(lemma, args, forms, frame)
end
-- Unit tests call this function and compare its structured forms with expected data.
function export.test(lemma, args)
args = args or {}
local copiedArgs = {}
for key, value in pairs(args) do
copiedArgs[key] = value
end
copiedArgs.grundform = clean(copiedArgs.grundform) or lemma
local forms, err = makeForms(lemma, copiedArgs)
if not forms then
return {error = err}
end
return forms
end
return export
akrkai7kja2yrrskbkmyse8g0ae4jex
4155738
4155737
2026-10-15T00:06:27Z
Frodlekis
762
4155738
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = {}
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function makeTableStart(columnCount, title, hasQualityNotice)
local rows = gt.getStart(columnCount, "tr", "subst", hasQualityNotice)
if columnCount == 3 then
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
end
return rows
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorGroup(title, firstIndex, forms)
local first = possessors[firstIndex]
local second = possessors[firstIndex + 1]
local third = possessors[firstIndex + 2]
local rows = gt.getRow(
{'!class="main min" colspan="4"', "''" .. title .. "''"}
)
rows = rows .. gt.getRow(
{'!style="width:25%"', "Kasus<br /><small>sing. / plur.</small>"},
{'!style="width:25%"', "''" .. first.label .. "''"},
{'!style="width:25%"', "''" .. second.label .. "''"},
{'!style="width:25%"', "''" .. third.label .. "''"}
)
for _, case in ipairs(caseLabels) do
local cells = {{'!', case.label}}
for _, possessor in ipairs({first, second, third}) do
local possessorForms = forms.possessive[possessor.id]
local value = "<small>sing.</small> " .. grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
value = value .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
value = value .. "<br /><small>plur.</small> " .. grammarLink(possessorForms.plural[case.key])
table.insert(cells, value)
end
rows = rows .. gt.getRow(unpack(cells))
end
return rows
end
local function renderTable(lemma, args, forms, frame)
local title = "Böjningar av ''[[" .. forms.lemma .. "#Turkiska|" .. forms.lemma .. "]]''"
local meanings = clean(args.betydelser)
if meanings then
title = title .. " " .. meanings
end
local factValue = clean(args.fakta)
local hasQualityNotice = factValue ~= nil and factValue ~= "X"
-- The table start retains tr/subst metadata; leave cell links unanchored so
-- green_links.js can add its preload parameters to the target URL.
gt.setLanguage("")
local rows = makeTableStart(3, title, hasQualityNotice)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local possessiveRows = renderPossessorGroup("1:a–3:e person singular", 1, forms)
.. renderPossessorGroup("1:a–3:e person plural", 4, forms)
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = "4",
[2] = "X",
[3] = "tr-subst",
[4] = "Possessiva former",
lang = "tr",
h3 = "subst",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {[1] = "4", [2] = "", [3] = ""},
}
return rows .. "\n|}\n" .. hiddenStart .. possessiveRows .. hiddenEnd
end
function export.getWikitext(frame)
local args = {}
for key, value in pairs(frame:getParent().args) do
args[key] = value
end
for key, value in pairs(frame.args) do
args[key] = value
end
local lemma = clean(args.lemma) or clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(lemma, args)
if not forms then
return '<strong class="error">' .. err .. "</strong>"
end
return renderTable(lemma, args, forms, frame)
end
-- Unit tests call this function and compare its structured forms with expected data.
function export.test(lemma, args)
args = args or {}
local copiedArgs = {}
for key, value in pairs(args) do
copiedArgs[key] = value
end
copiedArgs.grundform = clean(copiedArgs.grundform) or lemma
local forms, err = makeForms(lemma, copiedArgs)
if not forms then
return {error = err}
end
return forms
end
return export
jgmlczrzsv8ukn44xu304igkouz1833
4155739
4155738
2026-10-15T00:07:20Z
Frodlekis
762
Ogjorde revision [[Special:Diff/4155738|4155738]] av [[Special:Contributions/Frodlekis|Frodlekis]] ([[User talk:Frodlekis|diskussion]])
4155739
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = {}
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function makeTableStart(columnCount, title, hasQualityNotice)
local rows = gt.getStart(columnCount, "tr", "subst", hasQualityNotice)
if columnCount == 3 then
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
end
return rows
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = possessorForms.singular[case.key]
local pluralForm = possessorForms.plural[case.key]
if possessorForms.singularVariant then
rows = rows .. "|-\n"
.. "!style=\"width:38%\"|" .. case.label .. "\n"
.. "|style=\"width:31%\"|" .. grammarLink(singularForm)
.. "<br />" .. grammarLink(possessorForms.singularVariant[case.key]) .. "\n"
.. "|style=\"width:31%\"|" .. grammarLink(pluralForm) .. "\n"
else
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', grammarLink(singularForm)},
{'|style="width:31%"', grammarLink(pluralForm)}
)
end
end
return rows
end
local function renderTable(lemma, args, forms, frame)
local title = "Böjningar av ''[[" .. forms.lemma .. "#Turkiska|" .. forms.lemma .. "]]''"
local meanings = clean(args.betydelser)
if meanings then
title = title .. " " .. meanings
end
local factValue = clean(args.fakta)
local hasQualityNotice = factValue ~= nil and factValue ~= "X"
-- The table start retains tr/subst metadata; leave cell links unanchored so
-- green_links.js can add its preload parameters to the target URL.
gt.setLanguage("")
local rows = makeTableStart(3, title, hasQualityNotice)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = "3",
[2] = "X",
[3] = "tr-subst",
[4] = "Possessiva former",
lang = "tr",
h3 = "subst",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {[1] = "3", [2] = "", [3] = ""},
}
return rows .. "\n|}\n" .. hiddenStart .. table.concat(possessiveRows, "\n") .. hiddenEnd
end
function export.getWikitext(frame)
local args = {}
for key, value in pairs(frame:getParent().args) do
args[key] = value
end
for key, value in pairs(frame.args) do
args[key] = value
end
local lemma = clean(args.lemma) or clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(lemma, args)
if not forms then
return '<strong class="error">' .. err .. "</strong>"
end
return renderTable(lemma, args, forms, frame)
end
-- Unit tests call this function and compare its structured forms with expected data.
function export.test(lemma, args)
args = args or {}
local copiedArgs = {}
for key, value in pairs(args) do
copiedArgs[key] = value
end
copiedArgs.grundform = clean(copiedArgs.grundform) or lemma
local forms, err = makeForms(lemma, copiedArgs)
if not forms then
return {error = err}
end
return forms
end
return export
akrkai7kja2yrrskbkmyse8g0ae4jex
4155740
4155739
2026-10-15T00:16:11Z
Frodlekis
762
4155740
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
meta.templatename,
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
-- Keep the possessive paradigm in its own collapsible table inside the
-- main table. These two templates provide the standard hide/show wrapper.
local frame = mw.getCurrentFrame()
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = tostring(columnCount),
[2] = "X",
[3] = meta.templatename,
[4] = "Possessiva former",
lang = "tr",
h3 = "subst",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {[1] = tostring(columnCount), [2] = "", [3] = ""},
}
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
rows = rows .. "\n|-\n| colspan=\"3\" | " .. hiddenStart
.. table.concat(possessiveRows, "\n") .. hiddenEnd
return rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
end
function export._getCategories(_forms, _meta)
return ""
end
return export
jceef19g6kzan7bpncn0cfnm7pghui4
4155741
4155740
2026-10-15T00:17:27Z
Frodlekis
762
4155741
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
-- Keep the possessive paradigm in its own collapsible table inside the
-- main table. These two templates provide the standard hide/show wrapper.
local frame = mw.getCurrentFrame()
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = tostring(columnCount),
[2] = "X",
[3] = meta.templatename,
[4] = "Possessiva former",
lang = "tr",
h3 = "subst",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {[1] = tostring(columnCount), [2] = "", [3] = ""},
}
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
rows = rows .. "\n|-\n| colspan=\"3\" | " .. hiddenStart
.. table.concat(possessiveRows, "\n") .. hiddenEnd
return rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
end
function export._getCategories(_forms, _meta)
return ""
end
return export
ie1pr9amkdjllli2hvme5ce39si8czy
4155742
4155741
2026-10-15T00:18:50Z
Frodlekis
762
4155742
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
-- Keep the possessive paradigm in its own collapsible table inside the
-- main table. These two templates provide the standard hide/show wrapper.
local frame = mw.getCurrentFrame()
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = tostring(columnCount),
[2] = "X",
[3] = meta.templatename,
[4] = "Possessiva former",
lang = "tr",
h3 = "subst",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {[1] = tostring(columnCount), [2] = "", [3] = ""},
}
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
rows = rows .. "\n|-\n| colspan=\"3\" |\n" .. hiddenStart
.. "\n" .. table.concat(possessiveRows, "\n") .. "\n" .. hiddenEnd
return rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
end
function export._getCategories(_forms, _meta)
return ""
end
return export
7hvoslhvat9zbpw240o1u03cwpcz339
4155743
4155742
2026-10-15T00:25:15Z
Frodlekis
762
4155743
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
-- Follow the same in-table placement used by Mall:de-adj: an empty
-- spanning header cell, then the collapsible-section start template.
local frame = mw.getCurrentFrame()
local hiddenStart = frame:expandTemplate{
title = "grammatik-start-göm",
args = {
[1] = tostring(columnCount),
[2] = "X",
[3] = meta.templatename,
[4] = "Possessiva former",
},
}
local hiddenEnd = frame:expandTemplate{
title = "grammatik-slut-göm",
args = {
[1] = tostring(columnCount),
[2] = "<!--not-->",
[3] = "<!--förled-->",
},
}
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
rows = rows .. '\n|-\n!colspan="3"|\n'
.. hiddenStart .. "\n" .. table.concat(possessiveRows, "\n") .. "\n" .. hiddenEnd
return rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
end
function export._getCategories(_forms, _meta)
return ""
end
return export
nigwl2hcvzpe02yeooy60w4wla0q4zj
4155744
4155743
2026-10-15T00:26:59Z
Frodlekis
762
4155744
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
-- Follow the same in-table placement used by Mall:de-adj: an empty
-- spanning header cell, then the collapsible-section start template.
-- Keep these as template calls in the returned wikitext. Expanding the
-- templates here would parse their partial table markup before it is
-- joined to the surrounding grammar table, leaving the hide-frame open.
local hiddenStart = "{{grammatik-start-göm|" .. columnCount .. "|X|"
.. meta.templatename .. "|Possessiva former}}"
local hiddenEnd = "{{grammatik-slut-göm|" .. columnCount
.. "|<!--not-->|<!--förled-->}}"
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
rows = rows .. '\n|-\n!colspan="3"|\n'
.. hiddenStart .. "\n" .. table.concat(possessiveRows, "\n") .. "\n" .. hiddenEnd
return rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
end
function export._getCategories(_forms, _meta)
return ""
end
return export
r9aogawz0xlccjts148ku1jqvszks51
4155745
4155744
2026-10-15T00:28:26Z
Frodlekis
762
4155745
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
-- Follow the same in-table placement used by Mall:de-adj: an empty
-- spanning header cell, then the collapsible-section start template.
-- Leave the calls in wikitext until the complete outer table has been
-- assembled, then preprocess it all at once. Expanding either template
-- separately breaks the table/frame boundaries.
local hiddenStart = "{{grammatik-start-göm|" .. columnCount .. "|X|"
.. meta.templatename .. "|Possessiva former}}"
local hiddenEnd = "{{grammatik-slut-göm|" .. columnCount
.. "|<!--not-->|<!--förled-->}}"
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
rows = rows .. '\n|-\n!colspan="3"|\n'
.. hiddenStart .. "\n" .. table.concat(possessiveRows, "\n") .. "\n" .. hiddenEnd
rows = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
return mw.getCurrentFrame():preprocess(rows)
end
function export._getCategories(_forms, _meta)
return ""
end
return export
6b2y4yd9c8hy0w3csxeb9aay6sb1doe
4155747
4155745
2026-10-15T00:38:51Z
Frodlekis
762
4155747
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local vowelStemEndsInVowel = endsInVowel(vowelStem)
local pluralStem = root .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high,
dat = vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low,
loc = root .. locativeConsonant .. harmony.low,
abl = root .. locativeConsonant .. harmony.low .. "n",
gen = vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
local singularBases, pluralBases = makePossessiveBases(
vowelStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local mainTable = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
local hiddenRows = gt.getStart(
columnCount,
"tr",
"subst",
false,
meta.pagename,
meta.width
)
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
hiddenRows = hiddenRows .. table.concat(possessiveRows, "\n")
hiddenRows = hiddenRows .. gt.getEnd(columnCount)
local hiddenPanel = table.concat({
'{| class="NavFrameContainer grammar-hide"',
"|-",
'|<div class="NavFrame collapsed">',
'<div class="NavHead" style="text-align: center;">Possessiva former</div>',
'<div class="NavContent">',
hiddenRows,
"</div>",
"</div>",
"|}",
}, "\n")
return mainTable .. hiddenPanel
end
function export._getCategories(_forms, _meta)
return ""
end
local function getTemplateData(frame)
local templateFrame = frame:getParent()
local args = templateFrame.args
local pagename = clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(pagename, args)
return pagename, forms, err, args
end
function export.getMainRows(frame)
local pagename, forms, err, args = getTemplateData(frame)
gt.setLanguage("")
if err then
return gt.getRow({'!class="error" colspan="3"', err})
end
local title = "Böjningar av ''[[" .. pagename .. "#Turkiska|" .. pagename .. "]]''"
if clean(args.betydelser) then
title = title .. " " .. args.betydelser
end
local rows = gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
return rows
end
function export.getPossessiveRows(frame)
local _, forms, err = getTemplateData(frame)
gt.setLanguage("")
if err then
return ""
end
local rows = {}
for _, possessor in ipairs(possessors) do
table.insert(rows, renderPossessorTable(possessor, forms))
end
return table.concat(rows, "\n")
end
return export
a2l66pdxbvcluhx0a19ug9a5ww5fwuo
4155751
4155747
2026-10-15T00:57:27Z
Frodlekis
762
4155751
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local hasLexicalPossessive = args.poss == "1"
if hasLexicalPossessive and mw.ustring.sub(vowelStem, -1) ~= harmony.high then
return nil, "poss=1 kräver att uppslagsordet slutar på den harmoniska possessivvokalen."
end
local inflectionStem = hasLexicalPossessive and mw.ustring.sub(vowelStem, 1, -2) or vowelStem
local vowelStemEndsInVowel = endsInVowel(inflectionStem)
local pluralStem = inflectionStem .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = hasLexicalPossessive and (root .. "n" .. harmony.high)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high),
dat = hasLexicalPossessive and (root .. "n" .. harmony.low)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low),
loc = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low)
or (root .. locativeConsonant .. harmony.low),
abl = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low .. "n")
or (root .. locativeConsonant .. harmony.low .. "n"),
gen = hasLexicalPossessive and (root .. "n" .. harmony.high .. "n")
or (vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n"),
}
local pluralNominative = hasLexicalPossessive and (pluralStem .. harmony.high) or pluralStem
local plural = {
nom = pluralNominative,
acc = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high)
or (pluralStem .. pluralHarmony.high),
dat = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.low)
or (pluralStem .. pluralHarmony.low),
loc = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low)
or (pluralStem .. "d" .. pluralHarmony.low),
abl = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low .. "n")
or (pluralStem .. "d" .. pluralHarmony.low .. "n"),
gen = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high .. "n")
or (pluralStem .. pluralHarmony.high .. "n"),
}
local singularBases, pluralBases = makePossessiveBases(
inflectionStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam", "poss"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam", "poss"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local mainTable = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
local hiddenRows = gt.getStart(
columnCount,
"tr",
"subst",
false,
meta.pagename,
meta.width
)
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
hiddenRows = hiddenRows .. table.concat(possessiveRows, "\n")
hiddenRows = hiddenRows .. gt.getEnd(columnCount)
local hiddenPanel = table.concat({
'{| class="NavFrameContainer grammar-hide"',
"|-",
'|<div class="NavFrame collapsed">',
'<div class="NavHead" style="text-align: center;">Possessiva former</div>',
'<div class="NavContent">',
hiddenRows,
"</div>",
"</div>",
"|}",
}, "\n")
return mainTable .. hiddenPanel
end
function export._getCategories(_forms, _meta)
return ""
end
local function getTemplateData(frame)
local templateFrame = frame:getParent()
local args = templateFrame.args
local pagename = clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(pagename, args)
return pagename, forms, err, args
end
function export.getMainRows(frame)
local pagename, forms, err, args = getTemplateData(frame)
gt.setLanguage("")
if err then
return gt.getRow({'!class="error" colspan="3"', err})
end
local title = "Böjningar av ''[[" .. pagename .. "#Turkiska|" .. pagename .. "]]''"
if clean(args.betydelser) then
title = title .. " " .. args.betydelser
end
local rows = gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
return rows
end
function export.getPossessiveRows(frame)
local _, forms, err = getTemplateData(frame)
gt.setLanguage("")
if err then
return ""
end
local rows = {}
for _, possessor in ipairs(possessors) do
table.insert(rows, renderPossessorTable(possessor, forms))
end
return table.concat(rows, "\n")
end
return export
bfi1rbsgqtqqf1luc6kwzrff2cirf2t
4155760
4155751
2026-10-15T01:15:21Z
Frodlekis
762
4155760
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local export = {}
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{label = "benim (min)", person = 1, number = "s"},
{label = "senin (din)", person = 2, number = "s"},
{label = "onun (hans/hennes)", person = 3, number = "s"},
{label = "bizim (vår)", person = 1, number = "p"},
{label = "sizin (er)", person = 2, number = "p"},
{label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function makeTableStart(columnCount, title, hasQualityNotice, fullWidth)
local rows = gt.getStart(columnCount, "tr", "subst", hasQualityNotice)
if fullWidth then
rows = rows:gsub("^{|", '{| style="width:100%"', 1)
end
if columnCount == 3 then
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
end
return rows
end
local function row(label, singular, plural)
return gt.getRow({'!', label}, singular or "–", plural or "–")
end
local function makePossessiveForms(stem, pluralStem, singularHigh, pluralHigh, consonantStem)
local possessiveVowel = consonantStem and singularHigh or ""
local thirdSingular = stem .. (consonantStem and "" or "s") .. singularHigh
local singular = {
stem .. possessiveVowel .. "m",
stem .. possessiveVowel .. "n",
thirdSingular,
stem .. possessiveVowel .. "m" .. singularHigh .. "z",
stem .. possessiveVowel .. "n" .. singularHigh .. "z",
thirdSingular,
}
local plural = {
pluralStem .. pluralHigh .. "m",
pluralStem .. pluralHigh .. "n",
pluralStem .. pluralHigh,
pluralStem .. pluralHigh .. "m" .. pluralHigh .. "z",
pluralStem .. pluralHigh .. "n" .. pluralHigh .. "z",
pluralStem .. pluralHigh,
}
return singular, plural
end
local function applyCase(form, caseKey, person, high, low)
local thirdPerson = person == 3
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. (thirdPerson and "n" or "") .. high
elseif caseKey == "dat" then
return form .. (thirdPerson and "n" or "") .. low
elseif caseKey == "loc" then
return form .. (thirdPerson and "n" or "") .. "d" .. low
elseif caseKey == "abl" then
return form .. (thirdPerson and "n" or "") .. "d" .. low .. "n"
elseif caseKey == "gen" then
return form .. (thirdPerson and "n" or "") .. high .. "n"
end
return form
end
local function renderPossessorTable(possessor, singular, plural, singularHarmony, pluralHarmony)
local title = "''" .. possessor.label .. "''"
local rows = gt.getRow(
{'!class="main min" style="width:38%"', title},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
local index = possessor.person + (possessor.number == "p" and 3 or 0)
for _, case in ipairs(caseLabels) do
local singularForm = applyCase(
singular[index],
case.key,
possessor.person,
singularHarmony.high,
singularHarmony.low
)
local pluralForm = applyCase(
plural[index],
case.key,
possessor.person,
pluralHarmony.high,
pluralHarmony.low
)
-- Keep one form in each cell. For onların, singular possessums use
-- singular[index] (e.g. hayali); plural possessums use plural[index]
-- (e.g. hayalleri).
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', pluralForm}
)
end
return rows
end
local function renderTable(lemma, args)
local consonantStem = args.konsonant == "1" or args.typ == "c"
local stem = clean(args.rot) or clean(args.stam) or clean(args.stem) or clean(args.grundform) or lemma
local vowelArg = clean(args[1])
local vowel = vowelArg or mw.ustring.match(stem, "([aâeıiîoöuûü])$")
local harmony = vowel and vowels[vowel]
if not harmony then
return '<strong class="error">Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü).</strong>'
end
-- In consonant-final nouns, an optional stam= value gives the softened
-- stem used before vowel suffixes (e.g. kitap -> kitab). The nominative,
-- plural stem, locative and ablative still use the unmodified lemma.
local pluralBase = lemma
local pluralStem = pluralBase .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local title = "Böjningar av ''[[" .. lemma .. "#Turkiska|" .. lemma .. "]]''"
local meanings = clean(args.betydelser)
if meanings then
title = title .. " " .. meanings
end
local factValue = clean(args.fakta)
local hasQualityNotice = factValue ~= nil and factValue ~= "X"
-- Table metadata carries language and part of speech. Leave the cell-link
-- language unset so its URL has no #Turkiska fragment: green_links.js adds
-- the preload parameters after the URL fragment, which breaks prefilled edits.
gt.setLanguage("")
local locativeConsonant = "d"
if consonantStem then
locativeConsonant = clean(args[2])
if locativeConsonant ~= "d" and locativeConsonant ~= "t" then
local final = mw.ustring.sub(lemma, -1)
locativeConsonant = ({f=true,s=true,t=true,k=true,["ç"]=true,["ş"]=true,h=true,p=true})[final] and "t" or "d"
end
end
local rows = makeTableStart(3, title, hasQualityNotice)
local singular = {
nom = consonantStem and lemma or stem,
acc = stem .. (consonantStem and "" or "y") .. harmony.high,
dat = stem .. (consonantStem and "" or "y") .. harmony.low,
loc = (consonantStem and lemma or stem) .. locativeConsonant .. harmony.low,
abl = (consonantStem and lemma or stem) .. locativeConsonant .. harmony.low .. "n",
gen = stem .. (consonantStem and harmony.high or ("n" .. harmony.high)) .. "n",
}
local plural = {
nom = pluralStem,
acc = pluralStem .. pluralHarmony.high,
dat = pluralStem .. pluralHarmony.low,
loc = pluralStem .. "d" .. pluralHarmony.low,
abl = pluralStem .. "d" .. pluralHarmony.low .. "n",
gen = pluralStem .. pluralHarmony.high .. "n",
}
for _, case in ipairs(caseLabels) do
rows = rows .. row(
case.label,
singular[case.key],
plural[case.key]
)
end
local singularPoss, pluralPoss = makePossessiveForms(
stem, pluralStem, harmony.high, pluralHarmony.high, consonantStem
)
local possessiveTableStart = gt.getStart(3, "tr", "subst", false)
possessiveTableStart = possessiveTableStart:gsub("^{|", '{| style="width:100%"', 1)
local possessiveSection = {
'\n|-\n| colspan="3" | <div class="NavFrame collapsed" style="width:100%"><div class="NavHead">Possessiva former</div><div class="NavContent">\n',
possessiveTableStart
}
for _, possessor in ipairs(possessors) do
table.insert(possessiveSection, renderPossessorTable(
possessor,
singularPoss,
pluralPoss,
harmony,
pluralHarmony
))
end
table.insert(possessiveSection, "|}\n</div></div>")
return rows .. table.concat(possessiveSection, "\n") .. "\n|}"
end
function export.getWikitext(frame)
local args = {}
for key, value in pairs(frame:getParent().args) do
args[key] = value
end
for key, value in pairs(frame.args) do
args[key] = value
end
local lemma = clean(args.lemma) or clean(args.grundform) or mw.title.getCurrentTitle().text
return renderTable(lemma, args)
end
function export.test(lemma, args)
args = args or {}
args.grundform = args.grundform or lemma
return renderTable(lemma, args)
end
return export
t6hn5stm0w8h4za4eraxw04ne9yzcbh
4155761
4155760
2026-10-15T01:16:53Z
Frodlekis
762
4155761
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local hasLexicalPossessive = args.poss == "1"
if hasLexicalPossessive and mw.ustring.sub(vowelStem, -1) ~= harmony.high then
return nil, "poss=1 kräver att uppslagsordet slutar på den harmoniska possessivvokalen."
end
local inflectionStem = hasLexicalPossessive and mw.ustring.sub(vowelStem, 1, -2) or vowelStem
local vowelStemEndsInVowel = endsInVowel(inflectionStem)
local pluralBase = hasLexicalPossessive and inflectionStem or root
local pluralStem = pluralBase .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = hasLexicalPossessive and (root .. "n" .. harmony.high)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high),
dat = hasLexicalPossessive and (root .. "n" .. harmony.low)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low),
loc = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low)
or (root .. locativeConsonant .. harmony.low),
abl = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low .. "n")
or (root .. locativeConsonant .. harmony.low .. "n"),
gen = hasLexicalPossessive and (root .. "n" .. harmony.high .. "n")
or (vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n"),
}
local pluralNominative = hasLexicalPossessive and (pluralStem .. harmony.high) or pluralStem
local plural = {
nom = pluralNominative,
acc = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high)
or (pluralStem .. pluralHarmony.high),
dat = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.low)
or (pluralStem .. pluralHarmony.low),
loc = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low)
or (pluralStem .. "d" .. pluralHarmony.low),
abl = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low .. "n")
or (pluralStem .. "d" .. pluralHarmony.low .. "n"),
gen = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high .. "n")
or (pluralStem .. pluralHarmony.high .. "n"),
}
local singularBases, pluralBases = makePossessiveBases(
inflectionStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralPossessiveBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralPossessiveBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam", "poss"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam", "poss"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local mainTable = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
local hiddenRows = gt.getStart(
columnCount,
"tr",
"subst",
false,
meta.pagename,
meta.width
)
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
hiddenRows = hiddenRows .. table.concat(possessiveRows, "\n")
hiddenRows = hiddenRows .. gt.getEnd(columnCount)
local hiddenPanel = table.concat({
'{| class="NavFrameContainer grammar-hide"',
"|-",
'|<div class="NavFrame collapsed">',
'<div class="NavHead" style="text-align: center;">Possessiva former</div>',
'<div class="NavContent">',
hiddenRows,
"</div>",
"</div>",
"|}",
}, "\n")
return mainTable .. hiddenPanel
end
function export._getCategories(_forms, _meta)
return ""
end
local function getTemplateData(frame)
local templateFrame = frame:getParent()
local args = templateFrame.args
local pagename = clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(pagename, args)
return pagename, forms, err, args
end
function export.getMainRows(frame)
local pagename, forms, err, args = getTemplateData(frame)
gt.setLanguage("")
if err then
return gt.getRow({'!class="error" colspan="3"', err})
end
local title = "Böjningar av ''[[" .. pagename .. "#Turkiska|" .. pagename .. "]]''"
if clean(args.betydelser) then
title = title .. " " .. args.betydelser
end
local rows = gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
return rows
end
function export.getPossessiveRows(frame)
local _, forms, err = getTemplateData(frame)
gt.setLanguage("")
if err then
return ""
end
local rows = {}
for _, possessor in ipairs(possessors) do
table.insert(rows, renderPossessorTable(possessor, forms))
end
return table.concat(rows, "\n")
end
return export
0ppzhruc2wgu3zl8sr6v31syi5jaens
4155762
4155761
2026-10-15T01:20:52Z
Frodlekis
762
4155762
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local hasLexicalPossessive = args.poss == "1"
if hasLexicalPossessive and mw.ustring.sub(vowelStem, -1) ~= harmony.high then
return nil, "poss=1 kräver att uppslagsordet slutar på den harmoniska possessivvokalen."
end
local inflectionStem = hasLexicalPossessive and mw.ustring.sub(vowelStem, 1, -2) or vowelStem
local vowelStemEndsInVowel = endsInVowel(inflectionStem)
local pluralBase = hasLexicalPossessive and inflectionStem or root
local pluralStem = pluralBase .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = hasLexicalPossessive and (root .. "n" .. harmony.high)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high),
dat = hasLexicalPossessive and (root .. "n" .. harmony.low)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low),
loc = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low)
or (root .. locativeConsonant .. harmony.low),
abl = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low .. "n")
or (root .. locativeConsonant .. harmony.low .. "n"),
gen = hasLexicalPossessive and (root .. "n" .. harmony.high .. "n")
or (vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n"),
}
local pluralNominative = hasLexicalPossessive and (pluralStem .. harmony.high) or pluralStem
local plural = {
nom = pluralNominative,
acc = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high)
or (pluralStem .. pluralHarmony.high),
dat = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.low)
or (pluralStem .. pluralHarmony.low),
loc = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low)
or (pluralStem .. "d" .. pluralHarmony.low),
abl = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low .. "n")
or (pluralStem .. "d" .. pluralHarmony.low .. "n"),
gen = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high .. "n")
or (pluralStem .. pluralHarmony.high .. "n"),
}
local singularBases, pluralBases = makePossessiveBases(
inflectionStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralPossessiveBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralPossessiveBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam", "poss"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam", "poss"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local mainTable = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
local hiddenRows = gt.getStart(
columnCount,
"tr",
"subst",
false,
meta.pagename,
meta.width
)
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
hiddenRows = hiddenRows .. table.concat(possessiveRows, "\n")
hiddenRows = hiddenRows .. gt.getEnd(columnCount)
local hiddenPanel = table.concat({
'{| class="NavFrameContainer grammar-hide"',
"|-",
'|<div class="NavFrame collapsed">',
'<div class="NavHead" style="text-align: center;">Possessiva former</div>',
'<div class="NavContent">',
hiddenRows,
"</div>",
"</div>",
"|}",
}, "\n")
return mainTable .. hiddenPanel
end
function export._getCategories(_forms, _meta)
return ""
end
local function getTemplateData(frame)
local templateFrame = frame:getParent()
local args = {}
for key, value in pairs(templateFrame.args) do
args[key] = value
end
for key, value in pairs(frame.args) do
args[key] = value
end
local pagename = clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(pagename, args)
return pagename, forms, err, args
end
function export.getMainRows(frame)
local pagename, forms, err, args = getTemplateData(frame)
gt.setLanguage("")
if err then
return gt.getRow({'!class="error" colspan="3"', err})
end
local title = "Böjningar av ''[[" .. pagename .. "#Turkiska|" .. pagename .. "]]''"
if clean(args.betydelser) then
title = title .. " " .. args.betydelser
end
local rows = gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
return rows
end
function export.getPossessiveRows(frame)
local _, forms, err = getTemplateData(frame)
gt.setLanguage("")
if err then
return ""
end
local rows = {}
for _, possessor in ipairs(possessors) do
table.insert(rows, renderPossessorTable(possessor, forms))
end
return table.concat(rows, "\n")
end
return export
c3d3pg649ybp2cy3ogtsefz0vr7u26v
Modul:tr-subst/test
828
1074275
4155752
4155216
2026-10-15T00:58:38Z
Frodlekis
762
4155752
Scribunto
text/plain
local t = require("Modul:UnitTests")
local tr = require("Modul:tr-subst")
local function cases(nom, acc, dat, loc, abl, gen)
return {nom = nom, acc = acc, dat = dat, loc = loc, abl = abl, gen = gen}
end
local function possessive(singular, plural)
return {singular = singular, plural = plural}
end
function t:test01_hayal_complete_paradigm()
local forms = tr.test("hayal", "tr-subst-k|e|d", "export")
self:equals_deep("hayal singular", forms.singular,
cases("hayal", "hayali", "hayale", "hayalde", "hayalden", "hayalin"))
self:equals_deep("hayal plural", forms.plural,
cases("hayaller", "hayalleri", "hayallere", "hayallerde", "hayallerden", "hayallerin"))
local expectedPossessive = {
benim = possessive(
cases("hayalim", "hayalimi", "hayalime", "hayalimde", "hayalimden", "hayalimin"),
cases("hayallerim", "hayallerimi", "hayallerime", "hayallerimde", "hayallerimden", "hayallerimin")
),
senin = possessive(
cases("hayalin", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayallerin", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
onun = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
bizim = possessive(
cases("hayalimiz", "hayalimizi", "hayalimize", "hayalimizde", "hayalimizden", "hayalimizin"),
cases("hayallerimiz", "hayallerimizi", "hayallerimize", "hayallerimizde", "hayallerimizden", "hayallerimizin")
),
sizin = possessive(
cases("hayaliniz", "hayalinizi", "hayalinize", "hayalinizde", "hayalinizden", "hayalinizin"),
cases("hayalleriniz", "hayallerinizi", "hayallerinize", "hayallerinizde", "hayallerinizden", "hayallerinizin")
),
["onların"] = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
}
expectedPossessive["onların"].singularVariant =
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
self:equals_deep("hayal possessive paradigms", forms.possessive, expectedPossessive)
self:equals_deep("hayal onların singular variant", forms.possessive["onların"].singularVariant,
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin"))
end
function t:test02_dus_and_locative_defaults()
local forms = tr.test("düş", "tr-subst-k|ü", "export")
self:equals_deep("düş singular", forms.singular,
cases("düş", "düşü", "düşe", "düşte", "düşten", "düşün"))
self:equals_deep("düş plural", forms.plural,
cases("düşler", "düşleri", "düşlere", "düşlerde", "düşlerden", "düşlerin"))
self:equals_deep("düş benim singular", forms.possessive.benim.singular,
cases("düşüm", "düşümü", "düşüme", "düşümde", "düşümden", "düşümün"))
self:equals_deep("düş senin plural", forms.possessive.senin.plural,
cases("düşlerin", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
self:equals_deep("düş bizim plural", forms.possessive.bizim.plural,
cases("düşlerimiz", "düşlerimizi", "düşlerimize", "düşlerimizde", "düşlerimizden", "düşlerimizin"))
self:equals_deep("düş onların singular variant", forms.possessive["onların"].singularVariant,
cases("düşleri", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
end
function t:test03_vowel_final_ruya()
local forms = tr.test("rüya", "tr-subst-v|a", "export")
self:equals_deep("rüya singular", forms.singular,
cases("rüya", "rüyayı", "rüyaya", "rüyada", "rüyadan", "rüyanın"))
self:equals_deep("rüya plural", forms.plural,
cases("rüyalar", "rüyaları", "rüyalara", "rüyalarda", "rüyalardan", "rüyaların"))
self:equals_deep("rüya benim singular", forms.possessive.benim.singular,
cases("rüyam", "rüyamı", "rüyama", "rüyamda", "rüyamdan", "rüyamın"))
self:equals_deep("rüya onun singular", forms.possessive.onun.singular,
cases("rüyası", "rüyasını", "rüyasına", "rüyasında", "rüyasından", "rüyasının"))
end
function t:test04_alternative_root()
local forms = tr.test("özgürlük", "tr-subst-k|ü|t|rot=özgürlüğ", "export")
self:equals_deep("özgürlük singular", forms.singular,
cases("özgürlük", "özgürlüğü", "özgürlüğe", "özgürlükte", "özgürlükten", "özgürlüğün"))
self:equals_deep("özgürlük plural", forms.plural,
cases("özgürlükler", "özgürlükleri", "özgürlüklere", "özgürlüklerde", "özgürlüklerden", "özgürlüklerin"))
self:equals_deep("özgürlük benim singular", forms.possessive.benim.singular,
cases("özgürlüğüm", "özgürlüğümü", "özgürlüğüme", "özgürlüğümde", "özgürlüğümden", "özgürlüğümün"))
end
function t:test05_invalid_vowel()
local result = tr.test("xyz", "tr-subst-k", "export")
self:equals_deep("invalid form returns an error", result.error ~= nil, true)
end
function t:test06_lexical_possessive_ending()
local forms = tr.test("tereyağı", "tr-subst-v|ı|poss=1", "export")
self:equals_deep("tereyağı singular", forms.singular,
cases("tereyağı", "tereyağını", "tereyağına", "tereyağında", "tereyağından", "tereyağının"))
self:equals_deep("tereyağı plural", forms.plural,
cases("tereyağları", "tereyağlarını", "tereyağlarına", "tereyağlarında", "tereyağlarından", "tereyağlarının"))
self:equals_deep("tereyağı possessive singular", forms.possessive.benim.singular,
cases("tereyağım", "tereyağımı", "tereyağıma", "tereyağımda", "tereyağımdan", "tereyağımın"))
self:equals_deep("tereyağı possessive plural", forms.possessive.benim.plural,
cases("tereyağlarım", "tereyağlarımı", "tereyağlarıma", "tereyağlarımda", "tereyağlarımdan", "tereyağlarımın"))
end
return t
3e083p1iu48x7329of4mcyey6ll3nd4
4155755
4155752
2026-10-15T01:03:30Z
Frodlekis
762
4155755
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local hasLexicalPossessive = args.poss == "1"
if hasLexicalPossessive and mw.ustring.sub(vowelStem, -1) ~= harmony.high then
return nil, "poss=1 kräver att uppslagsordet slutar på den harmoniska possessivvokalen."
end
local inflectionStem = hasLexicalPossessive and mw.ustring.sub(vowelStem, 1, -2) or vowelStem
local vowelStemEndsInVowel = endsInVowel(inflectionStem)
local pluralBase = hasLexicalPossessive and inflectionStem or root
local pluralStem = pluralBase .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = hasLexicalPossessive and (root .. "n" .. harmony.high)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high),
dat = hasLexicalPossessive and (root .. "n" .. harmony.low)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low),
loc = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low)
or (root .. locativeConsonant .. harmony.low),
abl = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low .. "n")
or (root .. locativeConsonant .. harmony.low .. "n"),
gen = hasLexicalPossessive and (root .. "n" .. harmony.high .. "n")
or (vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n"),
}
local pluralNominative = hasLexicalPossessive and (pluralStem .. harmony.high) or pluralStem
local plural = {
nom = pluralNominative,
acc = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high)
or (pluralStem .. pluralHarmony.high),
dat = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.low)
or (pluralStem .. pluralHarmony.low),
loc = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low)
or (pluralStem .. "d" .. pluralHarmony.low),
abl = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low .. "n")
or (pluralStem .. "d" .. pluralHarmony.low .. "n"),
gen = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high .. "n")
or (pluralStem .. pluralHarmony.high .. "n"),
}
local singularBases, pluralBases = makePossessiveBases(
inflectionStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralPossessiveBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralPossessiveBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam", "poss"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam", "poss"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local mainTable = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
local hiddenRows = gt.getStart(
columnCount,
"tr",
"subst",
false,
meta.pagename,
meta.width
)
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
hiddenRows = hiddenRows .. table.concat(possessiveRows, "\n")
hiddenRows = hiddenRows .. gt.getEnd(columnCount)
local hiddenPanel = table.concat({
'{| class="NavFrameContainer grammar-hide"',
"|-",
'|<div class="NavFrame collapsed">',
'<div class="NavHead" style="text-align: center;">Possessiva former</div>',
'<div class="NavContent">',
hiddenRows,
"</div>",
"</div>",
"|}",
}, "\n")
return mainTable .. hiddenPanel
end
function export._getCategories(_forms, _meta)
return ""
end
local function getTemplateData(frame)
local templateFrame = frame:getParent()
local args = templateFrame.args
local pagename = clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(pagename, args)
return pagename, forms, err, args
end
function export.getMainRows(frame)
local pagename, forms, err, args = getTemplateData(frame)
gt.setLanguage("")
if err then
return gt.getRow({'!class="error" colspan="3"', err})
end
local title = "Böjningar av ''[[" .. pagename .. "#Turkiska|" .. pagename .. "]]''"
if clean(args.betydelser) then
title = title .. " " .. args.betydelser
end
local rows = gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
return rows
end
function export.getPossessiveRows(frame)
local _, forms, err = getTemplateData(frame)
gt.setLanguage("")
if err then
return ""
end
local rows = {}
for _, possessor in ipairs(possessors) do
table.insert(rows, renderPossessorTable(possessor, forms))
end
return table.concat(rows, "\n")
end
return export
0ppzhruc2wgu3zl8sr6v31syi5jaens
4155756
4155755
2026-10-15T01:07:26Z
Frodlekis
762
4155756
Scribunto
text/plain
local t = require("Modul:UnitTests")
local tr = require("Modul:tr-subst")
local function cases(nom, acc, dat, loc, abl, gen)
return {nom = nom, acc = acc, dat = dat, loc = loc, abl = abl, gen = gen}
end
local function possessive(singular, plural)
return {singular = singular, plural = plural}
end
function t:test01_hayal_complete_paradigm()
local forms = tr.test("hayal", "tr-subst-k|e|d", "export")
self:equals_deep("hayal singular", forms.singular,
cases("hayal", "hayali", "hayale", "hayalde", "hayalden", "hayalin"))
self:equals_deep("hayal plural", forms.plural,
cases("hayaller", "hayalleri", "hayallere", "hayallerde", "hayallerden", "hayallerin"))
local expectedPossessive = {
benim = possessive(
cases("hayalim", "hayalimi", "hayalime", "hayalimde", "hayalimden", "hayalimin"),
cases("hayallerim", "hayallerimi", "hayallerime", "hayallerimde", "hayallerimden", "hayallerimin")
),
senin = possessive(
cases("hayalin", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayallerin", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
onun = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
bizim = possessive(
cases("hayalimiz", "hayalimizi", "hayalimize", "hayalimizde", "hayalimizden", "hayalimizin"),
cases("hayallerimiz", "hayallerimizi", "hayallerimize", "hayallerimizde", "hayallerimizden", "hayallerimizin")
),
sizin = possessive(
cases("hayaliniz", "hayalinizi", "hayalinize", "hayalinizde", "hayalinizden", "hayalinizin"),
cases("hayalleriniz", "hayallerinizi", "hayallerinize", "hayallerinizde", "hayallerinizden", "hayallerinizin")
),
["onların"] = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
}
expectedPossessive["onların"].singularVariant =
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
self:equals_deep("hayal possessive paradigms", forms.possessive, expectedPossessive)
self:equals_deep("hayal onların singular variant", forms.possessive["onların"].singularVariant,
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin"))
end
function t:test02_dus_and_locative_defaults()
local forms = tr.test("düş", "tr-subst-k|ü", "export")
self:equals_deep("düş singular", forms.singular,
cases("düş", "düşü", "düşe", "düşte", "düşten", "düşün"))
self:equals_deep("düş plural", forms.plural,
cases("düşler", "düşleri", "düşlere", "düşlerde", "düşlerden", "düşlerin"))
self:equals_deep("düş benim singular", forms.possessive.benim.singular,
cases("düşüm", "düşümü", "düşüme", "düşümde", "düşümden", "düşümün"))
self:equals_deep("düş senin plural", forms.possessive.senin.plural,
cases("düşlerin", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
self:equals_deep("düş bizim plural", forms.possessive.bizim.plural,
cases("düşlerimiz", "düşlerimizi", "düşlerimize", "düşlerimizde", "düşlerimizden", "düşlerimizin"))
self:equals_deep("düş onların singular variant", forms.possessive["onların"].singularVariant,
cases("düşleri", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
end
function t:test03_vowel_final_ruya()
local forms = tr.test("rüya", "tr-subst-v|a", "export")
self:equals_deep("rüya singular", forms.singular,
cases("rüya", "rüyayı", "rüyaya", "rüyada", "rüyadan", "rüyanın"))
self:equals_deep("rüya plural", forms.plural,
cases("rüyalar", "rüyaları", "rüyalara", "rüyalarda", "rüyalardan", "rüyaların"))
self:equals_deep("rüya benim singular", forms.possessive.benim.singular,
cases("rüyam", "rüyamı", "rüyama", "rüyamda", "rüyamdan", "rüyamın"))
self:equals_deep("rüya onun singular", forms.possessive.onun.singular,
cases("rüyası", "rüyasını", "rüyasına", "rüyasında", "rüyasından", "rüyasının"))
end
function t:test04_alternative_root()
local forms = tr.test("özgürlük", "tr-subst-k|ü|t|rot=özgürlüğ", "export")
self:equals_deep("özgürlük singular", forms.singular,
cases("özgürlük", "özgürlüğü", "özgürlüğe", "özgürlükte", "özgürlükten", "özgürlüğün"))
self:equals_deep("özgürlük plural", forms.plural,
cases("özgürlükler", "özgürlükleri", "özgürlüklere", "özgürlüklerde", "özgürlüklerden", "özgürlüklerin"))
self:equals_deep("özgürlük benim singular", forms.possessive.benim.singular,
cases("özgürlüğüm", "özgürlüğümü", "özgürlüğüme", "özgürlüğümde", "özgürlüğümden", "özgürlüğümün"))
end
function t:test05_invalid_vowel()
local result = tr.test("xyz", "tr-subst-k", "export")
self:equals_deep("invalid form returns an error", result.error ~= nil, true)
end
function t:test06_lexical_possessive_ending()
local forms = tr.test("tereyağı", "tr-subst-v|ı|poss=1", "export")
self:equals_deep("tereyağı singular", forms.singular,
cases("tereyağı", "tereyağını", "tereyağına", "tereyağında", "tereyağından", "tereyağının"))
self:equals_deep("tereyağı plural", forms.plural,
cases("tereyağları", "tereyağlarını", "tereyağlarına", "tereyağlarında", "tereyağlarından", "tereyağlarının"))
self:equals_deep("tereyağı possessive singular", forms.possessive.benim.singular,
cases("tereyağım", "tereyağımı", "tereyağıma", "tereyağımda", "tereyağımdan", "tereyağımın"))
self:equals_deep("tereyağı possessive plural", forms.possessive.benim.plural,
cases("tereyağlarım", "tereyağlarımı", "tereyağlarıma", "tereyağlarımda", "tereyağlarımdan", "tereyağlarımın"))
end
function t.run_tests(frame)
return t:run(frame)
end
return t
syy96obbk00y4qbzxd9bh84ig6kanz4
4155757
4155756
2026-10-15T01:09:10Z
Frodlekis
762
4155757
Scribunto
text/plain
local gt = require("Modul:grammar-table")
local grammar_link = require("Modul:grammar-link")
local export = require("Modul:grammar")
local vowels = {
a = {high = "ı", low = "a"},
["â"] = {high = "ı", low = "a"},
e = {high = "i", low = "e"},
["ı"] = {high = "ı", low = "a"},
i = {high = "i", low = "e"},
["î"] = {high = "i", low = "e"},
o = {high = "u", low = "a"},
["ö"] = {high = "ü", low = "e"},
u = {high = "u", low = "a"},
["û"] = {high = "u", low = "a"},
["ü"] = {high = "ü", low = "e"},
}
local vowelPattern = "aâeıiîoöuûü"
local voicelessFinals = {k = true, p = true, ["ç"] = true, t = true, f = true, h = true, s = true, ["ş"] = true}
local caseLabels = {
{key = "nom", label = "Nominativ (yalın)"},
{key = "acc", label = "Ackusativ (belirtme)"},
{key = "dat", label = "Dativ (yönelme)"},
{key = "loc", label = "Lokativ (bulunma)"},
{key = "abl", label = "Ablativ (ayrılma)"},
{key = "gen", label = "Genitiv (tamlayan)"},
}
local possessors = {
{id = "benim", label = "benim (min)", person = 1, number = "s"},
{id = "senin", label = "senin (din)", person = 2, number = "s"},
{id = "onun", label = "onun (hans/hennes)", person = 3, number = "s"},
{id = "bizim", label = "bizim (vår)", person = 1, number = "p"},
{id = "sizin", label = "sizin (er)", person = 2, number = "p"},
{id = "onların", label = "onların (deras)", person = 3, number = "p"},
}
local function clean(value)
if value == nil or value == "" then
return nil
end
return value
end
local function lastVowel(word)
return mw.ustring.match(word, "([" .. vowelPattern .. "])[^" .. vowelPattern .. "]*$")
end
local function endsInVowel(word)
return mw.ustring.match(word, "[" .. vowelPattern .. "]$") ~= nil
end
local function getLocativeConsonant(lemma, requested)
if requested == "d" or requested == "t" then
return requested
end
local final = mw.ustring.sub(lemma, -1)
return voicelessFinals[final] and "t" or "d"
end
local function applyPossessiveCase(form, caseKey, person, harmony, locativeConsonant)
local linker = person == 3 and "n" or ""
if caseKey == "nom" then
return form
elseif caseKey == "acc" then
return form .. linker .. harmony.high
elseif caseKey == "dat" then
return form .. linker .. harmony.low
elseif caseKey == "loc" then
return form .. linker .. locativeConsonant .. harmony.low
elseif caseKey == "abl" then
return form .. linker .. locativeConsonant .. harmony.low .. "n"
elseif caseKey == "gen" then
return form .. linker .. harmony.high .. "n"
end
return form
end
local function makePossessiveBases(vowelStem, stemHarmony, vowelStemEndsInVowel, pluralStem, pluralHarmony)
local consonantBuffer = vowelStemEndsInVowel and "" or stemHarmony.high
local singular = {
vowelStem .. consonantBuffer .. "m",
vowelStem .. consonantBuffer .. "n",
vowelStem .. (vowelStemEndsInVowel and "s" or "") .. stemHarmony.high,
vowelStem .. consonantBuffer .. "m" .. stemHarmony.high .. "z",
vowelStem .. consonantBuffer .. "n" .. stemHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
local plural = {
pluralStem .. pluralHarmony.high .. "m",
pluralStem .. pluralHarmony.high .. "n",
pluralStem .. pluralHarmony.high,
pluralStem .. pluralHarmony.high .. "m" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high .. "n" .. pluralHarmony.high .. "z",
pluralStem .. pluralHarmony.high,
}
return singular, plural
end
local function makeForms(lemma, args)
local root = clean(args.grundform) or lemma
-- rot= is the documented parameter. stam= remains accepted for compatibility.
local vowelStem = clean(args.rot) or clean(args.stam) or root
local vowel = clean(args[1]) or lastVowel(vowelStem) or lastVowel(root)
local harmony = vowel and vowels[vowel]
if not harmony then
return nil, "Turkisk substantivböjning kräver en giltig sista vokal (a, â, e, ı, i, î, o, ö, u, û eller ü)."
end
local hasLexicalPossessive = args.poss == "1"
if hasLexicalPossessive and mw.ustring.sub(vowelStem, -1) ~= harmony.high then
return nil, "poss=1 kräver att uppslagsordet slutar på den harmoniska possessivvokalen."
end
local inflectionStem = hasLexicalPossessive and mw.ustring.sub(vowelStem, 1, -2) or vowelStem
local vowelStemEndsInVowel = endsInVowel(inflectionStem)
local pluralBase = hasLexicalPossessive and inflectionStem or root
local pluralStem = pluralBase .. "l" .. harmony.low .. "r"
local pluralHarmony = vowels[harmony.low]
local locativeConsonant = getLocativeConsonant(root, clean(args[2]))
local singular = {
nom = root,
acc = hasLexicalPossessive and (root .. "n" .. harmony.high)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.high),
dat = hasLexicalPossessive and (root .. "n" .. harmony.low)
or (vowelStem .. (vowelStemEndsInVowel and "y" or "") .. harmony.low),
loc = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low)
or (root .. locativeConsonant .. harmony.low),
abl = hasLexicalPossessive and (root .. "n" .. locativeConsonant .. harmony.low .. "n")
or (root .. locativeConsonant .. harmony.low .. "n"),
gen = hasLexicalPossessive and (root .. "n" .. harmony.high .. "n")
or (vowelStem .. (vowelStemEndsInVowel and "n" or "") .. harmony.high .. "n"),
}
local pluralNominative = hasLexicalPossessive and (pluralStem .. harmony.high) or pluralStem
local plural = {
nom = pluralNominative,
acc = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high)
or (pluralStem .. pluralHarmony.high),
dat = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.low)
or (pluralStem .. pluralHarmony.low),
loc = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low)
or (pluralStem .. "d" .. pluralHarmony.low),
abl = hasLexicalPossessive and (pluralNominative .. "n" .. "d" .. pluralHarmony.low .. "n")
or (pluralStem .. "d" .. pluralHarmony.low .. "n"),
gen = hasLexicalPossessive and (pluralNominative .. "n" .. pluralHarmony.high .. "n")
or (pluralStem .. pluralHarmony.high .. "n"),
}
local singularBases, pluralBases = makePossessiveBases(
inflectionStem,
harmony,
vowelStemEndsInVowel,
pluralStem,
pluralHarmony
)
local possessive = {}
for _, possessor in ipairs(possessors) do
local index = possessor.person + (possessor.number == "p" and 3 or 0)
local singularBase = singularBases[index]
local pluralPossessiveBase = pluralBases[index]
if possessor.id == "onların" then
-- In a singular possessum, onların permits both the 3sg and plural-marked forms.
singularBase = singularBases[3]
end
local forms = {singular = {}, plural = {}}
if possessor.id == "onların" then
forms.singularVariant = {}
end
for _, case in ipairs(caseLabels) do
forms.singular[case.key] = applyPossessiveCase(
singularBase, case.key, possessor.person, harmony, "d"
)
forms.plural[case.key] = applyPossessiveCase(
pluralPossessiveBase, case.key, possessor.person, pluralHarmony, "d"
)
if forms.singularVariant then
forms.singularVariant[case.key] = applyPossessiveCase(
pluralBases[3], case.key, 3, pluralHarmony, "d"
)
end
end
possessive[possessor.id] = forms
end
return {
lemma = root,
singular = singular,
plural = plural,
possessive = possessive,
}
end
local function grammarLink(form)
local link = grammar_link.link(form, "infl", "tr")
-- Let green_links.js append the preload fragment to the URL. A #Turkiska
-- fragment before it prevents the accelerated edit link from being formed.
return mw.ustring.gsub(link, "#Turkiska", "")
end
local function renderPossessorTable(possessor, forms)
local possessorForms = forms.possessive[possessor.id]
local rows = gt.getRow(
{'!class="main min" style="width:38%"', "''" .. possessor.label .. "''"},
{'!style="width:31%"', "Singular"},
{'!style="width:31%"', "Plural"}
)
for _, case in ipairs(caseLabels) do
local singularForm = grammarLink(possessorForms.singular[case.key])
if possessorForms.singularVariant then
singularForm = singularForm .. "<br />" .. grammarLink(possessorForms.singularVariant[case.key])
end
rows = rows .. gt.getRow(
{'!style="width:38%"', case.label},
{'|style="width:31%"', singularForm},
{'|style="width:31%"', grammarLink(possessorForms.plural[case.key])}
)
end
return rows
end
function export._getAcceptedParameters()
return {"rot", "stam", "poss"}
end
function export._getMeta(_pagename, templatename, _args)
local numberedCells = templatename == "tr-subst-k" and 2 or 1
return {
numbered_cells = numberedCells,
named_cells = {"rot", "stam", "poss"},
}
end
function export._getForms(pagename, _templatename, args, _meta, _format)
local forms, err = makeForms(pagename, args)
if not forms then
return {error = err}
end
return forms
end
function export._getWikitable(forms, meta)
if forms.error then
return '<strong class="error">' .. forms.error .. "</strong>"
end
local title = "Böjningar av ''[[" .. meta.pagename .. "#Turkiska|" .. meta.pagename .. "]]''"
if meta.meanings and meta.meanings ~= "" then
title = title .. " " .. meta.meanings
end
gt.setLanguage("")
local columnCount = 3
local rows = gt.getStart(
columnCount,
"tr",
"subst",
not not meta.quality_notice,
meta.pagename,
meta.width
)
rows = rows .. gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
local mainTable = rows .. gt.getEnd(columnCount, meta.note, meta.as_first_part)
local hiddenRows = gt.getStart(
columnCount,
"tr",
"subst",
false,
meta.pagename,
meta.width
)
local possessiveRows = {}
for _, possessor in ipairs(possessors) do
table.insert(possessiveRows, renderPossessorTable(possessor, forms))
end
hiddenRows = hiddenRows .. table.concat(possessiveRows, "\n")
hiddenRows = hiddenRows .. gt.getEnd(columnCount)
local hiddenPanel = table.concat({
'{| class="NavFrameContainer grammar-hide"',
"|-",
'|<div class="NavFrame collapsed">',
'<div class="NavHead" style="text-align: center;">Possessiva former</div>',
'<div class="NavContent">',
hiddenRows,
"</div>",
"</div>",
"|}",
}, "\n")
return mainTable .. hiddenPanel
end
function export._getCategories(_forms, _meta)
return ""
end
local function getTemplateData(frame)
local templateFrame = frame:getParent()
local args = templateFrame.args
local pagename = clean(args.grundform) or mw.title.getCurrentTitle().text
local forms, err = makeForms(pagename, args)
return pagename, forms, err, args
end
function export.getMainRows(frame)
local pagename, forms, err, args = getTemplateData(frame)
gt.setLanguage("")
if err then
return gt.getRow({'!class="error" colspan="3"', err})
end
local title = "Böjningar av ''[[" .. pagename .. "#Turkiska|" .. pagename .. "]]''"
if clean(args.betydelser) then
title = title .. " " .. args.betydelser
end
local rows = gt.getRow(
{'!class="main min"', title},
{'!', "Singular"},
{'!', "Plural"}
)
for _, case in ipairs(caseLabels) do
rows = rows .. gt.getRow(
{'!', case.label},
grammarLink(forms.singular[case.key]),
grammarLink(forms.plural[case.key])
)
end
return rows
end
function export.getPossessiveRows(frame)
local _, forms, err = getTemplateData(frame)
gt.setLanguage("")
if err then
return ""
end
local rows = {}
for _, possessor in ipairs(possessors) do
table.insert(rows, renderPossessorTable(possessor, forms))
end
return table.concat(rows, "\n")
end
return export
0ppzhruc2wgu3zl8sr6v31syi5jaens
4155758
4155757
2026-10-15T01:10:34Z
Frodlekis
762
4155758
Scribunto
text/plain
local t = require("Modul:UnitTests")
local tr = require("Modul:tr-subst")
local export = {}
local function cases(nom, acc, dat, loc, abl, gen)
return {nom = nom, acc = acc, dat = dat, loc = loc, abl = abl, gen = gen}
end
local function possessive(singular, plural)
return {singular = singular, plural = plural}
end
function t:test01_hayal_complete_paradigm()
local forms = tr.test("hayal", "tr-subst-k|e|d", "export")
self:equals_deep("hayal singular", forms.singular,
cases("hayal", "hayali", "hayale", "hayalde", "hayalden", "hayalin"))
self:equals_deep("hayal plural", forms.plural,
cases("hayaller", "hayalleri", "hayallere", "hayallerde", "hayallerden", "hayallerin"))
local expectedPossessive = {
benim = possessive(
cases("hayalim", "hayalimi", "hayalime", "hayalimde", "hayalimden", "hayalimin"),
cases("hayallerim", "hayallerimi", "hayallerime", "hayallerimde", "hayallerimden", "hayallerimin")
),
senin = possessive(
cases("hayalin", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayallerin", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
onun = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
bizim = possessive(
cases("hayalimiz", "hayalimizi", "hayalimize", "hayalimizde", "hayalimizden", "hayalimizin"),
cases("hayallerimiz", "hayallerimizi", "hayallerimize", "hayallerimizde", "hayallerimizden", "hayallerimizin")
),
sizin = possessive(
cases("hayaliniz", "hayalinizi", "hayalinize", "hayalinizde", "hayalinizden", "hayalinizin"),
cases("hayalleriniz", "hayallerinizi", "hayallerinize", "hayallerinizde", "hayallerinizden", "hayallerinizin")
),
["onların"] = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
}
expectedPossessive["onların"].singularVariant =
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
self:equals_deep("hayal possessive paradigms", forms.possessive, expectedPossessive)
self:equals_deep("hayal onların singular variant", forms.possessive["onların"].singularVariant,
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin"))
end
function t:test02_dus_and_locative_defaults()
local forms = tr.test("düş", "tr-subst-k|ü", "export")
self:equals_deep("düş singular", forms.singular,
cases("düş", "düşü", "düşe", "düşte", "düşten", "düşün"))
self:equals_deep("düş plural", forms.plural,
cases("düşler", "düşleri", "düşlere", "düşlerde", "düşlerden", "düşlerin"))
self:equals_deep("düş benim singular", forms.possessive.benim.singular,
cases("düşüm", "düşümü", "düşüme", "düşümde", "düşümden", "düşümün"))
self:equals_deep("düş senin plural", forms.possessive.senin.plural,
cases("düşlerin", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
self:equals_deep("düş bizim plural", forms.possessive.bizim.plural,
cases("düşlerimiz", "düşlerimizi", "düşlerimize", "düşlerimizde", "düşlerimizden", "düşlerimizin"))
self:equals_deep("düş onların singular variant", forms.possessive["onların"].singularVariant,
cases("düşleri", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
end
function t:test03_vowel_final_ruya()
local forms = tr.test("rüya", "tr-subst-v|a", "export")
self:equals_deep("rüya singular", forms.singular,
cases("rüya", "rüyayı", "rüyaya", "rüyada", "rüyadan", "rüyanın"))
self:equals_deep("rüya plural", forms.plural,
cases("rüyalar", "rüyaları", "rüyalara", "rüyalarda", "rüyalardan", "rüyaların"))
self:equals_deep("rüya benim singular", forms.possessive.benim.singular,
cases("rüyam", "rüyamı", "rüyama", "rüyamda", "rüyamdan", "rüyamın"))
self:equals_deep("rüya onun singular", forms.possessive.onun.singular,
cases("rüyası", "rüyasını", "rüyasına", "rüyasında", "rüyasından", "rüyasının"))
end
function t:test04_alternative_root()
local forms = tr.test("özgürlük", "tr-subst-k|ü|t|rot=özgürlüğ", "export")
self:equals_deep("özgürlük singular", forms.singular,
cases("özgürlük", "özgürlüğü", "özgürlüğe", "özgürlükte", "özgürlükten", "özgürlüğün"))
self:equals_deep("özgürlük plural", forms.plural,
cases("özgürlükler", "özgürlükleri", "özgürlüklere", "özgürlüklerde", "özgürlüklerden", "özgürlüklerin"))
self:equals_deep("özgürlük benim singular", forms.possessive.benim.singular,
cases("özgürlüğüm", "özgürlüğümü", "özgürlüğüme", "özgürlüğümde", "özgürlüğümden", "özgürlüğümün"))
end
function t:test05_invalid_vowel()
local result = tr.test("xyz", "tr-subst-k", "export")
self:equals_deep("invalid form returns an error", result.error ~= nil, true)
end
function t:test06_lexical_possessive_ending()
local forms = tr.test("tereyağı", "tr-subst-v|ı|poss=1", "export")
self:equals_deep("tereyağı singular", forms.singular,
cases("tereyağı", "tereyağını", "tereyağına", "tereyağında", "tereyağından", "tereyağının"))
self:equals_deep("tereyağı plural", forms.plural,
cases("tereyağları", "tereyağlarını", "tereyağlarına", "tereyağlarında", "tereyağlarından", "tereyağlarının"))
self:equals_deep("tereyağı possessive singular", forms.possessive.benim.singular,
cases("tereyağım", "tereyağımı", "tereyağıma", "tereyağımda", "tereyağımdan", "tereyağımın"))
self:equals_deep("tereyağı possessive plural", forms.possessive.benim.plural,
cases("tereyağlarım", "tereyağlarımı", "tereyağlarıma", "tereyağlarımda", "tereyağlarımdan", "tereyağlarımın"))
end
function export.run_tests(frame)
return t:run(frame)
end
return export
gueeb7old4vldble86bosnqhoh9umbp
4155759
4155758
2026-10-15T01:13:05Z
Frodlekis
762
4155759
Scribunto
text/plain
local t = require("Modul:UnitTests")
local tr = require("Modul:tr-subst")
local export = {}
local function cases(nom, acc, dat, loc, abl, gen)
return {nom = nom, acc = acc, dat = dat, loc = loc, abl = abl, gen = gen}
end
local function possessive(singular, plural)
return {singular = singular, plural = plural}
end
function t:test01_hayal_complete_paradigm()
local forms = tr.test("hayal", "tr-subst-k|e|d", "export")
self:equals_deep("hayal singular", forms.singular,
cases("hayal", "hayali", "hayale", "hayalde", "hayalden", "hayalin"))
self:equals_deep("hayal plural", forms.plural,
cases("hayaller", "hayalleri", "hayallere", "hayallerde", "hayallerden", "hayallerin"))
local expectedPossessive = {
benim = possessive(
cases("hayalim", "hayalimi", "hayalime", "hayalimde", "hayalimden", "hayalimin"),
cases("hayallerim", "hayallerimi", "hayallerime", "hayallerimde", "hayallerimden", "hayallerimin")
),
senin = possessive(
cases("hayalin", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayallerin", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
onun = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
bizim = possessive(
cases("hayalimiz", "hayalimizi", "hayalimize", "hayalimizde", "hayalimizden", "hayalimizin"),
cases("hayallerimiz", "hayallerimizi", "hayallerimize", "hayallerimizde", "hayallerimizden", "hayallerimizin")
),
sizin = possessive(
cases("hayaliniz", "hayalinizi", "hayalinize", "hayalinizde", "hayalinizden", "hayalinizin"),
cases("hayalleriniz", "hayallerinizi", "hayallerinize", "hayallerinizde", "hayallerinizden", "hayallerinizin")
),
["onların"] = possessive(
cases("hayali", "hayalini", "hayaline", "hayalinde", "hayalinden", "hayalinin"),
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
),
}
expectedPossessive["onların"].singularVariant =
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin")
self:equals_deep("hayal possessive paradigms", forms.possessive, expectedPossessive)
self:equals_deep("hayal onların singular variant", forms.possessive["onların"].singularVariant,
cases("hayalleri", "hayallerini", "hayallerine", "hayallerinde", "hayallerinden", "hayallerinin"))
end
function t:test02_dus_and_locative_defaults()
local forms = tr.test("düş", "tr-subst-k|ü", "export")
self:equals_deep("düş singular", forms.singular,
cases("düş", "düşü", "düşe", "düşte", "düşten", "düşün"))
self:equals_deep("düş plural", forms.plural,
cases("düşler", "düşleri", "düşlere", "düşlerde", "düşlerden", "düşlerin"))
self:equals_deep("düş benim singular", forms.possessive.benim.singular,
cases("düşüm", "düşümü", "düşüme", "düşümde", "düşümden", "düşümün"))
self:equals_deep("düş senin plural", forms.possessive.senin.plural,
cases("düşlerin", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
self:equals_deep("düş bizim plural", forms.possessive.bizim.plural,
cases("düşlerimiz", "düşlerimizi", "düşlerimize", "düşlerimizde", "düşlerimizden", "düşlerimizin"))
self:equals_deep("düş onların singular variant", forms.possessive["onların"].singularVariant,
cases("düşleri", "düşlerini", "düşlerine", "düşlerinde", "düşlerinden", "düşlerinin"))
end
function t:test03_vowel_final_ruya()
local forms = tr.test("rüya", "tr-subst-v|a", "export")
self:equals_deep("rüya singular", forms.singular,
cases("rüya", "rüyayı", "rüyaya", "rüyada", "rüyadan", "rüyanın"))
self:equals_deep("rüya plural", forms.plural,
cases("rüyalar", "rüyaları", "rüyalara", "rüyalarda", "rüyalardan", "rüyaların"))
self:equals_deep("rüya benim singular", forms.possessive.benim.singular,
cases("rüyam", "rüyamı", "rüyama", "rüyamda", "rüyamdan", "rüyamın"))
self:equals_deep("rüya onun singular", forms.possessive.onun.singular,
cases("rüyası", "rüyasını", "rüyasına", "rüyasında", "rüyasından", "rüyasının"))
end
function t:test04_alternative_root()
local forms = tr.test("özgürlük", "tr-subst-k|ü|t|rot=özgürlüğ|konsonant=1", "export")
self:equals_deep("özgürlük singular", forms.singular,
cases("özgürlük", "özgürlüğü", "özgürlüğe", "özgürlükte", "özgürlükten", "özgürlüğün"))
self:equals_deep("özgürlük plural", forms.plural,
cases("özgürlükler", "özgürlükleri", "özgürlüklere", "özgürlüklerde", "özgürlüklerden", "özgürlüklerin"))
self:equals_deep("özgürlük benim singular", forms.possessive.benim.singular,
cases("özgürlüğüm", "özgürlüğümü", "özgürlüğüme", "özgürlüğümde", "özgürlüğümden", "özgürlüğümün"))
end
function t:test05_invalid_vowel()
local result = tr.test("xyz", "tr-subst-k", "export")
self:equals_deep("invalid form returns an error", result.error ~= nil, true)
end
function t:test06_lexical_possessive_ending()
local forms = tr.test("tereyağı", "tr-subst-v|ı|poss=1", "export")
self:equals_deep("tereyağı singular", forms.singular,
cases("tereyağı", "tereyağını", "tereyağına", "tereyağında", "tereyağından", "tereyağının"))
self:equals_deep("tereyağı plural", forms.plural,
cases("tereyağları", "tereyağlarını", "tereyağlarına", "tereyağlarında", "tereyağlarından", "tereyağlarının"))
self:equals_deep("tereyağı possessive singular", forms.possessive.benim.singular,
cases("tereyağım", "tereyağımı", "tereyağıma", "tereyağımda", "tereyağımdan", "tereyağımın"))
self:equals_deep("tereyağı possessive plural", forms.possessive.benim.plural,
cases("tereyağlarım", "tereyağlarımı", "tereyağlarıma", "tereyağlarımda", "tereyağlarımdan", "tereyağlarımın"))
end
function export.run_tests(frame)
return t:run(frame)
end
return export
cu41w12zw0gh34j86r9ibb1r7ok7oxq
ᛁᚮᚱᚦ
0
1074398
4155618
4155582
2026-10-14T20:38:46Z
Frodlekis
762
/* Forndanska */
4155618
wikitext
text/x-wiki
==Forndanska==
===Substantiv===
{{subst|gmq-fda}}
'''ᛁᚮᚱᚦ''' ([[{{tr|gmq-fda|ᛁᚮᚱᚦ}}]]) {{f}}
#{{tagg|text=rundanska}} termen ''[[iorþ]]'' (”[[jord]]”) skrivet med runor
dy7bk5388282dsgy1mijoprp7rldc7m
senyoret
0
1074404
4155603
2026-10-14T13:43:11Z
Frodlekis
762
Ny sida
4155603
wikitext
text/x-wiki
==Katalanska==
===Substantiv===
{{ca-subst-m}}
'''[[senyor]][[-et|et]]''' {{f}}
#ung [[man]], unge man
#:{{besläktade ord|[[senyor]], [[senyoreta]]}}
69bktbrpse01g97l196k4i4ag49uk38
iordhguma
0
1074405
4155604
2026-10-14T13:46:13Z
Frodlekis
762
nytt uppslag (fornsvenska)
4155604
wikitext
text/x-wiki
==Fornsvenska==
===Substantiv===
{{subst|gmq-fsv}}
'''iordhguma''' {{f}}
#[[barnmorska]], [[jordemor]], [[jordegumma]]
orfaddrqw3fwqvzl3pap167bxsm8cus
פקודה
0
1074406
4155605
2026-10-14T14:53:12Z
Frodlekis
762
nytt uppslag (hebreiska)
4155605
wikitext
text/x-wiki
==Hebreiska==
===Substantiv===
{{subst|he}}
'''פקודה''' {{f}}
#[[befallning]], [[order]]
h2tnlah956gys0pd81r5jsyy6r2u47z
فوضى
0
1074407
4155606
2026-10-14T14:58:24Z
Frodlekis
762
nytt uppslag (arabiska)
4155606
wikitext
text/x-wiki
==Arabiska==
===Substantiv===
{{subst|ar}}
'''فَوْضَى''' (fawḍā) {{f}}
#[[oordning]], [[kaos]], [[laglöshet]], [[röra]], [[anarki]]
84me4hbfuxfwolcpm7ov54tv8zeqrd1
soranîzm
0
1074408
4155609
2026-10-14T20:05:22Z
Frodlekis
762
nytt uppslag (nordkurdiska)
4155609
wikitext
text/x-wiki
==Nordkurdiska==
===Substantiv===
{{subst|kmr}}
'''soranîzm'''
#{{tagg|lingvistik|språk=kmr}} [[w:nordkurdiska|soranism]]; [[lånord]] eller inflytande från [[centralkurdiska]] ([[sorani]]) i andra kurdiska språk/dialekter
chx4czkffrd8yq89tnenconn33hojha
4155610
4155609
2026-10-14T20:06:04Z
Frodlekis
762
/* Nordkurdiska */
4155610
wikitext
text/x-wiki
==Nordkurdiska==
===Substantiv===
{{subst|kmr}}
'''soranîzm''' {{f}}
#{{tagg|lingvistik|språk=kmr}} [[w:nordkurdiska|soranism]]; [[lånord]] eller inflytande från [[centralkurdiska]] ([[sorani]]) i andra kurdiska språk/dialekter
340wht0q1d16gu1s77y69hsigbzash2
4155611
4155610
2026-10-14T20:08:53Z
Frodlekis
762
/* Nordkurdiska */
4155611
wikitext
text/x-wiki
==Nordkurdiska==
===Substantiv===
{{kmr-subst-f}}
'''soranîzm''' {{f}}
#{{tagg|lingvistik|språk=kmr}} [[w:nordkurdiska|soranism]]; [[lånord]] eller inflytande från [[centralkurdiska]] ([[sorani]]) i andra kurdiska språk/dialekter
744rjohdl8lygpxa9sw8w8phi1b0654
ᛒᛦᚱᚦ
0
1074409
4155612
2026-10-14T20:12:20Z
Frodlekis
762
Ny sida
4155612
wikitext
text/x-wiki
==Fornsvenska==
===Substantiv===
{{subst|gmq-fsv}}
'''ᛒᛦᚱᚦ''' ([[{{tr|gmq-fsv|ᛒᛦᚱᚦ}}]]) {{f}}
#{{tagg|runsvenska}} [[byrþ]] skrivet med långkvistrunor
9c852unecdk9s0o05unn0e5nzcmkj5r
4155613
4155612
2026-10-14T20:14:13Z
Frodlekis
762
4155613
wikitext
text/x-wiki
==Fornsvenska==
===Substantiv===
{{subst|gmq-fsv}}
'''ᛒᛦᚱᚦ''' ([[{{tr|gmq-fsv|ᛒᛦᚱᚦ}}]]) {{f}}
#{{tagg|runsvenska}} termen ''[[byrþ]]'' skriven med långkvistrunor
ha9zw7ox44z4qd0ajj6xee3aljyu0su
4155614
4155613
2026-10-14T20:14:24Z
Frodlekis
762
4155614
wikitext
text/x-wiki
==Fornsvenska==
===Substantiv===
{{subst|gmq-fsv}}
'''ᛒᛦᚱᚦ''' ([[{{tr|gmq-fsv|ᛒᛦᚱᚦ}}]]) {{f}}
#{{tagg|språk=gmq-fsv|runsvenska}} termen ''[[byrþ]]'' skriven med långkvistrunor
fkotytwqk0ycpv6u8zqswm8c1cju78q
Kategori:Forndanska/Runskrift
14
1074410
4155619
2026-10-14T20:40:06Z
Frodlekis
762
Ny sida
4155619
wikitext
text/x-wiki
{{kategorinavigering|Forndanska|Runskrift|Runologi}}
gfmgsh2vf2lrgoskyzfofldoudct6av
ayağı
0
1074411
4155626
2026-10-14T21:13:22Z
Frodlekis
762
böjningsform av [[ayak]]
4155626
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''ayağı'''
#{{böjning|tr|subst|ayak}}
k4fos2r2h0zhwvn7arqb8js9vk715oe
ayaklar
0
1074412
4155627
2026-10-14T21:13:29Z
Frodlekis
762
böjningsform av [[ayak]]
4155627
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''ayaklar'''
#{{böjning|tr|subst|ayak}}
gtj7yxyykt9fcbncnbhzjmuzawkdb75
aşıyı
0
1074413
4155633
2026-10-14T21:26:14Z
Frodlekis
762
böjningsform av [[aşı]]
4155633
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''aşıyı'''
#{{böjning|tr|subst|aşı}}
4oerj0exieph7kcwpo2tgv3pr9eg0dw
aşılar
0
1074414
4155634
2026-10-14T21:26:21Z
Frodlekis
762
böjningsform av [[aşı]]
4155634
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''aşılar'''
#{{böjning|tr|subst|aşı}}
5fa7ivlv6pscoi0kwrb0y25ua8wy3gu
aş
0
1074415
4155635
2026-10-14T21:28:00Z
Frodlekis
762
nytt uppslag (turkiska)
4155635
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|a|ş}}
'''aş'''
#lagad [[mat]]
===Verb===
'''aş'''
#{{böjning|tr|verb|aşmak}}
485pncmz3q2krns8qn19v0lau5ruqh7
kısraklar
0
1074416
4155638
2026-10-14T21:29:39Z
Frodlekis
762
böjningsform av [[kısrak]]
4155638
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''kısraklar'''
#{{böjning|tr|subst|kısrak}}
soucz0dhxkzncb61hrb3eh96e3t0vxd
kısrağı
0
1074418
4155641
2026-10-14T21:30:50Z
Frodlekis
762
böjningsform av [[kısrak]]
4155641
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''kısrağı'''
#{{böjning|tr|subst|kısrak}}
2peda6dcu6bnf7dz23ua6woaa5abnwa
tayı
0
1074419
4155643
2026-10-14T21:33:08Z
Frodlekis
762
böjningsform av [[tay]]
4155643
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''tayı'''
#{{böjning|tr|subst|tay}}
p747mva3b3t5zqnswyenwrn5kaj7rv1
taylar
0
1074420
4155644
2026-10-14T21:33:22Z
Frodlekis
762
böjningsform av [[tay]]
4155644
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''taylar'''
#{{böjning|tr|subst|tay}}
r1agkc38rnh2pdmr55ghqo7q5mymnaa
eylemler
0
1074421
4155650
2026-10-14T21:36:34Z
Frodlekis
762
böjningsform av [[eylem]]
4155650
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''eylemler'''
#{{böjning|tr|subst|eylem}}
klfpa0gm0t3bu7j12ipupo7wfppsfax
eylemi
0
1074422
4155651
2026-10-14T21:36:41Z
Frodlekis
762
böjningsform av [[eylem]]
4155651
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''eylemi'''
#{{böjning|tr|subst|eylem}}
3v1hb3hf9cpy6z3b82r1mv0bue9ym1v
gözlemler
0
1074423
4155655
2026-10-14T21:38:01Z
Frodlekis
762
böjningsform av [[gözlem]]
4155655
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''gözlemler'''
#{{böjning|tr|subst|gözlem}}
nm0mbgbd29n98sgwtkoxvx1jre680c2
gözlemi
0
1074424
4155656
2026-10-14T21:38:07Z
Frodlekis
762
böjningsform av [[gözlem]]
4155656
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''gözlemi'''
#{{böjning|tr|subst|gözlem}}
9x6p2u8g2icmdfjjvaxp1o1kt2h8iqd
istatistikçiler
0
1074425
4155665
2026-10-14T21:42:14Z
Frodlekis
762
böjningsform av [[istatistikçi]]
4155665
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''istatistikçiler'''
#{{böjning|tr|subst|istatistikçi}}
q4vyb2eydno3hi8lywmsg9qgjk5ll6i
istatistikçiyi
0
1074426
4155666
2026-10-14T21:42:38Z
Frodlekis
762
böjningsform av [[istatistikçi]]
4155666
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''istatistikçiyi'''
#{{böjning|tr|subst|istatistikçi}}
su0bs38j6xjo4i5ozpm6z9653v22oib
sayımlamacı
0
1074427
4155668
2026-10-14T21:45:00Z
Frodlekis
762
Ny sida
4155668
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-v|ı|c}}
'''sayımlamacı'''
#{{tagg|forskare|språk=tr}} [[statistiker]]
#:{{synonymer|[[istatistikçi]]}}
#:{{besläktade ord|[[sayımlama]]}}
pjvfckb5m0g6xk56f1mjyxog1mrxkh0
sayımlamacılar
0
1074428
4155669
2026-10-14T21:45:07Z
Frodlekis
762
böjningsform av [[sayımlamacı]]
4155669
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''sayımlamacılar'''
#{{böjning|tr|subst|sayımlamacı}}
ruzv05bqnvofgde003dyilym69jpso3
sayımlamacıyı
0
1074429
4155670
2026-10-14T21:45:15Z
Frodlekis
762
böjningsform av [[sayımlamacı]]
4155670
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''sayımlamacıyı'''
#{{böjning|tr|subst|sayımlamacı}}
cjjurxrevwwo7u049dngx8dcsyy70a3
kazılar
0
1074430
4155675
2026-10-14T21:47:33Z
Frodlekis
762
böjningsform av [[kazı]]
4155675
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''kazılar'''
#{{böjning|tr|subst|kazı}}
5b0hzk8eibyjbpi5prvgje9qqh7r0je
kazıyı
0
1074431
4155676
2026-10-14T21:47:39Z
Frodlekis
762
böjningsform av [[kazı]]
4155676
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''kazıyı'''
#{{böjning|tr|subst|kazı}}
1l2ub8eatgfgcnce0z6msspejwhuaat
milleti
0
1074432
4155679
2026-10-14T21:49:12Z
Frodlekis
762
böjningsform av [[millet]]
4155679
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''milleti'''
#{{böjning|tr|subst|millet}}
0xa4hrfzjmuobah9tokqmi4yk5u49ty
projem
0
1074433
4155682
2026-10-14T21:50:41Z
Frodlekis
762
böjningsform av [[proje]]
4155682
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''projem'''
#{{böjning|tr|subst|proje}}
mb8603d0uwt247pvsgcmzgjrscqzgkf
zaferim
0
1074434
4155684
2026-10-14T21:51:22Z
Frodlekis
762
böjningsform av [[zafer]]
4155684
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''zaferim'''
#{{böjning|tr|subst|zafer}}
ttfhlnbdmprx8b5e6neferu7sm4bruk
supabım
0
1074435
4155689
2026-10-14T21:52:54Z
Frodlekis
762
böjningsform av [[supap]]
4155689
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''supabım'''
#{{böjning|tr|subst|supap}}
6gpkarkydcukyx3qo0xpxzpj3r15xjh
sikim
0
1074436
4155691
2026-10-14T21:53:34Z
Frodlekis
762
böjningsform av [[sik]]
4155691
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''sikim'''
#{{böjning|tr|subst|sik}}
1lysg2881pv2prwmohbvppb7p3pwkxj
penisler
0
1074437
4155693
2026-10-14T21:54:06Z
Frodlekis
762
böjningsform av [[penis]]
4155693
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''penisler'''
#{{böjning|tr|subst|penis}}
72t8dc73c9og54fl8f6tnny34k7exg2
penisi
0
1074438
4155694
2026-10-14T21:54:34Z
Frodlekis
762
böjningsform av [[penis]]
4155694
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''penisi'''
#{{böjning|tr|subst|penis}}
8hlrb82eejeltd9sspbia8kcj5qx5yv
vulvayı
0
1074439
4155696
2026-10-14T21:55:18Z
Frodlekis
762
böjningsform av [[vulva]]
4155696
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''vulvayı'''
#{{böjning|tr|subst|vulva}}
lnq0zfyy2lrg15ezx8xirlxzxdo3iz5
vulvalar
0
1074440
4155697
2026-10-14T21:55:26Z
Frodlekis
762
böjningsform av [[vulva]]
4155697
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''vulvalar'''
#{{böjning|tr|subst|vulva}}
okgk36itikcqyp4hu77c72pbt8w1vke
ferç
0
1074441
4155700
2026-10-14T22:09:48Z
Frodlekis
762
nytt uppslag (turkiska)
4155700
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
{{tr-subst-k|rot=ferc}}
'''ferç'''
#{{tagg|anatomi|språk=tr}} [[vulva]]
#:{{synonymer|[[vulva]]}}
if5tr168di7wp58vwe8p5ind0orgp9x
uyluğu
0
1074442
4155702
2026-10-14T22:11:12Z
Frodlekis
762
böjningsform av [[uyluk]]
4155702
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''uyluğu'''
#{{böjning|tr|subst|uyluk}}
elfz4io4dm0fi6ls0zfoddquo10q9gt
uyluklar
0
1074443
4155703
2026-10-14T22:11:20Z
Frodlekis
762
böjningsform av [[uyluk]]
4155703
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''uyluklar'''
#{{böjning|tr|subst|uyluk}}
qdu0elbqoldys53pftg1wjb380fz0ab
vajayjay
0
1074444
4155710
2026-10-14T22:35:19Z
Frodlekis
762
nytt uppslag (engelska)
4155710
wikitext
text/x-wiki
==Engelska==
===Substantiv===
{{subst|en}}
'''vajayjay'''
#{{tagg|slang|anatomi|språk=en}} [[vagina]], [[vulva]]
6gyilkeg75b3ce4rd66c9nyocpkzp2z
4155711
4155710
2026-10-14T22:35:55Z
Frodlekis
762
4155711
wikitext
text/x-wiki
==Engelska==
===Substantiv===
{{subst|en}}
'''vajayjay'''
#{{tagg|vardagligt|eufemistiskt|kat=anatomi|språk=en}} [[vagina]], [[vulva]]
mht8f7wqn7994q67ibltba67bcpaoht
4155712
4155711
2026-10-14T22:36:41Z
Frodlekis
762
4155712
wikitext
text/x-wiki
==Engelska==
===Substantiv===
{{subst|en}}
'''vajayjay'''
#{{tagg|vardagligt|eufemistiskt|kat=anatomi|språk=en}} [[snippa]], [[vagina]], [[vulva]]
0e8qegqwpx6fbe1dqkbe8v347bn7sjl
yemeği
0
1074445
4155715
2026-10-14T22:39:26Z
Frodlekis
762
böjningsform av [[yemek]]
4155715
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''yemeği'''
#{{böjning|tr|subst|yemek}}
r52dhsfkbucf83gzii4ma7u92nv0isa
abajurlar
0
1074448
4155725
2026-10-14T23:01:34Z
Frodlekis
762
böjningsform av [[abajur]]
4155725
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''abajurlar'''
#{{böjning|tr|subst|abajur}}
1egwc64phicr9e3d02i5rahh7h9rl8w
abajuru
0
1074449
4155726
2026-10-14T23:01:41Z
Frodlekis
762
böjningsform av [[abajur]]
4155726
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''abajuru'''
#{{böjning|tr|subst|abajur}}
mx3ky5q75vpdtx46wmlbh5yqy6ocwro
Användare:Frodlekis/common.js
2
1074450
4155733
2026-10-14T23:29:53Z
Frodlekis
762
Ny sida
4155733
javascript
text/javascript
mw.loader.using('mediawiki.api').then(function () {
var origGet = mw.Api.prototype.get;
mw.Api.prototype.get = function (params) {
var promise = origGet.apply(this, arguments);
if (!params || params.action !== 'parse' ||
typeof params.text !== 'string' || params.text.indexOf('<div>') !== 0) {
return promise;
}
return promise.then(function (data) {
try {
var raw = data.parse.text;
var html = typeof raw === 'string' ? raw : raw['*'];
var wrapper = $('<div>').append($.parseHTML(html)).find('div').first();
if (wrapper.length) {
data.parse.text = { '*': '<div>' + wrapper.html() + '</div>' };
}
} catch (e) {}
return data;
});
};
});
1kq61ezwdlz6mzk8nw1viiqn7i3qtvc
audmjukskap
0
1074451
4155734
2026-10-14T23:32:55Z
Frodlekis
762
nytt uppslag (nynorska)
4155734
wikitext
text/x-wiki
==Nynorska==
===Substantiv===
{{subst|nn}}
'''audmjukskap''' {{m}}
#[[ödmjukhet]]
iyv6rutma4y7tk6iagj7xkd74etbg4v
özgürlüğü
0
1074452
4155763
2026-10-15T01:32:35Z
Frodlekis
762
böjningsform av [[özgürlük]]
4155763
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''özgürlüğü'''
#{{böjning|tr|subst|özgürlük}}
2uazapkbsfpulqb5a5p0w3qjq4in9hk
özgürlükler
0
1074453
4155764
2026-10-15T01:32:50Z
Frodlekis
762
böjningsform av [[özgürlük]]
4155764
wikitext
text/x-wiki
==Turkiska==
===Substantiv===
'''özgürlükler'''
#{{böjning|tr|subst|özgürlük}}
m4xlrp8ho0akciwuofupwraac3ysz2d