Уикиречник
bgwiktionary
https://bg.wiktionary.org/wiki/%D0%A3%D0%B8%D0%BA%D0%B8%D1%80%D0%B5%D1%87%D0%BD%D0%B8%D0%BA:%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BD%D0%B0_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
MediaWiki 1.48.0-wmf.3
case-sensitive
Медия
Специални
Беседа
Потребител
Потребител беседа
Уикиречник
Уикиречник беседа
Файл
Файл беседа
МедияУики
МедияУики беседа
Шаблон
Шаблон беседа
Помощ
Помощ беседа
Категория
Категория беседа
Словоформи
Словоформи беседа
TimedText
TimedText talk
Модул
Модул беседа
Event
Event talk
клася
0
912219
1170743
1170332
2026-11-04T12:01:18Z
SixtyShips
20916
Разширение.
1170743
wikitext
text/x-wiki
{{-bg-}}
{{Глагол|
ID = клася
| ЗНАЧЕНИЕ = '''клася̀'''
# {{упо|bg|спец.|област=земеделие}} За житни и други растения, които образуват класовидни съцветия — развивам, образувам или пускам клас; навлизам във фаза на развитие, при която класът се появява от обвивката на горните листа и постепенно се показва над тях.
#: ''Пшеницата вече '''класи''', а след няколко седмици ще започне да зрее.''
#: ''През май житата започват да '''класят'''.''
#: ''В нивата ечемикът '''класеше''' равномерно въпреки продължителната суша.''
#: ''Ръжта '''класи''' по-рано от някои други житни култури.''
| ВИД = несвършен
| ТИП = 173
| КЛАСИФИКАЦИЯ = непреходен
| ЕТИМОЛОГИЯ =
| ИЗГОВОР =
* [[Международна фонетична азбука|МФА]]: [klɐˈsʲa]
* Ударение: клася̀.
* Срички: кла-ся.
| ИЗРАЗИ =
| ПРЕВОД1 =
* английски: {{п|en|}}
* арабски: {{п|ar|}}
* арменски: {{п|hy|}}
* африкаанс: {{п|af|}}
* белоруски: {{п|be|}}
* гръцки: {{п|el|}}
* датски: {{п|da|}}
* есперанто: {{п|eo|}}
* естонски: {{п|et|}}
* иврит: {{п|he|}}
* ирландски: {{п|ga|}}
* исландски: {{п|is|}}
* испански: {{п|es|}}
* италиански: {{п|it|}}
* китайски: {{п|zh|}}
* корейски: {{п|ko|}}
* латвийски: {{п|lv|}}
* латински: {{п|la|}}
* литовски: {{п|lt|}}
| ПРЕВОД2 =
* немски: {{п|de|}}
* норвежки: {{п|no|}}
* персийски: {{п|fa|}}
* полски: {{п|pl|}}
* португалски: {{п|pt|}}
* румънски: {{п|ro|}}
* руски: {{п|ru|}}
* словашки: {{п|sk|}}
* словенски: {{п|sl|}}
* сръбски: {{п|sr|}}
* турски: {{п|tr|}}
* унгарски: {{п|hu|}}
* фински: {{п|fi|}}
* френски: {{п|fr|}}
* холандски: {{п|nl|}}
* хърватски: {{п|hr|}}
* чешки: {{п|cs|}}
* шведски: {{п|sv|}}
* японски: {{п|ja|}}
| СИНОНИМИ =
| АНТОНИМИ =
| СРОДНИ ДУМИ =
** [[клас]] {{рне|житен клас}}, [[класене]]
** [класен]], [[класовиден]], [[класоносен]]
| ИЗТОЧНИЦИ =
# {{ИБЕМ}}
# {{РБЕ}}
[[Категория:Глаголи в българския език]]
}}
duqdbezsiks4qwymytf6jwtc6gjqeth
1170744
1170743
2026-11-04T12:01:55Z
SixtyShips
20916
1170744
wikitext
text/x-wiki
{{-bg-}}
{{Глагол|
ID = клася
| ЗНАЧЕНИЕ = '''клася̀'''
# {{упо|bg|спец.|област=земеделие}} За житни и други растения, които образуват класовидни съцветия — развивам, образувам или пускам клас; навлизам във фаза на развитие, при която класът се появява от обвивката на горните листа и постепенно се показва над тях.
#: ''Пшеницата вече '''класи''', а след няколко седмици ще започне да зрее.''
#: ''През май житата започват да '''класят'''.''
#: ''В нивата ечемикът '''класеше''' равномерно въпреки продължителната суша.''
#: ''Ръжта '''класи''' по-рано от някои други житни култури.''
| ВИД = несвършен
| ТИП = 173
| КЛАСИФИКАЦИЯ = непреходен
| ЕТИМОЛОГИЯ =
| ИЗГОВОР =
* [[Международна фонетична азбука|МФА]]: [klɐˈsʲa]
* Ударение: клася̀.
* Срички: кла-ся.
| ИЗРАЗИ =
| ПРЕВОД1 =
* английски: {{п|en|}}
* арабски: {{п|ar|}}
* арменски: {{п|hy|}}
* африкаанс: {{п|af|}}
* белоруски: {{п|be|}}
* гръцки: {{п|el|}}
* датски: {{п|da|}}
* есперанто: {{п|eo|}}
* естонски: {{п|et|}}
* иврит: {{п|he|}}
* ирландски: {{п|ga|}}
* исландски: {{п|is|}}
* испански: {{п|es|}}
* италиански: {{п|it|}}
* китайски: {{п|zh|}}
* корейски: {{п|ko|}}
* латвийски: {{п|lv|}}
* латински: {{п|la|}}
* литовски: {{п|lt|}}
| ПРЕВОД2 =
* немски: {{п|de|}}
* норвежки: {{п|no|}}
* персийски: {{п|fa|}}
* полски: {{п|pl|}}
* португалски: {{п|pt|}}
* румънски: {{п|ro|}}
* руски: {{п|ru|}}
* словашки: {{п|sk|}}
* словенски: {{п|sl|}}
* сръбски: {{п|sr|}}
* турски: {{п|tr|}}
* унгарски: {{п|hu|}}
* фински: {{п|fi|}}
* френски: {{п|fr|}}
* холандски: {{п|nl|}}
* хърватски: {{п|hr|}}
* чешки: {{п|cs|}}
* шведски: {{п|sv|}}
* японски: {{п|ja|}}
| СИНОНИМИ =
| АНТОНИМИ =
| СРОДНИ ДУМИ =
** [[клас]] {{рне|житен клас}}, [[класене]]
** [класен]], [[класовиден]], [[класоносен]]
| ИЗТОЧНИЦИ =
# {{ИБЕМ}}
# {{РБЕ}}
[[Категория:Глаголи в българския език]]
}}
m6z2jyrf34ror2klwlqes4x3r7re6fn
1170745
1170744
2026-11-04T12:03:13Z
SixtyShips
20916
1170745
wikitext
text/x-wiki
{{-bg-}}
{{Глагол|
ID = клася
| ЗНАЧЕНИЕ = '''клася̀'''
# {{упо|bg|спец.|област=земеделие}} За житни и други растения, които образуват класовидни съцветия — развивам, образувам или пускам клас; навлизам във фаза на развитие, при която класът се появява от обвивката на горните листа и постепенно се показва над тях.
#: ''Пшеницата вече '''класи''', а след няколко седмици ще започне да зрее.''
#: ''През май житата започват да '''класят'''.''
#: ''В нивата ечемикът '''класеше''' равномерно въпреки продължителната суша.''
#: ''Ръжта '''класи''' по-рано от някои други житни култури.''
| ВИД = несвършен
| ТИП = 173
| КЛАС = преходен
| ЕТИМОЛОГИЯ =
| ИЗГОВОР =
* [[Международна фонетична азбука|МФА]]: [klɐˈsʲa]
* Ударение: клася̀.
* Срички: кла-ся.
| ИЗРАЗИ =
| ПРЕВОД1 =
* английски: {{п|en|}}
* арабски: {{п|ar|}}
* арменски: {{п|hy|}}
* африкаанс: {{п|af|}}
* белоруски: {{п|be|}}
* гръцки: {{п|el|}}
* датски: {{п|da|}}
* есперанто: {{п|eo|}}
* естонски: {{п|et|}}
* иврит: {{п|he|}}
* ирландски: {{п|ga|}}
* исландски: {{п|is|}}
* испански: {{п|es|}}
* италиански: {{п|it|}}
* китайски: {{п|zh|}}
* корейски: {{п|ko|}}
* латвийски: {{п|lv|}}
* латински: {{п|la|}}
* литовски: {{п|lt|}}
| ПРЕВОД2 =
* немски: {{п|de|}}
* норвежки: {{п|no|}}
* персийски: {{п|fa|}}
* полски: {{п|pl|}}
* португалски: {{п|pt|}}
* румънски: {{п|ro|}}
* руски: {{п|ru|}}
* словашки: {{п|sk|}}
* словенски: {{п|sl|}}
* сръбски: {{п|sr|}}
* турски: {{п|tr|}}
* унгарски: {{п|hu|}}
* фински: {{п|fi|}}
* френски: {{п|fr|}}
* холандски: {{п|nl|}}
* хърватски: {{п|hr|}}
* чешки: {{п|cs|}}
* шведски: {{п|sv|}}
* японски: {{п|ja|}}
| СИНОНИМИ =
| АНТОНИМИ =
| СРОДНИ ДУМИ =
** [[клас]] {{рне|житен клас}}, [[класене]]
** [класен]], [[класовиден]], [[класоносен]]
| ИЗТОЧНИЦИ =
# {{ИБЕМ}}
# {{РБЕ}}
[[Категория:Глаголи в българския език]]
}}
fsc4yb9s8tyzxckm18krhynt6fogmyx
Шаблон:Снимка
10
912546
1170759
1147426
2026-11-05T10:39:00Z
Златарка
21355
1170759
wikitext
text/x-wiki
<includeonly><templatestyles src="Снимка/styles.css" /><div class="bgwik-photo {{#switch:{{{разполагане|хоризонтално}}}|вертикално=bgwik-photo-vertical|хоризонтално=bgwik-photo-horizontal|център=bgwik-photo-center|ляво=bgwik-photo-left|дясно=bgwik-photo-right|bgwik-photo-horizontal}} {{#ifeq:{{{кутии|не}}}|да|bgwik-photo-boxes|}} {{#ifeq:{{{тясно|не}}}|да|bgwik-photo-narrow|}}">
{{#if:{{{файл|}}}|<div class="bgwik-photo-item" style="width:{{{ширина|300}}}px;"><div class="bgwik-photo-image">[[Файл:{{{файл}}}|{{{ширина|300}}}px]]</div>{{#if:{{{откъс|}}}|<div class="bgwik-photo-caption">{{{откъс}}}</div>}}</div>}}
{{#if:{{{файл2|}}}|<div class="bgwik-photo-item" style="width:{{{ширина2|300}}}px;"><div class="bgwik-photo-image">[[Файл:{{{файл2}}}|{{{ширина2|300}}}px]]</div>{{#if:{{{откъс2|}}}|<div class="bgwik-photo-caption">{{{откъс2}}}</div>}}</div>}}
{{#if:{{{файл3|}}}|<div class="bgwik-photo-item" style="width:{{{ширина3|300}}}px;"><div class="bgwik-photo-image">[[Файл:{{{файл3}}}|{{{ширина3|300}}}px]]</div>{{#if:{{{откъс3|}}}|<div class="bgwik-photo-caption">{{{откъс3}}}</div>}}</div>}}
{{#if:{{{файл4|}}}|<div class="bgwik-photo-item" style="width:{{{ширина4|300}}}px;"><div class="bgwik-photo-image">[[Файл:{{{файл4}}}|{{{ширина4|300}}}px]]</div>{{#if:{{{откъс4|}}}|<div class="bgwik-photo-caption">{{{откъс4}}}</div>}}</div>}}
</div></includeonly><noinclude>{{Документация}}</noinclude>
nb7gdxhwcw78putkd9k2b2ydigxijbl
1170760
1170759
2026-11-05T10:41:37Z
Златарка
21355
1170760
wikitext
text/x-wiki
<templatestyles src="Шаблон:Снимка/styles.css" /><div class="bgwik-photo {{#switch:{{{разполагане|водоравно среда}}}
|отвесно ляво=bgwik-layout-v-left
|отвесно дясно=bgwik-layout-v-right
|отвесно среда=bgwik-layout-v-center
|отвесно=bgwik-layout-v-center
|водоравно ляво=bgwik-layout-h-left
|водоравно дясно=bgwik-layout-h-right
|водоравно разпределено=bgwik-layout-h-space
|водоравно разпределени=bgwik-layout-h-space
|водоравно среда=bgwik-layout-h-center
|водоравно=bgwik-layout-h-center
|#default=bgwik-layout-h-center
}} {{#if:{{{кутии|}}}|bgwik-photo-separate|}} {{#if:{{{тясно|}}}|bgwik-photo-narrow|}}">{{#if:{{{файл|}}}|<div class="bgwik-photo-item"><div class="bgwik-photo-image" style="width: {{{ширина|300}}}px;">[[File:{{{файл}}}|{{{ширина|300}}}px|class=bgwik-photo-img]]</div>{{#if:{{{откъс|}}}|<div class="bgwik-photo-caption" style="width: {{{ширина-откъс|{{{ширина|300}}}}}}px;">{{{откъс}}}</div>}}</div>}}{{#if:{{{файл2|}}}|<div class="bgwik-photo-item"><div class="bgwik-photo-image" style="width: {{{ширина2|300}}}px;">[[File:{{{файл2}}}|{{{ширина2|300}}}px|class=bgwik-photo-img]]</div>{{#if:{{{откъс2|}}}|<div class="bgwik-photo-caption" style="width: {{{ширина-откъс2|{{{ширина2|300}}}}}}px;">{{{откъс2}}}</div>}}</div>}}{{#if:{{{файл3|}}}|<div class="bgwik-photo-item"><div class="bgwik-photo-image" style="width: {{{ширина3|300}}}px;">[[File:{{{файл3}}}|{{{ширина3|300}}}px|class=bgwik-photo-img]]</div>{{#if:{{{откъс3|}}}|<div class="bgwik-photo-caption" style="width: {{{ширина-откъс3|{{{ширина3|300}}}}}}px;">{{{откъс3}}}</div>}}</div>}}{{#if:{{{файл4|}}}|<div class="bgwik-photo-item"><div class="bgwik-photo-image" style="width: {{{ширина4|300}}}px;">[[File:{{{файл4}}}|{{{ширина4|300}}}px|class=bgwik-photo-img]]</div>{{#if:{{{откъс4|}}}|<div class="bgwik-photo-caption" style="width: {{{ширина-откъс4|{{{ширина4|300}}}}}}px;">{{{откъс4}}}</div>}}</div>}}</div><noinclude>{{Документация}}</noinclude>
d7pbmm2q7zwknmsbr0x3t3ba5x8aiuf
Шаблон:Снимка/styles.css
10
912547
1170761
1147428
2026-11-05T10:48:57Z
Златарка
21355
1170761
sanitized-css
text/css
.bgwik-photo {
box-sizing: border-box;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: flex-start;
width: auto;
max-width: 100%;
margin: 1em 0;
padding: 8px;
background: #f6f3ff;
border: 1px solid #c9c0e8;
border-radius: 0;
gap: 6px;
}
.bgwik-photo-item {
box-sizing: border-box;
display: block;
flex: 0 0 auto;
width: auto;
min-width: 0;
max-width: 100%;
margin: 0;
padding: 0;
text-align: center;
}
.bgwik-photo-image {
box-sizing: border-box;
display: block;
width: auto;
max-width: 100%;
min-width: 0;
margin-left: auto;
margin-right: auto;
padding: 0;
line-height: 0;
text-align: center;
}
.bgwik-photo img {
display: block;
width: auto;
max-width: 100% !important;
height: auto !important;
margin-left: auto;
margin-right: auto;
}
.bgwik-photo-caption {
box-sizing: border-box;
display: block;
width: 100%;
max-width: 100%;
margin: 7px auto 0;
padding: 6px 8px 3px;
border-top: 1px solid #ddd6f0;
color: #3366CC;
font-size: 90%;
line-height: 1.4;
text-align: center;
white-space: normal;
overflow-wrap: break-word;
}
.bgwik-layout-v-left {
flex-direction: column;
align-items: flex-start;
float: left;
width: auto;
max-width: 100%;
margin-right: 16px;
margin-bottom: 10px;
}
.bgwik-layout-v-center {
flex-direction: column;
align-items: center;
width: 100%;
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
.bgwik-layout-v-right {
flex-direction: column;
align-items: flex-end;
float: right;
width: auto;
max-width: 100%;
margin-left: 16px;
margin-bottom: 10px;
}
.bgwik-layout-h-left {
flex-direction: row;
justify-content: flex-start;
float: left;
width: auto;
margin-right: 16px;
margin-bottom: 10px;
}
.bgwik-layout-h-center {
flex-direction: row;
justify-content: center;
width: 100%;
margin-left: auto;
margin-right: auto;
}
.bgwik-layout-h-right {
flex-direction: row;
justify-content: flex-end;
float: right;
width: auto;
margin-left: 16px;
margin-bottom: 10px;
}
.bgwik-layout-h-space {
flex-direction: row;
justify-content: space-between;
width: 100%;
}
.bgwik-photo-separate {
background: transparent;
border: 0;
padding: 0;
gap: 6px;
}
.bgwik-photo-separate .bgwik-photo-item {
box-sizing: border-box;
width: auto;
max-width: 100%;
padding: 6px;
background: #f6f3ff;
border: 1px solid #c9c0e8;
border-radius: 0;
}
.bgwik-photo-separate .bgwik-photo-caption {
max-width: 100%;
margin-top: 7px;
}
@media screen and (max-width: 600px) {
.bgwik-photo {
width: 100%;
max-width: 100%;
padding: 6px;
}
.bgwik-layout-v-left,
.bgwik-layout-v-right,
.bgwik-layout-h-left,
.bgwik-layout-h-right {
float: none;
margin-left: auto;
margin-right: auto;
}
.bgwik-photo:not(.bgwik-photo-narrow) {
flex-direction: column;
align-items: center;
}
.bgwik-photo:not(.bgwik-photo-narrow) .bgwik-photo-item {
width: auto;
max-width: 100%;
}
.bgwik-photo:not(.bgwik-photo-narrow) .bgwik-photo-image {
width: auto;
max-width: 100%;
}
.bgwik-photo:not(.bgwik-photo-narrow) .bgwik-photo-caption {
width: 100%;
max-width: 100%;
margin-left: auto;
margin-right: auto;
white-space: normal;
overflow-wrap: break-word;
}
.bgwik-photo:not(.bgwik-photo-narrow).bgwik-photo-separate {
padding: 0;
}
}
@media screen and (max-width: 768px) {
.bgwik-photo.bgwik-photo-narrow {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
width: 100%;
max-width: 100%;
overflow-x: auto;
overflow-y: hidden;
margin-left: auto;
margin-right: auto;
padding: 6px;
}
.bgwik-photo.bgwik-photo-narrow.bgwik-layout-h-left,
.bgwik-photo.bgwik-photo-narrow.bgwik-layout-h-center,
.bgwik-photo.bgwik-photo-narrow.bgwik-layout-h-right,
.bgwik-photo.bgwik-photo-narrow.bgwik-layout-h-space {
float: none;
margin-left: auto;
margin-right: auto;
}
.bgwik-photo.bgwik-photo-narrow .bgwik-photo-item {
flex: 0 0 auto;
width: auto;
min-width: 0;
max-width: none;
}
.bgwik-photo.bgwik-photo-narrow .bgwik-photo-image {
width: auto;
max-width: none;
}
.bgwik-photo.bgwik-photo-narrow .bgwik-photo-caption {
max-width: 100%;
white-space: normal;
overflow-wrap: break-word;
}
}
@media screen and (max-width: 768px) {
.bgwik-photo.bgwik-photo-narrow.bgwik-photo-separate {
gap: 6px;
}
.bgwik-photo.bgwik-photo-narrow.bgwik-photo-separate
.bgwik-photo-item {
padding: 6px;
}
}
r0ea0v2etof8tze98ch8xhby8dbq1we
Шаблон:Уикипедия-кутия/styles.css
10
912548
1170755
1147367
2026-11-04T17:31:14Z
Златарка
21355
1170755
sanitized-css
text/css
table.bgwik-wp-box {
box-sizing: border-box;
background: linear-gradient(135deg, #f3f6ff 0%, #ffffff 100%);
border: 1px solid #ced7eb;
border-radius: 10px;
float: right;
width: 320px;
margin: 0 0 1em 1em;
padding: 8px 10px;
border-collapse: collapse;
box-shadow: 0 3px 10px rgba(51, 102, 204, 0.05);
}
.bgwik-wp-logo {
padding: 2px 8px 2px 2px;
vertical-align: middle;
width: 36px;
}
.bgwik-wp-logo img {
width: 36px !important;
height: auto !important;
filter: drop-shadow(0 2px 3px rgba(0,0,0,0.08));
}
.bgwik-wp-text {
padding: 2px;
vertical-align: middle;
font-size: 100%;
line-height: 1.4;
color: #2c3038;
}
.bgwik-wp-text a {
color: #3366cc !important;
text-decoration: none;
font-weight: 600;
padding: 1px 3px;
border-radius: 3px;
transition: background 0.2s ease;
}
.bgwik-wp-text a:hover {
background: #e1e9ff;
text-decoration: underline;
}
@media screen and (max-width: 600px) {
table.bgwik-wp-box {
float: none;
width: 100%;
margin: 1em 0;
padding: 10px 12px;
border-radius: 8px;
}
.bgwik-wp-text {
font-size: 100%;
}
}
kr7lgk2s3w3sagbx6jz5hm6cgfk7105
Шаблон:РМАК
10
912571
1170747
1147484
2026-11-04T15:53:49Z
Златарка
21355
1170747
wikitext
text/x-wiki
{{ref-mk}}<noinclude>[[Категория:Шаблони за източници/македонски|{{PAGENAME}}]]</noinclude> {{#if:{{{2|}}}|''{{{2}}}''|''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}''}} в [http://drmj.eu/search/{{urlencode:{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}}} Дигитален речник на македонскиот jaзик] (в Мрежата)<noinclude>
{{Документация}}
</noinclude>
28mu8qrtbw2xb6zp2kofj40oovxohvt
Модул:Упо
828
912597
1170750
1170683
2026-11-04T16:51:48Z
Златарка
21355
1170750
Scribunto
text/plain
local p = {}
local labels = {
['разг.'] = {
whole = 'Разговорни думи',
sense = 'Думи с разговорни значения'
},
['жарг.'] = {
whole = 'Жаргонни думи',
sense = 'Думи с жаргонни значения'
},
['диал.'] = {
whole = 'Диалектни думи',
sense = 'Думи с диалектни значения'
},
['остар.'] = {
whole = 'Остарели думи',
sense = 'Думи с остарели значения'
},
['прен.'] = {
whole = 'Думи с преносна употреба',
sense = 'Думи с преносни значения'
},
['руг.'] = {
whole = 'Ругателни думи',
sense = 'Думи с ругателни значения'
},
['шег.'] = {
whole = 'Шеговити думи',
sense = 'Думи с шеговити значения'
},
['ирон.'] = {
whole = 'Иронични думи',
sense = 'Думи с иронични значения'
},
['спец.'] = {
whole = 'Специализирани думи',
sense = 'Специализирани значения'
},
['обикн. в мн.'] = {
whole = 'обикновено в множествено число',
sense = '',
category = false
},
['само мн.'] = {
whole = 'само в множествено число',
sense = '',
category = false
},
['само ед.'] = {
whole = 'само в единствено число',
sense = '',
category = false
},
['обикн. в ед.'] = {
whole = 'обикновено в единствено число',
sense = '',
category = false
},
['само член.'] = {
whole = 'само членувано',
sense = '',
category = false
},
['само нечлен.'] = {
whole = 'само нечленувано',
sense = '',
category = false
},
['разш.'] = {
whole = 'с разширено значение',
sense = '',
category = false
},
['неточ.'] = {
whole = 'с неточно значение',
sense = '',
category = false
},
['стесн.'] = {
whole = 'със стеснено значение',
sense = '',
category = false
},
['букв.'] = {
whole = 'със буквално значение',
sense = '',
category = false
},
['нежел.'] = {
whole = 'Нежелателни думи',
sense = 'Думи с нежелателни значения'
},
['събир.'] = {
whole = 'Събирателни думи',
sense = 'Думи със събирателни значения'
},
['пренебр.'] = {
whole = 'Пренебрежителни думи',
sense = 'Думи с пренебрежителни значения'
},
['ПК'] = {
whole = 'Политкоректни думи',
sense = 'Думи с политкоректни значения'
},
['бот.'] = {
whole = 'Думи от ботаниката',
sense = 'Думи с ботанически значения'
},
['техн.'] = {
whole = 'Думи от техниката',
sense = 'Думи с технически значения'
},
['автомоб.'] = {
whole = 'Автомобилни думи',
sense = 'Думи с автомобилни значения'
},
['простонар.'] = {
whole = 'Простонародни думи',
sense = 'Думи с простонародни значения'
}
}
local languageForms = {
['bg'] = 'българския език',
['en'] = 'английския език',
['de'] = 'немския език',
['fr'] = 'френския език',
['ru'] = 'руския език',
['es'] = 'испанския език',
['it'] = 'италианския език',
['el'] = 'гръцкия език',
['tr'] = 'турския език',
['ro'] = 'румънския език',
['sr'] = 'сръбския език',
['mk'] = 'македонския език',
['uk'] = 'украинския език',
['pl'] = 'полския език',
['la'] = 'латинския език'
}
local languageShortForms = {
['bg'] = 'български',
['en'] = 'английски',
['de'] = 'немски',
['fr'] = 'френски',
['ru'] = 'руски',
['es'] = 'испански',
['it'] = 'италиански',
['el'] = 'гръцки',
['tr'] = 'турски',
['ro'] = 'румънски',
['sr'] = 'сръбски',
['mk'] = 'македонски',
['uk'] = 'украински',
['pl'] = 'полски',
['la'] = 'латински'
}
local areas = {
['селско стопанство'] = 'селското стопанство',
['строителство'] = 'строителството',
['медицина'] = 'медицината',
['право'] = 'правото',
['ботаника'] = 'ботаниката',
['зоология'] = 'зоологията',
['химия'] = 'химията',
['биология'] = 'биологията',
['математика'] = 'математиката',
['физика'] = 'физиката',
['лингвистика'] = 'лингвистиката',
['техника'] = 'техниката',
['музика'] = 'музиката',
['спорт'] = 'спорта',
['мореплаване'] = 'мореплаването',
['земеделие'] = 'земеделието',
['кулинария'] = 'кулинарията'
}
local function getLanguageName(lang, withArticle)
local forms = withArticle and languageForms
or languageShortForms
if forms[lang] then
return forms[lang]
end
local name = mw.language.fetchLanguageName(lang, 'bg')
if not name or name == '' then
return lang
end
return name
end
function p.main(frame)
local args = frame:getParent().args
local lang = mw.text.trim(args[1] or '')
local label = mw.text.trim(args[2] or '')
local scope = mw.text.trim(args['обхват'] or 'значение')
local area = mw.text.trim(args['област'] or '')
local data = labels[label]
if lang == '' or not mw.language.isKnownLanguageTag(lang) then
return '<strong class="error">Посочете валиден езиков код.</strong>'
end
if not data then
return '<strong class="error">Неизвестна бележка.</strong>'
end
if scope ~= 'дума' and scope ~= 'значение' then
return '<strong class="error">Обхватът трябва да бъде „дума“ или „значение“.</strong>'
end
local reference = 'Уикиречник:Български/Съкращения'
local output = '[[' .. reference .. '#' .. label .. '|' .. label .. ']]'
if area ~= '' then
output = output .. ' <span style="color:#777; font-size:90%;">('
.. area .. ')</span>'
end
if mw.title.getCurrentTitle().namespace == 0
and data.category ~= false then
local category
if scope == 'дума' then
category = data.whole
else
category = data.sense
end
if category and category ~= '' then
if area ~= '' then
local areaKey = mw.ustring.lower(area)
local areaName = areas[areaKey] or area
local langName = getLanguageName(lang, false)
category = category .. ' в ' .. areaName ..
' (' .. langName .. ')'
else
local langName = getLanguageName(lang, true)
category = category .. ' в ' .. langName
end
output = output .. '[[Категория:' .. category .. ']]'
end
end
return output
end
return p
fku4k2i6qol4dm7h0wsv8masgcbuanv
1170751
1170750
2026-11-04T17:13:07Z
Златарка
21355
1170751
Scribunto
text/plain
local p = {}
local labels = {
['разг.'] = {
whole = 'Разговорни думи',
sense = 'Думи с разговорни значения'
},
['жарг.'] = {
whole = 'Жаргонни думи',
sense = 'Думи с жаргонни значения'
},
['диал.'] = {
whole = 'Диалектни думи',
sense = 'Думи с диалектни значения'
},
['остар.'] = {
whole = 'Остарели думи',
sense = 'Думи с остарели значения'
},
['прен.'] = {
whole = 'Думи с преносна употреба',
sense = 'Думи с преносни значения'
},
['руг.'] = {
whole = 'Ругателни думи',
sense = 'Думи с ругателни значения'
},
['шег.'] = {
whole = 'Шеговити думи',
sense = 'Думи с шеговити значения'
},
['ирон.'] = {
whole = 'Иронични думи',
sense = 'Думи с иронични значения'
},
['спец.'] = {
whole = 'Специализирани думи',
sense = 'Специализирани значения'
},
['обикн. в мн.'] = {
whole = 'обикновено в множествено число',
sense = '',
category = false
},
['само мн.'] = {
whole = 'само в множествено число',
sense = '',
category = false
},
['само ед.'] = {
whole = 'само в единствено число',
sense = '',
category = false
},
['обикн. в ед.'] = {
whole = 'обикновено в единствено число',
sense = '',
category = false
},
['само член.'] = {
whole = 'само членувано',
sense = '',
category = false
},
['само нечлен.'] = {
whole = 'само нечленувано',
sense = '',
category = false
},
['разш.'] = {
whole = 'с разширено значение',
sense = '',
category = false
},
['неточ.'] = {
whole = 'с неточно значение',
sense = '',
category = false
},
['стесн.'] = {
whole = 'със стеснено значение',
sense = '',
category = false
},
['букв.'] = {
whole = 'със буквално значение',
sense = '',
category = false
},
['нежел.'] = {
whole = 'Нежелателни думи',
sense = 'Думи с нежелателни значения'
},
['събир.'] = {
whole = 'Събирателни думи',
sense = 'Думи със събирателни значения'
},
['пренебр.'] = {
whole = 'Пренебрежителни думи',
sense = 'Думи с пренебрежителни значения'
},
['ПК'] = {
whole = 'Политкоректни думи',
sense = 'Думи с политкоректни значения'
},
['бот.'] = {
whole = 'Думи от ботаниката',
sense = 'Думи с ботанически значения'
},
['техн.'] = {
whole = 'Думи от техниката',
sense = 'Думи с технически значения'
},
['автомоб.'] = {
whole = 'Автомобилни думи',
sense = 'Думи с автомобилни значения'
},
['простонар.'] = {
whole = 'Простонародни думи',
sense = 'Думи с простонародни значения'
}
}
local languageForms = {
['bg'] = 'българския език',
['en'] = 'английския език',
['de'] = 'немския език',
['fr'] = 'френския език',
['ru'] = 'руския език',
['es'] = 'испанския език',
['it'] = 'италианския език',
['el'] = 'гръцкия език',
['tr'] = 'турския език',
['ro'] = 'румънския език',
['sr'] = 'сръбския език',
['mk'] = 'македонския език',
['uk'] = 'украинския език',
['pl'] = 'полския език',
['la'] = 'латинския език'
}
local languageShortForms = {
['bg'] = 'български',
['en'] = 'английски',
['de'] = 'немски',
['fr'] = 'френски',
['ru'] = 'руски',
['es'] = 'испански',
['it'] = 'италиански',
['el'] = 'гръцки',
['tr'] = 'турски',
['ro'] = 'румънски',
['sr'] = 'сръбски',
['mk'] = 'македонски',
['uk'] = 'украински',
['pl'] = 'полски',
['la'] = 'латински'
}
local areas = {
['селско стопанство'] = 'селското стопанство',
['строителство'] = 'строителството',
['медицина'] = 'медицината',
['право'] = 'правото',
['ботаника'] = 'ботаниката',
['зоология'] = 'зоологията',
['химия'] = 'химията',
['биология'] = 'биологията',
['математика'] = 'математиката',
['физика'] = 'физиката',
['лингвистика'] = 'лингвистиката',
['техника'] = 'техниката',
['музика'] = 'музиката',
['спорт'] = 'спорта',
['мореплаване'] = 'мореплаването',
['земеделие'] = 'земеделието',
['кулинария'] = 'кулинарията'
}
local function getLanguageName(lang, withArticle)
local forms = withArticle and languageForms
or languageShortForms
if forms[lang] then
return forms[lang]
end
local name = mw.language.fetchLanguageName(lang, 'bg')
if not name or name == '' then
return lang
end
return name
end
function p.main(frame)
local args = frame:getParent().args
local lang = mw.text.trim(args[1] or '')
local label = mw.text.trim(args[2] or '')
local scope = mw.text.trim(args['обхват'] or 'значение')
local area = mw.text.trim(args['област'] or '')
local data = labels[label]
if lang == '' or not mw.language.isKnownLanguageTag(lang) then
return '<strong class="error">Посочете валиден езиков код.</strong>'
end
if not data then
return '<strong class="error">Неизвестна бележка.</strong>'
end
if scope ~= 'дума' and scope ~= 'значение' then
return '<strong class="error">Обхватът трябва да бъде „дума“ или „значение“.</strong>'
end
local reference = 'Уикиречник:Български/Съкращения'
local output = '<span style="'
.. 'font-size:90%;'
.. '">[[ '
.. reference .. '#' .. label
.. '|<span style="color:#806747; text-decoration:underline;">'
.. label
.. '</span>]]</span>'
if area ~= '' then
output = output .. ' <span style="color:#777; font-size:90%;">('
.. area .. ')</span>'
end
if mw.title.getCurrentTitle().namespace == 0
and data.category ~= false then
local category
if scope == 'дума' then
category = data.whole
else
category = data.sense
end
if category and category ~= '' then
if area ~= '' then
local areaKey = mw.ustring.lower(area)
local areaName = areas[areaKey] or area
local langName = getLanguageName(lang, false)
category = category .. ' в ' .. areaName ..
' (' .. langName .. ')'
else
local langName = getLanguageName(lang, true)
category = category .. ' в ' .. langName
end
output = output .. '[[Категория:' .. category .. ']]'
end
end
return output
end
return p
fu2wti9606zedehzhs5ad1ity5w7y8g
Шаблон:пп
10
912659
1170752
1170647
2026-11-04T17:13:32Z
Златарка
21355
1170752
wikitext
text/x-wiki
<div style="display:block; width:100%; box-sizing:border-box; background-color:#5C8AE6; color:white; padding:2px 5px;">точен превод</div>
668hl6j7k26f2hj1x8dgy22ri6wt02b
Шаблон:оп
10
912660
1170753
1170648
2026-11-04T17:13:48Z
Златарка
21355
1170753
wikitext
text/x-wiki
<div style="display:block; width:100%; box-sizing:border-box; background-color:#5C8AE6; color:white; padding:2px 5px;">описателен превод</div>
oytqsny856nzwnygqa509d4sv7k7h1w
Шаблон:пк
10
912661
1170754
1170649
2026-11-04T17:14:24Z
Златарка
21355
1170754
wikitext
text/x-wiki
<div style="display:block; width:100%; box-sizing:border-box; background-color:#5C8AE6; color:#3366CC; padding:2px 5px;">.</div>
krdfcxznc75im0tseqfd4ntzqntjplm
Модул:ру-същ
828
912664
1170749
1170720
2026-11-04T16:17:09Z
Златарка
21355
1170749
Scribunto
text/plain
local p = {}
local ACUTE = '́'
local function trim(s)
return mw.text.trim(tostring(s or ''))
end
local function arg(args, key)
local v = trim(args[key])
if v ~= '' then return v end
return nil
end
local function plain(s)
return (s or ''):gsub(ACUTE, '')
end
local function ends(s, suffix)
s, suffix = plain(s), plain(suffix)
if suffix == '' then return false end
return mw.ustring.sub(s, -mw.ustring.len(suffix)) == suffix
end
local function remove(s, suffix)
local raw = s or ''
local clean = plain(raw)
suffix = plain(suffix)
if suffix == '' or not mw.ustring.find(clean, suffix .. '$') then return raw end
local rawChars, cleanChars, map = {}, {}, {}
for i = 1, mw.ustring.len(raw) do
local c = mw.ustring.sub(raw, i, i)
rawChars[#rawChars + 1] = c
if c ~= ACUTE then
cleanChars[#cleanChars + 1] = c
map[#cleanChars] = #rawChars
end
end
local n = mw.ustring.len(suffix)
local startClean = #cleanChars - n + 1
if startClean < 1 then return raw end
local rawStart = map[startClean]
return table.concat(rawChars, '', 1, rawStart - 1)
end
local function add(base, ending)
return (base or '') .. (ending or '')
end
local function last(s)
local c = plain(s or '')
if c == '' then return '' end
return mw.ustring.sub(c, -1)
end
local function beforeLast(s)
local c = plain(s or '')
if mw.ustring.len(c) < 2 then return '' end
return mw.ustring.sub(c, -2, -2)
end
local vowels = { ['а']=true, ['е']=true, ['ё']=true, ['и']=true, ['о']=true, ['у']=true, ['ы']=true, ['э']=true, ['ю']=true, ['я']=true }
local softOrHushing = { ['й']=true, ['ь']=true, ['ж']=true, ['ч']=true, ['ш']=true, ['щ']=true, ['г']=true, ['к']=true, ['х']=true }
local hushing = { ['ж']=true, ['ч']=true, ['ш']=true, ['щ']=true }
local velar = { ['г']=true, ['к']=true, ['х']=true }
local function isSoftStem(word)
local c = last(word)
return c == 'ь' or c == 'й' or c == 'е' or c == 'ё' or c == 'я' or c == 'и'
end
local function iInsteadOfY(stem)
local c = last(stem)
return softOrHushing[c] == true
end
local function chooseI(stem)
return iInsteadOfY(stem) and 'и' or 'ы'
end
local function chooseA(stem)
local c = last(stem)
return (c == 'ь' or c == 'й' or c == 'е' or c == 'ё' or c == 'я' or c == 'и') and 'я' or 'а'
end
local function isVowel(c) return vowels[c] == true end
local function isVowelChar(c)
c = plain(c or '')
return vowels[c] == true
end
local function syllabify(word)
word = trim(word)
if word == '' or mw.ustring.find(word, '·', 1, true) then
return word
end
local chars = {}
for i = 1, mw.ustring.len(word) do
local ch = mw.ustring.sub(word, i, i)
if ch == ACUTE and #chars > 0 then
chars[#chars] = chars[#chars] .. ch
else
chars[#chars + 1] = ch
end
end
local vowelPositions = {}
for i, ch in ipairs(chars) do
if isVowelChar(ch) then
vowelPositions[#vowelPositions + 1] = i
end
end
if #vowelPositions <= 1 then return word end
local result, start = {}, 1
for i = 1, #vowelPositions - 1 do
local currentVowel = vowelPositions[i]
local nextVowel = vowelPositions[i + 1]
local consonantsBetween = nextVowel - currentVowel - 1
local boundary
if consonantsBetween <= 1 then
boundary = currentVowel
else
boundary = currentVowel + 1
end
if boundary >= start and boundary < #chars then
local part = {}
for j = start, boundary do part[#part + 1] = chars[j] end
result[#result + 1] = table.concat(part)
start = boundary + 1
end
end
local lastPart = {}
for i = start, #chars do lastPart[#lastPart + 1] = chars[i] end
if #lastPart > 0 then result[#result + 1] = table.concat(lastPart) end
return table.concat(result, '·')
end
local function displayForm(args, key, form)
local manual = arg(args, key .. '.слогове')
if manual then return manual end
return syllabify(form or '')
end
local function detectGender(word, args)
local g = arg(args, 'род') or arg(args, 2)
if g == 'м' or g == 'ж' or g == 'ср' then return g end
if ends(word, 'мя') or ends(word, 'о') or ends(word, 'е') or ends(word, 'ё') then return 'ср' end
if ends(word, 'а') or ends(word, 'я') or ends(word, 'ь') then return 'ж' end
return 'м'
end
local function detectType(word, gender, args)
local t = arg(args, 'тип')
if t then return t end
if ends(word, 'мя') then return 'мя' end
if arg(args, 'нескл') == 'да' then return 'нескл' end
if gender == 'ж' and ends(word, 'ь') then return '3' end
if ends(word, 'а') or ends(word, 'я') then return '1' end
if gender == 'ср' and (ends(word, 'о') or ends(word, 'е') or ends(word, 'ё')) then return '2ср' end
return '2'
end
local function formOverride(args, number, caseName)
return arg(args, number .. '.' .. caseName)
or arg(args, (number == 'ед' and 'sg' or 'pl') .. '.' .. caseName)
end
local function pluralNominative(word, gender, typ, args)
local manual = arg(args, 'мн') or arg(args, 'мн.им')
if manual then return manual end
if typ == 'нескл' then return word end
if typ == 'мя' then
local b = remove(word, 'мя')
local special = { ['врем']='времена', ['имен']='имена', ['плем']='племена', ['сем']='семена', ['знам']='знамёна', ['пламен']='пламена', ['тем']='темена', ['вым']='вымена', ['стрем']='стремена', ['бремен']='бремена' }
return special[plain(b)] or add(b, 'ена')
end
if typ == '1' then
if ends(word, 'ия') then return remove(word, 'я') .. 'и' end
if ends(word, 'ья') then return remove(word, 'я') .. 'и' end
if ends(word, 'а') then
local b = remove(word, 'а')
return add(b, chooseI(b))
end
if ends(word, 'я') then return remove(word, 'я') .. 'и' end
end
if typ == '3' then return remove(word, 'ь') .. 'и' end
if gender == 'ср' then
if ends(word, 'о') then return remove(word, 'о') .. 'а' end
if ends(word, 'ие') then return remove(word, 'е') .. 'я' end
if ends(word, 'ье') then return remove(word, 'е') .. 'я' end
if ends(word, 'е') or ends(word, 'ё') then return remove(word, last(word)) .. 'я' end
end
if ends(word, 'ий') then return remove(word, 'й') .. 'и' end
if ends(word, 'й') then return remove(word, 'й') .. 'и' end
if ends(word, 'ь') then return remove(word, 'ь') .. 'и' end
local b = word
local c = last(b)
if c == 'г' or c == 'к' or c == 'х' or hushing[c] then return b .. 'и' end
return b .. 'ы'
end
local function singularForms(word, gender, typ, args)
local f = { ['им'] = word }
if typ == 'нескл' then
for _, c in ipairs({'род','дат','вин','твор','предл'}) do f[c] = word end
return f
end
if typ == 'мя' then
local b = remove(word, 'мя')
f['род'] = b .. 'мени'
f['дат'] = b .. 'мени'
f['вин'] = word
f['твор'] = b .. 'менем'
f['предл'] = b .. 'мени'
return f
end
if typ == '1' then
local ending = ends(word, 'а') and 'а' or 'я'
local b = remove(word, ending)
local isIya = ends(word, 'ия')
local soft = ending == 'я'
f['род'] = add(b, (isIya or (not soft and iInsteadOfY(b))) and 'и' or (soft and 'и' or 'ы'))
f['дат'] = add(b, isIya and 'и' or (soft and 'е' or 'е'))
f['вин'] = add(b, soft and 'ю' or 'у')
f['твор'] = add(b, soft and 'ей' or 'ой')
f['предл'] = add(b, isIya and 'и' or 'е')
return f
end
if typ == '3' then
local b = remove(word, 'ь')
f['род'], f['дат'], f['предл'] = b .. 'и', b .. 'и', b .. 'и'
f['вин'], f['твор'] = word, b .. 'ью'
return f
end
if gender == 'ср' then
if ends(word, 'ие') then
local b = remove(word, 'е')
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'я', b .. 'ю', word, b .. 'ем', b .. 'и'
elseif ends(word, 'ье') then
local b = remove(word, 'е')
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'я', b .. 'ю', word, b .. 'ем', b .. 'е'
elseif ends(word, 'о') then
local b = remove(word, 'о')
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'а', b .. 'у', word, b .. 'ом', b .. 'е'
else
local e = last(word)
local b = remove(word, e)
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'я', b .. 'ю', word, b .. 'ем', b .. 'е'
end
return f
end
if ends(word, 'ий') then
local b = remove(word, 'й')
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'я', b .. 'ю', word, b .. 'ем', b .. 'и'
elseif ends(word, 'й') then
local b = remove(word, 'й')
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'я', b .. 'ю', word, b .. 'ем', b .. 'е'
elseif ends(word, 'ь') then
local b = remove(word, 'ь')
f['род'], f['дат'], f['вин'], f['твор'], f['предл'] = b .. 'я', b .. 'ю', word, b .. 'ем', b .. 'е'
else
local c = last(word)
local soft = isSoftStem(word)
local gen = soft and 'я' or 'а'
local dat = soft and 'ю' or 'у'
local inst = soft and 'ем' or 'ом'
f['род'], f['дат'] = word .. gen, word .. dat
f['вин'] = word
f['твор'] = word .. inst
f['предл'] = word .. 'е'
end
return f
end
local function genitivePlural(word, plural, gender, typ, args)
local manual = arg(args, 'мн.род')
if manual then return manual end
if typ == 'нескл' then return word end
if typ == 'мя' then
local map = { ['времена']='времён', ['имена']='имён', ['племена']='племён', ['семена']='семян', ['знамёна']='знамён', ['пламена']='пламен', ['темена']='темён', ['вымена']='вымён', ['стремена']='стремян', ['бремена']='бремён' }
return map[plain(plural)] or remove(plural, 'а')
end
if ends(plural, 'ии') then return remove(plural, 'и') .. 'й' end
if ends(plural, 'ья') then return remove(plural, 'ья') .. 'ей' end
if ends(plural, 'ьи') then return remove(plural, 'и') .. 'ей' end
if gender == 'м' then
if ends(word, 'й') and ends(plural, 'я') then
return remove(plural, 'я') .. 'ёв'
end
if ends(word, 'й') and ends(plural, 'и') then
return remove(plural, 'и') .. 'ев'
end
if ends(plural, 'и') then
local b = remove(plural, 'и')
local c = last(b)
if c == 'й' then return b .. 'ев' end
if c == 'ц' then return b .. 'ев' end
return b .. 'ей'
end
if ends(plural, 'ы') then
local b = remove(plural, 'ы')
local c = last(b)
if c == 'ц' then return b .. 'ев' end
return b .. 'ов'
end
end
if gender == 'ж' then
if ends(word, 'я') and ends(plural, 'и') then
local b = remove(word, 'я')
if isVowel(last(b)) then return b .. 'й' end
return b .. 'ь'
end
if ends(plural, 'и') then
local b = remove(plural, 'и')
return b
end
if ends(plural, 'ы') then return remove(plural, 'ы') end
end
if gender == 'ср' then
if ends(plural, 'я') then return remove(plural, 'я') end
if ends(plural, 'а') then
local b = remove(plural, 'а')
local c1 = last(b)
local c2 = beforeLast(b)
if not isVowel(c1) and not isVowel(c2) and c1 ~= '' and c2 ~= '' then
local before = mw.ustring.sub(b, 1, -2)
return before .. ((c1 == 'н' or c1 == 'л' or c1 == 'р') and 'о' or 'е') .. c1
end
return b
end
end
return remove(plural, last(plural))
end
local function pluralForms(word, plural, gender, typ, args)
local f = { ['им'] = plural }
if typ == 'нескл' then
for _, c in ipairs({'род','дат','вин','твор','предл'}) do f[c] = word end
return f
end
f['род'] = genitivePlural(word, plural, gender, typ, args)
local soft = ends(plural, 'и') or ends(plural, 'я')
local ending = soft and 'ям' or 'ам'
f['дат'] = remove(plural, last(plural)) .. ending
f['твор'] = remove(plural, last(plural)) .. (soft and 'ями' or 'ами')
f['предл'] = remove(plural, last(plural)) .. (soft and 'ях' or 'ах')
local animate = arg(args, 'одуш') == 'да' or arg(args, 'одуш') == '1' or arg(args, 'одуш') == 'одуш'
f['вин'] = animate and f['род'] or plural
return f
end
local caseOrder = {
{key='им', label='именителен'},
{key='род', label='родителен'},
{key='дат', label='дателен'},
{key='вин', label='винителен'},
{key='твор', label='творителен'},
{key='предл', label='предложен'}
}
local STYLE = {
table = table.concat({
'border-collapse:collapse',
'border:1px solid #bfc1c3',
'background:#fff',
'color:#202122',
'font-size:100%',
'line-height:1.6',
'text-align:left',
'width:auto',
'max-width:100%',
'margin:0 0 1em 1em',
'float:right',
'clear:right'
}, ';') .. ';',
title = table.concat({
'caption-side:top',
'border:0',
'padding:0 0 3px 0',
'text-align:center',
'font-size:100%',
'font-weight:700',
'line-height:1.3',
'white-space:nowrap',
'background:transparent'
}, ';') .. ';',
head = table.concat({
'background:#dfe2e4',
'border:1px solid #bfc1c3',
'padding:3px 10px',
'font-weight:700',
'vertical-align:middle',
'white-space:nowrap'
}, ';') .. ';',
cell = table.concat({
'background:#fff',
'border:1px solid #bfc1c3',
'padding:3px 10px',
'text-align:left',
'vertical-align:middle'
}, ';') .. ';'
}
local function cell(row, tag, text, style, attrs)
local c = row:tag(tag)
c:cssText(style or STYLE.cell)
if attrs then for k,v in pairs(attrs) do c:attr(k,v) end end
c:wikitext(text or '')
return c
end
local function main(frame)
local args = frame:getParent().args
local word = trim(args[1])
if word == '' then word = mw.title.getCurrentTitle().text end
if word == '' then return '<strong class="error">Не е зададена руска дума.</strong>' end
local gender = detectGender(word, args)
local typ = detectType(word, gender, args)
local singular = singularForms(word, gender, typ, args)
local plural = pluralNominative(word, gender, typ, args)
local pluralF = pluralForms(word, plural, gender, typ, args)
for _, c in ipairs(caseOrder) do
singular[c.key] = formOverride(args, 'ед', c.key) or singular[c.key]
pluralF[c.key] = formOverride(args, 'мн', c.key) or pluralF[c.key]
end
local root = mw.html.create('table'):addClass('wikitable'):addClass('inflection-table'):cssText(STYLE.table)
cell(root, 'caption', word, STYLE.title)
local header = root:tag('tr')
cell(header, 'th', 'падеж', STYLE.head)
cell(header, 'th', 'ед.ч.', STYLE.head)
cell(header, 'th', 'мн.ч.', STYLE.head)
for _, c in ipairs(caseOrder) do
local row = root:tag('tr')
cell(row, 'th', c.label, STYLE.head)
local sv = arg(args, 'ед.' .. c.key .. '.вариант')
or arg(args, 'ед.' .. c.key .. '.2')
local pv = arg(args, 'мн.' .. c.key .. '.вариант')
or arg(args, 'мн.' .. c.key .. '.2')
local singularKey = 'ед.' .. c.key
local pluralKey = 'мн.' .. c.key
local sText = displayForm(args, singularKey, singular[c.key] or '')
local pText = displayForm(args, pluralKey, pluralF[c.key] or '')
if sv then
local svSyllables = arg(args, singularKey .. '.вариант.слогове')
or syllabify(sv)
sText = sText .. '<br /><i>вариант</i> ' .. svSyllables
end
if pv then
local pvSyllables = arg(args, pluralKey .. '.вариант.слогове')
or syllabify(pv)
pText = pText .. '<br /><i>вариант</i> ' .. pvSyllables
end
cell(row, 'td', sText, STYLE.cell)
cell(row, 'td', pText, STYLE.cell)
end
return tostring(root)
end
p.main = main
return p
p7seuu8f1klth409mpxy2odw1pnt4hs
Шаблон:ref-ru
10
912683
1170746
2026-11-04T15:48:41Z
Златарка
21355
Нова страница: „{{ref-lang|ru}}<noinclude> [[Категория:Шаблони за шаблони|ru]]</noinclude>“
1170746
wikitext
text/x-wiki
{{ref-lang|ru}}<noinclude>
[[Категория:Шаблони за шаблони|ru]]</noinclude>
atodzei2ul90ml29qbvt9b5cdqcpsgz
Шаблон:ГМРУ
10
912684
1170748
2026-11-04T15:54:15Z
Златарка
21355
Нова страница: „{{ref-ru}}<noinclude>[[Категория:Шаблони за източници/руски|{{PAGENAME}}]]</noinclude> {{#if:{{{2|}}}|''{{{2}}}''|''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}''}} в [https://gramota.ru/meta/{{urlencode:{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}}} Справочно-информационен портал „Руски език“] (в Мрежата)<noinclude> {{Документация}} </noinclude>“
1170748
wikitext
text/x-wiki
{{ref-ru}}<noinclude>[[Категория:Шаблони за източници/руски|{{PAGENAME}}]]</noinclude> {{#if:{{{2|}}}|''{{{2}}}''|''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}''}} в [https://gramota.ru/meta/{{urlencode:{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}}} Справочно-информационен портал „Руски език“] (в Мрежата)<noinclude>
{{Документация}}
</noinclude>
371tms9ly1xrzyd58kqng35ogux5x5i
Шаблон:АКРУ
10
912685
1170756
2026-11-04T18:03:27Z
Златарка
21355
Нова страница: „{{ref-ru}}''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}'' в {{#if:{{{2|}}}|[{{{2}}} Академик]|[https://dic.academic.ru/ Академик]}}{{#if:{{{3|}}}|; [{{{3}}} Академик]}}{{#if:{{{4|}}}|; [{{{4}}} Академик]}}{{#if:{{{5|}}}|; [{{{5}}} Академик]}}{{#if:{{{6|}}}|; [{{{6}}} Академик]}}{{#if:{{{7|}}}|; [{{{7}}} Академик]}}{{#if:{{{8|}}}|; [{{{8}}} Академик]}}{{#if:{{{9|}}}|; [{{{9}}} Академик]}}{{#if...“
1170756
wikitext
text/x-wiki
{{ref-ru}}''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}'' в {{#if:{{{2|}}}|[{{{2}}} Академик]|[https://dic.academic.ru/ Академик]}}{{#if:{{{3|}}}|; [{{{3}}} Академик]}}{{#if:{{{4|}}}|; [{{{4}}} Академик]}}{{#if:{{{5|}}}|; [{{{5}}} Академик]}}{{#if:{{{6|}}}|; [{{{6}}} Академик]}}{{#if:{{{7|}}}|; [{{{7}}} Академик]}}{{#if:{{{8|}}}|; [{{{8}}} Академик]}}{{#if:{{{9|}}}|; [{{{9}}} Академик]}}{{#if:{{{10|}}}|; [{{{10}}} Академик]}} (в Мрежата)<noinclude>[[Категория:Шаблони за източници/руски|{{PAGENAME}}]]
{{Документация}}
</noinclude>
jhg98ikatfxagwz5cqy9t9hioag4bba
1170757
1170756
2026-11-04T18:04:14Z
Златарка
21355
1170757
wikitext
text/x-wiki
{{ref-ru}} ''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}'' в {{#if:{{{2|}}}|[{{{2}}} Академик]|[https://dic.academic.ru/ Академик]}}{{#if:{{{3|}}}|; [{{{3}}} Академик]}}{{#if:{{{4|}}}|; [{{{4}}} Академик]}}{{#if:{{{5|}}}|; [{{{5}}} Академик]}}{{#if:{{{6|}}}|; [{{{6}}} Академик]}}{{#if:{{{7|}}}|; [{{{7}}} Академик]}}{{#if:{{{8|}}}|; [{{{8}}} Академик]}}{{#if:{{{9|}}}|; [{{{9}}} Академик]}}{{#if:{{{10|}}}|; [{{{10}}} Академик]}} (в Мрежата)<noinclude>[[Категория:Шаблони за източници/руски|{{PAGENAME}}]]
{{Документация}}
</noinclude>
psiwyqpzrchqq1mmb9dyuoqzz6amcdb
1170758
1170757
2026-11-04T18:11:04Z
Златарка
21355
1170758
wikitext
text/x-wiki
{{ref-ru}} ''{{#if:{{{1|}}}|{{{1}}}|{{PAGENAME}}}}'' в {{#if:{{{2|}}}|[{{{2}}} Академик]|[https://dic.academic.ru/ Академик]}}{{#if:{{{3|}}}| [{{{3}}}]}}{{#if:{{{4|}}}| [{{{4}}}]}}{{#if:{{{5|}}}| [{{{5}}}]}}{{#if:{{{6|}}}| [{{{6}}}]}}{{#if:{{{7|}}}| [{{{7}}}]}}{{#if:{{{8|}}}| [{{{8}}}]}}{{#if:{{{9|}}}| [{{{9}}}]}}{{#if:{{{10|}}}| [{{{10}}}]}} (в Мрежата)<noinclude>[[Категория:Шаблони за източници/руски|{{PAGENAME}}]]
{{Документация}}
</noinclude>
2tbqur4mx91o3t9modittuyq01sfj7p