Бикитиэкэ sahwikisource https://sah.wikisource.org/wiki/%D0%A1%D2%AF%D1%80%D2%AF%D0%BD_%D1%81%D0%B8%D1%80%D1%8D%D0%B9 MediaWiki 1.47.0-wmf.7 first-letter Миэдьийэ Аналлаах Ырытыы Кыттааччы Кыттааччы ырытыыта Бикитиэкэ Бикитиэкэ Ырытыы Билэ Билэ ырытыыта MediaWiki MediaWiki-ни ырытыы Халыып Халыыбы ырытыы Көмө Көмөнү ырытыы Категория Категорияны ырытыы Ааптар Ааптар ырытыыта Page Page talk Index Index talk TimedText TimedText talk Модуль Обсуждение модуля Event Event talk Сааскы ууга саһааккаҕа… (Павлов Николай Гаврильевич) 0 19 9558 3866 2026-06-22T15:23:12Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9558 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Павлов Николай Гаврильевич | section = (Хоһооннор) | previous = [[Күһүн көхтөөх бултуур кэмҥэ… (Павлов Николай Гаврильевич)|Күһүн көхтөөх бултуур кэмҥэ…]] | next = [[Булт дойҕохторо (Павлов Николай Гаврильевич)|Булт дойҕохторо]]→ | notes = }} {{poem-on|Сааскы ууга, саһааккаҕа}} <poem> Сааскы ууга, саһааккаҕа, Сааһыт, саһан, иһийэр; Үөрдээх кустар эргийэннэр Элиэтээннэр иһэллэр. Удьуор булчут сааҥ чыыбыһын Тардан кэбис – сыыһыма, Сэһэн-тэптэн номох буолуон Отой мүччү туттума. Биири-биэһи суулараҥҥын, Бэрт эбиэти булунуоҥ; Уһун түүҥҥэ тоҥон-хатан Олорбуккун боруостуоҥ. Ити курдук ньоҕойдоһон, Сааскы болдьох бүтүөҕэ; Саабыт тыаһа дуораһыйан, Ыраах эҥсэн сүтүөҕэ... Сааскы ууга, саһааккаҕа, Сааһыт саһан, иһийэр; Үөрдээх кустар эргийэннэр Элиэтээннэр иһэллэр…</poem> {{poem-off|}} ''1991 с. Ыам ыйа. «Хара күөл».'' 1996 с. "Үөһээ Бүлүү" хаһыакка бэчээттэммитэ. {{PermissionOTRS|2011020210002326}} [[Author:Павлов Николай Гаврильевич|Павлов Николай Гаврильевич айымньыларын тиһигэр]] [[Category:Хоһоон]] [[Category:Павлов Николай Гаврильевич]] drhpwj3tfnxlq0zxnwcne5j81npugxx Күһүн көхтөөх бултуур кэмҥэ… (Павлов Николай Гаврильевич) 0 20 9559 3865 2026-06-22T15:23:13Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9559 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Павлов Николай Гаврильевич | section = (Хоһооннор) | previous = [[Сааскы ууга саһааккаҕа… (Павлов Николай Гаврильевич)|Сааскы ууга саһааккаҕа…]] | next = [[Булт дойҕохторо (Павлов Николай Гаврильевич)|Булт дойҕохторо]]→ | notes = }} {{poem-on|Күһүн көхтөөх бултуур кэмҥэ…}} <poem> Күһүн көхтөөх бултуур кэмҥэ кустуу күөлгэ тиийэҕин; Бэрт эрдэттэн оҥостоҥҥун, олороҕун кэтэһэҥҥин. Күммүт киирэн күөл үрдэ күлүгүрэ барыарар; Тымныы салгын ууну кууһан, туман хойдон тунаарар. Онно-манна одоҥ-додоҥ саалар тыаһаан бараллар – Ити аата кус киириитэ – сэрэттилэр – саҕаланар. Сыыдам сырыы чөркөөкүлэр сурулаһан киирэллэр, Онон-манан уу урсунун килбэҥнэтэ түһэллэр… Бэлэм туппут сааҥ чыыбыһын, кыҥыы түһээт, тардыалыаҥ; Таба туттан хас чөркөйү хааларбыккын барыллыаҥ. Сорох киэһэ кус киириитэ астыннарыа – ыппахтыаҥ; Араас куһу, бэл көҕөнү, ирээт биэрэн, – бултаныаҥ. Оччоҕуна сааһыт киһи, бултаан-алтаан, астыныаҥ… Маннык сылдьан көй салгыны көҥүл тыына сынньаныаҥ. </poem> {{poem-off|}} ''1997 с., атырдьах ыйыгар, «Үөһээ Бүлүү» хаһыакка бэчээттэммитэ.'' ''2002 с., кулун тутарга, уларыта тутан (хоһоон форматыгар) көннөрүүлэр киллэриллибиттэр.'' [[Author:Павлов Николай Гаврильевич|Павлов Николай Гаврильевич айымньыларын тиһигэр]] [[Category:Хоһоон]] [[Category:Павлов Николай Гаврильевич]] {{PermissionOTRS|2011020210002326}} f8nubj9je4u6ozu4c5he244vtjmx5w3 Саха омук (Өксөкүлээх Өлөксөй) 0 24 9560 5787 2026-06-22T15:23:14Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9560 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Өксөкүлээх Өлөксөй | section = (Хоһооннор) | previous = [[Саха дьахталларын мэтириэттэрэ (Өксөкүлээх Өлөксөй)]]| next = [[Тыа кыыла (Өксөкүлээх Өлөксөй)]]| notes = }} {{poem-on|Саха омук}} <poem> :Уруккута биһиги, :Бу да буолларбыт, Өбүгэлэрбит үйэлэриттэн ыла Үтүрүллүбүппүт иннигэр, Өлөн биэрбэт үөстээх Үөдэттэр этибит. :Омоҕой баай оҕонньортон ыла :Сойуолаппыппыт иһин, :Охтон биэрбэт оҥоһуулаах :Омукчаан оҕото этибит. Эр соҕотох Эллэй Эһэбит саҕыттан ыла Эккирэтиллибиппит иннигэр, Эмсэҕэлээн биэрбэт Эрэйдээхтэр этибит... :Биһигини - Хабараан тымныы Хаарыйан-хаарыйан Хатан харахтаабыта, :Уордаах тымныы :Мускуйан-мускуйан :Уһаарыылаах уҥуохтаабыта Кыыдааннаах тымныы Кыһарыйан-кыһарыйан Быстыбат тыыннаабыта. </poem> {{poem-off|}} [[Main Page:Sakha|Сүрүн сирэйгэ]] [[Категория:Өксөкүлээх хоһоонноро]] [[Категория:Саха хоһооно]] jhdy91zebjz8cjb5cwfv4be4tgvxo1e Хайыһар (Чаҕылҕан) 0 32 9586 8405 2026-06-23T05:11:44Z Sauit 2200 9586 wikitext text/x-wiki {{header | title = Хайыһар | author = Чаҕылҕан | section = Ырыалар, хоһооннор | previous = | next = | notes = }} <poem> {{poem|Хайыһар|Хоту дойду хонноҕунан Колонналар бардылар, Хара тыанан, толоонунан Хайыһардар дайдылар. ''Хос ырыата:'' Өстөөх ханна саһан сылдьар, Өстөөх ханна хайыһар, - Ситиэ онно сытыы буулдьа, Ситиэ сыыдам хайыһар! Сибирь улуу буолактара Силлиэрдилэр иһиирэ, Туундара тыйыс уолаттара Туруннулар сэриигэ. Биллин фашист баһылыга Биһи чаҕаан күүспүтүн, Кыайыы сырдык дьаралыга Биһигини кууспутун.|1942}} </poem> [[Категория:Чаҕылҕан]] [[Категория:1942]] [[Категория:Хоһоон]] [[Категория:Ырыа]] lnus1k1vsr2nd06ev9620en3791072k Чолбон (Иван Арбита) 0 34 9561 4793 2026-06-22T15:23:16Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9561 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = [[Иван Арбита]] | section = (Хоһооннор) | previous = [[]]| next = [[Сүбэлэр-соргулар (Арбита)|Сүбэлэр-соргулар]]→ | notes = }} {{poem-on|Чолбон}} <poem> Киэҥ сир арҕаа саҕаҕар, Киэһээ кэммэр бэрт эрдэ, Далай халлаан хараҕа – Чолбон сулус дьэргэйдэ. Тыыннаах ыраас өҥүнэн Тырым ойо тылбаарда, Көстөр тыргыл күлүмэ Күндү таастыы кылбайда. Көрүҥ, ити киэҥ халлаан Кырасаабысса кыыһа, Күнүм сирин абылаан Күлүм-дьирим кыыһарын. Улуу куйаар буостатын Сургуустаммыт суруга, Киэһэ сиргэ бастатар Кэрэ сырдык сулуһа, Уоттаах Чолбон барахсан Ооньньоо хайтах баҕарар – Кырдьык, сибээс бырахсар Кэммит кэлиэ ээ, ба5ар. </poem> {{poem-off|12.7.1935}} [[Категория:Иван Арбита]] [[Категория:Арбита хоһоонноро]] [[Категория:Саха хоһооно]] [[Категория:1935 сыл айымньылара]] l3oklzy7dj7wavjk42tlm420ukfpt7i Саха поэзиятын дьүһүннүүр ньымалара 0 36 9562 4380 2026-06-22T15:23:17Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9562 wikitext text/x-wiki {{header | title = Саха поэзиятын дьүһүннүүр ньымалара | author = Копырин Николай Захарович | translator = | section = | previous = | next = [[Саха поэзиятын дьүһүннүүр ньымалара. Киирии]]| notes = }} [[Копырин Николай Захарович]] == [[Саха поэзиятын дьүһүннүүр ньымалара. Киирии|Киирии]] == == Бастакы глава. == :[[Аан дойду географическай эйгэтэ...]] :[[Саха поэзиятын дьүһүннүүр ньымалара. 1 глава. Хайа дьонугар... (Копырин Н.З.)|Хайа дьонугар таас, оттон тыа олохтоохторугар мас...]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Саастарын тухары булдунан... (Копырин Н.З.)|Саастарын тухары булдунан...]] :[[Аны... ооҕуй үөнү ылыаҕыҥ...]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Климат араас курдааһыннарыгар... (Копырин Н.З.)|Климат араас курдааҥыннарыгар...]] :[[Омуктар уһулуччу таптыыр өҥнөрө...]] == Иккис глава. == [[Саха норуотун тылынан айымньытын дьүһүннээһиннэрэ]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Күн (Копырин Н.З.)|Күн]]. :[[Тымныы. Муус. Хаар.]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Уот (Копырин Н.З.)|Уот]] :[[Таас. Хайа.]] :[[Былыт.]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Сылгы (Копырин Н.З.)|Сылгы.]] :[[Саха поэзиятын дьүһүннүүр ньымалара. 2 глава. Ынах. Оҕус. (Копырин Н.З.)|Ынах. Оҕус.]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Ыт (Копырин Н.З.)|Ыт]] :[[Тыа (мас). Тиит. Хатыҥ. Күөх от]] :[[Күөрэгэй, туллук уо.д.а. чыычаахтар. Кыталык. Туруйа.]] :[[Хотой. Атын көтөрдөр]] :[[Киис, саһыл уо.д.а. кыыллар]] :[[Саха поэзиятын дьүһүннүүр ньымалара. 2 глава. Эһэ. Бөрө. Таба. Тайах (Копырин Н.З.)|Эһэ. Бөрө. Таба. Тайах]] :[[Балыктар. Үөннэр-көйүүрдэр]] :[[Көмүс. Тимир]] == Үһүс глава. Саха суругунан поэзиятын дьүһүннээһиннэрэ== === А) Былыргыттан баар дьүһүннээһиннэр. === [[Былыргыттан баар дьүһүннээһиннэр. Күн|Күн]] [[Былыргыттан баар дьүһүннээһиннэр. Саас, сайын. Кыһын|Саас, сайын. Кыһын]] [[Былыргыттан баар дьүһүннээһиннэр. Уот|Уот]] [[Былыргыттан баар дьүһүннээһиннэр. Хайа. Былыт|Хайа. Былыт]] [[Былыргыттан баар дьүһүннээһиннэр. Сылгы. Ынах. Оҕус|Сылгы. Ынах. Оҕус]] [[Былыргыттан баар дьүһүннээһиннэр. Ыт. Тыа (мас). Сибэкки|Ыт. Тыа (мас). Сибэкки]] [[Былыргыттан баар дьүһүннээһиннэр. Күөрэгэй, туллук уо.д.а. Кэҕэ. Кыталык. Куба|Күөрэгэй, туллук уо.д.а. Кэҕэ. Кыталык. Куба]] [[Былыргыттан баар дьүһүннээһиннэр. Хотой уонна мохсоҕол. Атын көтөрдөр|Хотой уонна мохсоҕол. Атын көтөрдөр]] [[Былыргыттан баар дьүһүннээһиннэр. Саһыл уо.д.а. Эһэ. Бөрө. Таба уо.д.а.|Саһыл уо.д.а. Эһэ. Бөрө. Таба уо.д.а.]] [[Былыргыттан баар дьүһүннээһиннэр. Балык. Үөннэр-көйүүрдэр|Балык. Үөннэр-көйүүрдэр]] [[Былыргыттан баар дьүһүннээһиннэр. Көмүс, тимир уо.д.а.|Көмүс, тимир уо.д.а.]] === Б) [[Саха поэзиятын дьүһүннүүр ньымалара (Копырин Н.З.) Үһүс глава. Кэнники киирбит дьүһүннээһиннэр|Кэнники киирбит дьүһүннээһиннэр]] === [[Саха поэзиятын дьүһүннүүр ньымалара (Копырин Н.З.) Үһүс глава. Кэнники киирбит дьүһүннээһиннэр|Буурҕа, этиҥ. Муора, өрүс, долгун, сүүрүк. Сулус. Кустук. Дьүкээбил уота уо.д.а.]] == [[Саха поэзиятын дьүһүннүүр ньымалара (Н. З. Копырин). Төрдүс глава|Төрдүс глава. Саха поэзиятын дьүһүннээһиннэрин сорох уратылара]] == == Бэһис глава. Саха поэзиятын дьүһүннүүр ньымаларын сайдыыта == :[[Саха поэзиятын дьүһүннүүр ньымалара (Н. З. Копырин). Бэһис глава/1|Бастакы кэрчик]] :[[Саха поэзиятын дьүһүннүүр ньымаларын сайдыыта 2|Иккис кэрчик]] :[[Саха поэзиятын дьүһүннүүр ньымаларын сайдыыта 3|Үһүс кэрчик]] :[[Саха поэзиятын дьүһүннүүр ньымаларын сайдыыта 4|Төрдүс кэрчик]] :[[Саха поэзиятын дьүһүннүүр ньымаларын сайдыыта 5|Бэһис кэрчик]] == [[Саха поэзиятын дьүһүннүүр ньымалара. Түмүк|Түмүк]] == == [[Саха поэзиятын дьүһүннүүр ньымалара. Туһаныллыбыт литература|Туһаныллыбыт литература]] == {{Template:PD-release}} [[Категория:Кириитикэ]] [[Категория:Копырин Николай Захарович]] 2mhdvl28so0ugbnplpeeawk5wcv5s5n Саха норуотун тылынан айымньытын дьүһүннээһиннэрэ 0 37 9563 4339 2026-06-22T15:23:18Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9563 wikitext text/x-wiki {{header | title = [[Саха поэзиятын дьүһүннүүр ньымалара]] | author = Копырин Николай Захарович | section = (Иккис глава) | previous = [[Омуктар уһулуччу таптыыр өҥнөрө...]]| next = [[Күн]]| notes = }} == Иккис глава. САХА НОРУОТУН ТЫЛЫНАН АЙЫМНЬЫТЫН ДЬҮҺҮННЭЭҺИННЭРЭ== :[[Саха поэзиятын дьүһүннүүр ньымалара. Күн (Копырин Н.З.)|Күн]]. :[[Саха поэзиятын дьүһүннүүр ньымалара. Тымныы. Муус. Хаар (Копырин Н.З.)|Тымныы. Муус. Хаар]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Уот (Копырин Н.З.)|Уот]] :[[Таас. Хайа.]] :[[Былыт.]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Сылгы (Копырин Н.З.)|Сылгы]] :[[Саха поэзиятын дьүһүннүүр ньымалара. 2 глава. Ынах. Оҕус. (Копырин Н.З.)|Ынах. Оҕус]] :[[Саха поэзиятын дьүһүннүүр ньымалара. Ыт (Копырин Н.З.)|Ыт]] :[[Тыа (мас). Тиит. Хатыҥ. Күөх от]] :[[Күөрэгэй, туллук уо.д.а. чыычаахтар. Кыталык. Туруйа.]] :[[Хотой. Атын көтөрдөр]] :[[Киис, саһыл уо.д.а. кыыллар]] :[[Саха поэзиятын дьүһүннүүр ньымалара. 2 глава. Эһэ. Бөрө. Таба. Тайах (Копырин Н.З.)|Эһэ. Бөрө. Таба. Тайах]] :[[Балыктар. Үөннэр-көйүүрдэр]] :[[Көмүс. Тимир]] [[Category:Копырин Николай Захарович]] [[Category:Кириитикэ]] d26d67xur4krtf1yew0ksm800hn8qlb Саха поэзиятын дьүһүннүүр ньымалара. Тымныы. Муус. Хаар (Копырин Н.З.) 0 38 9564 7449 2026-06-22T15:23:19Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9564 wikitext text/x-wiki {{header | title = [[Саха поэзиятын дьүһүннүүр ньымалара]] | author = Копырин Николай Захарович | section = (Иккис глава) | previous = [[Саха поэзиятын дьүһүннүүр ньымалара. Күн (Копырин Н.З.)|Күн]] | next = [[Саха поэзиятын дьүһүннүүр ньымалара. Уот (Копырин Н.З.)|Уот]]→ | notes = }} Тымныы. Муус. Хаар. Норуот үйэ-саас тухары сааһы, сайыны, сылааһы ыралыыр, кинилэринэн бары үчүгэйи, үүнэри, үөскүүрү уобарастаан этэр. Оттон тымныынан, төптөрүтүн, куһаҕаны, өлүүнү, кэхтиини холобурдуур. Олоҥхоҕо айыы аймахтара олорор сирдэрэ «кыһына суох сайын дойду», «тымныыта суох итии дойду» (49—22), оттон адьарай аймахтара олорор сирдэрэ — тымныы, хараҥа, куһаҕан сыттаах-сымардаах дойду. «Күһүнүм күһэйдэ», «кыһыным кыһайда», «кыстыкпар бараары гынным» диэн кырыйдым-буорайдым, өлөрүм чугаһаата диэн ис хоһоонноох этиилэр буолаллар. «Сылаас сүрэхтээх», «сылаас харахтаах», «сылаас тыллаах» диэннэр — үчүгэй өттүгэр этиллэр тыллар, оттон «тымныы сүрэхтээх», «тымныы харахтаах», «тымныы тыллаах» диэннэр итилэргэ уун-утары өйдөбүллэр. Ол курдук «тоҥ» («тымныы») саха фольклоругар маннык дьүһүннээһиннэргэ туттуллар: Тоҥ — эрэй, мэһэй: «тоҥтон толлубат киһи» (50— 162). Тоҥ — кытаанах, бөҕө: «тоҥ иҥиирдээх», «тоҥ маһы тосту тардар» киһи; Тоҥ Дуурай диэн олоҥхо бухатыырын аата (137—2728). Бухатыырдар, охсуһаннар, «тоҥ буору тобуктарын хараҕар диэри тобулута үктээн кэбиһэллэр» (31—234). Тоҥ — өрдөөҕү: «тоҥ суолгун тордоотоҕум» (31 — 177). Тоҥ — бириэмэ кээмэйэ: «тоҥ күөс быстыҥа саҥарда» (56—119). Тоҥоруу (тымнытыы, сойутуу) — өлөрүү, эһии: «суон тыынын сойуттум, собулҕа этин тоҥордум» (31—241). Тоҥ — саҥата суох, көһүүн, тоҥкуруун киһи: «тоҥ киһи». Тоҥ — долуой сахалыы билбэт киһи: «тоҥ нуучча». Эн толоостук саҥарбыккын бар-дьон истэн сэмэлиэ диэри этэллэр: «Дьыбардаахха саҥардыҥ!» (50—18). «Муус» маннык дьүһүннээһиннэргэ туттуллар: Муус сүрэх (өй) — аһынары билбэт сүрэх (өй): «Абааһы кыыһын чой муус сүрэҕэ... чороҥолуу сытта» (10—225). Абааһы уолун ытыһа — муус: «дьаҥхалаах күлэр муус ытыһынан балаҕан диэки таҥнары чарапчыланан көрдө» (10—62). Аллараа дойду уолаттара «үс кырыылаах дьэҥкир муус үөрбэ буолан, өрө күөрэйэллэр» (10—57). Аллараа адьарай аймаҕын баһылыга — «Муус Суорун тойон», оттон сорук-боллурдара «Муус-Дьолуо хара уолаттар» (62—259). Аллараа дойдуга киирэр аартык «Муус Күҥкүйэ хотун аартык» (39—98) биитэр «Муус Чоҥкуйа хотун аартык» (31 —10). Муус тайахтаныы — умнаһыттыйыы,- дьадайыы: «муус дьоҥкуо тайахтаабыта» (52—281). Муус ураҕаһынан үүрсүү — иирсии, абааһы көрсүү: «муус ураҕаһынан үүрбүт» (50—177). Муус дьаҥхаланыы — уһун, сындалҕаннаах айан. Олоҥхо бухатыырдара айаннаабыт омуннарыгар «үрут өттүлэригэр үс тутум күр муус үллүктэннилэр, алын өттүлэригэр аҕыс илии хайыр муус дьаҥхаланнылар (31—285). «Хаар» маннык дьүһүннээһиннэргэ киирэр: Хаар — табыллымыы, сатанымыы: «хаары ытыһан хаалбыт» (50—33); «сииккэ сиэлбитим, хаарга хаампытым» (36—78). Хайыҥ — эрдэттэн харыстаныы, страховкаланыы: «хайыҥ охсунна» (50—123). Хаар — өҥ-дьүһүн: «хаар маҥан баттахтаах». Хаар — саас (сыл): «хас хаары бараатыҥ?»» (89— 57). Хаар — кээмэй: «халыҥ буруйуҥ, хаар хайа саҕа» (10—77); «хаардаах бугул саҕа хааннаах сил» (10— 288). Хаары ыраастааһын — урукку тапталы сөргүтүү: «өтөхтөрүн хаардаабыт» (50—139). Хаар — кэбирэх: «хараҥа тыаларын, хаар курдук, хампы сыстылар» (43—88). Дьадаҥы, курааһы олохтоох киһини: «уу-хаар оһоҕостоох уһун сордоох»,— дииллэр (43—39). Уу-хаар — кураанах лахсыыр: «уу-хаар тыллаах» (50—99). [[Категория:Кириитикэ]] [[Категория:Копырин Николай Захарович]] 6fo30dy40gemhvc1sea8qu7ufq1n5cd Саха поэзиятын дьүһүннүүр ньымалара. Уот (Копырин Н.З.) 0 39 9565 4534 2026-06-22T15:23:21Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9565 wikitext text/x-wiki {{header | title = [[Саха поэзиятын дьүһүннүүр ньымалара]] | author = Копырин Николай Захарович | section = (Иккис глава) | previous = [[Тымныы. Муус. Хаар.]]| next = [[Таас. Хайа.]]| notes }} '''Уот.''' Кумах куйаар олохтоохторугар уу, тымныы курдааһын олохтоохторугар уот — олох тыына. Уот сахалар олохторун тутааҕа буолара кинилэр итэҕэллэригэр, абыычайдарыгар көстөр. Биһиги норуоппут былыр сүгүрүйбүт иччилэриттэн ордук сүрдээхтэрэ — уот иччитэ. Араас бэлиэ, кыра да, улахан да үөрүүлээх түгэҥҥэ барытыгар ас саамай күндүтүттэн, үчүгэйиттэн ким-хайа иннинэ уот иччитигэр, кини аһына-харыһыйа сылдьарын туһугар, хайаан да бэрсэллэр. «Уот иччитигэр дылы, маппакка бараҥҥын» диэн онтон үөскээбит өс хоһооно буолуохтаах. Атын айыылары, иччилэри ааттаан-суоллаан аһатыы эмиэ уот иччитинэн (уокка ас биэриинэн) эргитиллэр. Онон кини атын айыылары, иччилэри кытта тиксиһиннэрээччи курдук буолар. Тугу эрэ быһаарынан, биитэр туохтан эрэ аккаастанан олордохторуна, уот эмискэ биллэрдик «тас» гыннаҕына дуу, иһиирэр курдук тыаһаатаҕына дуу, быһаарыммыт суолларыттан «уот буойда» диэн аккаастаналлар, биитэр төттөрү, «уот эттэ» диэн аккаастаммытта-рыгар төннөллөр. Оһохтон чох ыстаннаҕына, ыалдьыт кэлээри гыннаҕа дииллэр, уонна ол чоҕу мээнэ бырахпаттар. Оттон чох ыстанан киһиэхэ түстэҕинэ «эһэм көтөхтөрдө» диэн олус үөрэллэр. Уот иччитэ инникини бэриэт этэр, хаһан да сымыйалаабат, үчүгэй санаалаах. Абааһылар араас куһаҕан дьайыыларыттан киһини эрэллээхтик араҥаччылааччы уот. Кинини кыыһырдар, хомотор сатаммат. Киниэхэ кирдээҕи, куһаҕаны бэриллиэ суохтаах, кыыһыран, тирии ыарыытынан тыбыырыа диэн буолар. Уокка силлиир, ууну ыһар — улахан айыы. Саҥа сүктэн кэлэр кийиит уот иннин быһа хаамыа суохтаах. А. Е. Кулаковскай суруйарынан, уот иччитин толору аата маннык кэрэ поэтическай эпитеттэринэн бэриллэр: «Аал уот иччитэ Күлтэллэх, Көмөр сыттык, Көбөрүүнньүк суорҕан, Саалыр чанчык, Бырдьа Бытык, Кыырык Төбө, Көмүс ураанньык, Күөнэ көҕөччөр, Хахай саҕынньах, Хатан Тэмиэрийэ, Алтан Баһырҕас, Аан Уххан-Тойон» (121—30). Манна уот умайан кытыастара, күлүбүрүүрэ, бачыгырыыра, умуллан күл, көмөр буолара киһититиллибит (антропоморфнай) образтарынан хоһу-йуллар. Уокка, уот иччитигэр сүгүрүйүү Сибирь булдунан дьарыктанар элбэх норуоттарыгар баар. Ол эрээри эвенкилэргэ, нанайдарга, нивхилэргэ, удегелэргэ, мансиларга уо. д. а. уот иччитэ дьахтар буоллаҕына, буряттарга, сахаларга кини оҕонньор дьүһүннэнэр эбит. «Аал уоту оттуу»— олох олоруу, ыал буолуу: «аал уоту оттон, алаһа дьиэни тэрийэн,... иннигин көрүнэриҥ кэллэ» (59—302). Ньургун Боотур ыраах айаҥҥа аттанарыгар дьиэм, сүөһүм-аһым этэҥҥэ турдуннар диэри: «оттубут уотум умуллубатын!» (62—241)—диир. Норуот ырыаһыта С. Зверев хоһуйарынан, Манчаары төрөөбүт буоруттан букатыннаахтык арахсарыгар аны олох олорорум бүттэҕэ диэри: «аны кэлэн.. аал уоту отторбун аастаҕым» (26—118),— диир. Ыал олорорун сүрүн бэлиэтэ уота (оһоҕун буруота) буолар. Ол иһин ыал диир оннугар үксүгэр «буруо» дииллэр. «Хас буруо баарый?» (хас ыал баарый?), «буруо таһаарбыт» (ыал буолбут), «буруолааҕы көрбөтүм» (ыалы көрбөтүм) эҥин диэн буолар. Оттон нууччаҕа «буруо» үксүгэр олох атыннык тэгилитэн этиигэ туттуллар («обман, дым», «поругался в дым», «дым столбом»). Уот сахаҕа олох тыына (тутааҕа) буолара «кыыс оҕо тэллэҕэр уон уоттаах» диэн хоһуйан этииттэн эмиэ көстөр. Уот умуллуута — өлүү-сүтүү, эстии: «уотуҥ умулуннун», «үөлэһиҥ чоҥкуйдун» диэн кырыыска этиллэр тыллар. «Аал уотуҥ утуйдун, үөлэһиҥ кырыардын» (150—143). Арыт уот алдьархайы аҕалар күүс курдук эмиэ өйдөнөр. «Уот да сиэбэт, уу да ылбат киһитэ буолуоҥ» (22— 234); «уот сиэбитин... курдук» (50—33). «Уот ааныттан» (хара маҥнайгыттан), «уот өттө» (илин өттө), «уот харахха эттэ» (адьас таба эттэ) диэн этиилэр эмиэ былыр-былыргыттан сахаҕа уот олох тыына буолбутуттан үөскээбит буолуохтарын сөп. Сахаҕа «уот» үксүгэр үчүгэй өттүгэр холобурдааһыҥҥа туттуллар буоллаҕына, нууччаҕа кини, арааһа, алдьархайы аҕалар күүс курдук көрдөрүллэрэ ордук элбэх быһыылаах. «Огонь да вода — нужда да беда», «огню не верь», «с огнем не шути», «с огнем не дружись»,— диэннэр, бука, мээнэҕэ этиллибэтэхтэрэ буолуо. Ол эрээри киһи ис психическэй хаачыстыбатын, характерын «уотунан» холобурдаан этии нууччаҕа даҕаны, сахаҕа даҕаны майгыннаһаллар быһыылаах. Холобур, маннык этиилэри тэҥнээн көрүөҕүҥ: «уот курдук киһи» — «не человек, а огонь!», «хараҕа уоттанна» — «глаза его горят огнем», «уот хааннаах киһи», «бу киһи бэйэтэ уоттанар» — «огнем душа его полна», «сердце вспыхнуло огнем», «огонь в груди». Биһиги «уоттаах саһыл» диибит, нууччаҕа «лиса огневка» диэн этии баар. Оттон «уокка-ууга түһүү» («в огонь и в воду»), «уоту-ууну туорааһын» («пройти огонь и воду»), «икки уот икки ардыгар киирии» («между двух огней»), «уоттан куттанар курдук күрэнэр» («боится как огня») диэннэр биһиэхэ нууччаттан киирбит буолуохтарын эмиэ сөп (ити этиилэр Э. К. Пекарскай тылдьытыгар киирбэтэхтэр). Сахаҕа олус улахан тымныыны уотунан эпитеттээн хоһуйуу эмиэ баар: «уоттаах улуу модун тымныы», «уоттаах дьыбар» (37—49). [[Категория:Кириитикэ]] [[Категория:Копырин Николай Захарович]] k6npczg6gwegu42v2ns3xrqvq6c0zj7 Сайыҥҥы түүн дьалыҥнара (истомы), (Алтан Сарын) 0 100 9566 7027 2026-06-22T15:24:12Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9566 wikitext text/x-wiki {{header | title = [[Алтан Сарын]] | author = Алтан Сарын | section = Сайыҥҥы түүн дьалыҥнара (истомы), (Алтан Сарын) | previous = [[Уруккутун өйдүөбүт (Алтан Сарын)]]| next = [[Айыыһыт (Былыргы кэпсээн), (Алтан Сарын)]]| notes = }} Сайыҥҥы Күн кутаа уот толбоннорунан кырбаһан, кыыһар-чаҕаан дьалхааннары бүрүнэн, арҕаа халлаан алын сайыытын кытыастар кыһыл долгуннарынан уһааран, хал-лааны кытта халаастаһан, кытара кыыһыран, марбайа үллэн киирэн хаалла. Сайылык иһэ сайыҥҥы күнүс буһурук куйааһын харам соҕустук ботуччу уобан, кэри-куру буолан соҥуйан хаалла. Аан дойду иһирик төлөнүнэн, итии салгынынан тыына-тыына улам-улам утуйан нухарыйан, ибириин сиигинэн тиритэ сытта. Түүҥҥү дьалыҥнар итии тыыннара ийэ сиргэ эрсэҥ (похоть) имэҥнэрин (вожделение) иҥэриччи туойдулар, кыатаммат баҕалар илбис иҥсэлэрин көбүттүлэр. Эҕэрдэ-маҕан халлаан илин кырыытыттан эрсэҥ-ходьоҥ итии дьалыҥнар ийэ сиргэ итии тыалы илдьиттэнэн эргийдилэр. Ийэ сир кыатаммат баҕалар имэҥнэринэн иитиллэн, эппэҥнии-мэҥилдьийэ, өрүтэ тыына, ууһуур-дэлэйэр эр-сэҥнэринэн иэдэйдэ. Аан дойду ньамчы чэчиктэрэ (цветы) имэҥи көбүтэр айаал (нежный) — аҥкылас сыттарынан салгыны саталыы турбуттара. Чэл (зеленый) — нуолук оттор сытыы аҕыраҥ (удушливый) сыттарынан асхарый-ан, киһи сүрэлин (душа) туймаардаллар, эрэй-муҥ эрсэ-ҥинэн киһи дьайымын (чувство) толороллор. Арай, бу түүҥҥү дьалымнаах кэм бары эрсэҥнэрэ көбөн эрдэҕинэ, күех унаар түптэҕэ мунан, утуктаан-нухарыйан эрэр сайылык илин-бас халдьаайытын анныгар, хатыҥ чараҥ ортотугар, эндэрдии түһэн сытар баай хатыҥ төрдүгэр эрдээх дьахтар олороллор эбит. Кинилэргэ ньимик (тиши-на) дурда буолан, тулалаан турааччы хатыҥ чараҥ бүтүннүү иһиллээбит курдук иһийэн, илбистээх (страстный) таһаа-нан (поза) таалан турар... Байылыат (могучий) хатыҥнар, хардарыта буойсубут курдук, санньырхай лабаа илиилэри-нэн сэрэхтээхтик өрө уунан баран, бука бары ньимик ба-ран таалан тураллар. Арай, кинилэр сэбирдэхтэрин эрэ тыаһа дөр-дөр итийбит сүрэх кирдээх талыы титирэһин курдук, ибиргээн, суугунуу-суугунуулар хам бараллар. Айылҕа бүтүннүү кинилэртэн туох тахсарын кэтээбит курдук, ах баран кэтэһэн турар. Ол барыта кинилэри тапталга үтэйэр, биллибэтинэн-көстүбэтинэн таптал илбистээх олбоҕун кинилэргэ сым-наҕастык тэлгиир, сүрэхтэрин-быардарын эппэҥнэтэр, мэйии-лэрин-санааларын итирдэр. Кинилэри атахтарын анныттан күөх торҕо таҥара кийииттэрэ айаал-аҥкылыс (ароматный), сүүл-дьаралҕан сыттарынан ыһааран, кинилэр сүрэллэрин (душу) сылаанньытан, кинилэр хааннарын уоттуу оргуппуттара. Ньамчы-ньамчы аалай-эбириэн (розовато-пестрый) үүрэнньиктэр (фиалки) сытыы минньигэс сыттарынан ту-нуйан, кинилэри туймаардаллар. Алтан оттор аҕыраҥ сыт-тарынан салгыны ыһааран, сайыҥҥы сылаас буһурук түүнү сүүлүнэн аҕырдан, кинилэр хааннарын долгуталлар, кини-лэри имэҥинэн-дьалыҥынан мэҥилдьитэллэр. Кыһыл сараналар (сарана), дьылтархай-маҕан толоон тунахтара (ромашки), күөх дьүһүннээх чороон оттор (колокольчики), боллох уолаттара (ландыши), дьылтархай-алтан ортолоох, үрүҥ төбөлөөх уу кийииттэрэ (водяные лилии), кыһыл-аалай ымыйахтар (гвоздики), күөхтүҥү-кытархай сирэҥнэр (незабудки), дөлүһүөн чэчиктэрэ бука бары салгыны араас-суол минньигэс: аһыы-ньулуун, аҥкылас-аҕыраҥ, сата-дьаралҕан, курус (едкий) — кубулҕан (острый), имириин (сладко-преслый) сыттарынан ыһааран тунуйа тураллара — имэҥнэри, дьалыҥнары күүрдэллэр, эрсэҥнэри, илбистэри төрөтөллөр, киһи сүрэлин мэлэритэн туймаардаллар. Сырыынньа халдьаайы сирэйигэр күн уотун сыралҕа-ныгар биэбэйдэтэн торолуйбут байылыат бэстэр, солко-нуолук мутукчалаах баараҕай тииттэр, халдьаайы аппала-рыгар үүммүт улуудаҥ (гордый) харыйалар, чаллах хатыҥнар, үргүүк сэбирдэхтээх тэтиҥнэр, имигэс талахтар, хаҕыдай ыарҕалар бука бары бу кэмҥэ саталаах аҥкылыс сыттары тарҕатан, лабахайынан кэьэрдэн киһи-сүөһү хаа-нын долгутан, киһи мэйиитин итирдэн туймаардаллар. Аан дойду ууһуур-дэлэйэр тэлгэҕин тыаһа суохтук тэлгиир, төрүүр-үөскүүр суорҕанын биллибэтинэн-көстүбэти-нэн сабар, бары хамсыыктары (животных) таптал суолу-гар үтэйэр. Сайыҥҥы күүрүүлээх күн сандаҕата дьулурҕатык (стремительно) таҥнары сатыылаан түһэн, ийэ сир бары ыама-лыыр күдэхтэрин (средства) көбүппүт. Хатыҥ чараҥ ортотугар олорор эрдээх дьахтар түгэхтэрэ көстүбэт хараҥа-дьалхаан харахтара минньигэс дьалыҥынан убайаллар, эрсэҥ эрэйинэн дьиэлийэллэр, сирэйдэрин хааннара имэҥ илбиһинэн кэйэллэр. Муос тыҥырахтарыттан эт сүрэхтэ-ригэр диэри дьалыҥ титирэстэрэ сүүрэлиир, эттэрэ бүтүннүү дьырылыы титирэстиир, мэйиилэрэ-санаалара итирэн күүрэр, сүрэхтэрэ-быардара минньигэс тапталынан эппэҥниир... Эмискэ тыа баһа суугунуу күлэн титирэстии түһэр, чэчиктэр, оттор аллайаллар, эҕэрдэлии битийэллэр, айылҕа бүтүннүү эҕэрдэлиир, күллэрэстиир, кинилэр барыларын кыттан (общий) баҕалара ханна, таптал үтэһэтэ дьэ туол-ла, кини таһылҕата (уровень) таһымнаата, таптал сүүл имэҥнэрэ дьэ төлүргэлээтэ, уос этигэн-дорҕоон тыаһа чахчы этэн, кэтэһэн тыҥаан турар айылҕаны күллэрэн тыбыырта.. Бу айылгылаах (торжественный) сайыҥҥы түүн кэмигэр бары үөскүүр-ууһуур күүстэр баҕарбыт баҕалара туолла, аан дойду бүтүннүү онуохаҕа үөрэн айхаллаата.Хатыҥ чараҥ түүҥҥү ыалдьыттарын ымсыы имэҥнэрин уоскутта, утах баҕаларын ханнарда. Оҕордук ускуруой үөскүү-тэнийэ, ууһуу-тунуйа турар, өлө-өлө тиллээччи, өскүл (вечно) эдэр, өскүл тыыннаах Айылҕа. {{DEFAULTSORT:Алтан Сарын}} [[Категория:Бары ааптардар|Алтан Сарын]] [[Категория:Кэпсээн]] [[Категория:XX үйэ]] [[Категория:Алтан Сарын]] 6jvxo7ne5afdlyupyzt0ae7w2wrqiw0 Айыыһыт (Былыргы кэпсээн), (Алтан Сарын) 0 101 9567 7532 2026-06-22T15:24:13Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9567 wikitext text/x-wiki {{header | title = [[Алтан Сарын]] | author = Алтан Сарын | section = Айыыһыт (Былыргы кэпсээн) (Алтан Сарын) | previous = [[Сайыҥҥы түүн дьалыҥнара (истомы), (Алтан Сарын)]]| next = [[Уол оҕо дьоллоох, таҥара баайдаах (Быһылааннаах кэпсээн), (Алтан Сарын)]]| notes = }} Арай былыр биир киһи үрэх баһыттан айаннаан иһэн, аара сиргэ, биир бэт үтүө чаллах хатыҥ анныгар хоно һыппыт. Бу хоно һытан түһээн көрдөҕүнэ: бии үрдүгэр турар чаллах хатыҥа, үс курдуулаах моҕол ураһа буолан хаалбыт, ураһатын иһигэр биир бэт мааны хотун дьахтар, бэдэр саҕынньаҕын нэлбэгэйдээн, үүс-киис тириитэ дьабака бэргэһэтин өгүччү соҕус уурунан баран, олорор үһү. Он-тон, чочумча буолан баран, дьиэ таһыттан киирэн кэлбиттэр — аҕыс-сэттэ эриэн быыһык саҕынньахтаах ньидьирис-пит кыра оҕолор. Ол киирбиттэрин кэннэ, бу дьахтар оҕоло-руттан ыйыппыт: "Хайа тукаларыам, төһө бэт ыалга һылдьан кэллигит, астара-үөллэрэ, үөрүүлэрэ-көтүүлэрэ төһө бэр-дий, хайдах төлкөлөөн-оҥоруулаан кэллигит". Онуоха оҕолоро эппиттэр: "Ээ дьэ ас-үөл, үөрүү-көтүү бэт, оол гынан баран, кытыйалаах арыыны дьалкытан тохпуттарыттан соһуйаммыт итэҕэс кэскиллээн кэбисти-бит: уон сааскар тиийэн бараҥҥын эргэ өтөххө сытар холум хараҕатыгар уллуҥаҕыҥ оройун тобулу үктээбикки-нэн хааныҥ баран өлүөхтүгүн диэтибит". Онуохаҕа бу дьахтар: "Бэйэм барымнабын. Эһигини ыыппытым — оҕолор оҕолуу һылдьан, сыыһа төлкөлөөн кэлээхтээбиккит, аата, оччо үөрбүт-көппүт барахсаттарга оҕолорун үчүгэйдик толору даа төлкөлөөн-оҥоруулаан кэл-бэккит," — диэн оҕолорун сэмэлээбит уонна бии киһи диэки ыйан баран: "Көрүҥ эрэ, эһиги төлкөлөөбүт оҕоҕут аҕата ити кэлэ һытар," — диэн оҕолоругар эппит. Киһи уолуйан уһуктан кэлбитэ: ханнык даа ураһа һуох, хатыҥа хатыҥынан турар үһү. Туран, айаннаан дьиэтигэр кэлбитэ, ойоҕуттан биир уол оҕо төрөөн һытар үһү. Оҕо уончатыгар тиийэн баран, кырдьык, аҕата түһээби-тин көрдүк, эргэ өтөххө һытар холум хараҕатыгар атаҕын тобулу үктээбитинэн хаана баран, өлөн хаалбыт. Онон былыргы сахалар: дьахтар төрөөбүтүн кэннэ үс хонон баран, Айыыһыт аттанарыгар диэн, үөрэн-көтөн, малааһыннаан атаараллар эбит — Айыыһыт ас-үөл үгүһүн, үөрүүнү-көтүүнү таптыыр — диэн. Дьахталлар эр дьону тарҕатан бараннар (Айыыһыт таттахпыт диэн) төрүөбүт дьахтары кытта сирэйдэрин дэлби арыынан угунуохтаан баран, уот кытыытыгар төгүрүччү олорон эрэннэр, дэлби күлсэллэрэ үһү. Онно биир саамай үгүстүк күлбүт дьахталларын — бу дьахтарга Айыыһыт киирдэ, сотору хат буолууһук — диэн билгэлииллэр эбит. Айыыһыт соһумтаҕай, соһуйдаҕына, саҥа төрүөбүт оҕону итэҕэс кэскиллээн, быстах оҥоруулаан барар диэн — дьахтар төрөөн сыттаҕына, киһини улаханнык саҥаппаттара, тыаһаппаттара үһү. Ас-үөл тохторун, дьалкыйарын Айыыһыт эмиэ сөбүлээбэт диэн бэккэ харыстыыллар... Ол курдук быһыылаах-майгылаах буолаллар эбит былыргы дьон. {{DEFAULTSORT:Алтан Сарын}} Алтан Сарын "Айыыһыт" кэпсээнин нууччалыы тылбааһа. Тылбаастаата: Шарин Сайаан, В.П.Ларионов аатынан Майа орто оскуолатын 7 "в" кылааһын үөрэнээччитэ, салайааччы: Семенова Марфа Николаевна '''Айысыт.''' Однажды один человек, ехавший из верховья реки, по дороге остановился отдохнуть, поспать под низкорослой ветвистой березой. Уснул и видит сон, как сия береза, под которой он уснул, превратился в большую берестяную урасу, а в той урасе была прекрасная хотун-женщина, накинувшая на плечи рысью доху, а на макушке надевшая соболиную шапку-дьабака. Чуть погодя, в дом зашли восемь-семь маленьких детей, одетые в пестрые пыжиковые доха. Когда они зашли, женщина спросила: “Ну, голубки, в какой семье вы были, какие явтсва, радость у этой семьи, какую судьбу вы им преопределили?” Ответили ей дети: “Пища, радость у них особенная, но из-за того, что масло в кытыйе расплескалась, мы удивились и недостаточно предопределили их судьбу: после исполнения десятилетия в старом заброшенном доме на чеке камелька ты подвернешь ступни, пойдет кровь и из-за потери крови ты умрешь, сказали”. Тогда сказала эта женщина: “Лучше бы сама пошла. Вас отправила – не так предсказали судьбу ребенка, родители которого так были рады, смогли бы и счастливую судьбу предопределить” - отругала мать своих детей и посмотрев на человека, добавила: “Посмотрите, вот лежит отец ребенка, чью судьбу вы преопределили”. Человек проснулся: никакой урасы нет, береза березой стоит. Собравшись, человек приехал домой: жена родила еще одного сына. После исполнения десятилетия в старом заброшенном доме на чеке камелька мальчик подвернул ступни, пошла кровь и из-за потери крови мальчик умер. Поэтому в старину народ саха верил, что через три дня после рождения ребенка, вся семья должна радоваться и угощать Айысыта – Айысыт любит обилие еды, радость-веселье. Женщины, сопроводив мужчин (думая, что влекут Айысыта), вместе с родившей женщиной намазывали маслом свое лицо, садились вокруг огня и смеялись. И предсказывали, что в ту женщину, которая много всех смеялась, вошла Айысыт и что она скоро забеременеет. Айысыт пугливая, если испугается, может недостаточно предопределить судьбу ребенка – когда женщина рожает, разговаривали тихо, не шумели. Айысыт не любит, когда проливается, расплескывается угощение, поэтому угощение очень берегли... Вот такие были люди в старые времена. [[Категория:Кэпсээн]] [[Категория:Алтан Сарын]] [[Категория:XX үйэ]] 6ph3cfvcyblzlawq3j9l4yfbsrshof3 Уол оҕо дьоллоох, таҥара баайдаах (Быһылааннаах кэпсээн), (Алтан Сарын) 0 102 9568 7902 2026-06-22T15:24:15Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9568 wikitext text/x-wiki {{header | title = Уларытыы Уол оҕо дьоллоох, таҥара баайдаах | author = Алтан Сарын | section = Уол оҕо дьоллоох, таҥара баайдаах (Быһылааннаах кэпсээн), (Алтан Сарын) | previous = [[Айыыһыт (Былыргы кэпсээн), (Алтан Сарын)]]| next = [[Алтан Сарын]]| notes = }} * Бу кэпсээн аата да, маҥнайгы аҥара да суох. Илиинэн суруллубут харатын бүтүүтүгэр: "Хахайдаах Хабырыыс. 1924 с, кулун тутар ый 17 күнэ" диэн илии баттааһыннаах. Кэпсээн аатын уонна чаастарга үллэриитин бэйэм оҥордум. — Василий Протодьяконов. == II == Уол кутталыгар буолан, хаһыытаабакка да хаалбыт. Буочуката аргыый аҕай, улам-улам үөскэ киирэн, хоту диэки устан лэглэйэ турбут. Уол эмэһэтигэр иччэҕэй биллибитигэр өйдөнөн көрбүтэ, буочуката сахсайан хаалбыт, инньэ гынан сиксиктэринэн уу быыһылаан киирбит, мантан уол сүрдээхтик куттаммыт ханна да барыан, тугу да гыныан булбатах. Быган, таһырдьаны көрүөн баҕарбытын иһин, буочука улахана бэт, ааныгар нэһиилэ тарбаҕын эрэ төбөтө тиийэр. Уол атаҕыттан быһаҕын сулбу таһыйан таһаарбыт, буочукатын үөһэ өттүнэн, турдаҕына хараҕар сөп түбэһэр гына дьөлүтэ үүттээбит. Тула өттүнэн көрө иһэр гына түннүк оҥоттообут. Чуолҕаннарынан көрбүтэ, күн һандаһыра киирэн эрэр. Кини, бадаҕа, ханнык эрэ арыыны ойоҕоһунан устан иһэр быһыылаах, ол көрдүк оҥочолоох дьон устан иһэллэр. Оҥочолоохтор уолу хабырыйбытынан, арыыны тумсунан арҕааттан илин диэки этириэс быһа туораан иһэллэр. Ити иккэрдигэр уол буочукатын уута дириҥээн, тобугар тиийэн барда. Оҥочолоох дьон улам-улам чугаһаан тиийэн кэллилэр, һаҥалара иһиллэр буолан барда. Биир киһи һаҥата: "Бу туохпут эмиэ иннибитигэр арбайан-һарбайан иһэрий, доҕоттоор!?" Иккис киһи: "Хайа эбэбит итчитэ эмээххин күөх көлбөхтөөх көҥкөлөй ыаҕаһын биһиэхэ оҕолоругар тоһуйбута буолаарай? Арыгыта кутан биэриэххэ" Үһүс киһи: "Аата, бу дьон арыгыларын абааһы аайы элбэҕэргээн... Онтон, көрдөххө, көҥдөй мас буочука устан иһэр буолбат дуо? Итиннэ ама ханнык абааһы кэлэн хааламмыт үһү! Күрүлүүр күнүс оттотугар... Иккис киһи: "Бу киһи тоҕо айаҕа суоэай доҕоор," — диэн бүтэрэ илигинэ, буочука иһиттэн уол хаһыытыыр. Иккис киһи: "Дьэ мин эппэтэҕим дуо, һолоҕой! Күн-хаан кэллэ быһылаах — түргэнник арыыга тахха охсуоҕуҥ!!!" Арыыга тиксэ охсоллор. Оҥочолоруттан тахсаллар. Бары талах быыһыгар түһэллэр. Оҥочолорун баайбатахтара, киирэн уста турар. Уол буочукатын иһигэр хаһытыы-хаһытыы, биир кураанах оҥочо аргыстанан хоту диэки устан испит. Ол түүнү быһа устубуттар. Сассыарда халлаан сырдыыта оҥочо кэлэн биир арыы иирэтиттэн иҥнэн тохтоон хаалбыт; буочука устубутун көрдүк устан испит. Буочука дьиппинийэн уу киирэрэ тохтообут. Урут киирбит уута уолу самаҕын туорайыгар тиийбит. Күн оттотун һаҕана икки тыылаах киһи арҕааттан илин диэки туораан талбаардан иһэллэрин көрбүт. Били дьон улам-улам чугаһаан кэлбиттэр. Биир киһи: "Э! дьэ бэт да буочука устан иһэр доҕор, итини ама ыллахпыт дии!" Иккис киһи: "Хата таҕаараммыт оттотунан быһа эрбээн баран, күһүн сүөһү хаана һүүрдэр билээги оҥостуохпут". Инньэ дии-дии аргыый аҕай кытыы диэки уһааран барбыттар. Уол чуолҕанынан көрөн истэҕинэ, кытыыта улам-улам чугаһаатар чугаһаан кэллэ, дьоно аҕаланнар кытыы кумахха астаран баран, буочуканы иҥнэри таппыттарыгар, буочука иһинээҕи уу уолу бүрүннэри түспүт. Уол соһуйан сарылаабыт, тохтуу соҕус баһын быктаран көрбүтэ, икки тыы эрдиилиин-баҕастыын ууга барбыттар, ол көрдүк икки киһи хаһытыы-хаһытыы сыссан эрэллэр... Уол буочукатыттан оронон тахсыбыт. Хааман көрүөх буолта, икки атаҕа кыайан хамнаабат гына көһүйэн хаалбыт. Тымныы ууга уһун түүнү быһа турбут сордоох, туох аанньа буолуой! Нэһиилэ кытыыга үҥүөхтээн тахсыбыт, хата куйаас баҕайы күн эбит. Кытыы кумахха күн уота сып-сылаастык сыралыччы тыкпытыгар уол сыттыгы бырахпыт көрдүк күс гына баран түспүт. Таалалаан сыппыт. Утуйбатах, куттаммыт, дэлби һылайбыт эрэйдээх күн уотугар сыламнаан, устунан утуйан хаалбыт. == III == Киэһэ буолан барбыт. Уол уһуктан тиийэн кэлбитэ; сылаата тахсыбыт, илиитэ-атаҕа көһүйбүтэ суох буолбут, ол оннугар, хата, дэлби хоргуйбут. Эргим-ургум көрбүтэ өрүс илин эҥэригэр таххыбыт быһыылаах, илин мыраан ол көрдүк сугас соҕус сааскы сытыы күөҕүнэн чэлгийэн турар. Уол турбут, өрүһү кыйа, мыраан аннын диэки һоҕус баран испит. Барбахтаат, мыраантан киирэр улахан хорулҕан айан суолугар көтөн түспүт. Суол устун үөһэ мыраан үрдүгэр таххыбыт. Үөһэ таххан көрбүтэ: күн түөттүүр бадаҕа буолбут, аҕыйахтык хардыылыырын гытта, баараҕай мугур бэс кумалааныттан биир һудьу өрө көтөн тилигирээн таҕыста, инньэ гынарын гытта манна һымыыттаабыт эбит буоллаҕа диэн уолга өй көтөн түстэ. Инньэ дии һанаата да, салбах хатыҥ төҥүргэһэ һытарын сулбу тардан аҕалла; кумалааҥҥа сыһыары ууран, онтон һалҕанан тахсан кумалаан айаҕын таҥнары өҥөйөн көрдө, көрбүтэ: ол көрдүк кумалаан түгэҕэр уонтан тахха кус сымыыта лэчигирэһэн сыталлар. Уол эрэйдээх харгыйбыта диэн сүрдээх. Дьэ бу сымыыттары ылаары хачыгыраспыт. Илиитэ тиийиэхчэ тиийбэтэх, кыһыы бөҕө буолбут, онтон, бу хачыгыраһа туран, кумалааҥҥа төбөтүнэн таҥнары түһэн хаалбыт, сымыыттарын төбөтүнэн илдьи түһэн кээспит. Хаһытыы, орулуу мөхсе сатаан кэбиспит да туох истиэ-көрүө баарай! Кэннэки сэниэтэ быстан, сээбэһэ эстэн, син бииригэр түһэн кыбыллыбытынан турбут. Арай ол туран иһиттэҕинэ, һайдыыр саҥа баар, улам-улам саҥа чугаһаан кэлбит. Саҥатыттан истэн сэрэйдэҕинэ — оҕустаах сыарҕалаах кырдьаҕас киһи быһыылаах. Сотору соҕус тыаһа оҕуһун аҕалан оҕонньор кумалаан аттыгар талыр гына булгутан кэбистэ, ол гэннэ ботур-ботур саҥарар: "Ээ дьэ бараххан бэт да көҥдөй мугур бэс турар эбит... урут хайтах өйдүөн көрүмнэ һылдьыбытым эбитэй? Хата тиэйэн киллэрэн, бурдук тардар даарда оҥос-туом буоллаҕа эбээт,"- дии-дии бокуойа һуох кэрдэн чалкайбытынан барбыт. Кумалаан иһигэр эмискэ сырдык киирбитигэр, уол өйдүөн көрбүтэ: тэрээк сүгэ биитэ килбэйэ-килбэйэ сирэйин оттотунан киирэн иһэр. Уол мантан уйулҕата көтөн часкыйа түспүт. Туох баар күүһүнэн мөхсүбүт. Оҕонньор кумалааны тула өттүттэн төгүрүччү моойньуу кэппит эбит, онтуката уол мөхсүбүтүгэр тосту түһэн хаалла. Оччо быыһанан баран, уол былтас гына түһэн көрбүтэ: биир даба ырбаахылаах оҕонньор кини диэки көрүөҕүнэн көрбүт, былтас гынарын гытта махчайа түһэн баран, сүгэнэн сырбаппыт. Уол иһидьэдьэ ньимис гынан биэрбит. Сүгэ тыаһа ириэнэх сиргэ "кур" гына түспүт. Уол маһыттан таххан көрбүтэ — оҕонньор ол көрдүк үҥкүрүйэ-күөлэһийэ былаан, мырааны таҥнары мээчиктэнэн түһэн эрэр, оҕуһа булгуллубутунан, сүгэтэ сиргэ батары охсуллубутунан туран хаалбыттар. == IV == Ити иккэрдигэр күн дьааһыгыран барбыт... Уол мыраан кэрийэ айанын суолуттан туораан, хоту диэки баран испит. Оҕордук баран, киэһэ уот саҕана мыраан анныгар биир ыалга тиийэн кэлбит. Сэптэриттэн-сэбиргэллэриттэн көрдөҕүнэ, бэт баай ыал быһыылаахтар. Кэлэн дьиэ аанын тардыалаабыт, хатыылаах буолан биэрбит, онтон уол санаа булбут: "Бээрэ, миигин бостуой уорбалыахтара; аны куораппар төттөрү тутан киллэрэн биэриэхтэрэ! Бэйэ, мин биллибэккэ киирэн аһаан таххыым". Инньэ дии санаан дьиэни эргийэр: түннүгүнэн сатаан киириэ һуох, балаҕан үрдүгэр ытта сүүрэн таххар, оһох үөлэһин өҥөйөн көрбүтэ — киһи батыах көрдүк. Өр толкуйдуу барбатах үөлэс үүтүнэн түспүт. Түһэн иһэн аны манна кыбыллан хаалбыт. Дьэ хайтах да гыныах сир суох. Хаһытыан эмиэ кэрэгэй, мөхсүөн эмиэ сатаммат. Бу туран иһиттэҕинэ, дьахтар һаҥата энэлийэр, энэлийэрэ улам-улам улаатан барбыт, онтон утаакы һоҕус буолан баран, саҥатыттан иһиттэххэ, эмээхсин айалаан-дьойолоон турбут. Уот оттон тииһэн барбыт. Ол уолга дьэ күн-хаан бөҕө үтүрүйэн кэлбит ээ. Буруоҕа туҥнастаары гынан, хаһытыы-хаһытыы тэбиэлэммит. Эмээххин уокка оттубут хардаҕастарын барытын суулларыта тэбэн түһэттээбит. Эмээххин онтон өмүрэн, хаһытыы-хаһытыы, уол икки атаҕын үөлэһинэн чорбойон турарын хардаҕаһынан имитэн барбыт, уол һарылыыкката, эмээххин хаһыыкката диэн туох да өй мэйдээх тулуйбат үлүгэрэ буолбут. Онтон эр дьон туран эмээххини тохтоппуттар. Уол һаҥата ытыы-ытыы: "Абырааҥ даа, абырааҥ! Өллүм даа, өллүм!" — диир. Эр дьон тахханнар, үөһэттэн быаны түһэрэн биэттэр. Уол быаттан тутуспут, сулбу тардан ылбыттар. Уол таххан көрбүтэ: оһох хоротун аттыгар икки киһи турара, биирдэрэ эдэр уол, биирдэрэ аҕам соҕус киһи. Бу киһи кинини сынньаары тииспит: "Тыыннаах ыт, дьэ мин эйигин оҥоруугун оҥордоҕум! Тугу гынаары түүн кэлэн үөлэһинэн киирэ һылдьаҕын!?" — дии-дии быатын туппутунан уолга ынан кэлбит. Уол ытыы-ытыы балаҕан үрдүн төгүрүйэ сүүрбүт. Оҕонньор эккирэтэн батыччахтаан испит. Кирилиэс турарынан уол оттотугар биирдэ-иккитэ үктэнэн, сиргэ ыстанан түспүт. Кэнниттэн оҕонньор баатыйалаан түһэн истэҕинэ, уол түөрэкэй баҕайы кирилиэһи түҥнэри анньан кэбиспит. Кирилиэс оҕонньордуун-баҕастыын суулан лиһигирээн түспүт. Оҕонньор хатыҥ төҥүргэскэ төбөтүн хайа түһэн уҥан тэйтэйэн хаалбыт, эдэр киһи үөгүлүү-үөгүлүү балаҕан үрдүгэр тура сүүрэ сылдьыбыт. Уол буоллаҕына, буута быстарынан тыаҕа түспүт. == V == Хоту диэки мээлэ баран испит, халлаан илин өттө улам-улам дьэҥкэрэн, һырдаан тиийэн кэлбит. Утаакы буолбакка, күн тахсан чаҕалыччы тыкпыт. Уол биир хатыҥ төрдүгэр сыламнаан, утуйан хаалбыт. Уһуктан, туран көрбүтэ: күн оттото буолан барбыт. Харгыйбыта алыс буолбут. Инчэҕэй эрэ буоллар тугу барытын аһыа эбит. Туран, эмиэ барбытын көрдүк баран истэьинэ, арай ол көрдүк хочо анараа һаҕатыгар биир ыал балаҕана көстүбүт. Харбыалаһан чугаһаан тиийэн кэлбитэ: дьиэ таһыгар саҥа таһыллыбыт сиэрдийэлэр һыталлар, биир оҕус баайыллан турар. Быһыыта бүтэй оҥорооччу дьон бааллар быһыылаах, дьиэ итчитэх, түннүгэ һуох буолан баран, үөлэһиттэн бур-бур буруо тахсар. Ону уол — бу бүтэй оҥороотчу дьон киирэн омурҕаннана олордохторо — диэн һэрэйэ санаабыт. Хотон аанынан үөмэн киирбит. Дьиэттэн хотоҥҥо киирэр аанынан оргууй аҕай кэлэн өҥөйөн көрбүтэ, биир киһи чаанньык оргутунан омурҕаннанаары олорор. "Бээрэ, мин кинини куттуум" диэн уол санаа булбут. Инньэ дии санаан, сүрдээх куһаҕан баҕайытык сарылаабыт. Дьэ эбэтээ доҕоор! Анараа киһи көрүөҕүнэн көрөн, айаҕын атыаҕынан атан баран, муҥ кыраайынан таһырдьа ыстанан хаалбыт... Уол дьиэҕэ көтөн түспүтэ, куоппут киһи өйүөтэ: буспут эт, арыылаах лэппиэскэ диэн элбэх буолбут. Уол олоро түспүт, эр-луҥха аһаабытынан барбыт. Дэлби тото аһаабыт, кыратык һытан һынньана түспүт. Уонна, туран, эмиэ барбытын көрдүк баран испит. == VI == Күн киириитин һаҕана биир ыалга тиийэн кэлэн киирбит. Биир аҥаарыйа кырдьыбыт оҕонньор, биир эдэр киһи, биир уол оҕо, ону гытта эмээхсин, биир эдэр дьахтар бааллар үһү. Дьиэлээхтэр кэпсэппиттэр, хантан хайдах иһэрин ыйыппыттар. "Куоракка оскуолаҕа кырбыыллара бэрдиттэн, дойдубар күрээн таххан испитим, ол гынан баран мунан, манна тиийэн кэллим", — диэбит. Ыал уолу дэлби аһынаннар, мээлэ үчүгэйдик аһатан илдьэ олорбуттар. Уол манна хас да хонон кэргэнниһэн барбыт. Биирдэ эдэр дьахталлара ыалдьан, үөһэ һаҥата үөһэ, аллара һаҥата аллара буолан барбыт. Дьахтар төрүөрү гынна, ыксал буолла диэн (эр дьоннор һуохтар эбит) дьиэлээх эммэхсин дьиэлээх уол икки, хоноһо уол иккини икки көлөһөлөөх таратаайка һыарҕа оҕотун биэрэн, ол көрдүк көстө олорор ыалга ыытта: "Икки атаҕа һуох босхоҥ баабыскаһыт эмээхсин баар, ону ба-раҥҥыт, бу таратаайканан тардан аҕалыҥ", — диэн. Уолаттар баара ат буоланнар сыссан бөдөрөҥнөһөн ол эмээхсиннээх ыалга тиийбиттэр. Тиийэннэр наадаларын эппиттэригэр, дьиэлээх дьон эмээхсини, көтөҕөн таҕаа-ран, таратаайкаҕа олордон биэттэр. Икки тэҥ мэлик баҕайы уолаттар, харахтарын тиэрэ көрөннөр, баара ат буолан, саамай өрүс мүлчүрүйэр хааһын үрдүнэн эмээххини бокуойа һуох соһон дьулурутан испиттэр. Ол иһэннэр, хара һыыры эриличчи куоһуу турар уорааҥ-ҥа аҕаланнар, мүтчү тутан эмээхсиннэрин һыарҕалары баҕастары бас-атах түһэрэн кээстэр. Бэйэлэрэ нэһиилэ куотан биэттэр, онтон куттанан хоноһо уол һирэйин хоту мээлэ һүүрэн испит. Доҕоро ханна да бааттын билбэтэх. Хас да хонукка хайа да диэки барарын дьаабытын билбэккэ, мээлэ айаннаабыт. Суолугар быстыбат ыаллаах сир буолан, түүн ыал уҥкучаҕар киирэн, уоран аһаан, онон өллөнөн испит. Кэннэки ыал ыырыттан улам-улам тэйэн барбыт. Хас да хонугу мэлдьи долуой ыала һуох һиринэн айаннаабыт. Аччыктыыра, хоргуйара дьэ улааппыт, муҥ-сор бөҕөнү көрбүт. — Дьэ, аны кэлэн туох өрүһүйүөй, харгыйан өлөр киһи буоллаҕым! — диэн санаа кииртэлээбит. == VII == Ыарҕа үрэх устун иһэн көрдөҕүнэ: ол көрдүк үрэх халдьаайытыгар буруо көстүбүт. Уол туох да кэмэ һуох үөрбүт. Чугаһаан тиийэн кээттэ: үгүс баҕайы атах баайыылаах аттар мэччийэ һылдьаллар, төһө эмэ ындыы өрөһөлөнө һытар. Ол аттыгар айан дьоно биэс-алта киһи омурҕанна-наары саламаат буһара олороллор. Дьон уолу бары тула көппүттэр, ыйыталаспыттар. Уол тугу да кистээбэккэ барытын кэпсээн биэрбит. Дэлби аһаппыттар, һүрдээхтик аһыммыттар, ол кэннэ эппиттэр: "Нохоо, бэт ыраах сиргэ кэлбиккин, дьиэҕин аны кэлэн һатаан булбат уол буоккун. Чугаһынан ыал букатын һуох. Бостуой һиргэ хоргуйан өлүүһүккүн. Биһиги бу үрэх баһыгар ындыы таҕаарар дьоммут. Үрэх бастаан иһэбит. Эн, хата, биһигини гытта көлө иччитэ буолан бассыс. Сиргэ быраҕан кэбиһэрбит сатаммат. Аһатыахпыт-таҥын-нарыахпыт, үчүгэйдик һырыттаххына, хамнас да биэриэхпит", — дэспиттэр. Уол аккаастаһа барбатах, үөрүүнү гытта сөбүлэммит. Итинэн бу дьону гытта бу һайыны быһа айаннаан таххыбыт. Айаннаан иһэр үрэхтэрин баһын уһук ыала чугаһаабытын гынна, арай биир күн һүрдээх һүүнэ дабааны туораан, турар һуорба таас хайаны һирэйдэнэн айанныыллара тиийэн кэлбит. Ындыылаах ат нэһиилэ батан айанныыр кычамын устун баран испиттэр. Ат кыратык даҕаны мүтчү үктээтэр эрэ аллара түгэҕэ биллибэт дойдуга түһэн хаалар һирэ буолла. Уол икки атын гытта һаамай киһи-киһи кэннигэр хаалан испит. Ол иһэн, бии уһун һордоох эмиэ мэлигилээн дьэр-гэйэн, икки аты ындыылары баҕастары аллара түһэрэн кэбиспит, дьоно урут баран, хайа эргийэ охсуутугар кии-рэн хааланнар, көрүмнэ хаалбыттар. Уол дьонноруттан куттанан, мээлэ хайаны сирэйинэн, хайа оройун диэки өрө тахсан испит. Сүрдээх үрдүк баҕайы хайа эбит хайата, дьэ кини өр баҕайы айаннаан, хайа һаамай төбөтүгэр тахсыбыт. Ол таххан көрдөҕүнэ: олоччох лааппы хайа эбит, бүтүннүү нуучча киһи һыҥааҕын түүтүн көрдүк ыдьыр-хай болбукта маһынан хаххаланан үөскээбит дойду. Болбуктаны быыһынан мээлэ һирэйин хоту барбыт. Ол баран истэҕинэ, эмискэ баҕайы, болбукта быыһыттан биир кугас эһэ часкыйбытынан ыстанан таххыбыт. Мантан куттанан, уол хаһытыы-хаһытыы сүүрбүт. Сүүрбэхтээн иһэн суос-соҕотохто кулгааҕа куугунуу түспүт. == VIII == Өр буолан баран, тыын киллэрэн өйдөнөн кэлбитэ — туох эрэ һымнаҕас үрдүгэр түһэ һытар, хайтах-хайтах баҕайыный? — диэн кичэйэн көрбүтэ: уон былас холобурдаах кэбиһиллибит от үрдүгэр түһэ һытар эбит. Сирэ-дойдута олоҥхоҕо кэпсиир көрдүк барбатах балык миинин көрдүк, бадыа-бүдүө буолла. Хайтах баьайыный — иирдэҕим дуу, хайа буоллум дуу? — диэн өр таалан олорбут. Санаан көрдөҕүнэ: кини, быһыыта, букатын хаһан да, ким даҕаны һылдьыбатах дойдутугар киирэн олорор быһыы-лаах. Хайтах да киирбитин, ким киллэрбитин кыайан быһаар-бата. Хаһааҥҥа дылы олоруой, отуттан түһэн эмиэ мээлэ һирэйин хоту хаампыт. Иһэр һирин тула эргиччи көрдөҕүнэ, сүрдээх киэҥ уйаара-кэйэзрэ биллибэт хочо устун иһэр быһыылаах. Хочотун аҥаар өттө — өрүс, аҥаар өттө ол көрдүк күлүгэ эрэ нэһиилэ барыйан көстөр ии хайа буолан эргийэн түһэн барда. Сотору аҕай ыал уота көстүбүт. Бу дойдубут эмиэ ыаллаах буолар эбит буоллаҕа дии-дии барбыт. Чугаһаан кэлбитэ, кырдьык, ыал. Дьөксө бэт баай ыал быһыылаах. Дьиэ таһыгар сылгы, ынах толору. Дьиэҕэ көтөн түспүтэ: биир аҕам һоҕус эмээхсин дьах-тар, ону гытта биир туран эрэр уол оҕо бааллар эбит. Кини киирбитин киһи киирдэ диэн кырыы харахтарынан кынчайан да көрбөтөхтөр. Уол кэпсэппитигэр кинини гытта дьоно кэпсэппэт да дьон буолан биэттэр. Туох улаатымсык баҕайыларый! Саатар киһини гытта кэпсэппэттэр диэн саныы олорбут. Дьонноро, хата, бэйэлэ-рин иккэрдигэр кэпсэтэллэрэ үһү. Оҕонньор: "Хайтах эрэ этим сааһа аһылынна? Эһи көрдүгүт дуо: мин санаабар, дьиэбит аана аһылларга дылы гынан баран — туох даҕаны киирбитин кыайан көрбөтүм ээ?" Эмээхсин: "Мин тугу да көрбөтүм да, этим сааһа мээлэ аһыллан, куйахам дэлби күүрдэ." Уол: "Мин иһиттэхпинэ туох эрэ тыас тыаһыырга дылы гыммыта эбээ. Ол гынан баран биллибэккэ барда..." Уол бу дьон кэпсэтэллэриттэн, тутталларыттан-хапталларыттан һыаналаан көрдөҕүнэ, дьоно кинини көрбөт даҕаны, истибэт да быһыылаахтар. Көрдөҕүнэ — эмиэ һин харахтаахха дылылар. Бэйэ-бэйэлэрин көрсөр быһыылаахтар, ол гынан баран харахтара хайтах эрэ киһи хараҕын көрдүгэ һуох — туруору үһү. Дьэ уол мантан эр ылан, остуолга тардыллан турар астарыттан туох да ыйытыыта һуох аһаабытынан барбыт. Астара туох да куһаьан амтана һуох, син саха ыалын аһын амтанын курдук. Биир дьиибэтэ баар эбит: бу кини аһаабытын да иһин, аһыыр аһа эбиллибэт-көҕүрүөбэт үһү. Манна талбытынан аһаан, хас да хонукка олорбут. Дьиэлээх ыала буоллаьы-на: "Дьиэбит сибиэннэннэ ээ, быһыыта", — диэн кэпсэтэр буолбуттар. Киэһэ хараҥа эрэ буоллар, туой иккилии буолан таһырдьа таххар буолтар. Арай биир киэһэ эмээхсиннээх оҕонньор таһырдьа тахсыбыттарын гынна, дьиэлээх уол уотун кытыытыгар һоҕотоҕун олордоҕуна, уол дьиибэтэ көтөн түһэн тиийэн үрдүгэр түспүт, синньэ гынарын гытта анараа уол чиччигинии-чиччигинии уҥан барбыт, онтон бэтэрээ уол бэйэтэ куттанан, тиийэн орон улаҕатыгар түспүт. Сотору таһырдьаттан эмээхсиннээх оҕонньор киирбиттэр. Анараа уол тыын киллэрэн кэлэн баран, дэлби таарымталанан, онон һылтаан устунан ыалдьан барбыт. Бу түүнү быһа ыалдьан тахсыбыт. Эмээхсиннээх оҕонньор оҕолорун кэтээн, түүнү быһа утуйбакка хоммуттар. Сассыныгар оҕолоро арыычча үтүө буолбут. Киэһэ буолуутугар биһи уолбут эмиэ, кыдьыга батарымна, тиийэн эмиэ тыыппыт да, уол эмиэ ыалдьан барбыт. Онтон бу уолу аны күн аайы, ыаһах оҥостон, кургуом ыарытыннарар буолбут. Биир сарсыарда оҕонньор эмээхсининиин: "Эмээхсини аҕалан кыырдаран көрүөх баҕайы дуу" диэн һүбэлэһэн баран, туран таҥнан баран хаалбыт. Уол маны истэн: удаҕан эмээхсини аҕалаары гыннахтара, дьэ кэлэн хайтах эрэ дьаабылыыр диэн куттанан күнү быһа ол һанаатыгар һылдьыбыт. Ыарытыннарар уолугар бу күн букатын чугаһаабатах, анараа уол ыалдьара арый үтүө буолбут. Киэһэ күн киириитин һаҕана оҕонньор биир эмээхсини алтахтатан аҕалбыт. "Дьэ оҕобут бүгүн хайтаҕый, эмээхсиэн?" — диэн оҕонньор эмээхсиниттэн ыйыппыт. Онуохаҕа эмээхсин: "Ээ, бүгүн эн бааттыҥ гынна арыый эрэ үтүө олорор," — диэбит. Удаҕан эмээхсин эппит: "Кэбиһиҥ, үөрүмэҥ! Ол аата, киниттэн сүгүн уодьуганын биэримээри гыммыт абааһы буллаҕа. Оттон хайтах гыныамый, ол да буоллар, һанаабар, дьалбыйан көрүөм буоллаҕа!" — диэбит. Киэһээ уот буолуутун һаҕана удаҕан эмээхсин олоҕор олорон кыырбыт. Түүн үөһүгэр дылы быһа кыыра сатаан баран: "Дьэ тугу даҕаны кыайбатым, алгыһын таба алҕаабатым, туонатын биэрбэтэ", — диэн уурайбыт. Сассыныгар удаҕан баран хаалбыт. Биһи уолбут туран дьэ ордук эр ылан: "Кинилэр удаҕаннара, ойууннара даҕаны миигин тугу да гыныа һуохтар," — диэн, бии уолун ыарытыннарарын көрдүк ыарытыннарбытынан барбыт. Мантан ыксааннар, оҕонньордоох эмээхсин эмиэ сүбэлэһэн: "Аны оьонньору баран аҕалыах баар", — дэспиттэр. Сүбэлэһэн, оҕонньор баран хаалбыт. Үс хонон баран, быһыыта бэт ыраах һиртэн, дьэ биир сүрдээх кырдьаҕас сүдү киһини аҕалбыт. Дьэ бии ойуун кэлбит да, арай икки хараҕын уота биһи уолбутуттан арахпатах. Уол куттанан, ол бу баьана күлүгэр саһа һатаабыт — оҕонньорун хараҕын уота долуой киниттэн архсыбатах. Таһырдьа хотон айаҕынан тахсан куотаары гыммыта, эмиэ бөрөлөрө, эһэлэрэ ханна да хамсаппакка төттөрү үүрэн киллэрбиттэр. == IX == Оҕонньор аһаан-сиэн баран, кыратык көрүүлэммит. Көрүүлэнэн эппит: "Бу үөһэ туора харахтаах дьиэрбэҥ бииһин ууһуттан босхо бастаах бороҥ урааҥхай уола, бу кэлэбирэ биллибэт кэй бараан дойдуга ааһар былыт кэһиитэ буолан кэтэрги кэбистэрбит, таҥнары бырахтарбыт, дьэ аанньанан аттаныа һуох, сүгүнүнэн һүктүө һуох, арай, икки хаҥкыйар хаалдьыктарыгар дылы хара маҕаас ат сылгыны бэлэхтээн, икки халлаан хара һуора оҥорон мииннэрэн үөһэ орой биир дойду үрдүк мындаатыгар бырахтарар эбит буоллар, оһоҕун хайыа эбитэ буолла..." Көрүүлэнэн баран, бу түүн кыырбакка хоммут. Сассыҥҥытыгар туран, бу бэҕэһээ ойуун эппит дьүһүннээх сылгыларын булан аҕалбыттар. Аар саламаны тиирбиттэр, икки аты аҕалан онно баайан кээстэр. Ол кэнниттэн ойуун дьэ кыырбыт. Оттолуу кыыран иһэн, уокка ылан арыгы биэрбит. Арыгыта биһи уолбут атаҕар кэлэн көтөн түспүт, инньэ гынан уол итирэн хаалбыт ("Дьэ ол иһин, ону билэн, уокка ас биэрэллэр эбит" диир буолара Мурун уола Бүөтүккэ). Онтон ойуун дүҥүрүн охсон баран, үс төгүл һуордуу хаһыытыырын гытта, бии икки хара маҕаас ат икки халлаан хара һуора буолан баран, биһи уолбут үрдүнэн эргийэ көтөн эрэллэрэ үһү да, уол һоҕотохто ханна даа бааттын билбэккэ, икки кулгааҕын тыаһа өрө куугунуу түспүт. Кэмниэ-кэнэҕэс буолан баран, өйдөнөн кээттэ: бии эһэттэн куттанан һүүрбүт хайатын үрдүгэр тахсан сытар эбит. Хайтах баҕайыный: түһээбит буоллаҕым дуу диэн, туран, олоро түспүт. Аллара дойдуга олорон итирбитэ букатын ааһа илик эбит, ол гэннэ көрдөҕүнэ, бу аллараа дойдуга киниэхэ бэлэхтээбит икки хара маҕаас аттара манна тахсан ыҥыырдыын аттыгар баайыллан тураллар. Уонна бу кини аллараа дойдуга түспүт хайаҕаһа буоллаҕа буолуо, аттыгар чардаат саҕа түгэҕэ биллибэт үөлэс көрдүк үөдэн айаҕа чөҥөрүйэн көстөр. Хайтах-хайтах баҕайыный? Түһээбитим буоллар, бу ат-тар һуох буолуо этилэр диэн мунаахсыйа олорбут. Онтон туран, арай, баран көрдөҕүм диэн аттарын сиэтэн хайаны таҥнары түспүт. Сотору бу айаннаан иһэн дьонуттан арахсыбыт һуолугар киирэн кэлбит. Дьонун һуолун һолоон баран испит. Оҕордук айаннаан сотору соҕус ыал уһугун булбут. Кини бу кыһынын бу дойдуга кыстаабыт, үрэх баһыгар от суох, сут буолан биир ата һутаан өлөн хаалбыт, биир атын нэһиилэ муҥнанан-һордонон һыл таҕаарбыт. Нөгүө дьылыгар дьону гытта аргыстаһан дойдутугар киирэн хаалбыт. Ол киһи бэйэтэ билигин даҕаны баар Боотуруускай улууһугар Перибэй Сылаҥ нэһилиэгэр. Миигин итэҕэйбэт буоллаххытына, киниттэн бэйэтиттэн даҕаны ыйытыҥ, бэйэтэ бэт һымыйаччыта һуох киһи. Аҕалбыт атын баһаарга киллэрэн атыылаабыта аҕыйах һыл буолбут. Дьэ ону эһи бэйэҕит хайтах һаныыгыт? {{DEFAULTSORT:Алтан Сарын}} [[Категория:Алтан Сарын]] cd1okmywwik116w583kjgglr0k2ydlb Интеллигенциябыт көмүс биһигин харыстыахха (Копырин Н. З.) 0 105 9569 3931 2026-06-22T15:24:16Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9569 wikitext text/x-wiki {{header | title = [[Копырин Николай Захарович]] | author = Николай Захарович Копырин | section = Интеллигенциябыт көмүс биһигин харыстыахха. | previous = [[Копырин Николай Захарович]]| next = [[]]| notes = }} Кыайан хаамар эрдэхпинэ Ярославскай уонна Кулаковскай ааттарынан уулуссалар быһа охсуһар сирдэригэр Аппа үрдүгэр кырдьаҕас бэрэбинэ дьиэ харааран турарын ытыктыы, сүгүрүйэ көрөн ааһарым. Тутуллубута 150 сыл кэриҥэ буолбута буолуо да, бөҕө таас акылааттаах буолан билигин да туруга хамсаабатах этэ. Хаачыстыбалаах мас тутуу уһун үйэлээх буолар эбит. Ол курдук куоракка, холобур, «Тыгын башнята», «Туус лааппыта» диэннэр 350-ча сыллаах тутуулар бааллара. Мин кэпсиир икки этээстээх мас дьиэм классическай прогимназияҕа ананан оччотооҕу олохтоох уопсастыба сириэстибэтигэр саха уустарынан тутуллубут. Бу дьиэ барахсан Саха Сиригэр бастаан тэриллибит орто үөрэх кыһата 20-чэ сыл устата балачча элбэх ыччаты (олор истэригэр сахалары) ииппит-үөрэппит үтүөлээх. Бастакы революционер К.Г. Неустроев (Урсик), бастакы сырдатааччы, суруйааччы В.В. Никифоров-Күлүмнүүр, бастакы аатырбыт учууталлар В.Г. Монастырев, Д.Д. Сивцев, Г.П. Помин, П.Х. Староватов, бастакы быраастар Е.Н.Слепцов, П.Н. Сокольников, прогрессивнай өйдөөх диэйэтэллэр Николаевтар, Слепцовтар, Поповтар, Афанасьевтар, Говоровтар о.д.а. Саха бастакы көлүөнэ интеллигеннэрэ бу дьиэҕэ үөрэммиттэрэ. Кинилэртэн Россия бастакы революциятын саҕана «Сахалар Сойуустара» диэн босхолонуулаах хамсааһыны тэрийээччилэр үөскээбиттэрэ. Бу дьиэҕэ 1890 с. прогимназия оннугар реальнай училище тэриллэн үйэ чиэппэрин кэриҥэ үлэлээбитэ. Манна өссө элбэх ахсааннаах интеллигенцийэ иккис көлүөнэтэ иитиллибитэ. Национальнай уус-уран суругунан литератураны, суругу-бичиги төрүттээччилэр А.Е. Кулаковскай-Өксөкүлээх Өлөксөй, С.А. Новгородов, уһулуччулаах историк ученай Г.В. Ксенофонтов, кини быраата конфедералистар партияларын баһылыга П.В. Ксенфонтов, талааннаах экономист, «Холбос» сойууһу тэрийбит К.О. Гаврильев, «Сырдык», «Саха аймах», «Саха омук» диэн культурнай-сырдатар уопсастыбалары үөскэтэн үлэлэппит бүтүн аармыйа дьон манна үөрэнэн-иитиллэн тахсыбыттара. Кэлин бу дьиэ таһыгар икки этээстээх бэйэтин кэмигэр сүүнэ улахан таас дьиэ тутуллан үлэҕэ киирбитэ. Онтон ыла бу дьиэлэр «мас реальнай», таас реальнай» диэн ааттанар буолбуттара. Сэбиэскэй былаас буолбутун кэннэ мас уонна таас реальнайдар дьиэлэригэр педагогическай, учительскай институуттар, кинилэр баазалара орто үөрэҕи биэрэр рабфак (рабочий факультет) тэриллибиттэрэ. Бүттүүн үөрэхтээһин буолбут барҕарыы кэмигэр манна саҥа кэм интеллигенцийэтэ - тыһыынчанан дьон иитиллибиттэрэ. Республика бары муннуктарыгар үөрэҕи-сырдыгы тарҕата, саҥа олоҕу тэрийэ, салайа барбыттара. Бу дьиэлэргэ үлэлээбиттэрэ биһиги норуоппут бастыҥ дьонноро, учуонайдар — И.П. Жерготов, С.Ф. Попов, А.Е. Мординов, И.А. Мельников, Г.П. Башарин, И.М. Романов, Л.Н. Харитонов, А.Д. Егоров, Ю.Г. Шафер, Ф.Г. Сафронов о.д.а. Кэлин манна Саха Государственнай Университета аһыллыбыта. Бу дьиэлэр билигин кырдьан, онуоха эбии көрүүлэрэ-истиилэрэ мөлтөөн тураахтыыллар. Үөрэх аан-бастакы кыһалара буолбут улахан үтүөлээх уезднай училище, куорат үчилищетын, учуутал техникумун, Кырбыһааҥкын туттарбыт орто оскуолатын дьиэлэрэ көтүллэн суох буолбуттара ыраатта. Мас уонна таас реальнайдар дьиэлэрэ эмиэ кинилэр киэптэрин кэтиэх бэйэлэрэ буолуо дуо... Оо, абатын, олус да хомолтолоох, кутурҕаннаах буолсу. Кэбис, оннук буолбатын. Киров уулуссатыгар турар Кыргыттар гимназияларын дьиэтин умаппыттарын билэбит. Билигин «не помнящие родства» буолуохпутун букатын сатаммат! Билигин бүтүн турар кэриэстэбиллээх ытык дьиэлэри өрүһүйүөххэ! «Былыргы прогимназия дьиэтин харыстааһын» диэн историческай науука кандидаата П.П. Петров («Билии-Көрүү» 1998-1999, №2) национальнай интеллигенцийэ көмүс биһигэ буолбут дьиэлэри харыстыырга бэрт сөпкө тыл көтөхпүтүн кэннэ туох да сэҥээрии буолбата. Бу дьиэлэр турар бэрт дьоҕус сирин ыраастаан, мас үүннэрэн, төгүрүччү олбуордаан комплекс оҕото оҥоруох баара. Дьиэлэри үчүгэйдик сууйан-тараан, эрэмиэннээн интеллигенцийэ историятын көрдөрөр баай экспонааттаах музейы тэрийиэххэ. Күөх аллеяны оҥорон уһулуччулаах дьоннорбут бюстарын туруортуохха. Манна уезднай училища, куорат училищата, учууталлар, кыргыттар семинариялара, учуутал техникума үлэлээбит матырыйаалларын кытта көрдөрөр саалалары аһыталыахха. Энтузиаст салайааччыны буллахха, уопсастыбаннас күүһүн түмэ туттахха, бу үлэ улахан ороскуота суох кыаллар кыахтаах. Кэскиллээх дьыалаҕа университет, педучилище, атын да үөрэх кэлэктииптэрэ актыыбынайдык кыттыа этилэр. Мемориалы тэрийиигэ ытык кырдьҕас Суорун Омоллоон, атыттар да уоппуттара, «2000 үтүө дьыала» үөрүйэхтэрэ баар. Интеллигенцийэбит көмүс биһигэ мемориалы тэрийии биллэрэр, иитэр-өйдөтөр суолтата сүҥкэн улахан буолуо этэ. «Не хлебом единым жив человек»! [[Категория:Публицистика]] [[Категория:Копырин Николай Захарович]] 6wxxqggkb3not37n53igk843oxc1h0x Булт дойҕохторо (Павлов Николай Гаврильевич) 0 106 9570 3867 2026-06-22T15:24:17Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9570 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Павлов Николай Гаврильевич | section = (Хоһооннор) | previous = [[Сааскы ууга саһааккаҕа… (Павлов Николай Гаврильевич)|Сааскы ууга саһааккаҕа…]] | next = [[Күһүн көхтөөх бултуур кэмҥэ… (Павлов Николай Гаврильевич)|Күһүн көхтөөх бултуур кэмҥэ…]]→ | notes = }} Сэрии, үлэ ветерана Касьянов Василий Гаврилович сырдык кэриэһигэр ананар. Автор. == Киирии тыл == Бу хоһоонум геройа киһи быһыытынан ордук чаҕылхай, аймах-билэ дьонугар биһирэнэ көрсүллэр уратытынан олох ханнык да түбэлтэтигэр (үөрүү-көтүү, баҕар, санаа- оноо да түһүөх кэмнэригэр) сомоҕо тыллары майгынныырдыы этэн, көргө, күлүүгэ тиэрдэн кээһэр идэлээҕэ (талааннааҕа да диэххэ сөп). Баһылай уу мотуора, оҥочо атыыласпытын токоолоспуттарыгар «Пенсияҕа бараарыбын спорт-инвентарь хомуна сылдьабын», - диэн кырдьык-хордьук эппиэттэспитэ дииллэр. Дьэ оннук киһи этэ Баһылай Хаһыйаанаап (Хаһыйаан БаҺылай). Кини этэн-тыынан кэбиспитэ фольклорнай хабааннаах буолалларыттан буолуо – кэлин да дьон өйүгэр-санаатыгар сөҥөн хааланнар, сөбүлэтэннэр, кэпсэлгэ,ахтыыга сырыттахтара. ''Тыыл, педагогическай үлэ ветерана Павлов Николай Гаврильевич.'' Бу хоһоон аан бастаан атырдьах ыйын 24 күнүгэр, 1999 с. "Үөһээ Бүлүү" хаһыакка бээттэммитэ. 2007 с. Бүөтүр Тобуруокап төрөөбүтэ 90 сылыгар анаммыт "Саха Сирэ" хаһыат биллэрбит хоһоон күрэһигэр кыттан ахсынньытыгар кыайыылааҕынан тахсыбыта. "Байанай" сурунаал булт туһунан күрэһигэр 2-с миэстэни ылбыта. "Чолбон" сурунаал 2008 сыллааҕы 6№ бэчээттэммитэ. == Булт дойҕохторо == <poem> Күһүн буолла. Куобах үүрэн Бултуур кэмнэр кэллилэр; Элбэх буолан түмсэр түгэн, Бу кутаа уот умайар; Ууну-хаары була охсон, Чэй өрөллөр уолаттар… Уоту тула саамылаһан Ас-үөл тахсар, хостонор. - Көрүҥ, киһиҥ мөһөөччүгэ Аһа-үөлэ көбүччү: Алаадьыта, буспут этэ - Тугун бэрдэй – үгүөрү. Кэнсиэрбэтэ «Сайра» - Тоҕо буолуой? Таай эрэ. Оттон сорох ыһыга Ханнык эмэ бар-туомугар Угуллубут арыы, саахар – Кырдьыбыкка күтүрэнии, Күлүү-оонньуу, көр кэпсэтии Күөдьүйүүтүн күлүүһэ… *** Элбэх саҥа, кэпсээн хаата, Кырдьа барбыт эристиин Кэлэн ааспыт сылларын Кэрэ, бэлиэ түгэннэрин, Кэмнээн-томноон турбакка, Сэһэн гынан тупсаран Сэҥийэтэ энньэҥниир, Токур тарбах чочоҥнуур: -Биирдэ, ноко, бултуу сылдьан (Бэркэ ытарбын билэҕит) Буур бэрдигэр түбэстим, Отой талах быыһынан Субу кэлтин - муннуттан Ситиэх курдук чугаспын; Үгүс элбэх толкуй суох - Тардан кээстим чыыбыспын. Тайах турар, охтубат; Баай Барыылаах биэрбитин Маннык ытар табыллыбат!.. Инним диэки ыстанабын - Иккистээри ыксыыбын… Тайаҕым дьэ түҥнэһиннэ… Хайдах буолла?! Өйдөөтүм: Өлөн турбут муҥнааҕы Ойбут уохпар охторбуппун - Саабынан таарыйбыппын!.. -Таарыйбыккын?! Баҕар буоллун… *** Булт сырыыта эндирдээх, Эҥин араас эриирдээх… Табыллыаҕыҥ тайаҕы «Тутан туран» ытыаҕыҥ; Этэргэ дылы, балыгы Туһаххыттан ылыаҕыҥ; Оттон ойуур куобаҕын Туугуттан да хостуоҕуҥ… *** Утуу-субуу булчуттар Ахтан, санаан бараллар Суостаах сэрии кыттыылааҕа Хаһыйаанап Баһылай Номох буолбут дойҕохторун, Көхтөөх булчут сырыытын – Көрүдьүөстээх түгэннэрин. *** Маннык түмсүү түгэнигэр, Күө-дьаа сэһэн үгэнигэр, Аргыый сыыйан саҥаран, Эдэр дьону сэрэтэн, Этэр этэ Баһылай: -Эдэр сааһыҥ эргиллибэт; «Доҕоор», «Васька-а», «Баһыла-ай» - Иэйии, таптал тыллара Аны кэлэн этиллибэт. Оттон бииргэ кырдьыбытыҥ Кыҥкыйдыыра кыһыылаах, Тыла чахчы кырыылаах: -Кими этэҕит? Үөдэни?! Ыйытымаҥ миигиттэн! Истэн туһан киниттэн! – «Нэриэсинньик» да дииртэн, Иҥнэн турбат киһиттэн. *** Биирдэ күһүн Баһылай Туораан тахсан наадатын – Кыра дэнэр кыһалҕатын- Толоруна турдаҕына, Буучугурас тииккэ түһэр, Тула-хала көрүнэр… Кэтэһэбит… Киһиҥ ыппат- Кэлэн биэрбит булду тыыппат!.. Баһылайбыт кура холку, Эппиэт наһаа судургу: -Хаһан табаары ытыамый, Хаарыан сэби барыамый?! Хата үүрүү кэмигэр Ханнык эмэ бөлөчөөк Кэлэн биэриэ, оччоҕо Тутта түһэн хаалыллыаҕа, Тутан ылар чугастан, Тоҕо ытан ылыллыаҕа… *** Кэннибиттэн Хаһыйаан Кэлэн истэ алтахтаан, Эмискэччи саа тыаһа Дэлби барда, соһутта… Көрө түстүм – «алдьархай!» Адаар дулҕа быыһыгар Мэлис гыммыт – көстүбэт, Арай хорсоох саппыкылар Салгыны харбыалыыллар… Сүүрэн тиийдим, ыксаатым… Киһим сытар, ымаҥныыр - Үөрэн үөһэ тыынабын, Өрө тардан туруорабын... Ааһан иһэр кустары Булчут көрөн турбатах, Ытан хаалыан санаабыт… Уоттаах сэрии содула Контузия моһуоктаабыт: Сүһүөхтэрэ дэҥи көрбөт, Уйбат буолтар- босхолор. Баһылайыҥ кура холку, Эппиэт буоллар судургу: -Өлбөт үөстээх эбиттэр Ити ааспыт көҕөттөр - Ыта сатаан кэбистим, Көрөҕүн дии – мэлийдим. *** Тоһуур аайы Баһылай Тоҕо куруук ыппат диэннэр, Уорбалааннар «түөкүттэр» Бөлүүн түспүт кыраһаҕа Турбут сирин көрбүттэр - Адьас субу аттынан Атаралаан ааспыт куобах Суолун көрөн – туппуттар!.. Хаһыйааныҥ кура холку, Эппиэт син биир судургу: -Тохтообокко ааспыты Тоҕо ыта сатыамый, Сыыһа туттан эһигиттэн Сэмэ-суҥха ылыамый?! *** Уолан киһи уолуйбут, Туора ойбут куобаҕы Туһулаабыт да ыппыт… Онно,өлүү түбэлтэлээх, Баһылайбыт түбэспит; Кэлин, кэҥээн, киһиҥ күлбүт; Хата, дьолго, ити иэдээн Халымырдык ааспыт эбит; Онтон буолуо, бадаҕа, Маннык буолбут түмүгэ: Киһилэрин самыытыттан Дарабыына ылҕаабыттар, Саа хойуутук тэбэрин Онно көрөн,- хайҕаабыттар. Куобах тоҕо өлөрүн Бэйэтинэн кини билбит - «Оо, дьэ, саайда эбээт»,- диэн, Сөҕөн, саҥа аллайбыт. -Хата оҕом, халаабыһын Таарыйбатах,-диэн үөрбүт. *** Булт сырыыта эндирдээх, Эҥин араас эриирдээх… Табыллыаҕыҥ тайаҕы «Тутан туран» ытыаҕыҥ; Этэргэ дылы балыгы Туһаххыттан ылыаҕыҥ; Оттон ойуур куобаҕын Туугуттан да хостуоҕуҥ… Сэһэн-тэптэн буолунай – Истэн бэйэҥ итэҕэй. </poem> [[Author:Павлов Николай Гаврильевич|Павлов Николай Гаврильевич айымньыларын тиһигэр]] [[Category:Хоһоон]] [[Category:Павлов Николай Гаврильевич]] {{PermissionOTRS|2011020210002326}} 5f8umu2y55je9k9d4s87y4rxxawe4wg Манчаары түөкүн (Күлүмнүүр). Бастакы ойньуута 0 110 9571 6503 2026-06-22T15:24:19Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9571 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Күлүмнүүр | section = [[Дыраамалар]] | previous = [[Манчаары_(Манчаары_түөкүн)]]| next = [[Манчаары түөкүн (Күлүмнүүр). Иккис ойньуута|Иккис ойньуута]]→ | notes = }} Киһинэн үтүгүннэрэн көрдөрөр кэпсээн. Биэс суол ойньуулаах. [[Манчаары (Манчаары түөкүн)|Инники]] <poem> :ООННЬУУР ДЬОН: :Маарыйа эмээхсин, Манчаары ийэтэ, кырдьаҕас саастаах. :М а н ч а а р ы Б а һ ы л а й , эдэр одо киһи, 19 саастаах. :К э р г э н д ь а х т а р . :К у б а р с ы У й б а а н , Чоочо кинээс хамначчыта. Ойньуур сирдэрэ - Манчаарылаах дьиэлэрэ. Дьадаҥы ыал. Манчаары уотун кытыытыгар олорон саатын оҥостор. Хаҥас диэки кэргэн дьахтар сүөгэи иирдэ олорор. Дьиэ таһыттан киирэр Манчаары ийэтэ. М а н ч а а р ы . Хайа, кэпсиэ, ийээ? Тугу иһиттиҥ тойонуҥ аахха? Эмээхсин. (кыыһырбыт киһи быһыытынан). Тугу истиэмий, арай абарҥ оҥоньор эн үтүө быһыыгын кэпсиэн сир сырайдаата, буор харахтаата. Хайтах гыныаҕым баарай - халлааҥҥа көтүөхпүн кынатым суох, сиргэ тимириэхпин уһуга суох буолан хааллым. Манчаары (курус гынан тохтоон баран). Ол курдук туох үлүгэри оҕорбуппун булан таһаарбыт үһү абаҕам оҥоньор? Эмээхсин. Сарыкпын истибэт диир. Сүөһүбүн аспын көрсүбэт буолла диир. Ойньуу күлүү дьарыктанна: ойньоон тэҥ оҕону булбатах, сырсан тэҥ киһини булбатах, тустан бөҕөнү тулуппат буолбут үһү диир. Ойуун кыырарыттан арахсыбат, урууттан ыһыахтан хаалсыбат буолбуккун. Куһаҕан тулаайах уол тугун көрөй нарай, үлэтин-хамнаһын үлэлии үлэлии дьиэтигэр да сыгшат диир. М а н ч а а р ы . Мин үлэбин кини үлэлээн биэрбит дуо, биһигини кини иитэн-аһатан олорор үһү дуо? Хайа убаҕаһыгар хамыйахтаммытым аҕыйах буолуо, кытаанарр уһуктаммытым мөлтөх буолуоҕа. Ама тулаайаҕым иһин мин да тэбэр тымырдаахпын. ама дьадаҥым иһин мин да ойньуур хааннаахпын. Мин да киһини көрүөхпүн баҕарабын, мин да дьону кытта билсиэхпин баҕарабын. Аламай күн баайдарга эрэ тахсыбата буолуо, сир быйаҥа кинилэргэ эрэ ананан үөскээбэтэҕэ буолуо. Соххор хараҕын уутун, доҕолоҥ сүһүөҕүн уутун супту оборон ылан байбытынан алыс киһиргээбэтин. Эмээхсин (куттсшмыт киһи быһыытынсш). Тыый, тукаам, туох тылын тылластаҥый, туох саҥаны саҥардаҥый? Аны итини абаҕаҥ оҥоньор истэн эбии кыыһырыаҕа, эбии уордайыаҕа, алдьархайы оҥоруоҕа. Манчаары. Уордайдар уордайдын, кыыһырдар кыыһырдын: урууга ойньууга сылдьыбыппын ууратыам суоҕа, көргө нарга сылдьарбын көҕүрэтиэм суоҕа. Дьэ, - кини миииитин хайтах гынар эбит оол иһин? Эмээхсин. Кэбис, биэбэкээм, сэгэртэйиэм оҕотоо, ити курдук саҕарыма. Абаҕаҥ оҥоньору бэйэҥ билбэккин дуо, кини күтүр кытаанах санаатын. Туттаран ылан, таһыттаран кэбиһэн тараах иэнниэҕэ, кулугур кулгаахтыаҕа. Онто суох эшштэ: "аны ойньууга күлүүгэ сырыттаҕына, мин бэйэм ыламмын кинини үөрэтиэм" диэн. Ол саата суута хайтах буолуоҕай. Мин эйигин туох иннигэр эрэйи буруйу көрөммүн баччаҕар диэри иштгштимий. Бэйэҥ билбэккин дуо, аҕаҥ Быртааны Сүөдэр тоҕустаах оҕо эрдэххинэ өлбүтүн кэннэ, тулаайах хаалан муҥу таҥы көрөн, сүүһүм көлөһүнүн уллуҥахпар аҕаан, уллуҥаҕым көлөһүнүн сүүспэр аҕаан, бачча киһи гынным буолбат дуо? Өлөр үйэбэр, кырдьар сааспар иитиллиэм аһыам диэн? Аҕаҥ өлүөхсүт маннык тыллаах өстөөх киһи буолуо диэбэт этэ. Оҕом сымнаҕас киһи буолуоҕа эрэйдээхтэри аһынар, кыһалҕалаахтары көмүскүүр киһи буолуоҕа диирэ Аҕаҥ өлбүтүн кэннэ үс түөрт киһи кэлэн ыйыта сатаан кээстэрэ, ону оҕобун аан дойдутуттан араарымаайыбын, иэримэ дьиэтиттэн иэдэтимээйибин диэн бу тоҥ модьоҕону кэтиэн олорор буолбагшын дуо? Ону төһө кэриэстээн ытыктаан эрэҕин. Хата дьоҥҥо сырыттаҕым аайы "үтүө" быһыыгын-майгыгын кэпсиэн сыраи эрэ саатардан. кулгаахпын ититэн эрэллэр ини! Манчаары. Ол, Чоочо баай тойон, мийигин тугу гыммытым иһин таһыйаары гынар! Тугу уорбут үһүбүн ду, тугу алдьаппыт үһүбүн ду? Кими талаабыппын ду, кимтэн былдьаабыппын ду? Хата бэйэтин дьон этэллэр буолбат дуо, былыр айан дьонун аттарын быһа аһарбат этэ, чугастааҕы ыалларын сүгүн олоппот этэ диэн, ити гэннэ кинээс буолан баран уоруйахтары уоруйахтарын сабан, кинилэр уорбут үптэрин барытын бэйэтэ хамыйан ылан байда дииллэр буолбат дуо? Кыра дьону баттаан, дьадаҕыны атаҕастаан, тулайахтар сирдэрин былдьаан, ккнилэр көлөһүннэрин хамнастарын сиэн, Чоочо баай ааттаммыта диэбэттэр дуо? Ити кэннэ кини мин туох буруйбун булан буруйдаары гынар? Эмээхсин. Эй, тугаам, улахаттары баайдары кытта биһиги кыра дьон хайаан кыайан мэккиһиэхпитин, хайтах кинилэри кытта тэҥнэһиэхпитин этэҕин? Хата кэл, аһылыккын аһаан баран утуй! Хотуой, чэ күөскүн таһааран хотор! Бу сүөгэйгин хайтах мааҥыттан кыайан иирпэтиҥ! Мааҥын мин барыахпыттан тугу гына олордуҥ? Атаххын оллооннуу кэбиһэн олорон, хамыс тардан, хантайа олордоҕуҥ дии! Кэргэн дьахтар {уоһун иһигэр ботугураап). Хам мааччы олоро иликпин. Миэхэ хотонум да сааҕа кыаттарбат. Эмээхсин. Дьэ күөскүн хоторумна итиннэ ботугуруу тураары гынныҥ дуо? (Кэргэн дьахтар остуолга аҕалан киэһэ аһылыктарын тарпытын саката суох аһыыллар. Манчаары аат харата эрэ аһыыр, тугу эрэ саныыр,өйдүүр киһи быһыытынап олорор). Эмээхсин. Тугаам, тоҕо аһаабаккын, алыс тоҕо санаар-гыыгын? Абаҕаҥ оҥоньор мөҥөн баран уурайыа буоллар диибин! Манчаары. Абаҕам оҕоньор бэйэтин идэтигэр үөрэтээри гыммыта буолуо да. мин кини киэҥ хардыытын кыайан хардыылаым суох, кини уһун олугун кыайан олуктуом суох. Киниэхэ даҕаны дьон хааннаах көлөһүннэрэ, харахтарын уута хайаан иҥнэҕэй? Эмээхсин. Чэ, чэ, кэбис, хааллын. Хайа, бүгүн туһаххын, айаҕын көрдүҥ дуо? Туох түбэспит? М а н ч а а р ы . Ээ, көрдүм да, икки үс куобах түбэспитин эмиэ суор баҕайы сэймэктээн кээсгшт! Эмээхсин. Тыый, ол эмиэ хайа хара дьайдаах баҕайы буллаҕай биһигини! Таһырдьаттан киирэр Кубарсы Уйбаан, Чоочо оҕоньор хамначчыта. Таҥараҕа үҥэр. К у б а р с ы . Дорооболоруҥ! Эмээхсин. Дорообо, Уйбаан. бу ханна баран иһэҕин? К у б а р с ы . Сылгыһыт Сүөдэргэ сылдьан баран, дьиэбэр баран иһэбин! Эмээхсин. Кэл, манна олорон аһаа! Ол Сылгыһыт Сүөдэргэ тоҕо бара сырыттын? К у б а р с ы . Тойонум иэс иэстэгатитигэр бара сырыттым.Бу саас сутаары гынан Сүөдэр икки сыарҕа оту ылбыта үһү, биир буос ынаҕы биэриэх буолан. Онтукатын биэрбэтэҕин иһин тойонум көлүнэ сылдьар оҕуһун туттарбытын, ону баран ылан и11эбин. М а н ч а а р ы . Былырыын биһигиттэн икки арыы иэстээҕэр икки сыарҕа оту ылбыта, ону биэрбит этэ Сылгыһыт Сүөдэргэ, ама оол иһин киһи баар эрэ көлүнэр көлөтүк былдьаттаҕа дуо? К у б а р с ы . Тыый, туох диэн эттэҥий? Саас быстарыы саҕына хата киниэхэ от баар буолан, дьон сүө11үлээх астаах хаалтара буолбат дуо? Дөссө истиэххин баҕардаххына мэҥэлэр киирэннэр аҕыс көстөөх сиртэн сыарҕатыгар аҕыстыы сүүһү иннигэр ууран туран көрдүү сатаан кээстэрэ, ону бэйэм дьонум сутуохтара диэн биэрбэтэҕэ буолбат дуо? М а н ч а а р ы . Оттон билигин даҕаны биир улуус, икки дэ сылы мэлдьи, сут кэллэҕинэ сиир ото баар буолбат дуо? Бэйэтэ алыс харам санаатыгар биирдии арыыга ылбыт ото аҕыстыы сүүс барарыгар хараҕа туолумна биэрбэт буоллаҕа диибин. Син оол дьон кэннилэригэр хас да киһиэхэ сыарҕатын уоннуу сүүс биэрбит сурахтааҕа. Эмээхсин. Чэ, ол биһиэхэ туох буолуой,- хата Сүөдэр ону туох диир? К у б а р с ы . Туох диэҕэй, тугу кыайан мэккиһиэҕэй. Арай тойонум өлөрдөҕө алдьаттаҕа, киһи аатыттан аһардаҕа диир. Бэйэтэ сатаатахха ыалдьа сытар эбит. Бу оҕоҕо илдьиттээбитэ, бука кэлэн оппун тиэйэн, маспын мастаан биэрдин диэн. Эмээхсин. Оттон Матрыана ханна барбыт? Бэйэтэ дэ отун маһын тиэммэт дъахтар ду! К у б а р с ы . Матрыана баар да, хата бэйэтэ эмиэ илдьиттиир: кэлэн көмөлөстүн, мин оттору мастары кыайыам суох диир. Эмээхсин. Оол барыта кини уһун кутуругун охсуута буоллаҕа. Сайын биирдэ дэ оттобокко, өрүү ыһыаҕы, ойньууну бата сылдьар. Үчүгэйдик оттууллара мастыыллара буоллар аҕыйах сүөһүгэ тоҕо кыайан оттоообот буолуохтарай? Оччоҕо саас аайы от атыытыгар киириэ суох этилэр. М а н ч а а р ы . Ханнааҕы баар сирдэрин оттууллар оол. Бэйэлэрин өлбүгэлэрин сириттэн ситэри уон сыарҕа тахсыбат буолбат дуо? Ол Чоочо оҕоньор сирин үс кыммыт бииригэр оттуулларыттан туох дуоннаах тиксиэҕэй? Эмээхсин. Чэ, ол эрээри Матырыас да булкуурдаах кыыс оҕо буолуоҕа. Аһаан бүтэллэр. Кэргэн дьахтар остуолтан иһити тардар, Кубарсы туран үтүлүктээх бэргэһэтин ылан Таҥараҕа үҥэр, ити гэннэ "Бырастыыларыҥ" диэн баран, тахсан баран хаалар. Эмээхсин онуоха эмиэ "бырастыы" диир. Манчаары эмиэ туран таҥнар. Ылар саатын, батыйатын. Эмээхсин. Бу тоҕо киэһэ бараҕын, сарсыарда да барбаккын дуо? Ити гэннэ бу тугуҥ сэбэй, батаһай? М а н ч а а р ы . Аара баҕардаҕына булт түбэһиэҕэ. Ити гэннэ бу түүн үлэлээн биэрэн баран, сарсын атын ыалларга сылдьыам! Эмээхсин. Аны, оол дьон, оол бу диэбиттэрин аайы, онуоха маныаха кытта сылдьар буолаайаҕын! Киһи кыһалҕатын эн барытын кыайан толоруоҥ суоҕа, дьон атаҕастаммытын баттамытын барытын эн кыайан тэҥниэҥ суоҕа! (Манчаары тахсар). (Быыс түһэр). </poem> [[Категория:Күлүмнүүр]] [[Категория:Дыраама]] j9jgfi9cu6xi88gqxazk21j9ya7tv0r Манчаары түөкүн (Күлүмнүүр). Иккис ойньуута 0 111 9572 4258 2026-06-22T15:24:20Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9572 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Күлүмнүүр | section = [[Дыраамалар]] | previous = [[Манчаары түөкүн (Күлүмнүүр). Бастакы ойньуута|Бастакы ойньуута]] | next = [[Манчаары түөкүн (Күлүмнүүр). Үһүс ойньуута|Үһүс ойньуута]]→ | notes = }} <poem> ОЙНЬУУР ДЬОН: С ы л г ы һ ы т С ү е д э р , эр ортото киһи. М а т р ы а н а , эдэр дьахтар, Сүөдэр ойоҕо. М а н ч а а р ы . Ө р ө ҥ н ү ү р К и р г и э л э й дьадаҥы дьон. Т э л л э й X а б ы р ы л л а сылгыһыт. К ы ы д а ҥ н ы ы р М и и т р э й ыаллара. Сылгыһыт дьиэтэ, дьадаҥы ыал. Бэйэтэ ыалдьа сытар, ойоҕо иистэнэ олорор уот кытыытыгар. Манчаары дьиэ таһыттан киирэн илии тутуһуталыыр, ити гэннэ ороҥҥо баран олорор. Сылгыһыт туран олорор. С ы л г ы һ ы т . Кэпсиэ, тугу иһиттиҥ? Манчаары. Суох, тугу да истибэтим! Эһиги тугу иһиттигит, хайтах туох олороҕут? С ы л г ы һ ы т . Биһиги тугу истиэхпитий, арай тойоммут Чоочо баай баар эрэ көлүнэр көлөбүтүн икки сыарҕа отун иэһигэр туттаран ылла. М а т р ы а н а. Чоочо баай балай эмэ үрүҥ хара сүүрүктээх буолара, балай эмэ сыһыыга баппат сылгы сүөһүлээх, алааска баппат ынах сүөһүлээх буолар буолара, олоро барыта умса түһэн хааланнар, биһиги баар эрэ биир туора муостаахпытын туттаран ылла ини, онон өрө таттараары. Хайа, биһиги да көлөһүммүтүн кини балай эрэ сиэбитэ буолуоҕа, балай эрэ иннигэр кэннигэр сүүрпүтэ буолуоҕа. С ы л г ы һ ы т . Ээ, барбаҕы саҥарыма, дьахтар! Улахаттары кытта эн кыайан тэҥнэһээри гынаҕын дуо? М а т р ы а н а . "Саҥарыма" буола буола, кырдьыгын этитимээри гынаҕын дуо? Ама билигин бу айылаах буолтум иһин, мин да син кини курдук дьонтон төрүөбүтүм. Мин ийэм аҕам өллөхтөрүнэ балай эмэ сүөһү ас хаалбыт этэ. Ону барытын Чоочо оҕоньор бэйэтэ халаан ылан баран, миийигин тулаайах кыыһы туоҕа да суох үҥкүрүччү аньан кэбиспитэ буолбат дуо? Мин аҕам ийэм баалларын саҕына кинини да сөбүгэр киһи этэ дииллэрэ. Оол кинилэр сор суоллаах буоланнар, умса түһэн хаалан, мин бу айыылаах буоллум ини. (Ытыыр, хараҕын уутун элиитинэн соттор.) Ийэм аҕам өллөхтөрүнэ сүүстэн тахса сылгы хаалта, икки сүүскэ тиийэ тиийбэт ынах сүөһү хаалта, хас да хоспох үп сээбэс хаалта. Ону дьон эрэ барыта билэллэр. Мантан тугу эмэ бэристэҕэ дуо! Хата киһини билиэхпиттэн хамначчыт гынан ынаҕын сааҕын күртэрбитэ буолуоҕа. М а н ч а а р ы . Отчо үлүгэр сүөһүттэн, үптэн хайтах тугу эмэ ирдэһэн көрбөтөххүтүй, бэйэтэ биэрбэт буоллаҕына, саатар суутунан да үҥсэҥҥит? М а т р ы а н а . Хайтах ирдэспэт буолуохпутуй, ирдэһэ сатаан кэбиспиппит дэ, ким биһиги диэки буолуой, хата барылара саба саҥаран бэйэбитин мөҥөллөр, сэмэлииллэр. Нуучча суутугар үҥсэрбитигэр хата бэйэбититтэн төһө эмэ харчы баарта сурук оҥотторон биэрэрбитигэр. Биир нуучча тойоно тахса сылдьан, хата кини туһаммыт этэ биһиги үппүтүттэн. Хас эмэ хонугу мэддьи арыҕы иһэн иһэн баран балай эмэ кылааннаах түүлээҕи ылан киирбит этэ. М а н ч а а р ы . Оннук хараҕа суох баттабылы тохтотор дьарыйар үтүө сүрэхтээх киһи биир эмэ көстүбэтэх буоллаҕа. М а т р ы а н а . Эчи, оннук киһи хантан көстүөҕэй? Ким биһиги иннибитигэр Чоочо обургу айаҕар киирэн биэриэҕэй. С ы л г ы һ ы т . Чэ, бу чайгын кут, хата. ''Матрыана тахсан ампаартан хайах киллэрэн, остуолга чааскы тэлгэтэн дьонун чайдыыр.'' С ы л г ы һ ы т . Бу Чоочо тойон биир атыырын үөрэ мантан арахсымына бу сир отун бэркэ күрүөһүлээн сиэтэ. Мин ыалларым Өрөҥнүүр Киргиэлэй, Кыдаҥныыр Миитэрэй, Тэллэй Хабырылла буолан, бэрт кыра дьон отторун бараатылар. Күн аайы таһаараллар таһаараллар да, кэннилэриттэн киирэ тураллар. Туох да бүтэйтэн иҥнибэт буолбут баҕайылар. М а н ч а а р ы . Оттон ону айа тардан ду, саанан ытан ду өлөрөн кэбиспэттэр дуо? Хата бу аас саҕана эт сиэниллиэ этэ. С ы л г ы һ ы т . Тыый, отчоҕо баһыҥ хаһый? Чоочо тойон киһи тыынын иһиллиэ буоллаҕа диибин. Оол курдук гынар баара буоллар биһигини барыбытын тыыннаах гынара суох. М а н ч а а р ы . Алаата, доҕор, алыс тугу гыныа буоллаҕай? Үбүн аһын бэйэтэ кыанар буоллун ээ. Киһи баар эрэ тыынын күрүөһүлэтэн сиэппэт буоллун. Киниттэн баран от атыыластахха ыарахан соҕустук этиэх быһыылаах диибин. {Чайдаан бүтэллэр.) С ы л г ы һ ы т {таҥаһын таҥнан баран). Доҕоор, мин сүөһүбүн аһата таҕыстым, эн Баһылайга сытарыгар таҥаста булан биэр. {Тахсар.) Манчаары {Кэлэн, Матрыана аттыгар олорон баран). Үнүрүүн Дарбаҕай Дарыбыанҥа тоҕо барбатаҥый? М а т р ы а н а . Онно тоҕо барыамый? М а н ч а а р ы . Ойуун кыырдарбыттара буолбат дуо? Онно элбэх уолаттар, кыргыттар муньустубуттара. М а т р ы а н а . Эчи,мин онно эмиэ тоҕо бардамый? М а н ч а а р ы . Оттон мин эйигин онно барыаҕа диэн бараммын күүтэ сатаан кэбиспитим. М а т р ы а н а . Оол эн эмиэ тоҕо миийигин күүттэҥий, миэхэ тоҕо кыһаннаҥый? М а н ч а а р ы . Мин эйигин күүтэрбин, мин эйиэхэ кыһанарбын, эйигин бэйэтэ даа билэрэ буолуоҕа, сүрэҕэ таайара буолуоҕа дии саныыбын. Былырыын сайын Мэрбэллэ Бүөтүр уруутугар сылдьан көрсүспүппүт тохору, онно оонньообуппут, көрүлээбиппит тохору, эн мин санаабыттан тахсыбат буолан хааллыҥ, онтон бэттэх түүн да буоллун, күнүс да буоллун өрүү эйигин саныы сылдьар буолан хааллым. Сүрэҕим быарым уулан тохторугар тиийдим. Эйигин санаатахпына утуйар да уум уу буолбат, аһыыр да аһым ас буолбат. Матр ы а н а . Ама тоҕо отчо үлүгэр буоллаҥый! Куһаҕан дьахтар диэҥҥин күлүү гынан этэн эрдэҕиҥ диибин. М а н ч а а р ы . Мин тоҕо күллэмий? Хата эн бэйэҥ сэниэн, атаҕастаан этэн этэр инигин. Кини эмиэ киһи дуо, кини эмиэ итии хааннаах, хамсыыр сүрэхтээх буолуо дуо диэн, эрдэҕиҥ.Буор дьадаҥы баҕайы киһи таптаабытын иһин тугунан иитиэҕэй, аһатыаҕай диириҥ буолуо да,- мин да киһи буолан сырыттаҕым дии, мин даҕаны ниччэҕэй эттээх, тардар тымырдаах, тэбэр хааннаах буоллаҕым. Дьадаҥым иһин илиим, атаҕым да күүһүнэн биир дьахтары иитиэм дии саныыбын. М а т р ы а н а . Мин тоҕо иннэ диэмий дэ, мин баҕас эрэйдээҕи тоҕо таптаатаҥый? Аны кэлэн мин хайтах эйигин кытта холбоһон тэллэххэ сытар тэҥнээх хойньҕо сытар холоонноох доҕор буолуомуй, оҥоруубут, ыйаахпыт атын буолтун кэннэ. Бостуой сүрэх быар бааһа буола сылдьыах кэриэтэ санааны маҥнайгыттан эрэйдиэххэ түктэри, бостуой дьон элэгэ, киһи күлүүтэ буолуохпут. М а н ч а а р ы . Оҥоруубут, ыйаахпыт туһунан буола буола. Тугу да билбэт тулаайах хаалбыт оҕону оол Чоочо оҕоньор бары баайын халаан ылан баран, сылгыһыт уолугар күүһүнэн эргэ биэртэ оҥоруу буоллаҕай, бэйэҥ өйдөөх санааҕынан, сүрэҕин сөбүлүөн барбыккар дылы. Итинниги оҥоруу ыйаах диэтэххэ киһи бэйэтэ өйдөөх санаалаах да буола сылдьыа суох. Отчоҕо киһи сүөһү курдук үүрүллэ да сырыттаҕына, сөп буолсу диибин. Хайа, эмиэ Таҥара ыйааҕынан киһи орто дайдыга сүүрэр атахтаах баһылыга буолар, үтүөнү куһаҕаны бэйэтэ билэн бэйэтин иннин бэйэтэ билиэх тустаах дииллэр дии. Биһиги кырдьык таптаһар буолан баран тоҕо холбоспоппут, дьолбутуттан туораан биэрэбит? Тоҕо биһиги куһаҕан дьон санааларын тылларын хоту бараммыт бэйэбит бэйэбитин эрэйдиибит, муҥнуубут. Хата эн биһиги сүбэбитин холбоон биир буолуох. Мин эн иннигэр ууга да уокка да түһэрбин кэрэйиэм суоҕа. Отчоҕо кэм мин Чоочо оҕоньортон, кини сиэбитин аһаабытын хайата да буоллар ситиэм. Аҕаҕыттан, ийэҕиттэн хаалбыт симэххин таҥаскын сүгүн киниэхэ сиэтиэм суоҕа. М а т р ы а н а . Эчи билбэтэҕим, оҕолоор, сүрэҕим куттанара, санаам хоппото бэрт эбээт. Ол улуу күтүр биһиги барахсаттары тулутар баҕас үһүө! (Куустуһан баран уураһаллар-сыллаһаллар.) М а н ч а а р ы (Тохтоон олорон баран). Бэрт да буолар эбит киһи кытаанах күтүр санаата, киһини аһыммата, харыһыйбата, дьонтон сааппата, таҥараттан куттаммата, бэйэтин иннин кэннин өйдүөн көрбөтө, бэйэтин курдук киһини хааннаах ыт курдук көрөрө. Бу Чоочо оҕоньор тугу саныы саныы бу курдук киһини күтүрдүк, кытаанахтык баттыыра, атаҕастыыра буолуой? Бэйэтин кини өлөр тыына, ыалдьар этэ, тохтор хаана суох курдук саныыра дуу? Хайтах кини киһини бэйэтинэн охсубат, хайтах кини киһи эрэ үчүгэй олоххо, үтүө майгыга баҕарара буолуо диэбэт. Туох диэ этэ, арай кинини кини бэйэтэ атаҕастыырын-баттыырын курдук атаҕастыыр-баттыыр киһи көһүннэҕинэ? М а т р ы а н а. Эчи, кининньик улуу күтүрү ким кыайан өрө көрөн туран өрөлөстөҕөй, туох кинини утары көрдөҕөй. М а н ч а а р ы . Алаата доҕоор! Чоочо да оҕонньору уу ылбат, уот сиэбэт диэтэҕиҥ дуу. Куһаҕан санаа киирдэҕинэ киһи эрэ киниэхэ сөбтөөх доҕор, аналлаах атас буолуо этэ! М а т р ы а н а. Ээ, эчи эн биһикки баҕас тугу кьгайдахпытый хоттохпутуй; доҕоччукаам! М а н ч а а р ы. Миигин даҕаны тугу кыайан оҥорбот буолуо диэтэҥий. Билигин Чоочо оҕоньор, кыстыгыттан атын сиргэ, от сии олорор: Үбэ, аһа кыстыгар хаалбыта буолуоҕа, ону бараммын ый быыһын ыһыаҕа, аат дойду аһылыга гыннахпына гоши миийигин тугу гыныаҕай, хантан билиэҕэй? М а т р ы а н а. Ол курдук оҥорбуттан туох туһа тахсыай? Кыаттарара буоллар Чоочо оҕоньор, баайгын барытын ылан, кыра дьоҥҥо түҥэтэн биэрэр буоллар, үчүгэй буолуо этэ. М а н ч а а р ы. Оннугун оннук даа кыра дьонуҥ ону билиэхтэрэ диэтэҕиҥ дуу? Чоочо оҕоньор туту эппитин хоту бара сылдьар баҕадьылар хата бэйэбитин бултуурга эккирэтэргэ барыахтара. (Тохтоон олорон баран.) Бэйэ-рэ мин бараммын көрөн кэлиим, туох харабыллаах манабыллаах эбит Чоочо кыстыга. Мантан чугас буолбат дуо? М а т р ы а н а . Куттанабын эбээт, доҕоччукаам, хайа алдьархай буолаарай? Чоочо оҕоньор биллэр эрэ сүгүннүүрэ суох эйигин киһи аатыттан аһарыа буолбат дуо? М а н ч а а р ы . Биллэр биллин доҕоор! Биир сымыыт ханна сытыйбат биир киһи ханна өлбөт. Оччоҕо саатар түүн көҥүл күөлэһийэрэ, күнүс көҥүл көрүлүүрэ тохтуоҕа. Кинилэр даа хамсыыр сүрэхтээх, тардар эттээх, буолуохтара. Хата, эн бэйэҥ сүрэх быар элэмтэтэ буола олорума. Билигин даа кыаттарбатахтарын хотторботохторун иһин хойуккутун хойут, кэнэҕэскиттэн кэнэҕэс, биһиги курдук санаалаах дьон элбээн истэхтэринэ маннык хараҕа суох баттабыл, маннык муҥура суох атаҕастабыл мөлтүөҕэ, уурайыаҕа. Ону дьоммут билигин даа билбэтэхтэрин иһин, хойутун хойуккунан билиэхтэрэ. Чэ, бырастыый! (Уураан-сыллаан баран, Манчаары саатын батыйатын ылан баран, тахсан барар. Тохтуу туһэн баран, дьиэ таһыттан Сылгыһыт киирэр.) Сүөдэр (Таҥаһын сыгынньахтана-сыгынньахтана этэр). Доҕоор, хайа билиҥҥи ыалдьыппыт ханна барда? М а т р ы а н а. Ким билэр, билигин кэлиэм диэн таҕыста диибин. С ы л г ы һ ы т . Тыый, ол ханна бардаҕай? Тахсан Чоочо оҕоньор иччитэх кыстыгын диэкки барда. Аны ол киһи тугу эмэ оҥорон алдьахай буолуо, киһини тылга иҥиннэриэ. Таһырдьаттан киирэллэр Ө р ө ҥ н ү ү р К и р г и э л э й, Т э л л э й X а б ы р ы л л а , К ы ы д а ҥ н ы ы р М и и т р э й . С ы л г ы һ ы т . Кэпсиэҥ? Бу ханна бардыгыт бачча түүн? Ө р ө ҥ н ү ү р. Бэйэбит манна сылдьабыт. С ы л г ы һ ы т . Манна тоҕо кэллигит? Ө р ө ҥ н ү ү р. Чоочо баай оҕоньор атыырдаах сылгыта баар-эрэ оппутун күрүөһүлээн сиэн кэбиспитин ону тыллыы сылдьабыт, оҕоньорго бэйэтигэр баран тыллыы сылдьыбыппытын сиргэ сылдьар сүөһүлэри хайтах кыныамый диэн батан ыытта. Күрүөҕүтүн үчүгэйдик оҥорбоккут буолуо диир даа, киһи сатаан кини сылгыта кыайан киирбэт кына оҥоруо суох; көтүөхтэригэр кыната суох эрэ баҕадьылар. С ы л г ы һ ы т . Ону хайтах кынаары кынаҕыт? Ө р ө ҥ н ү ү р. Хайтах кыныахпытый!.. Таһырдьаттан киирэр, сүүрэн аҕылаабыт киһи быһыытынан, биир хааһаҕы сүкпүтүнэн, М а н ч а а р ы . Элбэх дьон баарын көрөн баран, соһуйбут киһи быһыыланар. М а н ч а а р ы . Бу тоҕо мунньустубут дьонуй? С ы л г ы һ ы т . Ээ, бэйэлэрэ сылдьар дьон! Чоочо оҕоньор сылгыта отторун күрүөһүлээбитин тыллыы сылдьаллар. М а н ч а а р ы . Тыллыы буола-буола, оттон мин билигин ааһан иһэн көрдөхпүнэ, атыыра суолга туора охто сытар диибин. Б а р ы . Тыый, ол хайтах буоллаҕай? Хайтах өллөҕөй?(бэйэ-бэйэлэрин көрсөллөр.) М а н ч а а р ы . Онуоха тоҕо соһуйдаххытый,- аҕалан үллэстэн сиэхпит. Онуоха диэри ити хааһахха баар үбү ылан үллэстиҥ! Ити эмиэ Чоочо оҕоньор уһун быйаҕа, киэҥ кэһиитэ. Билигин мин сылайдым, ханна эрэ утутуҥ. Сасыарда эрдэ уһугуннараарыҥ. С ы л г ы һ ы т . Чэ ити үгэх баар, онно киирэҥҥин утуй! М а н ч а а р ы үгэххэ киирэр. (Өр соҕус тохтоон олорон баран, аргыый аҕай сибигинэйэн этэр.) Чэ, доҕоттоор, бу үлүгэри көрүҥ эрэ, ити киһи бу дьаабыны оҕордоҕун! Дьэ, Чоочо оҕоньор биһитини олорор олохтуура суох, утуйар уулуура суох, хайа хайтах гынабыт? Ө р ө ҥ н ү ү р . Биһиги тугу билиэмитий, эн биллэҕиҥ диибин! И к к и д о ҕ о р о . Эн бил, эн бил! С ы л г ы һ ы т (Тохтоон олорон). Хайтах кыныахпытый. Кэлбит үбү үллэһиннэхпит диибин, ити гэннэ чэ, бу киһи тыыннааҕын тухары Чоочо биһигини сүгүн олордоро суох, онон биир киһи тыынын тыыннаныахпыт дуо, кинини билигин утуйа сыттаҕына саанан ытан кэбиһиэххэ. Сөбүлүүгүт дуо? Б а р ы . Чэ эн бил, чэ эн бил. М а т р ы а н а . Тыый, хайа үлүгэр буоллаххытый, иирдэххит дуу? Тугу эһиэхэ оҥорбут киһини өлөрөөрү кынаҕыт. Хата, эһиги иннигитин илиннэн, эһиги кыһалҕаҕытын кыһалҕа оҥостон сылдьар буолбат дуо? С ы л г ы һ ы т . Дьэ эн саҥар эрэ аны биирдэ, мин эйигин көрдөөбүккүн биэриэм. Кэтэҕиҥ аһыттан ылан баран, дьиэ таһыгар быраҕыам. Эн эмиэ тугу эрэ билэҕин, киэр бар антах! (Охсоору гынар, дьахтар куотан дьиэ таһыгар тахсар.) Чэ, ылыҥ, ити сааны иккиһин иитэн баран, ол чуолҕанынан сүүһүн хаба оттотунан көрөн ытыҥ! Б а р ы . Суох, суох, бэйэҥ ыт. (Кэннилэринэн тэйиэкэлииллэр.) С ы л г ы һ ы т ылан сааны иккиһин иитэн баран, ытар, саата уот биэрбэт. Сотору соҕус буолан баран, М а н ч а а р ы туран кэлэр. М а н ч а а р ы . Үчүгэйдик да утуйдум, доҕоор. Эһиги ханна да барбатыгыт дуу,- ким да кэлбэтэ дуу? Б а р ы : Суох, ханна даа барбатыбыт, ким даа кэлбэтэ! Манчаары. Кэлиҥ эрэ, доҕоттоор, манна олоруҥ. Мин түүлбүн кэпсиим. Сити утуйа сыттахпына эһиги саанан ыппыт курдуккут, сааҕытын икки буулдьаннан иитэн, ол буулдьаларгыт икки кулгаахпынан сирилээн этэн аастылар: Тур, эйигин доҕотторуҥ өлөрөөрү гыннылар дииллэр! Б а р ы . Тыый, туох баҕайы түүлүй? Эчи, биһиги эйигин туох диэн өлөрөөрү гыннахпытый, бэйэбит бэйэбитинэн. М а н ч а а р ы . Чэ! Оччоҕо кэлиҥ, бу аал уот иннигэр тобуктаан туран андаҕайыҥ: Биһиги өлөрөөрү гымматахпыт диэн. Бары уот кытыытыгар кэлэн тобуктаан тураллар. М а н ч а а р ы . Андаҕайаҕыт - дуо мийиэхэ. туох да куһаҕаны санаабатахпыт диэн? Б а р ы . Андаҕайабыт! Андаҕайабыт! М а н ч а а р ы . Андаҕайаҕыт дуу: бу Манчаары баайга баҕаран, үбкэ ымсыыран, баранаак буолан бардаҕа диэхпит суоҕа, - хата, биһиги хааннаах хара көлөһүммүт харыһыгар, биһиги сордоох сор суолбут толугар бу курдук бэйэтин харыстаммакка тэрилиннэҕэ диэн, кэнэҕэски үөскүүр ыччаттарга даа кэпсиэхпит диэн? Б а р ы . Андаҕайабыт, андаҕайабыт! </poem> [[Үһүс ойнуута]] [[Категория:Күлүмнүүр]] [[Категория:Дыраама]] pqh2d6zvlq3jsvleduyrej3vcqggfxb Манчаары түөкүн (Күлүмнүүр). Үһүс ойньуута 0 112 9573 4259 2026-06-22T15:24:22Z SauitBot 2363 Робот: {{Header}} шаблонттан ← уонна → бэлиэлэри ылыы 9573 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | author = Күлүмнүүр | section = [[Дыраамалар]] | previous = [[Манчаары түөкүн (Күлүмнүүр). Иккис ойньуута|Иккис ойньуута]] | next = [[Манчаары түөкүн (Күлүмнүүр). Төрдүс ойньуута|Төрдүс ойньуута]]→ | notes = }} Киһинэн үтүгүннэрэн көрдөрөр кэпсээн. Биэс суол ойньуулаах. ҮҺҮС ООННЬУУТА <poem> ОЙНЬУУР ДЬОН: Ч о о ч о к и н э э с , ааттаах баай оҕоньор. М а ҥ н а й г ы ч а р ч ы ы н а - кинээс. саас ортото киһи. И к к и с ч а р ч ы ы н а - кинээс, кырдьаҕас оҕонньор. Хапраал. М а н ч а а р ы . Мунньах дьоно: С ы л г ы һ ы т С ү ө д э р . Өрөҥнүүр Киргиэлэй, Т э л л э й X а б ы р ы л л а , К ы ы д а ҥ н ы ы р М и и т р э й у о н н а д а а т ы н д ь о н н о р Чоочо баай дьиэтэ, тойоттор остуол иннигэр чай иһэллэр. Манчаары маска баайыллан турар, кыра дьон уот кытыытыгар тураллар. Ч о о ч о . Дьэ, кырдьарстара, тойотторо, бу акаары мэник быһыытын майгытын истэн дьүүллээҥ, дьаһайыҥ! Кини туохха даҕаны кыайтарарыттан ааста. Ампаарбын алдьатан үбпүн көтөҕөн ылбыт, сыһыыга сылдьар сылгыбын ытыалаан өлөртөөн кэбиспит. Бу мин үбпэр-аспар кини туохха өстөннө, кини мийиэхэ тугун былдьатан, талатан маннык быһыыны быһыыланна. Арай тулаайах хаалбыт уолу иитэн, аһатан бачча гыммыт буруйдаах буолуом. Ылыҥ эрэ ыйытыҥ. туох иннигэр мийигин ити курдук дьаабылаабыт? М а ҥ н а й г ы ч а р ч ы ы н а . Чэ, эт, нокоо, туох туһуттан эйиэхэ итинник күтүр санаа киирдэ? Туоха эйиэхэ ити курдук абааһы имнэннэ дуу, хайа киһи кигиэһининэн оҥордуҥ дуу? М а н ч а а р ы . Абааһы да имнэнэ илик, киһи да кигэ илик, бэйэм санаабыттан оҥордум диибин! М а ҥ н а й г ы ч а р ч ы ы н а . Туох туһуттан эйиэхэ итинник санаа көтөн түстэ? М а н ч а а р ы . Истиэххитин баҕарар буолаххытына кэпсиэм даҕаны! Оҕоньоттоор,кырдьаҕастаар, бэйэҕит даа билэрҕит буолуо мин хайтах түөкүн үөскээн баччааҥҥа диэри олорбугатун. Нирэй оҕо эрдэхпинэ, аҕам тыыннааҕына, эрэйи-муҥу билбэт этим.Оччоҕо киһини эрэ барыта тэҥ буолуохтара диирим. Аламай күн бары дьон үрдүгэр тахсара буолуо диирим, аан дойду бары дьон аатыгар үөскээбитэ буолуо дии саныырым, көтөр кынаттаах халлааҥҥа, сүүрэр атахтаах хара тыаҕа, таҥнары сүлгүөхтээх дириҥ далайга, бары дьон туһаларыгар айыллыбыта буолуо диирим. Сымыыттааҕар бүтэй, балыктааҕар кэлэҕэй этим, хамначчыттар сүөһүнү күүскэ үүрдэхтэринэ аһынан ытыыр этим. Аҕам сымнаҕаһа бэрт диэн, Манчаары диэн ааттааҥ диирэ. Тоҕустаах оҕо эрдэхпинэ аҕам өлбүтэ. Ол сыл сүүнэ аас, сут сыл буолта. Биирдии сыарҕа от уоннуу сүүс буолбута, биирдии буут тар иккилии сүүс буолта. Сааскытыгар кыра дьон барыта уу ымдаантан сирэйдэрэ сүүлэ иһэн хаалта. Аҕам, ийэм саһарар дьаҥҥа охтубуттарыгар хамнатчыппыт куттанан күрээн баран хаалбыта. Онно ити Чоочо баай оҕонньор, дьаҥ сыстан өлөммүн баайбыттан матыам диэн, биир да киһини сырытыннарбат гына оҥорбута. Кыра чугас ыалбыт түүн кэлэн маспытын мастаан биэрбэтэхтэрэ буоллар тоҥон өлүө этибит. Сонно билбитим бастаан дьон сүрэгин кытаанаҕын, киһини аһымматын, харыстаабатын. Онтон аҕам өлбүтүн кэннэ оппут баранан хаалан, сүөһүбүт сутаан күн аайы 8-тыы - 9-туу сүөһү өлбүтэ. Ийэм ыалдьа сытан миийигин огустаан сыарҕалаан Чоочо оҕоньорго ыыгатыта - бараҥҥын абаҕаҕыттан саатар биир тиэйии отто аҕал, торбосторбутугар сиэтэрбитигэр диэбитэ. Онно барбыппар ити оҕоньор дьаҥыргаан дьиэтигэр киллэрбэккэ таһынан батан ыыгптыта, биир дэ салаа оту биэрбэккэ. Онтон бараммын кыбыытыттан торбоспор сиэтиэҕим диэн этэрбэһим айагар оту симмитим. Ону көрөн Чоочо хамначчыта Кубарсы Уйбаан биир түүтэх оту уоран биэрбитин дьиэбэр илпитим. Саамай бастаан түөкүн буолбутум ол баар, ону барыгыт истиҥ, туох буруйга. дьүүлгэ тириэртэрҕит - тириэрдиҥ. Сарсынҥытыгар тураммын ийэбиниин дулга сиэлин күрдьэммит, ону хаар анныттан хаһаммыт. сүөһүбүтүн аһаттыбыт. Сонно бастаан билбитим бу Чоочо оҕоньор от-мас сүмэтин супту оборон сиэн олорорун, кини дьон күүһүн таҥнары сабардаан олорорун. Ч о о ч о . Ити хара ыкка тугу мээнэ лабаҥхалатаҕыт, ылыҥ ыйытыҥ, ылбыт үбүн кини ханна гыммыт? М а ҥ н а й г ы Ч а р ч ы ы н а . Үгүһү тугу лахсыйаҕын, хата кэпсээн биэр ылбыт үпкүн ханна гыммыккын! М а н ч а а р ы . Суох, ылбыт үппүн ханна гыммыппын этиэм суога! Ч о о ч о . Тыыннаах абааһы, дьөссө эн уоскунан угалдьылы, тылгынан лабаҥхалы тураҕын, мин эйигин сибилигин ээххин этитиэм, кырдьыккын кэпсэтиэм. Ыл. Хапраал! Ылан ити түөкүнү маска туруор. Хапраал баҕанаттан сүөрэн кырыылаах маска тобуктатан туруорар. М а ҥ н а й г ы Ч а р ч ы ы н а . Нокоо, эн тойоҥҥуттан көрдөс, буруйгун билинэн ааттастаххына. Тоҕо мэккиһэҕин, өрөлөһөҕүн! М а н ч а а р ы. Мин туох диэн киниттэн көрдөһүөмүй, туох диэн ааттаһыамый. Мин кини курдук хайа даа тулаайах үбүн-аһын былдьаан-талаан ыла иликпин, мин кини курдук хайа даа тиийиммэт-түгэммэт хааннаах хара көлөһүнүн супту оборон сии иликпин, мин кини курдук сатыыттан тайаҕын, аттаахтан кымньыытын талаан ыла иликпин. Ч о о ч о . Ити түөкүҥҥэ ыт курдук үрдэримэҥ, үөхтэримэҥ! М а ҥ н а й г ы Ч а р ч ы ы н а. Бэйэ эрэ нокоо, эн тохтоо, өйдөн, иирдиҥ дуу, кутурдуҥ дуу, тугу-тугу мээнэ лахсыйаҕын. Эн бадаҕа этэр тылыҥ баһын билбэт буолбуккун эбээт. М а н ч а а р ы . Мин тугу да лахсыйа иликпин. Ити оҕоньор бадаҕа кырдьыкка хараҕын аалларар, сырайа саатар быһыылаах. Ч о о ч о . (Уордуйан.) Бу маҥайкаан аллаах тылын истиҥ эрэ, миигин туохтан сырайбын саатардар, харахпын аалларар? Мин тугу гыммыт үһүбүн: Сылгы, ынах иитэммин дьону аһатар буруйдаах буолуом, от оттотон дьону салгыыр айыылаах буолуом. Ол мин быйаҥмыттан балай эмэ киһи саас аайы иитиллэрэ буолуоҕа. Сырайгыт сүүлэ иһэн баран, саас бэс үөрэннэн аһылыктанаргыт саҕына хайа мин аһым-үөлүм минньигэс буолар буолара диибин. Эһиги сырайгытын мин иһэрдэбин дуо, аспын-үөлбүн мин эһиэхэ элбэҕи ирдиибин дуо? Мин оту оттоппотум буоллар, маһы мастаппатым буоллар, хайа эһиги даа холоон дьон буолаайаҕыт. Саас аайы бэйэһит отто аҕал даа дии диигит, киһини олорпоккут даҕаны, туруорбаккыт даҕаны. Мин эһигини мин оппун ылан, мин аспын аһаан абырааҥ диэн көрдөспөппүн эбээт, ылан, аһаан миигин туһалаамаҥ, абыраамаҥ эбээт. Эһиги даа бааргыт эбээт тоҕо байбаккыт-топпоккут, киһи эрэ бэлэмигэр бэрт буолаҕыт. Баайы даа киһи эрэйинэн байар, үбү да киһи кыһалҕанан булар. М а н ч а а р ы . Эн кыһалҕаҕын, эн эрэйгин киһи билэр кыһалҕата, эрэйэ буолуо. Ч о о ч о . Чэ, бэрт киһи эн ону билэр буоллахкына, кэпсээн иһитиннэр эрэ бу дьон ортотугар. М а ҥ н а й г ы ч а р ч ы ы н а . Чэ, туран тойонҥор кэпсээн биэр. М а н ч а а р ы . Эн эрэйиҥ, кыһалҕаҥ диэн тугуй? Сир үтүөтүн эн тутан олороҕун, сир бастыҥын эн былдьаан олороҕун. Ону тийиммэккэ түгэммэккэ, тулаайахтарга бэйэлэрин сирдэрин бэйэлэригэр оттотон ыларыҥ ол дуо эн кыһалҕаҥ? Эн оккун тиэйэргэ, эн маскын мастыырга, эн сүөһүгүн сүөһүлүүргэ бүтүн нэһилиэк, улуус дьоно тук буолбаттар, - ол дуо эн эрэйиҥ? Кырдьык, арыыҥ, отуҥ, сүөһүҥ, түүлээҕиҥ - диэксэлэр ахсааныгар, хамыырыгар түүн утуйбаккын, күнүһүн олорбоккун. Күһүнүгэр чэпчикитик ылларбын диэн, сааскытыгар ыараханнык биэрдэрбин диэн, ол санаатыгар олорор буолбаккын дуо? Ити эн этэҕин мин көрдөспөппүн, миигиттэн ылан салҕанан абырааҥ диэн. Кырдьык, эн көрдөспөккүн кими даҕанны, эйигиттэн көрдөһөллөр барылара. Ол эрээри эн биирдэ эмэ өйдүөн көрдүҥ дуо - бу туох туһуттан эйиэхэ кэлэн ааттаһаллар, атаххар үҥэллэр? Эн бэйэҥ туох диэҥий, тугу саныаҥый, арай эн ууга түһэн тыыҥҥын былдьаһан эрэр буол, онно уу кытыытыгар турар киһи эн көрдөһүүгэр ураҕас быраҕан биэрэригэр эн баайгын барытын көрдүүр буоллун? Кини эмиэ этиэ эбээт - мин көрдөспөппүн, эн көрдөһөҕүн диэн, ууга өлүөххүн баҕарар буоллахына биэримэ диэҕэ. Онно эн туох диэн саныаҥый? Өлөрбүттэн быыһаатаҕа, тугу баҕарар: барытын ыллын диэҥ дуу, кыһалҕабар, өлөр күммэр, туох да улаханы эрэйдэммэтэх суолугар кыһайан ыллаҕа диэҥ дуу? Хайа, өлөөрү гыммыты өрүһүйбэккэ барда, алдьархайы көрөн баран, ааһан барда диэн буруйга, сэмэҕэ тириэрдээйэҕин!.. Оттон эн диэксэллиир дьонуҥ саас аайы сутуур, саас аайы сырайдара иһэр дьон тугунан атыннарый ууга түспүт киһиттэн? Ол дьон тугу дииллэрэ буолуой эйигин? Ч о о ч о . Бу түөкүн аны уорбутун, алдьаппытын ордугун тылынан үөҕэрэ хаалбыт эбит. Тойоттор, кырдьаҕастар, дьүүллээҥ бу киһини, түксү, миигин үөхтэримэн, симнэримэҥ. Ирдээҥ, кини ылбыт үбүн ханна гыммытый. М а ҥ н а й г ы ч а р ч ы ы н а . Туоһулартан ыйытан истиэххэ баар. Кэлиҥ эрэ бэттэх Сылгыһыт Сүөдэр, Өрөҥнүүр Киргиэлэй, Тэллэй Хабырылла, Кыыдаҥныыр Миитэрэй, кэпсээҥ тугу билэргитин, тугу да кистиэбэккэ. С ы л г ы һ ы т . Суох, мин тугу даа билбэппин, арай бу дьон миэхэ биирдэ кэлэн кэпсээбиттэрэ Манчаарыны көрүстүбүт диэн, кини бу тойоммут ампаарын алдьатыаҕыҥ, сылгытын ытыталаан кэбиһиэҕиҥ, диэтэ диэбиттэрэ, ону сонно сарсыҥҥытыгар дуу, өйүүҥҥүтүгэр дуу кэлэн тойоммор кэпсээбиппэр, баран ампаардарын көрбүтэ хайы үйэҕэ алдьатан кэбиспиттэр. Ити кэннэ тугу да билбэппин. М а ҥ н а й г ы ч а р ч ы ы н а . Оттон эһиги, ноколоор! Ө р ө ҥ н ү ү р. Биһиги билэрбит баар арай биирдэ түүн сылгылар оппутун көрүөһүлээн сиэбиттэрин таһаартыы сырыттахпытына Манчаары кэлэн бу тойоммут ампаарын алдьатыаҕыҥ, сылгыларын ытыталаан кэбиһиэҕиҥ диэбитэ, онтон куттанан ити Сылгыһыт Сүөдэргэ кэпсээбиппит. бар тойонҥор тыллыы тарт диэбиппит. Ити гэннэ тугу да билбэппит... Б а р ы . Ити кэннэ тугу да билбэппит. (Тоҥхолдьуһаллар.) Ч о о ч о . Хара ыттар, ону тоҕо сонно кэлэн миэхэ тыллаабатыгыт? Бэйэ мин эһигини кытта кэпсэтиэм! Б а р ы . Тыый, тойоммуот, онно түүннэри хайаан кэлиэхпитий бачча ыраах сиргэ! М а ҥ н а й г ы ч а р ч ы ы н а . Манчаары ылбыт үбүн ханна гыммытын билэргит буолуо. Б а р ы . Суох, суох, тугу да билбэппит ончу. М а ҥ н а й г ы ч а р ч ы ы н а . Дьэ, туох уурууну уурабыт, хайтах дьүүллүүбүт. Сатаан олорпотугар тиийбит киһи быһыылаах. Кинини үчүгэй аҕайдык кэһэтэн биэриэххэ баар. Ыл Хапраал, ылаҥҥын ээҕин этиэҕэр диэри өлөрбүт сылгытын баһын быанан баайан баран мойнугар кэтэрдэн кэбис, ити гэннэ уот кытыытыгар илдьэн туруор. М а н ч а а р ы . Хайтах да гыммыккыт иһин оҥорорбун оҥоро туруом, алдьатарбын алдьата туруом. Арай эһиги миигин өлөрдөххүтүнэ уурайыам. Ч о о ч о . Киһигит тылын истиҥ, ханнык ааньаны саныыр киһи ити курдук тыллаһыыһык? Кинини үчүгэйдик кытаанахтык дьүүллээн сүрэҕин кэһэтэн биэриэххэ. Оруоската быстаран үстэ унуор диэри таһыйан биэриэххэ. М а ҥ н а й г ы ч а р ч ы ы н а . Арай ол курдук дьүүллүүргэ сөп буолбут киһи, атынынан киҥини киһи иһитиннэриэ суох киһитэ. Хайа, оҕоньор, эн санааҕар хайдаҕый. И к к и с ч а р ч ы ы н а . Мин тугу билиэмий, билэр дьон бэйэҕит дьүүллээтэххит диибин. Сааспын сэттэ уоммун туоллум, онуоха диэри хас даа кинээскэ чарчыынанан сырыттым даа киһи чэгиэн этин сэймэктииригэр, кыа хаанын тоҕоругар сылдьыбатаҕым даҕаны, былыргыга даҕаны оннук дьүүл баарын истибэт этим. Арай эмээхситтэр сыалдьа сыбыдах уолаттар үүтү уоран истэхтэринэ, этэрбэстэрин быатынан таһыйаллар, онуоха дылы бачча улахан киһини хайтах гынан таһыйабыт. Ньуучалар кэпсииллэр, арай киһини өлөрбүт дьону таныыларын тыыран, имнэрин имнээн баран, быалаах кымньыынан таһыйаллар үһү диэн. Ону үтүгүннэриэхпит дуу? Ч о о ч о . Иньнэ гынан хайтах дьүүллэтээри гынаҕын. Биитэр эн санааҕар түөкүнү, баранааҕы букатын дьүүллүөххэ сатаммат дуу? Кырдьаҕас киһи буолан баран, бэйэҥ бэйэҕинэн куһаҕан санаалаах эдэр уолаттары тэптэрэн биэрэҕин. И к к и с ч а р ч ы ы н а . (Туран эрэн). Мин, кими даа тэптэрэн эппэппин. Кырдьыгы этэбин. Кырдьык кырдьаҕаска даа буоллун, эдэргэ даа буоллун биир буолуо дии саныыбын. Баттабыл аата - баттабыл, атаҕастабыл аата - атаҕастабыл. (Быыс түһэр) </poem> [[Категория:Күлүмнүүр]] [[Категория:Дыраама]] j50ebnzdeb4m9rfzyzhqiivfb9o32df Кэриэс (Алампа) 0 254 9550 8396 2026-06-22T14:51:16Z Sauit 2200 9550 wikitext text/x-wiki {{header | title = Кэриэс | author = Алампа | section = Хоһооннор | previous = | next = | notes = }} {{poem-on|Кэриэс}} Аһыыны аһаама, Айыыны саҥарба. Таҥараны таптаама, Абааһыны ахтыма. Уруккуну ороомо, Уорбалыы санаама. Улаханы ордорума, Кыраны кыччатыма. Бэйэҕин бэрдимситимэ, Бэккин билинимэ. {{poem-off|1926}} {{Tq|100%}} {{PD-Russia-expired}} [[Категория:Алампа хоһоонноро]] [[Категория:1926 сыл айымньылара]] [[Категория:Саха хоһооно]] goiv9fzy2nh2ezjemi0nurhp99iofin 9551 9550 2026-06-22T14:51:39Z Sauit 2200 9551 wikitext text/x-wiki {{header | title = Кэриэс | author = Алампа | section = Хоһооннор | previous = | next = | notes = }} <poem> {{poem-on|Кэриэс}} Аһыыны аһаама, Айыыны саҥарба. Таҥараны таптаама, Абааһыны ахтыма. Уруккуну ороомо, Уорбалыы санаама. Улаханы ордорума, Кыраны кыччатыма. Бэйэҕин бэрдимситимэ, Бэккин билинимэ. {{poem-off|1926}} </poem> {{Tq|100%}} {{PD-Russia-expired}} [[Категория:Алампа хоһоонноро]] [[Категория:1926 сыл айымньылара]] [[Категория:Саха хоһооно]] eji308nacu6m6dm3r3u26f33n96s5kp Халыып:Үрдэ 10 495 9539 9334 2026-06-22T14:30:48Z Sauit 2200 Сирэй иһэ уларытыллыбыт: '{{#invoke:Header|header}}<noinclude>{{documentation|Үрдэ/doc}}</noinclude>' 9539 wikitext text/x-wiki {{#invoke:Header|header}}<noinclude>{{documentation|Үрдэ/doc}}</noinclude> foox6zgx7n6zijbxb38he0utbvs44l5 Халыып:Poem-off 10 497 9549 2582 2026-06-22T14:50:46Z Sauit 2200 9549 wikitext text/x-wiki <noinclude><div></noinclude> </div> <noinclude>{{documentation|Template:Poem-on/doc}} [[Category:Халыыптар:Форматтааһын]] </noinclude> tks3crju6hvid0j987iaaru29kxb68d 9553 9549 2026-06-22T14:53:46Z Sauit 2200 9553 wikitext text/x-wiki <noinclude><div></noinclude> ''{{{1}}}'' </div> <noinclude>{{documentation|Template:Poem-on/doc}} [[Category:Халыыптар:Форматтааһын]] </noinclude> eq18uwl0s8gmx1j3hdkgesc0yyelgzk 9555 9553 2026-06-22T14:55:30Z Sauit 2200 9555 wikitext text/x-wiki <noinclude><div></noinclude> <br> <small><i>{{{1}}}</i></small> </div> <noinclude>{{documentation|Template:Poem-on/doc}} [[Category:Халыыптар:Форматтааһын]] </noinclude> l8s2l8rrjbb83ro7g5nr3nrz54tguhz 9556 9555 2026-06-22T14:55:47Z Sauit 2200 9556 wikitext text/x-wiki <noinclude><div></noinclude> <small><i>{{{1}}}</i></small> </div> <noinclude>{{documentation|Template:Poem-on/doc}} [[Category:Халыыптар:Форматтааһын]] </noinclude> 08guwr9iluq022eyjrbehkzqbgwf24o 9588 9556 2026-06-23T05:12:26Z Sauit 2200 9588 wikitext text/x-wiki <noinclude><div></noinclude> <small><i>{{{1|}}}</i></small> </div> <noinclude>{{documentation|Template:Poem-on/doc}} [[Category:Халыыптар:Форматтааһын]] </noinclude> jhtm2944ma2oas4a97esu551j7u1h88 Халыып:Poem-on 10 498 9548 2587 2026-06-22T14:49:39Z Sauit 2200 9548 wikitext text/x-wiki <div style="padding: 5em; width: {{{width|27em}}};"> <noinclude> </div> {{documentation}}[[Категория:Халыыптар:Форматтааһын]]</noinclude> 2tmwrrzsphzmj49sa380194z3v2tj1c 9552 9548 2026-06-22T14:52:45Z Sauit 2200 9552 wikitext text/x-wiki <div style="padding: 5em; width: {{{width|27em}}};"> <big>{{{1}}}</big> <br> <noinclude> </div> {{documentation}}[[Категория:Халыыптар:Форматтааһын]]</noinclude> gfr5pp9lrgisdyy5qc0dso879h3e0bp 9554 9552 2026-06-22T14:54:34Z Sauit 2200 9554 wikitext text/x-wiki <div style="padding: 5em; width: {{{width|27em}}};"> <big><strong>{{{1}}}</strong></big> <br> <noinclude> </div> {{documentation}}[[Категория:Халыыптар:Форматтааһын]]</noinclude> r0k4vmr2vdh6kd6v6kzrum36zhye1rf 9587 9554 2026-06-23T05:12:13Z Sauit 2200 9587 wikitext text/x-wiki <div style="padding: 5em; width: {{{width|27em}}};"> <big><strong>{{{1|}}}</strong></big> <br> <noinclude> </div> {{documentation}}[[Категория:Халыыптар:Форматтааһын]]</noinclude> 6ll9uak1pmvqkw3y1ak10y5d2w71x7b Бикитиэкэ:Дьаһабыллар 4 571 9538 9488 2026-06-22T14:28:18Z Sauit 2200 9538 wikitext text/x-wiki {{Араас ырытыылар сирэйдэрин үрдэтэ}} {{Үрдэ/1}} [[File:Wikisource Administrator.svg|150px|right]]'''{{Кылгас сигэ|БТ:АДМ<br>БТ:Дь}}Бикитиэкэ дьаһабыла (администратора)''' диэн сорох бырааптаах уонна эбии эбээһиннэстэрдээх Бикитиэкэ кыттааччыта. Дьаһабыл бу эбээһиннистэри толоруохтаах: * Сирэйдэри сотуу. * Сотуллубут сирэйдэри төнүннэрии. * Сирэйдэри көмүскээһин. * MediaWiki аат далларын уларытыы уонна эбии. * Куһаҕан уонна урусхаллыыр дьайыылары оҥорбут кыттааччылары хааччахтааһын. Аптамаатынан оҥоһуллар дьаһабыллар уонна кыттаачыллар бырааптарын тиһилигэ: [[Special:ListGroupRights|ListGroupRights]]. Дьаһабыллар сахалыы Бикитиэкэ ис хоһоонун салайарга ханнык даҕаны ордук бырааптара суохтар. Дьаһабыллар атын кыттааччылар санааларын, көрүүлэрин уларыта сатыа суохтаах. {{Бикитиэкэ:Дьаһабыллар тиһиктэрэ}} Сахалыы Бикитиэкэ дьаһабылларын [[Бикитиэкэ:Бүрэкирээттэр|бүрэкирээттэр]] эбэтэр [[:meta:Global sysops|глобальнай дьаһабыллар]] аныыллар. == Дьаһабылга куоластааһын == Дьаһабыллары уонна бүрэкирээттэри талар сиэр-туом: [[Бикитиэкэ:Дьаһабыллары уонна бүрэкирээттэри талыы сиэрэ]] Хандьыдааты ырытыыга туруоруу холобура: <pre> ==== [[Кыттааччы:Хандьыдаат аата]] ==== Быһаарыы, наада буоллаҕына. ===== Өйөөһүн / Support ===== # Быһаарыы. — ~~~~ ===== Утарыы / Oppose ===== # Быһаарыы. — ~~~~ ===== Түмүк / Result ===== </pre> === Хандьыдааттар === {{Архыып}} <!-- Бу строка аннытынан суруйуҥ --> ==== [[Кыттааччы:Sauit]] ==== Мин дьаһабыл бырааптарбын кэҥэтэргэ өссө биир ырытыы наада. Мин санаабар, мин үчүгэйдик дьаһабыл эбээһиннэстэрин толорбутум --[[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 22:52, 14 Бэс ыйын 2026 (+09) ===== Өйөөһүн / Support ===== # Өйүүбүн. --[[Кыттааччы:Dliavib|Dliavib]] ([[Кыттааччы ырытыыта:Dliavib|ырытыы]]) 19:03, 15 Бэс ыйын 2026 (+09) # + [[Аналлаах:Суруйуу/&#126;2026-35720-86|&#126;2026-35720-86]] ([[Кыттааччы ырытыыта:&#126;2026-35720-86|ырытыы]]) 10:22, 20 Бэс ыйын 2026 (+09) # Бу хандьыдааты өйүүбүн. --[[Аналлаах:Суруйуу/&#126;2026-36015-40|&#126;2026-36015-40]] ([[Кыттааччы ырытыыта:&#126;2026-36015-40|ырытыы]]) 21:40, 21 Бэс ыйын 2026 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== == Дьаһабыллары ууратыы == Дьаһабыллары бу төрүөттэринэн ырытыы түмүгүнэн ууратыахха сөп: * Дьаһабыл сахалыы Бикитиэкэҕэ 1 сыл устата ханнык даҕаны уларытыыны киллэрбэтэх буоллаҕына. * Дьаһабыл бобуллар дьайыылары (вандаллааһын, кыттааччылары төрүөтэ суох бобуу уо. д. а.) оҥорбут буоллаҕына. Ырытыыга консенсус таҕыспыт буоллаҕына, ханнык эмит кыттааччы, [[:meta:Steward_requests/Permissions#Removal_of_access|бу сигэнэн киирэн]], суругу хаалларыахтаах. Хандьыдааты ырытыыга туруоруу холобура: <pre> === [[Кыттааччы:Хандьыдаат аата]] === Быһаарыы, тоҕо ууратаары гынаҕытый. ==== Өйөөһүн / Support ==== # Быһаарыы. — ~~~~ ==== Утарыы / Oppose ==== # Быһаарыы. — ~~~~ ==== Түмүк / Result ==== </pre> === Хандьыдааттар === == Урукку дьаһабыллар == {{#tag:timeline| ImageSize = width:1000 height:auto barincrement:21 PlotArea = right:20 left:20 top:5 bottom:60 Legend = position:bottom orientation:horizontal Colors = id:bg value:rgb(0.9,0.9,1) id:major value:black id:minor value:rgb(0.8,0.8,0.8) id:text value:black id:header value:rgb(0.6,0.6,0.9) id:htext value:white id:current value:rgb(0.5,0.9,0.5) legend:Дьаһабыллааһын_кэмэ # id:previous value:rgb(0.9,0.8,0.5) legend:ammenistratore_passato BackgroundColors = canvas:bg TimeAxis = orientation:horizontal DateFormat = dd/mm/yyyy Period = from:19/03/2011 till:{{#time: d/m/Y|+2 months|sah}} ScaleMajor = gridcolor:major unit:year increment:1 start:01/01/2012 ScaleMinor = gridcolor:minor unit:month increment:1 start:19/03/2011 BarData = Bar:H Barset:S PlotData = width:15 textcolor:text bar:H color:header textcolor:htext width:20 shift:(-95,-5) fontsize:m from:19/03/2011 till:end text:"Дьаһабыллар" barset:S shift:(5,-5) anchor:from fontsize:m color:current from:11/04/2011 till:11/10/2011 text:"[[User:Sanda:r|Sanda:r]]" color:current from:19/03/2011 till:19/04/2011 text:"[[User:Prince Kassad|Prince Kassad]]" color:current from:17/03/2026 till:end text:"[[User:Sauit|Sauit]]" }} * [[Кыттааччы:Sanda:r|Sanda:r]], бырааптара 2011 сыллаахха алтынньы ыйын 11 күнүгэр [[:meta:Steward_requests/Permissions/2011-10#Sanda:r@sahwikisource|уһуллубуттара]]. [[Категория:Бикитиэкэ:Дьаһабыллар]] 1iq6dzhwol6nv9jmshys5ilno9ibu7o 9546 9538 2026-06-22T14:44:47Z Sauit 2200 9546 wikitext text/x-wiki {{Араас ырытыылар сирэйдэрин үрдэтэ}} {{Үрдэ}} [[File:Wikisource Administrator.svg|150px|right]]'''{{Кылгас сигэ|БТ:АДМ<br>БТ:Дь}}Бикитиэкэ дьаһабыла (администратора)''' диэн сорох бырааптаах уонна эбии эбээһиннэстэрдээх Бикитиэкэ кыттааччыта. Дьаһабыл бу эбээһиннистэри толоруохтаах: * Сирэйдэри сотуу. * Сотуллубут сирэйдэри төнүннэрии. * Сирэйдэри көмүскээһин. * MediaWiki аат далларын уларытыы уонна эбии. * Куһаҕан уонна урусхаллыыр дьайыылары оҥорбут кыттааччылары хааччахтааһын. Аптамаатынан оҥоһуллар дьаһабыллар уонна кыттаачыллар бырааптарын тиһилигэ: [[Special:ListGroupRights|ListGroupRights]]. Дьаһабыллар сахалыы Бикитиэкэ ис хоһоонун салайарга ханнык даҕаны ордук бырааптара суохтар. Дьаһабыллар атын кыттааччылар санааларын, көрүүлэрин уларыта сатыа суохтаах. {{Бикитиэкэ:Дьаһабыллар тиһиктэрэ}} Сахалыы Бикитиэкэ дьаһабылларын [[Бикитиэкэ:Бүрэкирээттэр|бүрэкирээттэр]] эбэтэр [[:meta:Global sysops|глобальнай дьаһабыллар]] аныыллар. == Дьаһабылга куоластааһын == Дьаһабыллары уонна бүрэкирээттэри талар сиэр-туом: [[Бикитиэкэ:Дьаһабыллары уонна бүрэкирээттэри талыы сиэрэ]] Хандьыдааты ырытыыга туруоруу холобура: <pre> ==== [[Кыттааччы:Хандьыдаат аата]] ==== Быһаарыы, наада буоллаҕына. ===== Өйөөһүн / Support ===== # Быһаарыы. — ~~~~ ===== Утарыы / Oppose ===== # Быһаарыы. — ~~~~ ===== Түмүк / Result ===== </pre> === Хандьыдааттар === {{Архыып}} <!-- Бу строка аннытынан суруйуҥ --> ==== [[Кыттааччы:Sauit]] ==== Мин дьаһабыл бырааптарбын кэҥэтэргэ өссө биир ырытыы наада. Мин санаабар, мин үчүгэйдик дьаһабыл эбээһиннэстэрин толорбутум --[[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 22:52, 14 Бэс ыйын 2026 (+09) ===== Өйөөһүн / Support ===== # Өйүүбүн. --[[Кыттааччы:Dliavib|Dliavib]] ([[Кыттааччы ырытыыта:Dliavib|ырытыы]]) 19:03, 15 Бэс ыйын 2026 (+09) # + [[Аналлаах:Суруйуу/&#126;2026-35720-86|&#126;2026-35720-86]] ([[Кыттааччы ырытыыта:&#126;2026-35720-86|ырытыы]]) 10:22, 20 Бэс ыйын 2026 (+09) # Бу хандьыдааты өйүүбүн. --[[Аналлаах:Суруйуу/&#126;2026-36015-40|&#126;2026-36015-40]] ([[Кыттааччы ырытыыта:&#126;2026-36015-40|ырытыы]]) 21:40, 21 Бэс ыйын 2026 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== == Дьаһабыллары ууратыы == Дьаһабыллары бу төрүөттэринэн ырытыы түмүгүнэн ууратыахха сөп: * Дьаһабыл сахалыы Бикитиэкэҕэ 1 сыл устата ханнык даҕаны уларытыыны киллэрбэтэх буоллаҕына. * Дьаһабыл бобуллар дьайыылары (вандаллааһын, кыттааччылары төрүөтэ суох бобуу уо. д. а.) оҥорбут буоллаҕына. Ырытыыга консенсус таҕыспыт буоллаҕына, ханнык эмит кыттааччы, [[:meta:Steward_requests/Permissions#Removal_of_access|бу сигэнэн киирэн]], суругу хаалларыахтаах. Хандьыдааты ырытыыга туруоруу холобура: <pre> === [[Кыттааччы:Хандьыдаат аата]] === Быһаарыы, тоҕо ууратаары гынаҕытый. ==== Өйөөһүн / Support ==== # Быһаарыы. — ~~~~ ==== Утарыы / Oppose ==== # Быһаарыы. — ~~~~ ==== Түмүк / Result ==== </pre> === Хандьыдааттар === == Урукку дьаһабыллар == {{#tag:timeline| ImageSize = width:1000 height:auto barincrement:21 PlotArea = right:20 left:20 top:5 bottom:60 Legend = position:bottom orientation:horizontal Colors = id:bg value:rgb(0.9,0.9,1) id:major value:black id:minor value:rgb(0.8,0.8,0.8) id:text value:black id:header value:rgb(0.6,0.6,0.9) id:htext value:white id:current value:rgb(0.5,0.9,0.5) legend:Дьаһабыллааһын_кэмэ # id:previous value:rgb(0.9,0.8,0.5) legend:ammenistratore_passato BackgroundColors = canvas:bg TimeAxis = orientation:horizontal DateFormat = dd/mm/yyyy Period = from:19/03/2011 till:{{#time: d/m/Y|+2 months|sah}} ScaleMajor = gridcolor:major unit:year increment:1 start:01/01/2012 ScaleMinor = gridcolor:minor unit:month increment:1 start:19/03/2011 BarData = Bar:H Barset:S PlotData = width:15 textcolor:text bar:H color:header textcolor:htext width:20 shift:(-95,-5) fontsize:m from:19/03/2011 till:end text:"Дьаһабыллар" barset:S shift:(5,-5) anchor:from fontsize:m color:current from:11/04/2011 till:11/10/2011 text:"[[User:Sanda:r|Sanda:r]]" color:current from:19/03/2011 till:19/04/2011 text:"[[User:Prince Kassad|Prince Kassad]]" color:current from:17/03/2026 till:end text:"[[User:Sauit|Sauit]]" }} * [[Кыттааччы:Sanda:r|Sanda:r]], бырааптара 2011 сыллаахха алтынньы ыйын 11 күнүгэр [[:meta:Steward_requests/Permissions/2011-10#Sanda:r@sahwikisource|уһуллубуттара]]. [[Категория:Бикитиэкэ:Дьаһабыллар]] f18nkbjvgkik2q4ooy5hgcmj0tp9zvc 9547 9546 2026-06-22T14:45:18Z Sauit 2200 9547 wikitext text/x-wiki {{Араас ырытыылар сирэйдэрин үрдэтэ}} [[File:Wikisource Administrator.svg|150px|right]]'''{{Кылгас сигэ|БТ:АДМ<br>БТ:Дь}}Бикитиэкэ дьаһабыла (администратора)''' диэн сорох бырааптаах уонна эбии эбээһиннэстэрдээх Бикитиэкэ кыттааччыта. Дьаһабыл бу эбээһиннистэри толоруохтаах: * Сирэйдэри сотуу. * Сотуллубут сирэйдэри төнүннэрии. * Сирэйдэри көмүскээһин. * MediaWiki аат далларын уларытыы уонна эбии. * Куһаҕан уонна урусхаллыыр дьайыылары оҥорбут кыттааччылары хааччахтааһын. Аптамаатынан оҥоһуллар дьаһабыллар уонна кыттаачыллар бырааптарын тиһилигэ: [[Special:ListGroupRights|ListGroupRights]]. Дьаһабыллар сахалыы Бикитиэкэ ис хоһоонун салайарга ханнык даҕаны ордук бырааптара суохтар. Дьаһабыллар атын кыттааччылар санааларын, көрүүлэрин уларыта сатыа суохтаах. {{Бикитиэкэ:Дьаһабыллар тиһиктэрэ}} Сахалыы Бикитиэкэ дьаһабылларын [[Бикитиэкэ:Бүрэкирээттэр|бүрэкирээттэр]] эбэтэр [[:meta:Global sysops|глобальнай дьаһабыллар]] аныыллар. == Дьаһабылга куоластааһын == Дьаһабыллары уонна бүрэкирээттэри талар сиэр-туом: [[Бикитиэкэ:Дьаһабыллары уонна бүрэкирээттэри талыы сиэрэ]] Хандьыдааты ырытыыга туруоруу холобура: <pre> ==== [[Кыттааччы:Хандьыдаат аата]] ==== Быһаарыы, наада буоллаҕына. ===== Өйөөһүн / Support ===== # Быһаарыы. — ~~~~ ===== Утарыы / Oppose ===== # Быһаарыы. — ~~~~ ===== Түмүк / Result ===== </pre> === Хандьыдааттар === {{Архыып}} <!-- Бу строка аннытынан суруйуҥ --> ==== [[Кыттааччы:Sauit]] ==== Мин дьаһабыл бырааптарбын кэҥэтэргэ өссө биир ырытыы наада. Мин санаабар, мин үчүгэйдик дьаһабыл эбээһиннэстэрин толорбутум --[[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 22:52, 14 Бэс ыйын 2026 (+09) ===== Өйөөһүн / Support ===== # Өйүүбүн. --[[Кыттааччы:Dliavib|Dliavib]] ([[Кыттааччы ырытыыта:Dliavib|ырытыы]]) 19:03, 15 Бэс ыйын 2026 (+09) # + [[Аналлаах:Суруйуу/&#126;2026-35720-86|&#126;2026-35720-86]] ([[Кыттааччы ырытыыта:&#126;2026-35720-86|ырытыы]]) 10:22, 20 Бэс ыйын 2026 (+09) # Бу хандьыдааты өйүүбүн. --[[Аналлаах:Суруйуу/&#126;2026-36015-40|&#126;2026-36015-40]] ([[Кыттааччы ырытыыта:&#126;2026-36015-40|ырытыы]]) 21:40, 21 Бэс ыйын 2026 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== == Дьаһабыллары ууратыы == Дьаһабыллары бу төрүөттэринэн ырытыы түмүгүнэн ууратыахха сөп: * Дьаһабыл сахалыы Бикитиэкэҕэ 1 сыл устата ханнык даҕаны уларытыыны киллэрбэтэх буоллаҕына. * Дьаһабыл бобуллар дьайыылары (вандаллааһын, кыттааччылары төрүөтэ суох бобуу уо. д. а.) оҥорбут буоллаҕына. Ырытыыга консенсус таҕыспыт буоллаҕына, ханнык эмит кыттааччы, [[:meta:Steward_requests/Permissions#Removal_of_access|бу сигэнэн киирэн]], суругу хаалларыахтаах. Хандьыдааты ырытыыга туруоруу холобура: <pre> === [[Кыттааччы:Хандьыдаат аата]] === Быһаарыы, тоҕо ууратаары гынаҕытый. ==== Өйөөһүн / Support ==== # Быһаарыы. — ~~~~ ==== Утарыы / Oppose ==== # Быһаарыы. — ~~~~ ==== Түмүк / Result ==== </pre> === Хандьыдааттар === == Урукку дьаһабыллар == {{#tag:timeline| ImageSize = width:1000 height:auto barincrement:21 PlotArea = right:20 left:20 top:5 bottom:60 Legend = position:bottom orientation:horizontal Colors = id:bg value:rgb(0.9,0.9,1) id:major value:black id:minor value:rgb(0.8,0.8,0.8) id:text value:black id:header value:rgb(0.6,0.6,0.9) id:htext value:white id:current value:rgb(0.5,0.9,0.5) legend:Дьаһабыллааһын_кэмэ # id:previous value:rgb(0.9,0.8,0.5) legend:ammenistratore_passato BackgroundColors = canvas:bg TimeAxis = orientation:horizontal DateFormat = dd/mm/yyyy Period = from:19/03/2011 till:{{#time: d/m/Y|+2 months|sah}} ScaleMajor = gridcolor:major unit:year increment:1 start:01/01/2012 ScaleMinor = gridcolor:minor unit:month increment:1 start:19/03/2011 BarData = Bar:H Barset:S PlotData = width:15 textcolor:text bar:H color:header textcolor:htext width:20 shift:(-95,-5) fontsize:m from:19/03/2011 till:end text:"Дьаһабыллар" barset:S shift:(5,-5) anchor:from fontsize:m color:current from:11/04/2011 till:11/10/2011 text:"[[User:Sanda:r|Sanda:r]]" color:current from:19/03/2011 till:19/04/2011 text:"[[User:Prince Kassad|Prince Kassad]]" color:current from:17/03/2026 till:end text:"[[User:Sauit|Sauit]]" }} * [[Кыттааччы:Sanda:r|Sanda:r]], бырааптара 2011 сыллаахха алтынньы ыйын 11 күнүгэр [[:meta:Steward_requests/Permissions/2011-10#Sanda:r@sahwikisource|уһуллубуттара]]. [[Категория:Бикитиэкэ:Дьаһабыллар]] tm6fdlpftxifojjyh9s7i8a85l5nikx Былыттаах түүн (Арбита) 0 1025 9557 4831 2026-06-22T14:58:14Z Sauit 2200 9557 wikitext text/x-wiki {{header | title = [[Main_Page:Sakha|Сүрүн сирэй]] | section = (Хоһооннор) | previous = ←[[Ардах иннинэ (Арбита)|Ардах иннинэ]] | next = →[[Күһүн (Арбита)| Күһүн]] | notes = }} {{poem-on|Былыттаах түүн}} <poem> Сааскы сипит айылҕам Саста былыт анныгар, Сырдык уоттаах чаҕылҕан Сытыы кыыма таммалыыр. Этиҥ этэр түүнүгэр Биирдэ бэһиэ буоллубут, Сэмэннээххэ түмүллэн Сэһэн бэрдин буллубут. Тохтообокко тобуллар Бэһиэлэйдээх бэсиэдэ, Мэник соҕус да буоллар, Хайтах курдук бэрт этэй! Көрбүт-нарбыт дьэ бэргээн Күүрдэр күүрэн испитэ – Уордаах этиҥ, дьиибэргээн, Күлэн төлө биэрбитэ. Түннүгүнэн киирээри Чөмөхтөспүт былыттан, Толоон-сыһыы килэйэр Дохсун самыыр куппута. </poem> {{poem-off|8.10.1936}} [[Категория:Иван Арбита]] [[Категория:Арбита хоһоонноро]] [[Категория:Саха хоһооно]] [[Категория:1936 сыл айымньылара]] mwwx3020r52dwna4kx6jwv53cq3p3dn Бикитиэкэ:Роботтар 4 2097 9575 9453 2026-06-22T15:28:43Z Sauit 2200 /* Хандьыдааттар */ 9575 wikitext text/x-wiki <small> * '''sah:''' [[m:bot|Робот]] былааҕы ылаары көрдөбүллэр бу сирэйгэ суруллуохтаахтар. Сахалыы Бикитиэкэ [[m:bot policy|стандаартнай роботтар туһунан бэлиитикэни]] тутуһар. * '''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below, and then [[m:Steward requests/Bot status|request access]] from a steward if there is no objection. </small> {{Араас ырытыылар сирэйдэрин үрдэтэ}} [[Ойуу:Wikisource Bots.svg|150px|уҥа]]{{Кылгас сигэ|БТ:БОТ<br>БТ:Р}}'''Бикитиэкэ робота (бота)''' диэн аптамаатынан эбэтэр полуаптамаатынан уларытыыны киллэрэр Бикитиэкэ кыттааччыта. Кини ураты бэлиэлэрэ — бот былааҕын сүгэр, уларытыылара кэнники уларытыылар тиһиктэригэр көстүбэт. Сахалыы Бикитиэкэ роботтарын [[Бикитиэкэ:Бүрэкирээттэр|бүрэкирээттэр]] эбэтэр [[:meta:Global sysops|глобальнай дьаһабыллар]] аныыллар. == Билиҥҥи роботтар == * [[User:AvocatoBot|AvocatoBot]] * [[User:Flow talk page manager|Flow talk page manager]] * [[User:Maintenance script|Maintenance script]] * [[User:MediaWiki message delivery|MediaWiki message delivery]] * [[User:Bot 3-f|Bot 3-f]] == Роботтары талааһын / Requests for bot flag == <pre> ==== [[Кыттааччы:<робот аата / bot's username>]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:<эн сүрүн аккаунун, атын биики киэнэ да буолуон син / your main account, could be on another wiki>]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': * '''Сорук / Purpose''': * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/<your bot's username>|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': ===== Өйөөһүн / Support ===== # Быһаарыы. — ~~~~ ===== Утарыы / Oppose ===== # Быһаарыы. — ~~~~ ===== Түмүк / Result ===== </pre> === Хандьыдааттар === {{Түмүктэммит ырытыы}} ==== [[Кыттааччы:Bot 3-f]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:Karacehennem]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': pywikipedia * '''Сорук / Purpose''': sending [[:Халыып:Hello]] to talk pages of new users * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/Bot 3-f|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': kaawikipedia ===== Өйөөһүн / Support ===== # Өйүүбүн [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 16:10, 8 Сэтинньи 2025 (+09) # Өйүүбүн. [[Кыттааччы:Dliavib|Dliavib]] ([[Кыттааччы ырытыыта:Dliavib|ырытыы]]) 08:38, 9 Сэтинньи 2025 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== [[:m:Steward requests/Bot status/2025-12#Bot 3-f@sahwikisource|Роботынан талынынна]]. [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 23:31, 10 Ахсынньы 2025 (+09) {{Түмүктэммит ырытыы бүтүүтэ}} ==== [[Кыттааччы:SauitBot]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:Sauit]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': Python * '''Сорук / Purpose''': Бу робот араас стилистическэй уларытыылары оҥоруоҕа, холобура, →← диэн бэлиэлэри хос туттууларын сотор * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/SauitBot|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': Ханна даҕаны былааҕа суох ===== Өйөөһүн / Support ===== # Ботмастер курдук — [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 00:28, 23 Бэс ыйын 2026 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== == Роботтары ууратыы / Request to remove bot flag == <pre> === [[Кыттааччы:<робот аата / bot's username>]] === Быһаарыы, тоҕо ууратаары гынаҕытый / Explanation. ==== Өйөөһүн / Support ==== # Быһаарыы. — ~~~~ ==== Утарыы / Oppose ==== # Быһаарыы. — ~~~~ ==== Түмүк / Result ==== </pre> === Хандьыдааттар === === [[Кыттааччы:AvocatoBot]] === 2011 сылтан биир даҕаны уларытыыны киллэрбэтэх. Маннык робот Бикитиэкэҕэ наадата суох диэн саныыбын. [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 09:57, 9 Кулун тутар 2026 (+09) ==== Өйөөһүн / Support ==== ==== Утарыы / Oppose ==== ==== Түмүк / Result ==== [[Категория:Бикитиэкэ:Роботтар]] a86vwpf38iuljxwrkt9f1oh8zd97gcr 9576 9575 2026-06-23T04:22:54Z Sauit 2200 9576 wikitext text/x-wiki {{Div col|2|small}} * '''sah:''' [[m:bot|Робот]] былааҕы ылаары көрдөбүллэр бу сирэйгэ суруллуохтаахтар. Сахалыы Бикитиэкэ [[m:bot policy|стандаартнай роботтар туһунан бэлиитикэни]] тутуһар. * '''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below, and then [[m:Steward requests/Bot status|request access]] from a steward if there is no objection. {{Div col end}} {{Араас ырытыылар сирэйдэрин үрдэтэ}} [[Ойуу:Wikisource Bots.svg|150px|уҥа]]{{Кылгас сигэ|БТ:БОТ<br>БТ:Р}}'''Бикитиэкэ робота (бота)''' диэн аптамаатынан эбэтэр полуаптамаатынан уларытыыны киллэрэр Бикитиэкэ кыттааччыта. Кини ураты бэлиэлэрэ — бот былааҕын сүгэр, уларытыылара кэнники уларытыылар тиһиктэригэр көстүбэт. Сахалыы Бикитиэкэ роботтарын [[Бикитиэкэ:Бүрэкирээттэр|бүрэкирээттэр]] эбэтэр [[:meta:Global sysops|глобальнай дьаһабыллар]] аныыллар. == Билиҥҥи роботтар == * [[User:AvocatoBot|AvocatoBot]] * [[User:Flow talk page manager|Flow talk page manager]] * [[User:Maintenance script|Maintenance script]] * [[User:MediaWiki message delivery|MediaWiki message delivery]] * [[User:Bot 3-f|Bot 3-f]] == Роботтары талааһын / Requests for bot flag == <pre> ==== [[Кыттааччы:<робот аата / bot's username>]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:<эн сүрүн аккаунун, атын биики киэнэ да буолуон син / your main account, could be on another wiki>]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': * '''Сорук / Purpose''': * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/<your bot's username>|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': ===== Өйөөһүн / Support ===== # Быһаарыы. — ~~~~ ===== Утарыы / Oppose ===== # Быһаарыы. — ~~~~ ===== Түмүк / Result ===== </pre> === Хандьыдааттар === {{Түмүктэммит ырытыы}} ==== [[Кыттааччы:Bot 3-f]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:Karacehennem]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': pywikipedia * '''Сорук / Purpose''': sending [[:Халыып:Hello]] to talk pages of new users * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/Bot 3-f|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': kaawikipedia ===== Өйөөһүн / Support ===== # Өйүүбүн [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 16:10, 8 Сэтинньи 2025 (+09) # Өйүүбүн. [[Кыттааччы:Dliavib|Dliavib]] ([[Кыттааччы ырытыыта:Dliavib|ырытыы]]) 08:38, 9 Сэтинньи 2025 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== [[:m:Steward requests/Bot status/2025-12#Bot 3-f@sahwikisource|Роботынан талынынна]]. [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 23:31, 10 Ахсынньы 2025 (+09) {{Түмүктэммит ырытыы бүтүүтэ}} ==== [[Кыттааччы:SauitBot]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:Sauit]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': Python * '''Сорук / Purpose''': Бу робот араас стилистическэй уларытыылары оҥоруоҕа, холобура, →← диэн бэлиэлэри хос туттууларын сотор * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/SauitBot|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': Ханна даҕаны былааҕа суох ===== Өйөөһүн / Support ===== # Ботмастер курдук — [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 00:28, 23 Бэс ыйын 2026 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== == Роботтары ууратыы / Request to remove bot flag == <pre> === [[Кыттааччы:<робот аата / bot's username>]] === Быһаарыы, тоҕо ууратаары гынаҕытый / Explanation. ==== Өйөөһүн / Support ==== # Быһаарыы. — ~~~~ ==== Утарыы / Oppose ==== # Быһаарыы. — ~~~~ ==== Түмүк / Result ==== </pre> === Хандьыдааттар === === [[Кыттааччы:AvocatoBot]] === 2011 сылтан биир даҕаны уларытыыны киллэрбэтэх. Маннык робот Бикитиэкэҕэ наадата суох диэн саныыбын. [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 09:57, 9 Кулун тутар 2026 (+09) ==== Өйөөһүн / Support ==== ==== Утарыы / Oppose ==== ==== Түмүк / Result ==== [[Категория:Бикитиэкэ:Роботтар]] 05sd3id2w678wjkusiolrev0l2hkwwx 9577 9576 2026-06-23T04:23:52Z Sauit 2200 9577 wikitext text/x-wiki {{Div col|2|small=yes}} * '''sah:''' [[m:bot|Робот]] былааҕы ылаары көрдөбүллэр бу сирэйгэ суруллуохтаахтар. Сахалыы Бикитиэкэ [[m:bot policy|стандаартнай роботтар туһунан бэлиитикэни]] тутуһар. * '''en:''' Requests for the [[m:bot|bot]] flag should be made on this page. This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below, and then [[m:Steward requests/Bot status|request access]] from a steward if there is no objection. {{Div col end}} {{Араас ырытыылар сирэйдэрин үрдэтэ}} [[Ойуу:Wikisource Bots.svg|150px|уҥа]]{{Кылгас сигэ|БТ:БОТ<br>БТ:Р}}'''Бикитиэкэ робота (бота)''' диэн аптамаатынан эбэтэр полуаптамаатынан уларытыыны киллэрэр Бикитиэкэ кыттааччыта. Кини ураты бэлиэлэрэ — бот былааҕын сүгэр, уларытыылара кэнники уларытыылар тиһиктэригэр көстүбэт. Сахалыы Бикитиэкэ роботтарын [[Бикитиэкэ:Бүрэкирээттэр|бүрэкирээттэр]] эбэтэр [[:meta:Global sysops|глобальнай дьаһабыллар]] аныыллар. == Билиҥҥи роботтар == * [[User:AvocatoBot|AvocatoBot]] * [[User:Flow talk page manager|Flow talk page manager]] * [[User:Maintenance script|Maintenance script]] * [[User:MediaWiki message delivery|MediaWiki message delivery]] * [[User:Bot 3-f|Bot 3-f]] == Роботтары талааһын / Requests for bot flag == <pre> ==== [[Кыттааччы:<робот аата / bot's username>]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:<эн сүрүн аккаунун, атын биики киэнэ да буолуон син / your main account, could be on another wiki>]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': * '''Сорук / Purpose''': * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/<your bot's username>|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': ===== Өйөөһүн / Support ===== # Быһаарыы. — ~~~~ ===== Утарыы / Oppose ===== # Быһаарыы. — ~~~~ ===== Түмүк / Result ===== </pre> === Хандьыдааттар === {{Түмүктэммит ырытыы}} ==== [[Кыттааччы:Bot 3-f]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:Karacehennem]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': pywikipedia * '''Сорук / Purpose''': sending [[:Халыып:Hello]] to talk pages of new users * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/Bot 3-f|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': kaawikipedia ===== Өйөөһүн / Support ===== # Өйүүбүн [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 16:10, 8 Сэтинньи 2025 (+09) # Өйүүбүн. [[Кыттааччы:Dliavib|Dliavib]] ([[Кыттааччы ырытыыта:Dliavib|ырытыы]]) 08:38, 9 Сэтинньи 2025 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== [[:m:Steward requests/Bot status/2025-12#Bot 3-f@sahwikisource|Роботынан талынынна]]. [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 23:31, 10 Ахсынньы 2025 (+09) {{Түмүктэммит ырытыы бүтүүтэ}} ==== [[Кыттааччы:SauitBot]] ==== Роботы тутааччы / Botmaster: [[Кыттааччы:Sauit]] * '''Програмаламмыт тыла (тыллара) / Programming Language(s)''': Python * '''Сорук / Purpose''': Бу робот араас стилистическэй уларытыылары оҥоруоҕа, холобура, →← диэн бэлиэлэри хос туттууларын сотор * '''Суруйуута (кылаата) / Contributions''': [[Special:Contributions/SauitBot|see here]] * '''Номнуо бу биикилэргэ робот былаахтаах / Already has bot flag on''': Ханна даҕаны былааҕа суох ===== Өйөөһүн / Support ===== # Ботмастер курдук — [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 00:28, 23 Бэс ыйын 2026 (+09) ===== Утарыы / Oppose ===== ===== Түмүк / Result ===== == Роботтары ууратыы / Request to remove bot flag == <pre> === [[Кыттааччы:<робот аата / bot's username>]] === Быһаарыы, тоҕо ууратаары гынаҕытый / Explanation. ==== Өйөөһүн / Support ==== # Быһаарыы. — ~~~~ ==== Утарыы / Oppose ==== # Быһаарыы. — ~~~~ ==== Түмүк / Result ==== </pre> === Хандьыдааттар === === [[Кыттааччы:AvocatoBot]] === 2011 сылтан биир даҕаны уларытыыны киллэрбэтэх. Маннык робот Бикитиэкэҕэ наадата суох диэн саныыбын. [[Кыттааччы:Sauit|Sauit]] ([[Кыттааччы ырытыыта:Sauit|ырытыы]]) 09:57, 9 Кулун тутар 2026 (+09) ==== Өйөөһүн / Support ==== ==== Утарыы / Oppose ==== ==== Түмүк / Result ==== [[Категория:Бикитиэкэ:Роботтар]] cbo7cv9a5ajw46mmu61885fhnwd7ouy Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло) 0 2409 9492 9484 2026-06-22T13:27:29Z Sauit 2200 /* Кыргыс үйэтэ */ 9492 wikitext text/x-wiki {{header|title=Саха төрүттэрэ уонна кыргыс үйэтэ|author=Сэһэн Боло|section=Үһүйээннэр хомуурунньуктара|previous=|next=|notes=}} == Иһинээҕитэ == === Саха төрүттэрэ === {{Div col|2}} * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана)|Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Таатта оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Таатта оройуонун барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун II барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун II барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун III барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун II барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Уус-Алдан оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Уус-Алдан оройуонун барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эр Соҕотох Эллэй Боотур (Уус-Алдан оройуонун II барыйаана)|Омоҕой Баай, Эр Соҕотох Эллэй Боотур (Уус-Алдан оройуонун II барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Уус-Алдан оройуонун III барыйаана)|Омоҕой Баай, Эллэй Боотур (Уус-Алдан оройуонун III барыйаана)]] * [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун IV барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун IV барыйаана)]] * [[СТУоКҮ/Саха төрдө|Саха төрдө]] * [[СТУоКҮ/Улуу Хоро (I барыйаан)|Улуу Хоро (I барыйаан)]] * [[СТУоКҮ/Улуу Хоро (II барыйаан)|Улуу Хоро (II барыйаан)]] * [[СТУоКҮ/Кыргыс омук|Кыргыс омук]] * [[СТУоКҮ/Сахалар|Сахалар]] * [[СТУоКҮ/Хара Саҕыл омуктар|Хара Саҕыл омуктар]] * [[СТУоКҮ/Улуу Хоро, хоролор, туматтар|Улуу Хоро, хоролор, туматтар]] * [[СТУоКҮ/Оноҕой, Татаар Тайма, Эллэй, Тыгын|Оноҕой, Татаар Тайма, Эллэй, Тыгын]] {{Div col end}} === Кыргыс үйэтэ === {{Div col|2}} * [[СТУоКҮ/Бэт Хара, Дыгын Боотур (Чурапчы оройуонун барыйаана)|Бэт Хара, Дыгын Боотур (Чурапчы оройуонун барыйаана)]] * [[СТУоКҮ/Дыгын Тойон уола Бүдьү Босхон|Дыгын Тойон уола Бүдьү Босхон]] * [[СТУоКҮ/Тыгын Тойон|Тыгын Тойон]] * [[СТУоКҮ/Ураанай Боотур, Дыгын Тойон|Ураанай Боотур, Дыгын Тойон]] * [[СТУоКҮ/Дыгын Баай|Дыгын Баай]] * [[СТУоКҮ/Сынаҕы баай, Үүт баай, Дыгын баай, Бэт Хара, Эдьээт тоҥустара|Сынаҕы баай, Үүт баай, Дыгын баай, Бэт Хара, Эдьээт тоҥустара]] * [[СТУоКҮ/Дыгын Тойон сэриитэ Таатталары кытта сэриилэспитэ|Дыгын Тойон сэриитэ Таатталары кытта сэриилэспитэ]] * [[СТУоКҮ/Дыгын уола Таас Уллуҥах|Дыгын уола Таас Уллуҥах]] * [[СТУоКҮ/Дыгын Тойон сэриитэ|Дыгын Тойон сэриитэ]] * [[СТУоКҮ/Дыгын Тойон|Дыгын Тойон]] * [[СТУоКҮ/Батас Мөндүкээн уонна Дыгын Тойон|Батас Мөндүкээн уонна Дыгын Тойон]] * [[СТУоКҮ/Дыгын Тойон, Көччөх Төрөлөй, Батас Мөндүкээн|Дыгын Тойон, Көччөх Төрөлөй, Батас Мөндүкээн]] * [[СТУоКҮ/Тиһикээн Бөҕө, Бэт Хара, Дыгын Боотур|Тиһикээн Бөҕө, Бэт Хара, Дыгын Боотур]] * [[СТУоКҮ/Күүстээх саалаах Күһэҥэй Баатыр, Таҥас Болтоҥо, Тыгын Тойон|Күүстээх саалаах Күһэҥэй Баатыр, Таҥас Болтоҥо, Тыгын Тойон]] * [[СТУоКҮ/Көмөкөннөр уонна Тыгын Тойон|Көмөкөннөр уонна Тыгын Тойон]] * [[СТУоКҮ/Чорбоҕор Баатыр, Тыгын Тойон|Чорбоҕор Баатыр, Тыгын Тойон]] * [[СТУоКҮ/Бэрт Хара, Тыгын Тойон, Хоро оҕонньоро, Мөчөкө Бөҕө|Бэрт Хара, Тыгын Тойон, Хоро оҕонньоро, Мөчөкө Бөҕө]] * [[СТУоКҮ/Сыарҕа Наранах, Тыгын Тойон|Сыарҕа Наранах, Тыгын Тойон]] * [[СТУоКҮ/Бэрт Хара, Дыгын Баай|Бэрт Хара, Дыгын Баай]] * [[СТУоКҮ/Сыҥаах-Абыйыкаан Тарбыах Тиис|Сыҥаах-Абыйыкаан Тарбыах Тиис]] * [[СТУоКҮ/Бэрт Хара|Бэрт Хара]] * [[СТУоКҮ/Тарбыах Тиис, Тыгын Тойон|Тарбыах Тиис, Тыгын Тойон]] * [[СТУоКҮ/Тарбыах Тиис, Тыгын Тойон (II барыйаан)|Тарбыах Тиис, Тыгын Тойон (II барыйаан)]] * [[СТУоКҮ/Бэрт Хара, Тарбыах тиис, Тыгын Тойон|Бэрт Хара, Тарбыах тиис, Тыгын Тойон]] * [[СТУоКҮ/Тыгын Баай, Көлүйэ Баай, Туока Баатыр|Тыгын Баай, Көлүйэ Баай, Туока Баатыр]] * [[СТУоКҮ/Таас Уллуҥах|Таас Уллуҥах]] * [[СТУоКҮ/Бэрт Хара, Тыгын Тойон|Бэрт Хара, Тыгын Тойон]] * [[СТУоКҮ/Тыгын Тойон тоҥустары кытта кыргыһыыта|Тыгын Тойон тоҥустары кытта кыргыһыыта]] * [[СТУоКҮ/Дыгын Тойон (Чурапчы, Бинокуурап барыйаана)|Дыгын Тойон (Чурапчы, Бинокуурап барыйаана)]] * [[СТУоКҮ/Бадьаайы, Дыгын Тойон|Бадьаайы, Дыгын Тойон]] * [[СТУоКҮ/Муоҕан Эмээхсин, Көдөгөй Оҕонньор уонна Тыгын Тойон|Муоҕан Эмээхсин, Көдөгөй Оҕонньор уонна Тыгын Тойон]] * [[СТУоКҮ/Ходоро ууһа, Дыгын Тойон|Ходоро ууһа, Дыгын Тойон]] * [[СТУоКҮ/Куһаҕан Эмээхсин, Тыгын|Куһаҕан Эмээхсин, Тыгын]] * [[СТУоКҮ/Бэрт Хара, Дьааҥы бухатыыра|Бэрт Хара, Дьааҥы бухатыыра]] * [[СТУоКҮ/Дыгын хамначчыттара|Дыгын хамначчыттара]] * [[СТУоКҮ/Батас Мөндүкээн, Дыгын Боотур|Батас Мөндүкээн, Дыгын Боотур]] * [[СТУоКҮ/Дыгын уонна Аас Тоҥус|Дыгын уонна Аас Тоҥус]] * [[СТУоКҮ/Дыгын, Бэрт Хара, Бөкөл|Дыгын, Бэрт Хара, Бөкөл]] * [[СТУоКҮ/Кэнньэлэр, Наахаралар уонна Дыгын|Кэнньэлэр, Наахаралар уонна Дыгын]] * [[СТУоКҮ/Кэнньэ Тиэтэйбит Боотур|Кэнньэ Тиэтэйбит Боотур]] * [[СТУоКҮ/Бөрө саҕа соргулаах Бөрө Бөтүҥнэр|Бөрө саҕа соргулаах Бөрө Бөтүҥнэр]] * [[СТУоКҮ/Бөрө саҕа соргулаах Бөрө Бөтүҥнэр (II барыйаан)|Бөрө саҕа соргулаах Бөрө Бөтүҥнэр (II барыйаан)]] * [[СТУоКҮ/Бөрө Бөтүҥнэр|Бөрө Бөтүҥнэр]] * [[СТУоКҮ/Омоллоон|Омоллоон]] * [[СТУоКҮ/Бөтүҥнэр|Бөтүҥнэр]] * [[СТУоКҮ/Омоллоон (II барыйаан)|Омоллоон (II барыйаан)]] * [[СТУоКҮ/Сомоссууннар|Сомоссууннар]] * [[СТУоКҮ/Омоллоон сэриитэ|Омоллоон сэриитэ]] * [[СТУоКҮ/Омоллоон (III барыйаан)|Омоллоон (III барыйаан)]] * [[СТУоКҮ/Омоллоон (IV барыйаан)|Омоллоон (IV барыйаан)]] * [[СТУоКҮ/Модьуҕу Оҕонньор, Омоллоон Бөҕө|Модьуҕу Оҕонньор, Омоллоон Бөҕө]] {{Div col end}} {{PD-Russia-expired}} {{PD-RU-folklore}} [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]][[Категория:Үһүйээннэр уонна фольклор]][[Категория:Хомуурунньуктар]] bdq1rvb2mo77qnqu8wwl21neq6jcjt9 Кыттааччы ырытыыта:Lubitel aviacii 3 2442 9491 2026-06-22T12:04:11Z Bot 3-f 2274 Добро пожаловать! 9491 wikitext text/x-wiki {{Hello|--[[Кыттааччы:Bot 3-f|Bot 3-f]] ([[Кыттааччы ырытыыта:Bot 3-f|ырытыы]]) 21:04, 22 Бэс ыйын 2026 (+09)}} lhls4dvr2m2wnjtvoso35oo3bdii2su Модуль:Header 828 2443 9493 2026-06-22T13:34:37Z Sauit 2200 "--[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') loca..." саҥа сирэй оҥоһулунна 9493 Scribunto text/plain --[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') local parent_links = require('Module:Auto parents')._parent_links local construct_header = require('Module:Header structure').construct_header local headerAttribution = require('Module:Header/attribution') local headerLang = require('Module:Header/lang') local construct_defaultsort = require('Module:Header/sort')._construct_defaultsort local construct_year = require('Module:Header/year').construct_year local current_title = mw.title.getCurrentTitle() --[=[ Wrap stylesheet in noexport div ]=] local function get_noexport_stylesheet(template) return tostring(mw.html.create('div'):addClass('ws-noexport'):wikitext(mw.getCurrentFrame():extensionTag('templatestyles', '', {src = template .. '/styles.css'}))) end --[=[ Get badge if any ]=] local function badge() return require('Module:Edition').badge({args = {category = '1', indicator = '1'}}) end --[=[ Detect explicit formatting in fields like 'section' and 'title' ]=] local function explicit_formatting(str) return str and (string.match(str, "\'\'\'?") or string.match(str, '<%s*/?%s*[iIbB]%s*>')) -- add more cases here or come up with a less silly way to do things end local function check_non_existent_author_pages(args, categories, checkArgs) -- check for cases that aren't supposed to produce a valid link local param = checkArgs.param local tracking_cat = checkArgs.tracking_cat or 'Works with non-existent author pages' if not param or not args[param] or yesno(args[param .. '-nolink']) then return end local lower_arg = string.lower(args[param]) local attr_data = headerAttribution.attr_data[param] or headerAttribution.attr_data[string.gsub(param, 'section%-', '')] if attr_data and attr_data['special_cases'] and attr_data['special_cases'][lower_arg] then return end -- check if page exists local target = mw.title.makeTitle('Author', args[param]) -- expensive function! if not target or not target.exists then table.insert(categories, tracking_cat) end return end local function construct_categories(args, argsWithBlanks) local categories = {} -- categorize subpages local title = current_title local parent_exists = false while title.isSubpage and not parent_exists do title = mw.title.new(title.baseText, title.nsText) parent_exists = title.exists end if parent_exists and title:inNamespaces(0) then table.insert(categories, 'Subpages') elseif parent_exists then table.insert(categories, title.nsText .. ' subpages') end -- add categories from the categories parameter local manual_categories = (args.categories and mw.text.split(args.categories, '%s*/%s*', false)) or {} local using_cat = false for i, category in ipairs(manual_categories) do local cat = mw.text.trim(category) if cat ~= '' then table.insert(categories, cat) using_cat = true end end if using_cat then table.insert(categories, 'Works using categories parameter') end local known_override_types = { ['default'] = 'contributor type', ['author'] = 'author', ['translator'] = 'translator', ['section-author'] = 'contributor' } for k, v in pairs(argsWithBlanks) do -- Check for numerical parameters (which shouldn't be used) if type(k) == 'number' then table.insert(categories, 'Headers with numerical arguments') -- Check for 'override-' parameters elseif string.match(k, '^override%-') then local contrib_type = string.gsub(k, '^override%-', '') contrib_type = string.gsub(contrib_type, '%d*$', '') table.insert(categories, 'Pages with override ' .. (known_override_types[contrib_type] or known_override_types['default'])) end end -- check contributor parameters if args['section-author'] then table.insert(categories, 'Pages with contributor') end local editor = args['override-editor'] or args['editor'] if editor and not args['nocat'] then editor = string.lower(editor) if editor == 'unknown' or editor == '?' then table.insert(categories, 'Works with unknown editors') elseif editor == 'not mentioned' then table.insert(categories, 'Works with unmentioned editors') end end local translator = args['override-translator'] or args['translator'] if translator and not args['nocat'] then translator = string.lower(translator) table.insert(categories, 'Pages with translator') if translator == 'unknown' or translator == 'not mentioned' or translator == '?' then table.insert(categories, 'Translations without translator information specified') end end local author = args['override-author'] or args['author'] if author and (string.lower(author) == 'unknown') and not args['nocat'] then if args.template_name == 'Translation header' then table.insert(categories, 'Translations of anonymous works') else table.insert(categories, 'Anonymous texts') end end -- check for non-existent contributor pages if current_title:inNamespaces(0, 114) or args.testing then local params_to_check = { {param = 'author'}, {param = 'editor'}, {param = 'translator'}, {param = 'composer', tracking_cat = 'Works with non-existent composer pages'}, {param = 'illustrator', tracking_cat = 'Works with non-existent illustrator pages'} } for k, v in pairs(params_to_check) do check_non_existent_author_pages(args, categories, v) check_non_existent_author_pages(args, categories, {param = 'section-' .. v.param, tracking_cat = v.tracking_cat}) end end if args['shortcut'] then if current_title:inNamespaces(0) then table.insert(categories, 'Mainspace pages with shortcuts') elseif current_title:inNamespaces(114) then table.insert(categories, 'Translation namespace pages with shortcuts') end end if args['noyear'] then table.insert(categories, 'Pages with noyear') end if args['noyearcat'] then table.insert(categories, 'Pages with noyearcat') end if args['nolanguagecat'] then table.insert(categories, 'Pages with nolanguagecat') end if args['cover'] then table.insert(categories, 'Pages with an export cover') end -- sanity/maintenance checks on various parameters -- allow-explicit-formatting parameter suppresses this check -- used by, for example, [[Template:Versions]] if not args['allow-explicit-formatting'] and (explicit_formatting(args['title']) or explicit_formatting(args['section'])) then table.insert(categories, 'Pages with explicit formatting in header fields') end -- translation header categories local isMainPage = ((current_title:inNamespaces(0, 114) and not current_title.isSubpage) or args['testing']) if not args['nocat'] and isMainPage then local cat_works_start = 'Works originally in' local cat_translations_start = 'Translations' if args.is_translation then cat_works_start = 'Wikisource translations of works in' cat_translations_start = 'Wikisource translations' end if not args['nolanguagecat'] then if args['languages'] then for i, lang in ipairs(args['languages']) do table.insert(categories, headerLang.language_category_name(cat_works_start, lang, args.is_translation)) end end if args['interwiki-prefix'] then local iw_prefix_parts = mw.text.split(args['interwiki-prefix'], ':', true) table.insert(categories, headerLang.language_category_name(cat_works_start, iw_prefix_parts[1], args.is_translation)) end end if not args['languages'] and args['language-required'] then table.insert(categories, cat_translations_start .. ' with no original language') end if args.template_name == 'Translation header' and not args.original then table.insert(categories, 'Wikisource translations with no original source') end end -- detect inappropriate template use --[=[ if (args['template-name'] ~= 'Translation header' and translator and string.lower(translator) == 'wikisource') or (current_title:inNamespaces(114) and args['template-name'] ~= 'Translation header') then -- tracking category for pages that should be using translation header? end if current_title:inNamespaces(0) and args['template-name'] == 'Translation header' then -- tracking category for translation header in mainspace? end ]=] categories = TableTools.removeDuplicates(categories) local category_links = {} for k, v in pairs(categories) do table.insert(category_links, '[[Category:' .. v .. ']]') end local category_link_text = table.concat(category_links) if args.testing then category_link_text = mw.text.nowiki(category_link_text) .. category_link_text end return category_link_text end --[=[ For debugging ]=] --[=[ function p.construct_categories(args) return construct_categories(args, args) end ]=] --[=[ Assemble the title ]=] local function header_title(args) local title = args.title or '' local titleSpan = tostring(mw.html.create('span'):addClass('wst-header-title-text'):wikitext(title)) local year = construct_year(args) local attr = headerAttribution.construct_attributions(args) local section = headerAttribution.construct_section(args) if attr ~= '' and title ~= '' then attr = tostring(mw.html.create('br'):addClass('wst-header-title-break')) .. attr end return table.concat({titleSpan, year, attr, section}) end --[=[ [[Template:Header]] ]=] function p._header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args -- aliases local dup_cat local newArgs = {} local aliases = { ['section-author'] = 'contributor', ['section-translator'] = 'contributing%-translator' } for k, v in pairs(args) do local newkey = string.lower(string.gsub(string.gsub(tostring(k), '_', '-'), ' ', '-')) for arg, alias in pairs(aliases) do newkey = string.gsub(newkey, alias, arg) end if newkey ~= tostring(k) then if argsWithBlanks[newkey] then dup_cat = 'Pages using duplicate arguments in template calls' end if not args[newkey] then newArgs[newkey] = newArgs[newkey] or v end end if newkey == 'testing' or newkey == 'nocat' or newkey == 'nolanguagecat' or newkey == 'language-required' or string.match(newkey, '%-nolink$') then newArgs[newkey] = newArgs[newkey] or yesno(v) end end for k, v in pairs(newArgs) do args[k] = v argsWithBlanks[k] = v end if dup_cat then table.insert(categories, dup_cat) end args.sortkey = args.defaultsort or args.sortkey -- default values args.template_name = args.template_name or 'Header' if args.testing == nil then args.testing = current_title.fullText == 'Template:Header/testcases' or current_title.fullText == 'Template:Translation header/testcases' end -- noyearcat has different behavior for nil and false args.noyearcat = args.noyearcat or args.nocat == true or nil local language_res = headerLang.get_languages(args) args.languages = language_res.languages args.language_name = language_res.language_name local section_language_res = headerLang.get_languages(args, 'section') args.section_languages = section_language_res.languages args.section_language_name = section_language_res.language_name if not args['interwiki-prefix'] and args['languages'] then if #(args['languages']) > 1 then args['interwiki-prefix'] = 'mul' else args['interwiki-prefix'] = args['languages'][1] end end if args['interwiki-prefix'] then args['interwiki-prefix'] = headerLang['interwiki_prefixes'][args['interwiki-prefix']] or args['interwiki-prefix'] end -- add values to argsWithBlanks for k, v in pairs(args) do if not argsWithBlanks[k] then argsWithBlanks[k] = v end end -- default values for title and section (allow override by setting to blank) if not argsWithBlanks['title'] then args['title'] = parent_links({}) argsWithBlanks['title'] = args['title'] end if not argsWithBlanks['section'] and current_title.isSubpage then args['section'] = current_title.subpageText argsWithBlanks['section'] = args['section'] end -- header args args.pre_container = badge() args.header_class = 'wst-header ws-header ws-noexport noprint dynlayout-exempt ' .. (args.header_class or '') args.main_class = 'headertemplate' -- title args.main_title = header_title(args) -- FIXME: just use Wikidata instead of interwiki links? local interwiki = '' if args.template_name == 'Translation header' and args['interwiki-prefix'] then interwiki = tostring(mw.html.create('span'):addClass('interwiki-info'):attr('id', args['interwiki-prefix']):attr('title', '(original)')) if args.original then -- general interwiki link interwiki = interwiki .. '[[' .. args['interwiki-prefix'] .. ':' .. args.original .. ']]' end end -- set defaultsort tracking categories args.equalsortcat = '[[Category:' .. 'Headers with DefaultSort equal to page title' .. ']]' args.diffsortcat = '[[Category:' .. 'Headers applying DefaultSort key' .. ']]' args.post_notes = table.concat({ headerAttribution.construct_microformat(args), construct_categories(args, argsWithBlanks), construct_defaultsort(args), interwiki }) -- Check if page has copyvio div that needs closing local copyvio_close = '' local page_content = mw.title.getCurrentTitle():getContent() if page_content and page_content:find('<div id="copyvio"', 1, true) and not page_content:find('{{copyvio/e}}', 1, true) and not page_content:find('{{cv/e}}', 1, true) then copyvio_close = '{{copyvio/e}}' end return get_noexport_stylesheet('Header') .. construct_header(args) .. copyvio_close end function p.header(frame) return p._header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end --[=[ [[Template:Translation header]] ]=] function p._translation_header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args args.header_class = 'wst-translation-header' args.template_name = 'Translation header' args.is_translation = true args.notes_class = 'header-notes' args['language-required'] = true return get_noexport_stylesheet('Translation header') .. p._header(args, argsWithBlanks) end function p.translation_header(frame) return p._translation_header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end return p kusvwguu1mw0wf0rny69kkfasihl1ja 9529 9493 2026-06-22T14:15:41Z Sauit 2200 9529 Scribunto text/plain --[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') local parent_links = require('Module:Auto parents')._parent_links local construct_header = require('Module:Header structure').construct_header local headerAttribution = require('Module:Header/attribution') local headerLang = require('Module:Header/lang') local construct_defaultsort = require('Module:Header/sort')._construct_defaultsort local construct_year = require('Module:Header/year').construct_year local current_title = mw.title.getCurrentTitle() --[=[ Wrap stylesheet in noexport div ]=] local function get_noexport_stylesheet(template) return tostring(mw.html.create('div'):addClass('ws-noexport'):wikitext(mw.getCurrentFrame():extensionTag('templatestyles', '', {src = template .. '/styles.css'}))) end --[=[ Get badge if any ]=] local function badge() return require('Module:Edition').badge({args = {category = '1', indicator = '1'}}) end --[=[ Detect explicit formatting in fields like 'section' and 'title' ]=] local function explicit_formatting(str) return str and (string.match(str, "\'\'\'?") or string.match(str, '<%s*/?%s*[iIbB]%s*>')) -- add more cases here or come up with a less silly way to do things end local function check_non_existent_author_pages(args, categories, checkArgs) -- check for cases that aren't supposed to produce a valid link local param = checkArgs.param local tracking_cat = checkArgs.tracking_cat or 'Works with non-existent author pages' if not param or not args[param] or yesno(args[param .. '-nolink']) then return end local lower_arg = string.lower(args[param]) local attr_data = headerAttribution.attr_data[param] or headerAttribution.attr_data[string.gsub(param, 'section%-', '')] if attr_data and attr_data['special_cases'] and attr_data['special_cases'][lower_arg] then return end -- check if page exists local target = mw.title.makeTitle('Author', args[param]) -- expensive function! if not target or not target.exists then table.insert(categories, tracking_cat) end return end local function construct_categories(args, argsWithBlanks) local categories = {} -- categorize subpages local title = current_title local parent_exists = false while title.isSubpage and not parent_exists do title = mw.title.new(title.baseText, title.nsText) parent_exists = title.exists end if parent_exists and title:inNamespaces(0) then table.insert(categories, 'Subpages') elseif parent_exists then table.insert(categories, title.nsText .. ' subpages') end -- add categories from the categories parameter local manual_categories = (args.categories and mw.text.split(args.categories, '%s*/%s*', false)) or {} local using_cat = false for i, category in ipairs(manual_categories) do local cat = mw.text.trim(category) if cat ~= '' then table.insert(categories, cat) using_cat = true end end if using_cat then table.insert(categories, 'Works using categories parameter') end local known_override_types = { ['default'] = 'contributor type', ['author'] = 'author', ['translator'] = 'translator', ['section-author'] = 'contributor' } for k, v in pairs(argsWithBlanks) do -- Check for numerical parameters (which shouldn't be used) if type(k) == 'number' then table.insert(categories, 'Headers with numerical arguments') -- Check for 'override-' parameters elseif string.match(k, '^override%-') then local contrib_type = string.gsub(k, '^override%-', '') contrib_type = string.gsub(contrib_type, '%d*$', '') table.insert(categories, 'Pages with override ' .. (known_override_types[contrib_type] or known_override_types['default'])) end end -- check contributor parameters if args['section-author'] then table.insert(categories, 'Pages with contributor') end local editor = args['override-editor'] or args['editor'] if editor and not args['nocat'] then editor = string.lower(editor) if editor == 'unknown' or editor == '?' then table.insert(categories, 'Works with unknown editors') elseif editor == 'not mentioned' then table.insert(categories, 'Works with unmentioned editors') end end local translator = args['override-translator'] or args['translator'] if translator and not args['nocat'] then translator = string.lower(translator) table.insert(categories, 'Pages with translator') if translator == 'unknown' or translator == 'not mentioned' or translator == '?' then table.insert(categories, 'Translations without translator information specified') end end local author = args['override-author'] or args['author'] if author and (string.lower(author) == 'unknown') and not args['nocat'] then if args.template_name == 'Translation header' then table.insert(categories, 'Translations of anonymous works') else table.insert(categories, 'Anonymous texts') end end -- check for non-existent contributor pages if current_title:inNamespaces(0, 103) or args.testing then local params_to_check = { {param = 'author'}, {param = 'editor'}, {param = 'translator'}, {param = 'composer', tracking_cat = 'Works with non-existent composer pages'}, {param = 'illustrator', tracking_cat = 'Works with non-existent illustrator pages'} } for k, v in pairs(params_to_check) do check_non_existent_author_pages(args, categories, v) check_non_existent_author_pages(args, categories, {param = 'section-' .. v.param, tracking_cat = v.tracking_cat}) end end if args['shortcut'] then if current_title:inNamespaces(0) then table.insert(categories, 'Mainspace pages with shortcuts') elseif current_title:inNamespaces(114) then table.insert(categories, 'Translation namespace pages with shortcuts') end end if args['noyear'] then table.insert(categories, 'Pages with noyear') end if args['noyearcat'] then table.insert(categories, 'Pages with noyearcat') end if args['nolanguagecat'] then table.insert(categories, 'Pages with nolanguagecat') end if args['cover'] then table.insert(categories, 'Pages with an export cover') end -- sanity/maintenance checks on various parameters -- allow-explicit-formatting parameter suppresses this check -- used by, for example, [[Template:Versions]] if not args['allow-explicit-formatting'] and (explicit_formatting(args['title']) or explicit_formatting(args['section'])) then table.insert(categories, 'Pages with explicit formatting in header fields') end -- translation header categories local isMainPage = ((current_title:inNamespaces(0, 114) and not current_title.isSubpage) or args['testing']) if not args['nocat'] and isMainPage then local cat_works_start = 'Works originally in' local cat_translations_start = 'Translations' if args.is_translation then cat_works_start = 'Wikisource translations of works in' cat_translations_start = 'Wikisource translations' end if not args['nolanguagecat'] then if args['languages'] then for i, lang in ipairs(args['languages']) do table.insert(categories, headerLang.language_category_name(cat_works_start, lang, args.is_translation)) end end if args['interwiki-prefix'] then local iw_prefix_parts = mw.text.split(args['interwiki-prefix'], ':', true) table.insert(categories, headerLang.language_category_name(cat_works_start, iw_prefix_parts[1], args.is_translation)) end end if not args['languages'] and args['language-required'] then table.insert(categories, cat_translations_start .. ' with no original language') end if args.template_name == 'Translation header' and not args.original then table.insert(categories, 'Wikisource translations with no original source') end end -- detect inappropriate template use --[=[ if (args['template-name'] ~= 'Translation header' and translator and string.lower(translator) == 'wikisource') or (current_title:inNamespaces(114) and args['template-name'] ~= 'Translation header') then -- tracking category for pages that should be using translation header? end if current_title:inNamespaces(0) and args['template-name'] == 'Translation header' then -- tracking category for translation header in mainspace? end ]=] categories = TableTools.removeDuplicates(categories) local category_links = {} for k, v in pairs(categories) do table.insert(category_links, '[[Category:' .. v .. ']]') end local category_link_text = table.concat(category_links) if args.testing then category_link_text = mw.text.nowiki(category_link_text) .. category_link_text end return category_link_text end --[=[ For debugging ]=] --[=[ function p.construct_categories(args) return construct_categories(args, args) end ]=] --[=[ Assemble the title ]=] local function header_title(args) local title = args.title or '' local titleSpan = tostring(mw.html.create('span'):addClass('wst-header-title-text'):wikitext(title)) local year = construct_year(args) local attr = headerAttribution.construct_attributions(args) local section = headerAttribution.construct_section(args) if attr ~= '' and title ~= '' then attr = tostring(mw.html.create('br'):addClass('wst-header-title-break')) .. attr end return table.concat({titleSpan, year, attr, section}) end --[=[ [[Template:Header]] ]=] function p._header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args -- aliases local dup_cat local newArgs = {} local aliases = { ['section-author'] = 'contributor', ['section-translator'] = 'contributing%-translator' } for k, v in pairs(args) do local newkey = string.lower(string.gsub(string.gsub(tostring(k), '_', '-'), ' ', '-')) for arg, alias in pairs(aliases) do newkey = string.gsub(newkey, alias, arg) end if newkey ~= tostring(k) then if argsWithBlanks[newkey] then dup_cat = 'Pages using duplicate arguments in template calls' end if not args[newkey] then newArgs[newkey] = newArgs[newkey] or v end end if newkey == 'testing' or newkey == 'nocat' or newkey == 'nolanguagecat' or newkey == 'language-required' or string.match(newkey, '%-nolink$') then newArgs[newkey] = newArgs[newkey] or yesno(v) end end for k, v in pairs(newArgs) do args[k] = v argsWithBlanks[k] = v end if dup_cat then table.insert(categories, dup_cat) end args.sortkey = args.defaultsort or args.sortkey -- default values args.template_name = args.template_name or 'Header' if args.testing == nil then args.testing = current_title.fullText == 'Template:Header/testcases' or current_title.fullText == 'Template:Translation header/testcases' end -- noyearcat has different behavior for nil and false args.noyearcat = args.noyearcat or args.nocat == true or nil local language_res = headerLang.get_languages(args) args.languages = language_res.languages args.language_name = language_res.language_name local section_language_res = headerLang.get_languages(args, 'section') args.section_languages = section_language_res.languages args.section_language_name = section_language_res.language_name if not args['interwiki-prefix'] and args['languages'] then if #(args['languages']) > 1 then args['interwiki-prefix'] = 'mul' else args['interwiki-prefix'] = args['languages'][1] end end if args['interwiki-prefix'] then args['interwiki-prefix'] = headerLang['interwiki_prefixes'][args['interwiki-prefix']] or args['interwiki-prefix'] end -- add values to argsWithBlanks for k, v in pairs(args) do if not argsWithBlanks[k] then argsWithBlanks[k] = v end end -- default values for title and section (allow override by setting to blank) if not argsWithBlanks['title'] then args['title'] = parent_links({}) argsWithBlanks['title'] = args['title'] end if not argsWithBlanks['section'] and current_title.isSubpage then args['section'] = current_title.subpageText argsWithBlanks['section'] = args['section'] end -- header args args.pre_container = badge() args.header_class = 'wst-header ws-header ws-noexport noprint dynlayout-exempt ' .. (args.header_class or '') args.main_class = 'headertemplate' -- title args.main_title = header_title(args) -- FIXME: just use Wikidata instead of interwiki links? local interwiki = '' if args.template_name == 'Translation header' and args['interwiki-prefix'] then interwiki = tostring(mw.html.create('span'):addClass('interwiki-info'):attr('id', args['interwiki-prefix']):attr('title', '(original)')) if args.original then -- general interwiki link interwiki = interwiki .. '[[' .. args['interwiki-prefix'] .. ':' .. args.original .. ']]' end end -- set defaultsort tracking categories args.equalsortcat = '[[Category:' .. 'Headers with DefaultSort equal to page title' .. ']]' args.diffsortcat = '[[Category:' .. 'Headers applying DefaultSort key' .. ']]' args.post_notes = table.concat({ headerAttribution.construct_microformat(args), construct_categories(args, argsWithBlanks), construct_defaultsort(args), interwiki }) -- Check if page has copyvio div that needs closing local copyvio_close = '' local page_content = mw.title.getCurrentTitle():getContent() if page_content and page_content:find('<div id="copyvio"', 1, true) and not page_content:find('{{copyvio/e}}', 1, true) and not page_content:find('{{cv/e}}', 1, true) then copyvio_close = '{{copyvio/e}}' end return get_noexport_stylesheet('Header') .. construct_header(args) .. copyvio_close end function p.header(frame) return p._header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end --[=[ [[Template:Translation header]] ]=] function p._translation_header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args args.header_class = 'wst-translation-header' args.template_name = 'Translation header' args.is_translation = true args.notes_class = 'header-notes' args['language-required'] = true return get_noexport_stylesheet('Translation header') .. p._header(args, argsWithBlanks) end function p.translation_header(frame) return p._translation_header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end return p sg4dmtqw4w32wbpqqha8se31ramaxp0 9530 9529 2026-06-22T14:15:59Z Sauit 2200 9530 Scribunto text/plain --[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') local parent_links = require('Module:Auto parents')._parent_links local construct_header = require('Module:Header structure').construct_header local headerAttribution = require('Module:Header/attribution') local headerLang = require('Module:Header/lang') local construct_defaultsort = require('Module:Header/sort')._construct_defaultsort local construct_year = require('Module:Header/year').construct_year local current_title = mw.title.getCurrentTitle() --[=[ Wrap stylesheet in noexport div ]=] local function get_noexport_stylesheet(template) return tostring(mw.html.create('div'):addClass('ws-noexport'):wikitext(mw.getCurrentFrame():extensionTag('templatestyles', '', {src = template .. '/styles.css'}))) end --[=[ Get badge if any ]=] local function badge() return require('Module:Edition').badge({args = {category = '1', indicator = '1'}}) end --[=[ Detect explicit formatting in fields like 'section' and 'title' ]=] local function explicit_formatting(str) return str and (string.match(str, "\'\'\'?") or string.match(str, '<%s*/?%s*[iIbB]%s*>')) -- add more cases here or come up with a less silly way to do things end local function check_non_existent_author_pages(args, categories, checkArgs) -- check for cases that aren't supposed to produce a valid link local param = checkArgs.param local tracking_cat = checkArgs.tracking_cat or 'Works with non-existent author pages' if not param or not args[param] or yesno(args[param .. '-nolink']) then return end local lower_arg = string.lower(args[param]) local attr_data = headerAttribution.attr_data[param] or headerAttribution.attr_data[string.gsub(param, 'section%-', '')] if attr_data and attr_data['special_cases'] and attr_data['special_cases'][lower_arg] then return end -- check if page exists local target = mw.title.makeTitle('Author', args[param]) -- expensive function! if not target or not target.exists then table.insert(categories, tracking_cat) end return end local function construct_categories(args, argsWithBlanks) local categories = {} -- categorize subpages local title = current_title local parent_exists = false while title.isSubpage and not parent_exists do title = mw.title.new(title.baseText, title.nsText) parent_exists = title.exists end if parent_exists and title:inNamespaces(0) then table.insert(categories, 'Subpages') elseif parent_exists then table.insert(categories, title.nsText .. ' subpages') end -- add categories from the categories parameter local manual_categories = (args.categories and mw.text.split(args.categories, '%s*/%s*', false)) or {} local using_cat = false for i, category in ipairs(manual_categories) do local cat = mw.text.trim(category) if cat ~= '' then table.insert(categories, cat) using_cat = true end end if using_cat then table.insert(categories, 'Works using categories parameter') end local known_override_types = { ['default'] = 'contributor type', ['author'] = 'author', ['translator'] = 'translator', ['section-author'] = 'contributor' } for k, v in pairs(argsWithBlanks) do -- Check for numerical parameters (which shouldn't be used) if type(k) == 'number' then table.insert(categories, 'Headers with numerical arguments') -- Check for 'override-' parameters elseif string.match(k, '^override%-') then local contrib_type = string.gsub(k, '^override%-', '') contrib_type = string.gsub(contrib_type, '%d*$', '') table.insert(categories, 'Pages with override ' .. (known_override_types[contrib_type] or known_override_types['default'])) end end -- check contributor parameters if args['section-author'] then table.insert(categories, 'Pages with contributor') end local editor = args['override-editor'] or args['editor'] if editor and not args['nocat'] then editor = string.lower(editor) if editor == 'unknown' or editor == '?' then table.insert(categories, 'Works with unknown editors') elseif editor == 'not mentioned' then table.insert(categories, 'Works with unmentioned editors') end end local translator = args['override-translator'] or args['translator'] if translator and not args['nocat'] then translator = string.lower(translator) table.insert(categories, 'Pages with translator') if translator == 'unknown' or translator == 'not mentioned' or translator == '?' then table.insert(categories, 'Translations without translator information specified') end end local author = args['override-author'] or args['author'] if author and (string.lower(author) == 'unknown') and not args['nocat'] then if args.template_name == 'Translation header' then table.insert(categories, 'Translations of anonymous works') else table.insert(categories, 'Anonymous texts') end end -- check for non-existent contributor pages if current_title:inNamespaces(0, 103) or args.testing then local params_to_check = { {param = 'author'}, {param = 'editor'}, {param = 'translator'}, {param = 'composer', tracking_cat = 'Works with non-existent composer pages'}, {param = 'illustrator', tracking_cat = 'Works with non-existent illustrator pages'} } for k, v in pairs(params_to_check) do check_non_existent_author_pages(args, categories, v) check_non_existent_author_pages(args, categories, {param = 'section-' .. v.param, tracking_cat = v.tracking_cat}) end end if args['shortcut'] then if current_title:inNamespaces(0) then table.insert(categories, 'Mainspace pages with shortcuts') elseif current_title:inNamespaces(114) then table.insert(categories, 'Translation namespace pages with shortcuts') end end if args['noyear'] then table.insert(categories, 'Pages with noyear') end if args['noyearcat'] then table.insert(categories, 'Pages with noyearcat') end if args['nolanguagecat'] then table.insert(categories, 'Pages with nolanguagecat') end if args['cover'] then table.insert(categories, 'Pages with an export cover') end -- sanity/maintenance checks on various parameters -- allow-explicit-formatting parameter suppresses this check -- used by, for example, [[Template:Versions]] if not args['allow-explicit-formatting'] and (explicit_formatting(args['title']) or explicit_formatting(args['section'])) then table.insert(categories, 'Pages with explicit formatting in header fields') end -- translation header categories local isMainPage = ((current_title:inNamespaces(0, 103) and not current_title.isSubpage) or args['testing']) if not args['nocat'] and isMainPage then local cat_works_start = 'Works originally in' local cat_translations_start = 'Translations' if args.is_translation then cat_works_start = 'Wikisource translations of works in' cat_translations_start = 'Wikisource translations' end if not args['nolanguagecat'] then if args['languages'] then for i, lang in ipairs(args['languages']) do table.insert(categories, headerLang.language_category_name(cat_works_start, lang, args.is_translation)) end end if args['interwiki-prefix'] then local iw_prefix_parts = mw.text.split(args['interwiki-prefix'], ':', true) table.insert(categories, headerLang.language_category_name(cat_works_start, iw_prefix_parts[1], args.is_translation)) end end if not args['languages'] and args['language-required'] then table.insert(categories, cat_translations_start .. ' with no original language') end if args.template_name == 'Translation header' and not args.original then table.insert(categories, 'Wikisource translations with no original source') end end -- detect inappropriate template use --[=[ if (args['template-name'] ~= 'Translation header' and translator and string.lower(translator) == 'wikisource') or (current_title:inNamespaces(114) and args['template-name'] ~= 'Translation header') then -- tracking category for pages that should be using translation header? end if current_title:inNamespaces(0) and args['template-name'] == 'Translation header' then -- tracking category for translation header in mainspace? end ]=] categories = TableTools.removeDuplicates(categories) local category_links = {} for k, v in pairs(categories) do table.insert(category_links, '[[Category:' .. v .. ']]') end local category_link_text = table.concat(category_links) if args.testing then category_link_text = mw.text.nowiki(category_link_text) .. category_link_text end return category_link_text end --[=[ For debugging ]=] --[=[ function p.construct_categories(args) return construct_categories(args, args) end ]=] --[=[ Assemble the title ]=] local function header_title(args) local title = args.title or '' local titleSpan = tostring(mw.html.create('span'):addClass('wst-header-title-text'):wikitext(title)) local year = construct_year(args) local attr = headerAttribution.construct_attributions(args) local section = headerAttribution.construct_section(args) if attr ~= '' and title ~= '' then attr = tostring(mw.html.create('br'):addClass('wst-header-title-break')) .. attr end return table.concat({titleSpan, year, attr, section}) end --[=[ [[Template:Header]] ]=] function p._header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args -- aliases local dup_cat local newArgs = {} local aliases = { ['section-author'] = 'contributor', ['section-translator'] = 'contributing%-translator' } for k, v in pairs(args) do local newkey = string.lower(string.gsub(string.gsub(tostring(k), '_', '-'), ' ', '-')) for arg, alias in pairs(aliases) do newkey = string.gsub(newkey, alias, arg) end if newkey ~= tostring(k) then if argsWithBlanks[newkey] then dup_cat = 'Pages using duplicate arguments in template calls' end if not args[newkey] then newArgs[newkey] = newArgs[newkey] or v end end if newkey == 'testing' or newkey == 'nocat' or newkey == 'nolanguagecat' or newkey == 'language-required' or string.match(newkey, '%-nolink$') then newArgs[newkey] = newArgs[newkey] or yesno(v) end end for k, v in pairs(newArgs) do args[k] = v argsWithBlanks[k] = v end if dup_cat then table.insert(categories, dup_cat) end args.sortkey = args.defaultsort or args.sortkey -- default values args.template_name = args.template_name or 'Header' if args.testing == nil then args.testing = current_title.fullText == 'Template:Header/testcases' or current_title.fullText == 'Template:Translation header/testcases' end -- noyearcat has different behavior for nil and false args.noyearcat = args.noyearcat or args.nocat == true or nil local language_res = headerLang.get_languages(args) args.languages = language_res.languages args.language_name = language_res.language_name local section_language_res = headerLang.get_languages(args, 'section') args.section_languages = section_language_res.languages args.section_language_name = section_language_res.language_name if not args['interwiki-prefix'] and args['languages'] then if #(args['languages']) > 1 then args['interwiki-prefix'] = 'mul' else args['interwiki-prefix'] = args['languages'][1] end end if args['interwiki-prefix'] then args['interwiki-prefix'] = headerLang['interwiki_prefixes'][args['interwiki-prefix']] or args['interwiki-prefix'] end -- add values to argsWithBlanks for k, v in pairs(args) do if not argsWithBlanks[k] then argsWithBlanks[k] = v end end -- default values for title and section (allow override by setting to blank) if not argsWithBlanks['title'] then args['title'] = parent_links({}) argsWithBlanks['title'] = args['title'] end if not argsWithBlanks['section'] and current_title.isSubpage then args['section'] = current_title.subpageText argsWithBlanks['section'] = args['section'] end -- header args args.pre_container = badge() args.header_class = 'wst-header ws-header ws-noexport noprint dynlayout-exempt ' .. (args.header_class or '') args.main_class = 'headertemplate' -- title args.main_title = header_title(args) -- FIXME: just use Wikidata instead of interwiki links? local interwiki = '' if args.template_name == 'Translation header' and args['interwiki-prefix'] then interwiki = tostring(mw.html.create('span'):addClass('interwiki-info'):attr('id', args['interwiki-prefix']):attr('title', '(original)')) if args.original then -- general interwiki link interwiki = interwiki .. '[[' .. args['interwiki-prefix'] .. ':' .. args.original .. ']]' end end -- set defaultsort tracking categories args.equalsortcat = '[[Category:' .. 'Headers with DefaultSort equal to page title' .. ']]' args.diffsortcat = '[[Category:' .. 'Headers applying DefaultSort key' .. ']]' args.post_notes = table.concat({ headerAttribution.construct_microformat(args), construct_categories(args, argsWithBlanks), construct_defaultsort(args), interwiki }) -- Check if page has copyvio div that needs closing local copyvio_close = '' local page_content = mw.title.getCurrentTitle():getContent() if page_content and page_content:find('<div id="copyvio"', 1, true) and not page_content:find('{{copyvio/e}}', 1, true) and not page_content:find('{{cv/e}}', 1, true) then copyvio_close = '{{copyvio/e}}' end return get_noexport_stylesheet('Header') .. construct_header(args) .. copyvio_close end function p.header(frame) return p._header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end --[=[ [[Template:Translation header]] ]=] function p._translation_header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args args.header_class = 'wst-translation-header' args.template_name = 'Translation header' args.is_translation = true args.notes_class = 'header-notes' args['language-required'] = true return get_noexport_stylesheet('Translation header') .. p._header(args, argsWithBlanks) end function p.translation_header(frame) return p._translation_header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end return p c117b72tvb3jkqxau1urhhg4nk7fifc 9541 9530 2026-06-22T14:38:01Z Sauit 2200 9541 Scribunto text/plain --[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') local parent_links = require('Module:Auto parents')._parent_links local construct_header = require('Module:Header structure').construct_header local headerAttribution = require('Module:Header/attribution') local headerLang = require('Module:Header/lang') local construct_defaultsort = require('Module:Header/sort')._construct_defaultsort local construct_year = require('Module:Header/year').construct_year local current_title = mw.title.getCurrentTitle() --[=[ Wrap stylesheet in noexport div ]=] local function get_noexport_stylesheet(template) return tostring(mw.html.create('div'):addClass('ws-noexport'):wikitext(mw.getCurrentFrame():extensionTag('templatestyles', '', {src = template .. '/styles.css'}))) end --[=[ Get badge if any ]=] local function badge() return require('Module:Edition').badge({args = {category = '1', indicator = '1'}}) end --[=[ Detect explicit formatting in fields like 'section' and 'title' ]=] local function explicit_formatting(str) return str and (string.match(str, "\'\'\'?") or string.match(str, '<%s*/?%s*[iIbB]%s*>')) -- add more cases here or come up with a less silly way to do things end local function check_non_existent_author_pages(args, categories, checkArgs) -- check for cases that aren't supposed to produce a valid link local param = checkArgs.param local tracking_cat = checkArgs.tracking_cat or 'Ааптар туһунан сирэйэ суох айымньылар' if not param or not args[param] or yesno(args[param .. '-nolink']) then return end local lower_arg = string.lower(args[param]) local attr_data = headerAttribution.attr_data[param] or headerAttribution.attr_data[string.gsub(param, 'section%-', '')] if attr_data and attr_data['special_cases'] and attr_data['special_cases'][lower_arg] then return end -- check if page exists local target = mw.title.makeTitle('Author', args[param]) -- expensive function! if not target or not target.exists then table.insert(categories, tracking_cat) end return end local function construct_categories(args, argsWithBlanks) local categories = {} -- categorize subpages local title = current_title local parent_exists = false while title.isSubpage and not parent_exists do title = mw.title.new(title.baseText, title.nsText) parent_exists = title.exists end if parent_exists and title:inNamespaces(0) then table.insert(categories, 'Subpages') elseif parent_exists then table.insert(categories, title.nsText .. ' subpages') end -- add categories from the categories parameter local manual_categories = (args.categories and mw.text.split(args.categories, '%s*/%s*', false)) or {} local using_cat = false for i, category in ipairs(manual_categories) do local cat = mw.text.trim(category) if cat ~= '' then table.insert(categories, cat) using_cat = true end end if using_cat then table.insert(categories, 'Categories параметры туттар сирэйдэр') end local known_override_types = { ['default'] = 'contributor type', ['author'] = 'author', ['translator'] = 'translator', ['section-author'] = 'contributor' } for k, v in pairs(argsWithBlanks) do -- Check for numerical parameters (which shouldn't be used) if type(k) == 'number' then table.insert(categories, 'Номмердаммыт параметрдаах үрдэ сирэйдэрэ') -- Check for 'override-' parameters elseif string.match(k, '^override%-') then local contrib_type = string.gsub(k, '^override%-', '') contrib_type = string.gsub(contrib_type, '%d*$', '') table.insert(categories, 'Pages with override ' .. (known_override_types[contrib_type] or known_override_types['default'])) end end -- check contributor parameters if args['section-author'] then table.insert(categories, 'Редактордаах айымньылар') end local editor = args['override-editor'] or args['editor'] if editor and not args['nocat'] then editor = string.lower(editor) if editor == 'unknown' or editor == '?' then table.insert(categories, 'Биллибэт редактордаах айымньылар') elseif editor == 'not mentioned' then table.insert(categories, 'Ыйыллыбатах редактордаах айымньылар') end end local translator = args['override-translator'] or args['translator'] if translator and not args['nocat'] then translator = string.lower(translator) table.insert(categories, 'Тылбаасчыттаах айымньылар') if translator == 'unknown' or translator == 'not mentioned' or translator == '?' then table.insert(categories, 'Тылбаасчыта ыйыллыбатах тылбаастар') end end local author = args['override-author'] or args['author'] if author and (string.lower(author) == 'unknown') and not args['nocat'] then if args.template_name == 'Translation header' then table.insert(categories, 'Анонимнай айымньылар тылбаастара') else table.insert(categories, 'Анонимнай айымньылар') end end -- check for non-existent contributor pages if current_title:inNamespaces(0, 103) or args.testing then local params_to_check = { {param = 'author'}, {param = 'editor'}, {param = 'translator'}, {param = 'composer', tracking_cat = 'Works with non-existent composer pages'}, {param = 'illustrator', tracking_cat = 'Works with non-existent illustrator pages'} } for k, v in pairs(params_to_check) do check_non_existent_author_pages(args, categories, v) check_non_existent_author_pages(args, categories, {param = 'section-' .. v.param, tracking_cat = v.tracking_cat}) end end if args['shortcut'] then if current_title:inNamespaces(0) then table.insert(categories, 'Mainspace pages with shortcuts') elseif current_title:inNamespaces(114) then table.insert(categories, 'Translation namespace pages with shortcuts') end end if args['noyear'] then table.insert(categories, 'Pages with noyear') end if args['noyearcat'] then table.insert(categories, 'Pages with noyearcat') end if args['nolanguagecat'] then table.insert(categories, 'Pages with nolanguagecat') end if args['cover'] then table.insert(categories, 'Pages with an export cover') end -- sanity/maintenance checks on various parameters -- allow-explicit-formatting parameter suppresses this check -- used by, for example, [[Template:Versions]] if not args['allow-explicit-formatting'] and (explicit_formatting(args['title']) or explicit_formatting(args['section'])) then table.insert(categories, 'Pages with explicit formatting in header fields') end -- translation header categories local isMainPage = ((current_title:inNamespaces(0, 103) and not current_title.isSubpage) or args['testing']) if not args['nocat'] and isMainPage then local cat_works_start = 'Works originally in' local cat_translations_start = 'Translations' if args.is_translation then cat_works_start = 'Wikisource translations of works in' cat_translations_start = 'Wikisource translations' end if not args['nolanguagecat'] then if args['languages'] then for i, lang in ipairs(args['languages']) do table.insert(categories, headerLang.language_category_name(cat_works_start, lang, args.is_translation)) end end if args['interwiki-prefix'] then local iw_prefix_parts = mw.text.split(args['interwiki-prefix'], ':', true) table.insert(categories, headerLang.language_category_name(cat_works_start, iw_prefix_parts[1], args.is_translation)) end end if not args['languages'] and args['language-required'] then table.insert(categories, cat_translations_start .. ' with no original language') end if args.template_name == 'Translation header' and not args.original then table.insert(categories, 'Wikisource translations with no original source') end end -- detect inappropriate template use --[=[ if (args['template-name'] ~= 'Translation header' and translator and string.lower(translator) == 'wikisource') or (current_title:inNamespaces(114) and args['template-name'] ~= 'Translation header') then -- tracking category for pages that should be using translation header? end if current_title:inNamespaces(0) and args['template-name'] == 'Translation header' then -- tracking category for translation header in mainspace? end ]=] categories = TableTools.removeDuplicates(categories) local category_links = {} for k, v in pairs(categories) do table.insert(category_links, '[[Category:' .. v .. ']]') end local category_link_text = table.concat(category_links) if args.testing then category_link_text = mw.text.nowiki(category_link_text) .. category_link_text end return category_link_text end --[=[ For debugging ]=] --[=[ function p.construct_categories(args) return construct_categories(args, args) end ]=] --[=[ Assemble the title ]=] local function header_title(args) local title = args.title or '' local titleSpan = tostring(mw.html.create('span'):addClass('wst-header-title-text'):wikitext(title)) local year = construct_year(args) local attr = headerAttribution.construct_attributions(args) local section = headerAttribution.construct_section(args) if attr ~= '' and title ~= '' then attr = tostring(mw.html.create('br'):addClass('wst-header-title-break')) .. attr end return table.concat({titleSpan, year, attr, section}) end --[=[ [[Template:Header]] ]=] function p._header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args -- aliases local dup_cat local newArgs = {} local aliases = { ['section-author'] = 'contributor', ['section-translator'] = 'contributing%-translator' } for k, v in pairs(args) do local newkey = string.lower(string.gsub(string.gsub(tostring(k), '_', '-'), ' ', '-')) for arg, alias in pairs(aliases) do newkey = string.gsub(newkey, alias, arg) end if newkey ~= tostring(k) then if argsWithBlanks[newkey] then dup_cat = 'Pages using duplicate arguments in template calls' end if not args[newkey] then newArgs[newkey] = newArgs[newkey] or v end end if newkey == 'testing' or newkey == 'nocat' or newkey == 'nolanguagecat' or newkey == 'language-required' or string.match(newkey, '%-nolink$') then newArgs[newkey] = newArgs[newkey] or yesno(v) end end for k, v in pairs(newArgs) do args[k] = v argsWithBlanks[k] = v end if dup_cat then table.insert(categories, dup_cat) end args.sortkey = args.defaultsort or args.sortkey -- default values args.template_name = args.template_name or 'Header' if args.testing == nil then args.testing = current_title.fullText == 'Template:Header/testcases' or current_title.fullText == 'Template:Translation header/testcases' end -- noyearcat has different behavior for nil and false args.noyearcat = args.noyearcat or args.nocat == true or nil local language_res = headerLang.get_languages(args) args.languages = language_res.languages args.language_name = language_res.language_name local section_language_res = headerLang.get_languages(args, 'section') args.section_languages = section_language_res.languages args.section_language_name = section_language_res.language_name if not args['interwiki-prefix'] and args['languages'] then if #(args['languages']) > 1 then args['interwiki-prefix'] = 'mul' else args['interwiki-prefix'] = args['languages'][1] end end if args['interwiki-prefix'] then args['interwiki-prefix'] = headerLang['interwiki_prefixes'][args['interwiki-prefix']] or args['interwiki-prefix'] end -- add values to argsWithBlanks for k, v in pairs(args) do if not argsWithBlanks[k] then argsWithBlanks[k] = v end end -- default values for title and section (allow override by setting to blank) if not argsWithBlanks['title'] then args['title'] = parent_links({}) argsWithBlanks['title'] = args['title'] end if not argsWithBlanks['section'] and current_title.isSubpage then args['section'] = current_title.subpageText argsWithBlanks['section'] = args['section'] end -- header args args.pre_container = badge() args.header_class = 'wst-header ws-header ws-noexport noprint dynlayout-exempt ' .. (args.header_class or '') args.main_class = 'headertemplate' -- title args.main_title = header_title(args) -- FIXME: just use Wikidata instead of interwiki links? local interwiki = '' if args.template_name == 'Translation header' and args['interwiki-prefix'] then interwiki = tostring(mw.html.create('span'):addClass('interwiki-info'):attr('id', args['interwiki-prefix']):attr('title', '(original)')) if args.original then -- general interwiki link interwiki = interwiki .. '[[' .. args['interwiki-prefix'] .. ':' .. args.original .. ']]' end end -- set defaultsort tracking categories args.equalsortcat = '[[Category:' .. 'Headers with DefaultSort equal to page title' .. ']]' args.diffsortcat = '[[Category:' .. 'Headers applying DefaultSort key' .. ']]' args.post_notes = table.concat({ headerAttribution.construct_microformat(args), construct_categories(args, argsWithBlanks), construct_defaultsort(args), interwiki }) -- Check if page has copyvio div that needs closing local copyvio_close = '' local page_content = mw.title.getCurrentTitle():getContent() if page_content and page_content:find('<div id="copyvio"', 1, true) and not page_content:find('{{copyvio/e}}', 1, true) and not page_content:find('{{cv/e}}', 1, true) then copyvio_close = '{{copyvio/e}}' end return get_noexport_stylesheet('Header') .. construct_header(args) .. copyvio_close end function p.header(frame) return p._header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end --[=[ [[Template:Translation header]] ]=] function p._translation_header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args args.header_class = 'wst-translation-header' args.template_name = 'Translation header' args.is_translation = true args.notes_class = 'header-notes' args['language-required'] = true return get_noexport_stylesheet('Translation header') .. p._header(args, argsWithBlanks) end function p.translation_header(frame) return p._translation_header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end return p p2wj7dndteq1ddbi1n31fr887ul37ye 9543 9541 2026-06-22T14:40:45Z Sauit 2200 9543 Scribunto text/plain --[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') local parent_links = require('Module:Auto parents')._parent_links local construct_header = require('Module:Header structure').construct_header local headerAttribution = require('Module:Header/attribution') local headerLang = require('Module:Header/lang') local construct_defaultsort = require('Module:Header/sort')._construct_defaultsort local construct_year = require('Module:Header/year').construct_year local current_title = mw.title.getCurrentTitle() --[=[ Wrap stylesheet in noexport div ]=] local function get_noexport_stylesheet(template) return tostring(mw.html.create('div'):addClass('ws-noexport'):wikitext(mw.getCurrentFrame():extensionTag('templatestyles', '', {src = template .. '/styles.css'}))) end --[=[ Get badge if any ]=] local function badge() return require('Module:Edition').badge({args = {category = '1', indicator = '1'}}) end --[=[ Detect explicit formatting in fields like 'section' and 'title' ]=] local function explicit_formatting(str) return str and (string.match(str, "\'\'\'?") or string.match(str, '<%s*/?%s*[iIbB]%s*>')) -- add more cases here or come up with a less silly way to do things end local function check_non_existent_author_pages(args, categories, checkArgs) -- check for cases that aren't supposed to produce a valid link local param = checkArgs.param local tracking_cat = checkArgs.tracking_cat or 'Ааптар туһунан сирэйэ суох айымньылар' if not param or not args[param] or yesno(args[param .. '-nolink']) then return end local lower_arg = string.lower(args[param]) local attr_data = headerAttribution.attr_data[param] or headerAttribution.attr_data[string.gsub(param, 'section%-', '')] if attr_data and attr_data['special_cases'] and attr_data['special_cases'][lower_arg] then return end -- check if page exists local target = mw.title.makeTitle('Author', args[param]) -- expensive function! if not target or not target.exists then table.insert(categories, tracking_cat) end return end local function construct_categories(args, argsWithBlanks) local categories = {} -- categorize subpages local title = current_title local parent_exists = false while title.isSubpage and not parent_exists do title = mw.title.new(title.baseText, title.nsText) parent_exists = title.exists end if parent_exists and title:inNamespaces(0) then table.insert(categories, 'Subpages') elseif parent_exists then table.insert(categories, title.nsText .. ' subpages') end -- add categories from the categories parameter local manual_categories = (args.categories and mw.text.split(args.categories, '%s*/%s*', false)) or {} local using_cat = false for i, category in ipairs(manual_categories) do local cat = mw.text.trim(category) if cat ~= '' then table.insert(categories, cat) using_cat = true end end if using_cat then table.insert(categories, 'Categories параметры туттар сирэйдэр') end local known_override_types = { ['default'] = 'contributor type', ['author'] = 'author', ['translator'] = 'translator', ['section-author'] = 'contributor' } for k, v in pairs(argsWithBlanks) do -- Check for numerical parameters (which shouldn't be used) if type(k) == 'number' then table.insert(categories, 'Номмердаммыт параметрдаах үрдэ сирэйдэрэ') -- Check for 'override-' parameters elseif string.match(k, '^override%-') then local contrib_type = string.gsub(k, '^override%-', '') contrib_type = string.gsub(contrib_type, '%d*$', '') table.insert(categories, 'Pages with override ' .. (known_override_types[contrib_type] or known_override_types['default'])) end end -- check contributor parameters if args['section-author'] then table.insert(categories, 'Редактордаах айымньылар') end local editor = args['override-editor'] or args['editor'] if editor and not args['nocat'] then editor = string.lower(editor) if editor == 'unknown' or editor == '?' then table.insert(categories, 'Биллибэт редактордаах айымньылар') elseif editor == 'not mentioned' then table.insert(categories, 'Ыйыллыбатах редактордаах айымньылар') end end local translator = args['override-translator'] or args['translator'] if translator and not args['nocat'] then translator = string.lower(translator) table.insert(categories, 'Тылбаасчыттаах айымньылар') if translator == 'unknown' or translator == 'not mentioned' or translator == '?' then table.insert(categories, 'Тылбаасчыта ыйыллыбатах тылбаастар') end end local author = args['override-author'] or args['author'] if author and (string.lower(author) == 'unknown') and not args['nocat'] then if args.template_name == 'Translation header' then table.insert(categories, 'Анонимнай айымньылар тылбаастара') else table.insert(categories, 'Анонимнай айымньылар') end end -- check for non-existent contributor pages if current_title:inNamespaces(0, 103) or args.testing then local params_to_check = { {param = 'author'}, {param = 'editor'}, {param = 'translator'}, {param = 'composer', tracking_cat = 'Works with non-existent composer pages'}, {param = 'illustrator', tracking_cat = 'Works with non-existent illustrator pages'} } for k, v in pairs(params_to_check) do check_non_existent_author_pages(args, categories, v) check_non_existent_author_pages(args, categories, {param = 'section-' .. v.param, tracking_cat = v.tracking_cat}) end end if args['shortcut'] then if current_title:inNamespaces(0) then table.insert(categories, 'Mainspace pages with shortcuts') elseif current_title:inNamespaces(114) then table.insert(categories, 'Translation namespace pages with shortcuts') end end if args['noyear'] then table.insert(categories, 'Pages with noyear') end if args['noyearcat'] then table.insert(categories, 'Pages with noyearcat') end if args['nolanguagecat'] then table.insert(categories, 'Pages with nolanguagecat') end if args['cover'] then table.insert(categories, 'Pages with an export cover') end -- sanity/maintenance checks on various parameters -- allow-explicit-formatting parameter suppresses this check -- used by, for example, [[Template:Versions]] if not args['allow-explicit-formatting'] and (explicit_formatting(args['title']) or explicit_formatting(args['section'])) then table.insert(categories, 'Pages with explicit formatting in header fields') end -- translation header categories local isMainPage = ((current_title:inNamespaces(0, 103) and not current_title.isSubpage) or args['testing']) if not args['nocat'] and isMainPage then local cat_works_start = 'Works originally in' local cat_translations_start = 'Translations' if args.is_translation then cat_works_start = 'Wikisource translations of works in' cat_translations_start = 'Wikisource translations' end if not args['nolanguagecat'] then if args['languages'] then for i, lang in ipairs(args['languages']) do table.insert(categories, headerLang.language_category_name(cat_works_start, lang, args.is_translation)) end end if args['interwiki-prefix'] then local iw_prefix_parts = mw.text.split(args['interwiki-prefix'], ':', true) table.insert(categories, headerLang.language_category_name(cat_works_start, iw_prefix_parts[1], args.is_translation)) end end if not args['languages'] and args['language-required'] then table.insert(categories, cat_translations_start .. ' with no original language') end if args.template_name == 'Translation header' and not args.original then table.insert(categories, 'Wikisource translations with no original source') end end -- detect inappropriate template use --[=[ if (args['template-name'] ~= 'Translation header' and translator and string.lower(translator) == 'wikisource') or (current_title:inNamespaces(114) and args['template-name'] ~= 'Translation header') then -- tracking category for pages that should be using translation header? end if current_title:inNamespaces(0) and args['template-name'] == 'Translation header' then -- tracking category for translation header in mainspace? end ]=] categories = TableTools.removeDuplicates(categories) local category_links = {} for k, v in pairs(categories) do table.insert(category_links, '[[Category:' .. v .. ']]') end local category_link_text = table.concat(category_links) if args.testing then category_link_text = mw.text.nowiki(category_link_text) .. category_link_text end return category_link_text end --[=[ For debugging ]=] --[=[ function p.construct_categories(args) return construct_categories(args, args) end ]=] --[=[ Assemble the title ]=] local function header_title(args) local title = args.title or '' local titleSpan = tostring(mw.html.create('span'):addClass('wst-header-title-text'):wikitext(title)) local year = construct_year(args) local attr = headerAttribution.construct_attributions(args) local section = headerAttribution.construct_section(args) if attr ~= '' and title ~= '' then attr = tostring(mw.html.create('br'):addClass('wst-header-title-break')) .. attr end return table.concat({titleSpan, year, attr, section}) end --[=[ [[Template:Header]] ]=] function p._header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args -- aliases local dup_cat local newArgs = {} local aliases = { ['section-author'] = 'contributor', ['section-translator'] = 'contributing%-translator' } for k, v in pairs(args) do local newkey = string.lower(string.gsub(string.gsub(tostring(k), '_', '-'), ' ', '-')) for arg, alias in pairs(aliases) do newkey = string.gsub(newkey, alias, arg) end if newkey ~= tostring(k) then if argsWithBlanks[newkey] then dup_cat = 'Pages using duplicate arguments in template calls' end if not args[newkey] then newArgs[newkey] = newArgs[newkey] or v end end if newkey == 'testing' or newkey == 'nocat' or newkey == 'nolanguagecat' or newkey == 'language-required' or string.match(newkey, '%-nolink$') then newArgs[newkey] = newArgs[newkey] or yesno(v) end end for k, v in pairs(newArgs) do args[k] = v argsWithBlanks[k] = v end if dup_cat then table.insert(categories, dup_cat) end args.sortkey = args.defaultsort or args.sortkey -- default values args.template_name = args.template_name or 'Header' if args.testing == nil then args.testing = current_title.fullText == 'Template:Header/testcases' or current_title.fullText == 'Template:Translation header/testcases' end -- noyearcat has different behavior for nil and false args.noyearcat = args.noyearcat or args.nocat == true or nil local language_res = headerLang.get_languages(args) args.languages = language_res.languages args.language_name = language_res.language_name local section_language_res = headerLang.get_languages(args, 'section') args.section_languages = section_language_res.languages args.section_language_name = section_language_res.language_name if not args['interwiki-prefix'] and args['languages'] then if #(args['languages']) > 1 then args['interwiki-prefix'] = 'mul' else args['interwiki-prefix'] = args['languages'][1] end end if args['interwiki-prefix'] then args['interwiki-prefix'] = headerLang['interwiki_prefixes'][args['interwiki-prefix']] or args['interwiki-prefix'] end -- add values to argsWithBlanks for k, v in pairs(args) do if not argsWithBlanks[k] then argsWithBlanks[k] = v end end -- default values for title and section (allow override by setting to blank) if not argsWithBlanks['title'] then args['title'] = parent_links({}) argsWithBlanks['title'] = args['title'] end if not argsWithBlanks['section'] and current_title.isSubpage then args['section'] = current_title.subpageText argsWithBlanks['section'] = args['section'] end -- header args args.pre_container = badge() args.header_class = 'wst-header ws-header ws-noexport noprint dynlayout-exempt ' .. (args.header_class or '') args.main_class = 'headertemplate' -- title args.main_title = header_title(args) -- FIXME: just use Wikidata instead of interwiki links? local interwiki = '' if args.template_name == 'Translation header' and args['interwiki-prefix'] then interwiki = tostring(mw.html.create('span'):addClass('interwiki-info'):attr('id', args['interwiki-prefix']):attr('title', '(original)')) if args.original then -- general interwiki link interwiki = interwiki .. '[[' .. args['interwiki-prefix'] .. ':' .. args.original .. ']]' end end -- set defaultsort tracking categories args.equalsortcat = '[[Category:]]' args.diffsortcat = '[[Category:]]' args.post_notes = table.concat({ headerAttribution.construct_microformat(args), construct_categories(args, argsWithBlanks), construct_defaultsort(args), interwiki }) -- Check if page has copyvio div that needs closing local copyvio_close = '' local page_content = mw.title.getCurrentTitle():getContent() if page_content and page_content:find('<div id="copyvio"', 1, true) and not page_content:find('{{copyvio/e}}', 1, true) and not page_content:find('{{cv/e}}', 1, true) then copyvio_close = '{{copyvio/e}}' end return get_noexport_stylesheet('Header') .. construct_header(args) .. copyvio_close end function p.header(frame) return p._header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end --[=[ [[Template:Translation header]] ]=] function p._translation_header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args args.header_class = 'wst-translation-header' args.template_name = 'Translation header' args.is_translation = true args.notes_class = 'header-notes' args['language-required'] = true return get_noexport_stylesheet('Translation header') .. p._header(args, argsWithBlanks) end function p.translation_header(frame) return p._translation_header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end return p tfniphecloug97iqynvnuonft9tew23 9545 9543 2026-06-22T14:43:52Z Sauit 2200 9545 Scribunto text/plain --[=[ This is a module to implement logic for [[Template:Header]] and [[Template:Translation header]] TODO: - centuries are defined as starting on XX01, but WS categorizes them as starting on XX00 -- check whether that's a considered policy choice ]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local getArgs = require('Module:Arguments').getArgs local TableTools = require('Module:TableTools') local parent_links = require('Module:Auto parents')._parent_links local construct_header = require('Module:Header structure').construct_header local headerAttribution = require('Module:Header/attribution') local headerLang = require('Module:Header/lang') local construct_defaultsort = require('Module:Header/sort')._construct_defaultsort local construct_year = require('Module:Header/year').construct_year local current_title = mw.title.getCurrentTitle() --[=[ Wrap stylesheet in noexport div ]=] local function get_noexport_stylesheet(template) return tostring(mw.html.create('div'):addClass('ws-noexport'):wikitext(mw.getCurrentFrame():extensionTag('templatestyles', '', {src = template .. '/styles.css'}))) end --[=[ Get badge if any ]=] local function badge() return require('Module:Edition').badge({args = {category = '1', indicator = '1'}}) end --[=[ Detect explicit formatting in fields like 'section' and 'title' ]=] local function explicit_formatting(str) return str and (string.match(str, "\'\'\'?") or string.match(str, '<%s*/?%s*[iIbB]%s*>')) -- add more cases here or come up with a less silly way to do things end local function check_non_existent_author_pages(args, categories, checkArgs) -- check for cases that aren't supposed to produce a valid link local param = checkArgs.param local tracking_cat = checkArgs.tracking_cat or 'Ааптар туһунан сирэйэ суох айымньылар' if not param or not args[param] or yesno(args[param .. '-nolink']) then return end local lower_arg = string.lower(args[param]) local attr_data = headerAttribution.attr_data[param] or headerAttribution.attr_data[string.gsub(param, 'section%-', '')] if attr_data and attr_data['special_cases'] and attr_data['special_cases'][lower_arg] then return end -- check if page exists local target = mw.title.makeTitle('Author', args[param]) -- expensive function! if not target or not target.exists then table.insert(categories, tracking_cat) end return end local function construct_categories(args, argsWithBlanks) local categories = {} -- categorize subpages local title = current_title local parent_exists = false while title.isSubpage and not parent_exists do title = mw.title.new(title.baseText, title.nsText) parent_exists = title.exists end if parent_exists and title:inNamespaces(0) then table.insert(categories, 'Subpages') elseif parent_exists then table.insert(categories, title.nsText .. ' subpages') end -- add categories from the categories parameter local manual_categories = (args.categories and mw.text.split(args.categories, '%s*/%s*', false)) or {} local using_cat = false for i, category in ipairs(manual_categories) do local cat = mw.text.trim(category) if cat ~= '' then table.insert(categories, cat) using_cat = true end end if using_cat then table.insert(categories, 'Categories параметры туттар сирэйдэр') end local known_override_types = { ['default'] = 'contributor type', ['author'] = 'author', ['translator'] = 'translator', ['section-author'] = 'contributor' } for k, v in pairs(argsWithBlanks) do -- Check for numerical parameters (which shouldn't be used) if type(k) == 'number' then table.insert(categories, 'Номмердаммыт параметрдаах үрдэ сирэйдэрэ') -- Check for 'override-' parameters elseif string.match(k, '^override%-') then local contrib_type = string.gsub(k, '^override%-', '') contrib_type = string.gsub(contrib_type, '%d*$', '') table.insert(categories, 'Pages with override ' .. (known_override_types[contrib_type] or known_override_types['default'])) end end -- check contributor parameters if args['section-author'] then table.insert(categories, 'Редактордаах айымньылар') end local editor = args['override-editor'] or args['editor'] if editor and not args['nocat'] then editor = string.lower(editor) if editor == 'unknown' or editor == '?' then table.insert(categories, 'Биллибэт редактордаах айымньылар') elseif editor == 'not mentioned' then table.insert(categories, 'Ыйыллыбатах редактордаах айымньылар') end end local translator = args['override-translator'] or args['translator'] if translator and not args['nocat'] then translator = string.lower(translator) table.insert(categories, 'Тылбаасчыттаах айымньылар') if translator == 'unknown' or translator == 'not mentioned' or translator == '?' then table.insert(categories, 'Тылбаасчыта ыйыллыбатах тылбаастар') end end local author = args['override-author'] or args['author'] if author and (string.lower(author) == 'unknown') and not args['nocat'] then if args.template_name == 'Translation header' then table.insert(categories, 'Анонимнай айымньылар тылбаастара') else table.insert(categories, 'Анонимнай айымньылар') end end -- check for non-existent contributor pages if current_title:inNamespaces(0, 103) or args.testing then local params_to_check = { {param = 'author'}, {param = 'editor'}, {param = 'translator'}, {param = 'composer', tracking_cat = 'Works with non-existent composer pages'}, {param = 'illustrator', tracking_cat = 'Works with non-existent illustrator pages'} } for k, v in pairs(params_to_check) do check_non_existent_author_pages(args, categories, v) check_non_existent_author_pages(args, categories, {param = 'section-' .. v.param, tracking_cat = v.tracking_cat}) end end if args['shortcut'] then if current_title:inNamespaces(0) then table.insert(categories, 'Mainspace pages with shortcuts') elseif current_title:inNamespaces(114) then table.insert(categories, 'Translation namespace pages with shortcuts') end end if args['noyear'] then table.insert(categories, 'Pages with noyear') end if args['noyearcat'] then table.insert(categories, 'Pages with noyearcat') end if args['nolanguagecat'] then table.insert(categories, 'Pages with nolanguagecat') end if args['cover'] then table.insert(categories, 'Pages with an export cover') end -- sanity/maintenance checks on various parameters -- allow-explicit-formatting parameter suppresses this check -- used by, for example, [[Template:Versions]] if not args['allow-explicit-formatting'] and (explicit_formatting(args['title']) or explicit_formatting(args['section'])) then table.insert(categories, 'Pages with explicit formatting in header fields') end -- translation header categories local isMainPage = ((current_title:inNamespaces(0, 103) and not current_title.isSubpage) or args['testing']) if not args['nocat'] and isMainPage then local cat_works_start = 'Works originally in' local cat_translations_start = 'Translations' if args.is_translation then cat_works_start = 'Wikisource translations of works in' cat_translations_start = 'Wikisource translations' end if not args['nolanguagecat'] then if args['languages'] then for i, lang in ipairs(args['languages']) do table.insert(categories, headerLang.language_category_name(cat_works_start, lang, args.is_translation)) end end if args['interwiki-prefix'] then local iw_prefix_parts = mw.text.split(args['interwiki-prefix'], ':', true) table.insert(categories, headerLang.language_category_name(cat_works_start, iw_prefix_parts[1], args.is_translation)) end end if not args['languages'] and args['language-required'] then table.insert(categories, cat_translations_start .. ' with no original language') end if args.template_name == 'Translation header' and not args.original then table.insert(categories, 'Wikisource translations with no original source') end end -- detect inappropriate template use --[=[ if (args['template-name'] ~= 'Translation header' and translator and string.lower(translator) == 'wikisource') or (current_title:inNamespaces(114) and args['template-name'] ~= 'Translation header') then -- tracking category for pages that should be using translation header? end if current_title:inNamespaces(0) and args['template-name'] == 'Translation header' then -- tracking category for translation header in mainspace? end ]=] categories = TableTools.removeDuplicates(categories) local category_links = {} for k, v in pairs(categories) do table.insert(category_links, '[[Category:' .. v .. ']]') end local category_link_text = table.concat(category_links) if args.testing then category_link_text = mw.text.nowiki(category_link_text) .. category_link_text end return category_link_text end --[=[ For debugging ]=] --[=[ function p.construct_categories(args) return construct_categories(args, args) end ]=] --[=[ Assemble the title ]=] local function header_title(args) local title = args.title or '' local titleSpan = tostring(mw.html.create('span'):addClass('wst-header-title-text'):wikitext(title)) local year = construct_year(args) local attr = headerAttribution.construct_attributions(args) local section = headerAttribution.construct_section(args) if attr ~= '' and title ~= '' then attr = tostring(mw.html.create('br'):addClass('wst-header-title-break')) .. attr end return table.concat({titleSpan, year, attr, section}) end --[=[ [[Template:Header]] ]=] function p._header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args -- aliases local dup_cat local newArgs = {} local aliases = { ['section-author'] = 'contributor', ['section-translator'] = 'contributing%-translator' } for k, v in pairs(args) do local newkey = string.lower(string.gsub(string.gsub(tostring(k), '_', '-'), ' ', '-')) for arg, alias in pairs(aliases) do newkey = string.gsub(newkey, alias, arg) end if newkey ~= tostring(k) then if argsWithBlanks[newkey] then dup_cat = 'Pages using duplicate arguments in template calls' end if not args[newkey] then newArgs[newkey] = newArgs[newkey] or v end end if newkey == 'testing' or newkey == 'nocat' or newkey == 'nolanguagecat' or newkey == 'language-required' or string.match(newkey, '%-nolink$') then newArgs[newkey] = newArgs[newkey] or yesno(v) end end for k, v in pairs(newArgs) do args[k] = v argsWithBlanks[k] = v end if dup_cat then table.insert(categories, dup_cat) end args.sortkey = args.defaultsort or args.sortkey -- default values args.template_name = args.template_name or 'Header' if args.testing == nil then args.testing = current_title.fullText == 'Template:Header/testcases' or current_title.fullText == 'Template:Translation header/testcases' end -- noyearcat has different behavior for nil and false args.noyearcat = args.noyearcat or args.nocat == true or nil local language_res = headerLang.get_languages(args) args.languages = language_res.languages args.language_name = language_res.language_name local section_language_res = headerLang.get_languages(args, 'section') args.section_languages = section_language_res.languages args.section_language_name = section_language_res.language_name if not args['interwiki-prefix'] and args['languages'] then if #(args['languages']) > 1 then args['interwiki-prefix'] = 'mul' else args['interwiki-prefix'] = args['languages'][1] end end if args['interwiki-prefix'] then args['interwiki-prefix'] = headerLang['interwiki_prefixes'][args['interwiki-prefix']] or args['interwiki-prefix'] end -- add values to argsWithBlanks for k, v in pairs(args) do if not argsWithBlanks[k] then argsWithBlanks[k] = v end end -- default values for title and section (allow override by setting to blank) if not argsWithBlanks['title'] then args['title'] = parent_links({}) argsWithBlanks['title'] = args['title'] end if not argsWithBlanks['section'] and current_title.isSubpage then args['section'] = current_title.subpageText argsWithBlanks['section'] = args['section'] end -- header args args.pre_container = badge() args.header_class = 'wst-header ws-header ws-noexport noprint dynlayout-exempt ' .. (args.header_class or '') args.main_class = 'headertemplate' -- title args.main_title = header_title(args) -- FIXME: just use Wikidata instead of interwiki links? local interwiki = '' if args.template_name == 'Translation header' and args['interwiki-prefix'] then interwiki = tostring(mw.html.create('span'):addClass('interwiki-info'):attr('id', args['interwiki-prefix']):attr('title', '(original)')) if args.original then -- general interwiki link interwiki = interwiki .. '[[' .. args['interwiki-prefix'] .. ':' .. args.original .. ']]' end end args.post_notes = table.concat({ headerAttribution.construct_microformat(args), construct_categories(args, argsWithBlanks), construct_defaultsort(args), interwiki }) -- Check if page has copyvio div that needs closing local copyvio_close = '' local page_content = mw.title.getCurrentTitle():getContent() if page_content and page_content:find('<div id="copyvio"', 1, true) and not page_content:find('{{copyvio/e}}', 1, true) and not page_content:find('{{cv/e}}', 1, true) then copyvio_close = '{{copyvio/e}}' end return get_noexport_stylesheet('Header') .. construct_header(args) .. copyvio_close end function p.header(frame) return p._header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end --[=[ [[Template:Translation header]] ]=] function p._translation_header(args, argsWithBlanks) argsWithBlanks = argsWithBlanks or args args.header_class = 'wst-translation-header' args.template_name = 'Translation header' args.is_translation = true args.notes_class = 'header-notes' args['language-required'] = true return get_noexport_stylesheet('Translation header') .. p._header(args, argsWithBlanks) end function p.translation_header(frame) return p._translation_header( getArgs(frame), getArgs(frame, {removeBlanks = false}) ) end return p ja7cfnamjt0o9wv674efh4op4vwd65t Модуль:TableTools 828 2444 9494 2026-06-22T13:38:15Z Sauit 2200 "------------------------------------------------------------------------------------ -- TableTools -- -- -- -- This module includes a number of functions for dealing with Lua tables. -- -- It is a meta-module, meant to be called from other Lua modules, and should not -- -- be called directly from..." саҥа сирэй оҥоһулунна 9494 Scribunto text/plain ------------------------------------------------------------------------------------ -- TableTools -- -- -- -- This module includes a number of functions for dealing with Lua tables. -- -- It is a meta-module, meant to be called from other Lua modules, and should not -- -- be called directly from #invoke. -- ------------------------------------------------------------------------------------ local libraryUtil = require('libraryUtil') local p = {} -- Define often-used variables and functions. local floor = math.floor local infinity = math.huge local checkType = libraryUtil.checkType local checkTypeMulti = libraryUtil.checkTypeMulti ------------------------------------------------------------------------------------ -- isPositiveInteger -- -- This function returns true if the given value is a positive integer, and false -- if not. Although it doesn't operate on tables, it is included here as it is -- useful for determining whether a given table key is in the array part or the -- hash part of a table. ------------------------------------------------------------------------------------ function p.isPositiveInteger(v) return type(v) == 'number' and v >= 1 and floor(v) == v and v < infinity end ------------------------------------------------------------------------------------ -- isNan -- -- This function returns true if the given number is a NaN value, and false if -- not. Although it doesn't operate on tables, it is included here as it is useful -- for determining whether a value can be a valid table key. Lua will generate an -- error if a NaN is used as a table key. ------------------------------------------------------------------------------------ function p.isNan(v) return type(v) == 'number' and v ~= v end ------------------------------------------------------------------------------------ -- shallowClone -- -- This returns a clone of a table. The value returned is a new table, but all -- subtables and functions are shared. Metamethods are respected, but the returned -- table will have no metatable of its own. ------------------------------------------------------------------------------------ function p.shallowClone(t) checkType('shallowClone', 1, t, 'table') local ret = {} for k, v in pairs(t) do ret[k] = v end return ret end ------------------------------------------------------------------------------------ -- removeDuplicates -- -- This removes duplicate values from an array. Non-positive-integer keys are -- ignored. The earliest value is kept, and all subsequent duplicate values are -- removed, but otherwise the array order is unchanged. ------------------------------------------------------------------------------------ function p.removeDuplicates(arr) checkType('removeDuplicates', 1, arr, 'table') local isNan = p.isNan local ret, exists = {}, {} for _, v in ipairs(arr) do if isNan(v) then -- NaNs can't be table keys, and they are also unique, so we don't need to check existence. ret[#ret + 1] = v elseif not exists[v] then ret[#ret + 1] = v exists[v] = true end end return ret end ------------------------------------------------------------------------------------ -- numKeys -- -- This takes a table and returns an array containing the numbers of any numerical -- keys that have non-nil values, sorted in numerical order. ------------------------------------------------------------------------------------ function p.numKeys(t) checkType('numKeys', 1, t, 'table') local isPositiveInteger = p.isPositiveInteger local nums = {} for k in pairs(t) do if isPositiveInteger(k) then nums[#nums + 1] = k end end table.sort(nums) return nums end ------------------------------------------------------------------------------------ -- affixNums -- -- This takes a table and returns an array containing the numbers of keys with the -- specified prefix and suffix. For example, for the table -- {a1 = 'foo', a3 = 'bar', a6 = 'baz'} and the prefix "a", affixNums will return -- {1, 3, 6}. ------------------------------------------------------------------------------------ function p.affixNums(t, prefix, suffix) checkType('affixNums', 1, t, 'table') checkType('affixNums', 2, prefix, 'string', true) checkType('affixNums', 3, suffix, 'string', true) local function cleanPattern(s) -- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally. return s:gsub('([%(%)%%%.%[%]%*%+%-%?%^%$])', '%%%1') end prefix = prefix or '' suffix = suffix or '' prefix = cleanPattern(prefix) suffix = cleanPattern(suffix) local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$' local nums = {} for k in pairs(t) do if type(k) == 'string' then local num = mw.ustring.match(k, pattern) if num then nums[#nums + 1] = tonumber(num) end end end table.sort(nums) return nums end ------------------------------------------------------------------------------------ -- numData -- -- Given a table with keys like {"foo1", "bar1", "foo2", "baz2"}, returns a table -- of subtables in the format -- {[1] = {foo = 'text', bar = 'text'}, [2] = {foo = 'text', baz = 'text'}}. -- Keys that don't end with an integer are stored in a subtable named "other". The -- compress option compresses the table so that it can be iterated over with -- ipairs. ------------------------------------------------------------------------------------ function p.numData(t, compress) checkType('numData', 1, t, 'table') checkType('numData', 2, compress, 'boolean', true) local ret = {} for k, v in pairs(t) do local prefix, num = mw.ustring.match(tostring(k), '^([^0-9]*)([1-9][0-9]*)$') if num then num = tonumber(num) local subtable = ret[num] or {} if prefix == '' then -- Positional parameters match the blank string; put them at the start of the subtable instead. prefix = 1 end subtable[prefix] = v ret[num] = subtable else local subtable = ret.other or {} subtable[k] = v ret.other = subtable end end if compress then local other = ret.other ret = p.compressSparseArray(ret) ret.other = other end return ret end ------------------------------------------------------------------------------------ -- compressSparseArray -- -- This takes an array with one or more nil values, and removes the nil values -- while preserving the order, so that the array can be safely traversed with -- ipairs. ------------------------------------------------------------------------------------ function p.compressSparseArray(t) checkType('compressSparseArray', 1, t, 'table') local ret = {} local nums = p.numKeys(t) for _, num in ipairs(nums) do ret[#ret + 1] = t[num] end return ret end ------------------------------------------------------------------------------------ -- sparseIpairs -- -- This is an iterator for sparse arrays. It can be used like ipairs, but can -- handle nil values. ------------------------------------------------------------------------------------ function p.sparseIpairs(t) checkType('sparseIpairs', 1, t, 'table') local nums = p.numKeys(t) local i = 0 local lim = #nums return function () i = i + 1 if i <= lim then local key = nums[i] return key, t[key] else return nil, nil end end end ------------------------------------------------------------------------------------ -- size -- -- This returns the size of a key/value pair table. It will also work on arrays, -- but for arrays it is more efficient to use the # operator. ------------------------------------------------------------------------------------ function p.size(t) checkType('size', 1, t, 'table') local i = 0 for _ in pairs(t) do i = i + 1 end return i end local function defaultKeySort(item1, item2) -- "number" < "string", so numbers will be sorted before strings. local type1, type2 = type(item1), type(item2) if type1 ~= type2 then return type1 < type2 elseif type1 == 'table' or type1 == 'boolean' or type1 == 'function' then return tostring(item1) < tostring(item2) else return item1 < item2 end end ------------------------------------------------------------------------------------ -- keysToList -- -- Returns an array of the keys in a table, sorted using either a default -- comparison function or a custom keySort function. ------------------------------------------------------------------------------------ function p.keysToList(t, keySort, checked) if not checked then checkType('keysToList', 1, t, 'table') checkTypeMulti('keysToList', 2, keySort, {'function', 'boolean', 'nil'}) end local arr = {} local index = 1 for k in pairs(t) do arr[index] = k index = index + 1 end if keySort ~= false then keySort = type(keySort) == 'function' and keySort or defaultKeySort table.sort(arr, keySort) end return arr end ------------------------------------------------------------------------------------ -- sortedPairs -- -- Iterates through a table, with the keys sorted using the keysToList function. -- If there are only numerical keys, sparseIpairs is probably more efficient. ------------------------------------------------------------------------------------ function p.sortedPairs(t, keySort) checkType('sortedPairs', 1, t, 'table') checkType('sortedPairs', 2, keySort, 'function', true) local arr = p.keysToList(t, keySort, true) local i = 0 return function () i = i + 1 local key = arr[i] if key ~= nil then return key, t[key] else return nil, nil end end end ------------------------------------------------------------------------------------ -- isArray -- -- Returns true if the given value is a table and all keys are consecutive -- integers starting at 1. ------------------------------------------------------------------------------------ function p.isArray(v) if type(v) ~= 'table' then return false end local i = 0 for _ in pairs(v) do i = i + 1 if v[i] == nil then return false end end return true end ------------------------------------------------------------------------------------ -- isArrayLike -- -- Returns true if the given value is iterable and all keys are consecutive -- integers starting at 1. ------------------------------------------------------------------------------------ function p.isArrayLike(v) if not pcall(pairs, v) then return false end local i = 0 for _ in pairs(v) do i = i + 1 if v[i] == nil then return false end end return true end ------------------------------------------------------------------------------------ -- invert -- -- Transposes the keys and values in an array. For example, {"a", "b", "c"} -> -- {a = 1, b = 2, c = 3}. Duplicates are not supported (result values refer to -- the index of the last duplicate) and NaN values are ignored. ------------------------------------------------------------------------------------ function p.invert(arr) checkType("invert", 1, arr, "table") local isNan = p.isNan local map = {} for i, v in ipairs(arr) do if not isNan(v) then map[v] = i end end return map end ------------------------------------------------------------------------------------ -- listToSet -- -- Creates a set from the array part of the table. Indexing the set by any of the -- values of the array returns true. For example, {"a", "b", "c"} -> -- {a = true, b = true, c = true}. NaN values are ignored as Lua considers them -- never equal to any value (including other NaNs or even themselves). ------------------------------------------------------------------------------------ function p.listToSet(arr) checkType("listToSet", 1, arr, "table") local isNan = p.isNan local set = {} for _, v in ipairs(arr) do if not isNan(v) then set[v] = true end end return set end ------------------------------------------------------------------------------------ -- deepCopy -- -- Recursive deep copy function. Preserves identities of subtables. ------------------------------------------------------------------------------------ local function _deepCopy(orig, includeMetatable, already_seen) if type(orig) ~= "table" then return orig end -- already_seen stores copies of tables indexed by the original table. local copy = already_seen[orig] if copy ~= nil then return copy end copy = {} already_seen[orig] = copy -- memoize before any recursion, to avoid infinite loops for orig_key, orig_value in pairs(orig) do copy[_deepCopy(orig_key, includeMetatable, already_seen)] = _deepCopy(orig_value, includeMetatable, already_seen) end if includeMetatable then local mt = getmetatable(orig) if mt ~= nil then setmetatable(copy, _deepCopy(mt, true, already_seen)) end end return copy end function p.deepCopy(orig, noMetatable, already_seen) checkType("deepCopy", 3, already_seen, "table", true) return _deepCopy(orig, not noMetatable, already_seen or {}) end ------------------------------------------------------------------------------------ -- sparseConcat -- -- Concatenates all values in the table that are indexed by a number, in order. -- sparseConcat{a, nil, c, d} => "acd" -- sparseConcat{nil, b, c, d} => "bcd" ------------------------------------------------------------------------------------ function p.sparseConcat(t, sep, i, j) local arr = {} local arr_i = 0 for _, v in p.sparseIpairs(t) do arr_i = arr_i + 1 arr[arr_i] = v end return table.concat(arr, sep, i, j) end ------------------------------------------------------------------------------------ -- length -- -- Finds the length of an array, or of a quasi-array with keys such as "data1", -- "data2", etc., using an exponential search algorithm. It is similar to the -- operator #, but may return a different value when there are gaps in the array -- portion of the table. Intended to be used on data loaded with mw.loadData. For -- other tables, use #. -- Note: #frame.args in frame object always be set to 0, regardless of the number -- of unnamed template parameters, so use this function for frame.args. ------------------------------------------------------------------------------------ function p.length(t, prefix) -- requiring module inline so that [[Module:Exponential search]] which is -- only needed by this one function doesn't get millions of transclusions local expSearch = require("Module:Exponential search") checkType('length', 1, t, 'table') checkType('length', 2, prefix, 'string', true) return expSearch(function (i) local key if prefix then key = prefix .. tostring(i) else key = i end return t[key] ~= nil end) or 0 end ------------------------------------------------------------------------------------ -- inArray -- -- Returns true if searchElement is a member of the array, and false otherwise. -- Equivalent to JavaScript array.includes(searchElement) or -- array.includes(searchElement, fromIndex), except fromIndex is 1 indexed ------------------------------------------------------------------------------------ function p.inArray(array, searchElement, fromIndex) checkType("inArray", 1, array, "table") -- if searchElement is nil, error? fromIndex = tonumber(fromIndex) if fromIndex then if (fromIndex < 0) then fromIndex = #array + fromIndex + 1 end if fromIndex < 1 then fromIndex = 1 end for _, v in ipairs({unpack(array, fromIndex)}) do if v == searchElement then return true end end else for _, v in pairs(array) do if v == searchElement then return true end end end return false end ------------------------------------------------------------------------------------ -- merge -- -- Given the arrays, returns an array containing the elements of each input array -- in sequence. ------------------------------------------------------------------------------------ function p.merge(...) local arrays = {...} local ret = {} for i, arr in ipairs(arrays) do checkType('merge', i, arr, 'table') for _, v in ipairs(arr) do ret[#ret + 1] = v end end return ret end ------------------------------------------------------------------------------------ -- extend -- -- Extends the first array in place by appending all elements from the second -- array. ------------------------------------------------------------------------------------ function p.extend(arr1, arr2) checkType('extend', 1, arr1, 'table') checkType('extend', 2, arr2, 'table') for _, v in ipairs(arr2) do arr1[#arr1 + 1] = v end end return p 4n03zk6kcoeg4gz82mieeh94c1szcjy Модуль:TableTools/doc 828 2445 9495 2026-06-22T13:38:40Z Sauit 2200 "[[Категория:Модульдар]] Lua тылынан табылыыссалары оҥорорго аналлаах." саҥа сирэй оҥоһулунна 9495 wikitext text/x-wiki [[Категория:Модульдар]] Lua тылынан табылыыссалары оҥорорго аналлаах. n23bp0ncl18n6nm1t8cjf4wdvajylyn 9498 9495 2026-06-22T13:39:47Z Sauit 2200 9498 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] Lua тылынан табылыыссалары оҥорорго аналлаах. 9lry494j24k9n7zoa2x0mu4x9aea2sa Модуль:Header/doc 828 2446 9496 2026-06-22T13:39:00Z Sauit 2200 "[[Категория:Модульдар]] [[Халыып:Үрдэ]] халыыпка аналлаах модуль." саҥа сирэй оҥоһулунна 9496 wikitext text/x-wiki [[Категория:Модульдар]] [[Халыып:Үрдэ]] халыыпка аналлаах модуль. en2r7e5p7gq2vlbsstwlr1dyh91z435 9497 9496 2026-06-22T13:39:21Z Sauit 2200 9497 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] [[Халыып:Үрдэ]] халыыпка аналлаах модуль. dhv5yci8hcl8x7e4fm4z0c5gw75qc0k Модуль:Auto parents 828 2447 9499 2026-06-22T13:40:36Z Sauit 2200 "require('strict') local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') --[=[ Return a formatted list of links referring to the parents of the current page Parameters: * page: the page title to use, if not the current page name * display: an override display title to use for the top level. * no_links: if yes, do not link page titles * existing_links: if yes, check wheth..." саҥа сирэй оҥоһулунна 9499 Scribunto text/plain require('strict') local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') --[=[ Return a formatted list of links referring to the parents of the current page Parameters: * page: the page title to use, if not the current page name * display: an override display title to use for the top level. * no_links: if yes, do not link page titles * existing_links: if yes, check whether pages exist before making them links Example: * page = A/B/C/D => [[A|A]], [[A/B|B]], [[A/B/C|C]] * page = A/B/C, display=Foo => [[A|Foo]], [[A/B|B]] ]=] function p._parent_links(args) args = args or {} local no_links = yesno(args.no_links or args['no links']) or false local existing_links = yesno(args.existing_links or args['existing links']) or false -- select override page name if given local title if args['page'] then title = mw.title.new(args['page']) else title = mw.title.getCurrentTitle() end local title_text = title.prefixedText -- the parts of the page title local parts = mw.text.split(title_text, '/', true) -- collected links for each parent -- at the top level, substitute the work display name if needed -- don't include namespace in link name local links = { args['display'] or title.rootText } if not no_links and (not existing_links or (existing_links and mw.title.new(parts[1]).exists)) then links[1] = '[[' .. parts[1] .. '|' .. links[1] .. ']]' end -- count forwards from the second-highest level to the second-lowest -- (the lowest level is the current page, not a parent) for level = 2, #parts - 1, 1 do local link_name = parts[level] local link_target = table.concat(parts, '/', 1, level) -- construct the link wikitext local link if no_links then link = link_name elseif existing_links then if mw.title.new(link_target).exists then link = '[[' .. link_target .. '|' .. link_name .. ']]' else link = link_name end else link = '[[' .. link_target .. '|' .. link_name .. ']]' end table.insert(links, link) end return table.concat(links, ', ') end function p.parent_links(frame) return p._parent_links(getArgs(frame)) end return p j7sn3m9vhy2mcu49o2fno3trbn54cc8 Модуль:Auto parents/doc 828 2448 9500 2026-06-22T13:41:17Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]] [[Module:Header|Header]] модульунан туттуллар" саҥа сирэй оҥоһулунна 9500 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] [[Module:Header|Header]] модульунан туттуллар thq0t6q22491vsjcteub3y24v69tx64 Модуль:Header structure 828 2449 9501 2026-06-22T13:45:09Z Sauit 2200 "--[=[ This is a module to implement logic for header templates ]=] require('strict') local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local plain_sister = require('Module:Plain sister')._plain_sister -- return true if any value in list is not nil or empty in args -- (nil means not present; empty string is not nil) local function has_any_arg(args, list) for k, v in pairs(list) do if args[v] ~= nil then..." саҥа сирэй оҥоһулунна 9501 Scribunto text/plain --[=[ This is a module to implement logic for header templates ]=] require('strict') local p = {} --p stands for package local getArgs = require('Module:Arguments').getArgs local plain_sister = require('Module:Plain sister')._plain_sister -- return true if any value in list is not nil or empty in args -- (nil means not present; empty string is not nil) local function has_any_arg(args, list) for k, v in pairs(list) do if args[v] ~= nil then return true end end return false end --[=[ Construct the main block ]=] local function construct_main_block(args, prefix) -- header and tracking categories local main_div = mw.html.create('div') :addClass('wst-header-mainblock') :addClass(prefix .. '-mainblock') -- If an extra main class was provided, add it -- TODO: Is this used? Is it needed? if args.main_class ~= nil and args.main_class ~= "" then main_div:addClass(args.main_class) end -- "Previous" field local prev_div = main_div:tag('div') :addClass('wst-header-back') :addClass('searchaux') :addClass(prefix .. '-back') :tag('div'):addClass('wst-header-back-arrow'):wikitext('←') :done() :tag('div'):addClass('wst-header-back-link'):wikitext(args['previous']) :done() if args['previous'] == nil or args['previous'] == "" then prev_div:addClass('wst-header-nav-empty') end -- The central cell local center_div = main_div:tag('div') :addClass('wst-header-central-cell') :addClass(prefix .. '-central-cell') -- Special case to manage exceptional formatting in disambiguation-like -- pages; not otherwise documented local pretitle = '' if args.pretitle then local br = '<br/>' if not args.main_title or args.main_title == '' then br = '' end center_div:tag('span') :addClass('wst-header-pretitle') :wikitext(args.pretitle .. br) end center_div:tag('span') :addClass('wst-header-title') :addClass(prefix .. '-title') :wikitext(args.main_title or '') -- "Next" field local next_div = main_div:tag('div') :addClass('wst-header-forward') :addClass('searchaux') :addClass(prefix .. '-forward') :tag('div'):addClass('wst-header-forward-link'):wikitext(args['next']) :done() :tag('div'):addClass('wst-header-forward-arrow'):wikitext('→') :done() if args['next'] == nil or args['next'] == "" then next_div:addClass('wst-header-nav-empty') end return tostring(main_div) end --[=[ Construct the notes block ]=] local function construct_notes_block(args, prefix) local main_div = mw.html.create('div') :addClass('wst-header-notes') :addClass('header_notes') :addClass('searchaux') :addClass(prefix .. '-notes') -- If an extra main class was provided, add it -- TODO: Is this used? Is it needed? if args.notes_class ~= nil and args.notes_class ~= "" then main_div:addClass(args.notes_class) end -- Left-floated content has to come first, or it may float below the sisters. local notes_left_content = '' if args.notes_left_content then local notes_left_content_div = mw.html.create('div') :addClass('wst-header-left') :addClass('header_notes_left_content') :addClass(prefix .. '-left') :wikitext(args.notes_left_content) notes_left_content = tostring(notes_left_content_div) end local shortcut = '' if args.shortcut then shortcut = mw.getCurrentFrame():expandTemplate { title = 'shortcut', args = {args.shortcut} } end local notes_content = '' if args.notes then args.notes = mw.getCurrentFrame():preprocess(args.notes) -- linebreaks are so notes get paragraph formatting local notes_content_div = mw.html.create('div') :addClass('wst-header-content') :addClass('header_notes_content') :addClass('wst-header-notes-content') :addClass(prefix .. '-notes-content') :wikitext('\n' .. args.notes .. '\n') notes_content = tostring(notes_content_div) end local sister = plain_sister(args) if not sister and not args.notes and not args.notes_left_content then return '' end return tostring(main_div:wikitext(notes_left_content .. (sister or '') .. shortcut .. notes_content)) end --[=[ Construct header ]=] function p.construct_header(args) -- Make sure the main identifying class for the client template is set local prefix = "wst-unknown" if args.template ~= nil and args.template ~= "" then prefix = "wst-" .. args.template end local headerContainer = mw.html.create('div') :addClass("ws-header") :addClass("wst-header-structure") :addClass(prefix) -- header_class from client modules, class from individual uses if args.header_class then headerContainer:addClass(args.header_class) end if args.class then headerContainer:addClass(args.class) end headerContainer:wikitext(table.concat({ (args.pre_main or ''), construct_main_block(args, prefix), construct_notes_block(args, prefix), (args.post_notes or '') })) local stylesheet = mw.getCurrentFrame():extensionTag('templatestyles', '', {src = 'Header structure/styles.css'}) return stylesheet .. (args.pre_container or '') .. tostring(headerContainer) end function p.header_structure(frame) return p.construct_header(getArgs(frame)) end return p 971hsxfdvcp7ud5w4balnss3cmkboio Модуль:Header structure/doc 828 2450 9502 2026-06-22T13:45:23Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9502 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Header structure/styles.css 828 2451 9503 2026-06-22T13:46:02Z Sauit 2200 "/* Styles used by header templates (not just header) */ /* * main block */ /* The top level wrapper for the header main block. */ .wst-header-mainblock { margin: 4px auto 4px auto; padding: 0 3px; display: flex; align-items: center; } /* Common styles for back and forward links */ .wst-header-back, .wst-header-forward { display: flex; flex: 1 4 100%; min-width: min-content; align-items: center; font-size: .9em; } .wst-header-nav-empty..." саҥа сирэй оҥоһулунна 9503 sanitized-css text/css /* Styles used by header templates (not just header) */ /* * main block */ /* The top level wrapper for the header main block. */ .wst-header-mainblock { margin: 4px auto 4px auto; padding: 0 3px; display: flex; align-items: center; } /* Common styles for back and forward links */ .wst-header-back, .wst-header-forward { display: flex; flex: 1 4 100%; min-width: min-content; align-items: center; font-size: .9em; } .wst-header-nav-empty { visibility: hidden; } /* The container for the back (previous) link. */ .wst-header-back { justify-content: flex-start; text-align: left; } /* The container for the central cell. */ .wst-header-central-cell { flex: 4 1 100%; max-width: max-content; text-align: center; } /* The container for the forward (next) link. */ .wst-header-forward { justify-content: flex-end; text-align: right; } @media(max-width:768px) { /* Put title on its own flexbox row */ .wst-header-mainblock { flex-wrap:wrap; } .wst-header-central-cell { flex:0 0 100%; order:-2; width:auto; } .wst-header-back, .wst-header-forward { width:auto; } } /* * notes block */ /* The overall notes container. */ .wst-header-notes { display:inline-block; border-collapse:collapse; border-spacing:0; empty-cells:hide; font-size:.9em; line-height:1.4; margin:0 auto 4px auto; width:100%; } /* Left-floated content. */ .wst-header-left { float:left; } endbvjhthg540or09glpy5cpeygobni 9504 9503 2026-06-22T13:46:31Z Sauit 2200 9504 sanitized-css text/css /* Styles used by header templates (not just header) */ /* * main block */ /* The top level wrapper for the header main block. */ .wst-header-mainblock { margin: 4px auto 4px auto; padding: 0 3px; display: flex; align-items: center; } /* Common styles for back and forward links */ .wst-header-back, .wst-header-forward { display: flex; flex: 1 4 100%; min-width: min-content; align-items: center; font-size: .9em; } .wst-header-nav-empty { visibility: hidden; } /* The container for the back (previous) link. */ .wst-header-back { justify-content: flex-start; text-align: left; } /* The container for the central cell. */ .wst-header-central-cell { flex: 4 1 100%; max-width: max-content; text-align: center; } /* The container for the forward (next) link. */ .wst-header-forward { justify-content: flex-end; text-align: right; } @media(max-width:768px) { /* Put title on its own flexbox row */ .wst-header-mainblock { flex-wrap:wrap; } .wst-header-central-cell { flex:0 0 100%; order:-2; width:auto; } .wst-header-back, .wst-header-forward { width:auto; } } /* * notes block */ /* The overall notes container. */ .wst-header-notes { display:inline-block; border-collapse:collapse; border-spacing:0; empty-cells:hide; font-size:.9em; line-height:1.4; margin:0 auto 4px auto; width:100%; } /* Left-floated content. */ .wst-header-left { float:left; } /* [[Категория:Бикитиэкэ:Модульдар:CSS]] */ 23av3kaysvrh9skfwxu0x8bk9jjzxiq 9505 9504 2026-06-22T13:46:41Z Sauit 2200 9505 sanitized-css text/css /* Styles used by header templates (not just header) */ /* * main block */ /* The top level wrapper for the header main block. */ .wst-header-mainblock { margin: 4px auto 4px auto; padding: 0 3px; display: flex; align-items: center; } /* Common styles for back and forward links */ .wst-header-back, .wst-header-forward { display: flex; flex: 1 4 100%; min-width: min-content; align-items: center; font-size: .9em; } .wst-header-nav-empty { visibility: hidden; } /* The container for the back (previous) link. */ .wst-header-back { justify-content: flex-start; text-align: left; } /* The container for the central cell. */ .wst-header-central-cell { flex: 4 1 100%; max-width: max-content; text-align: center; } /* The container for the forward (next) link. */ .wst-header-forward { justify-content: flex-end; text-align: right; } @media(max-width:768px) { /* Put title on its own flexbox row */ .wst-header-mainblock { flex-wrap:wrap; } .wst-header-central-cell { flex:0 0 100%; order:-2; width:auto; } .wst-header-back, .wst-header-forward { width:auto; } } /* * notes block */ /* The overall notes container. */ .wst-header-notes { display:inline-block; border-collapse:collapse; border-spacing:0; empty-cells:hide; font-size:.9em; line-height:1.4; margin:0 auto 4px auto; width:100%; } /* Left-floated content. */ .wst-header-left { float:left; } /* [[Категория:Модульдар:CSS]] */ 5qchfooixb00cyz5ey31mtqf9isg4xy Модуль:Plain sister 828 2452 9506 2026-06-22T13:52:58Z Sauit 2200 "require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') local error_message = require('Module:Error')['error'] -- table of site data local sites = { -- interwiki prefix: parameter, label and site id (for Wikidata) ['w'] = {'wikipedia', 'Бикипиэдьийэ ыстатыйата', 'enwiki'}, ['c'] = {'commons', '..." саҥа сирэй оҥоһулунна 9506 Scribunto text/plain require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') local error_message = require('Module:Error')['error'] -- table of site data local sites = { -- interwiki prefix: parameter, label and site id (for Wikidata) ['w'] = {'wikipedia', 'Бикипиэдьийэ ыстатыйата', 'enwiki'}, ['c'] = {'commons', 'Биики Хааһахха', 'commonswiki'}, ['c:Category'] = {'commonscat', 'Биики Хааһах категорията', 'commonswiki'}, ['q'] = {'wikiquote', 'сытааталар', 'enwikiquote'}, ['n'] = {'wikinews', 'сонуннар', 'enwikinews'}, ['wikt'] = {'wiktionary', 'быһаарыыта', 'enwiktionary'}, ['b'] = {'wikibooks', 'кинигэ', 'enwikibooks'}, ['v'] = {'wikiversity', 'курс', 'enwikiversity'}, ['wikispecies'] = {'wikispecies', 'таксономия', 'specieswiki'}, ['voy'] = {'wikivoyage', 'сирдьит', 'enwikivoyage'}, ['d'] = {'wikidata', 'Wikidata элэмиэнэ', 'wikidatawiki'}, ['m'] = {'meta', 'Мета', 'metawiki'} } -- sites is display order (keyed as above) local sites_in_order = {'w', 'c', 'c:Category', 'q', 'n', 'wikt', 'b', 'v', 'wikispecies', 'voy', 'd', 'm'} -- some properties are not wanted from certain transitive links -- for example, the P921 (main topic) should not add the Commons category -- this is a map of WD property -> WD site ID keys local transitiveLinkBlacklist = { P921 = {'commonswiki', 'wikiquote', 'wikinews', 'wiktionary', 'wikiversity', 'wikivoyage', 'meta'}, } -------------------------------------------------------------------------------- -- Get the item associated with the current page, or specified by the 'wikidata' -- parameter (of either the module invocation, or the parent template). -- @return mw.wikibase.entity local function getItem(args) local item = nil -- Firstly, see if the calling tempate or module has a 'wikidata' argument. if args.wikidata then item = mw.wikibase.getEntity(args.wikidata) end -- Failing that just use the current page's item. if item == nil then item = mw.wikibase.getEntity() end return item end -------------------------------------------------------------------------------- -- Get the page title of the first sitelink found on the target item for the -- given property. -- @return string|nil local function getFirstSitelink(item, property, sitename) local statements = item:getBestStatements(property) if #statements > 0 then -- Go through each 'edition of' statement. for _, statement in pairs(statements) do -- datavalue is missing if set to 'unknown value' if statement['mainsnak']['datatype'] == 'wikibase-item' and statement['mainsnak']['datavalue'] then local otherItemId = statement['mainsnak']['datavalue']['value']['id'] local sitelink = mw.wikibase.getSitelink(otherItemId, sitename) -- If the parent has the required sitelink, return it. if sitelink ~= '' and sitelink ~= nil then -- mw.log(sitename, property, sitelink) return sitelink end end -- if end end return nil end local function listContains(list, item) for _, v in pairs(list) do if v == item then return true end end return false end local function transitivePropertyBlacklisted(prop, wdSitelinkKey) -- reject prop/key pairs that we don't want local blacklisted = transitiveLinkBlacklist[prop] and listContains(transitiveLinkBlacklist[prop], wdSitelinkKey) return blacklisted end function p.getLinks(args) local item = getItem(args) local links = {} -- Build all the wikitext links. for prefix, site in pairs(sites) do local val = nil local wd_sitelink_key = site[3] local arg_name = site[1] -- Allow overriding of individual sitelinks. if args[arg_name] then val = args[arg_name] end if not val and wd_sitelink_key ~= '' and item then -- fetch it from wikidata val = item:getSitelink(wd_sitelink_key) if wd_sitelink_key == 'wikidatawiki' and item.id then val = item.id elseif wd_sitelink_key == 'commonswiki' and val then -- we have link to commons local catFlag = (#val>9 and string.sub(val, 1, 9) == 'Category:') if (arg_name == 'commonscat' and catFlag==false) or (arg_name=='commons' and catFlag==true) then val = nil -- link is to a wrong namespace so let's nuke it elseif (arg_name =='commonscat' and catFlag==true) then val = string.sub(val,10) -- trim 'Category:' from the front end end end -- Commons gallery. if not val and arg_name == 'commons' and item then local statements = item:getBestStatements('P935') -- get commons gallery page from P935 property if statements[1] and statements[1].mainsnak.datavalue then val = statements[1].mainsnak.datavalue.value end end -- Commons category. if not val and arg_name == 'commonscat' and item then local statements = item:getBestStatements('P373') -- get commons category page from P373 property if statements[1] and statements[1].mainsnak.datavalue then val = statements[1].mainsnak.datavalue.value end end -- edition or translation of (P629) -- category's main topic (P301) -- Wikimedia portal's main topic (P1204) -- main subject (P921) if item then for _,prop in pairs({ 'P629', 'P301', 'P1204', 'P921' }) do if not val and not transitivePropertyBlacklisted(prop, wd_sitelink_key) then local workSitelink = getFirstSitelink(item, prop, wd_sitelink_key) if workSitelink ~= nil then val = workSitelink break end end end end if val then links[prefix] = val end end -- tidy up redundancies in the WD data -- strip redundant commons category prefix if links['c:Category'] then links['c:Category'] = links['c:Category']:gsub('^Category:', '') end -- the gallery is exactly the same as the category, so just keep the category if links['c'] and links['c:Category'] and ('Category:' .. links['c:Category']) == links['c'] then links['c'] = nil end return links end -------- local function construct_sisicon_span(args) return mw.html.create('span') :addClass(args.class or 'sisicon') :wikitext('[[File:' .. args.image .. '|frameless|18px|link=' .. args.link .. '|alt=' .. args.alt .. ']]') end -- Get an HTML list of all links to all sister projects. function p._interprojectPart(args) local item = getItem(args) local link_data = p.getLinks(args) local links = {} -- iterate the links in the desired order and construct Wikitext links for k, v in pairs(sites_in_order) do if link_data[v] then local display = sites[v][2] local target = v .. ':' .. link_data[v] table.insert(links, '[[' .. target .. '|' .. display .. ']]') end end if #links == 0 then -- links table length is zero return nil end return mw.html.create('li') :addClass('sisitem') :node(construct_sisicon_span({ image = 'Wikimedia-logo.svg', link = 'Special:sitematrix', alt = 'Уруулуу бырайыактар' })) :wikitext('[[Special:sitematrix|Уруулуу бырайыактар]]: ' .. table.concat(links, ', ')) end function p.interprojectPart(frame) return p._interprojectPart(getArgs(frame)) end local function construct_related_links(sourceArgs, linkArgs, sisiconArgs) local links = {} for k, v in pairs(sourceArgs) do local key = string.gsub(string.gsub(string.gsub(string.gsub(k, ' ', ''), '_', ''), '-', ''), 's(%d*)$', '%1') if string.match(key, '^' .. linkArgs.param .. '%d*$') then local n = string.gsub(key, '^' .. linkArgs.param .. '(%d*)$', '%1') n = tonumber(n) or 1 if not links[n] then local items = mw.text.split(v, '%s*/%s*', false) local itemLinks = {} for _, item in pairs(items) do if item ~= '' then table.insert(itemLinks, '[[' .. linkArgs.nsPrefix .. item .. '|' .. item .. ']]') end end links[n] = table.concat(itemLinks, ', ') end end end links = TableTools.compressSparseArray(links) if #links == 0 then return nil end return mw.html.create('li') :addClass('sisitem') :node(construct_sisicon_span(sisiconArgs)) :wikitext(linkArgs.linkPrefix .. table.concat(links, ', ')) end function p._plain_sister(args) local current_frame = mw.getCurrentFrame() local current_title = mw.title.getCurrentTitle() local pagename = current_title.text local item = getItem(args) -- construct list local ul_list = mw.html.create('ul'):addClass('plainSister') if yesno(args.disambiguation) then local dabText = 'Search for titles ' .. tostring(mw.html.create('span'):addClass('selfreference'):wikitext('[[Special:Search/intitle:"' .. pagename .. '"|containing]]')) .. ' or ' if current_title:inNamespaces(14) then dabText = dabText .. '[[Special:Categories/' .. pagename .. '|beginning]]' elseif current_title:inNamespaces(0) then dabText = dabText .. '[[Special:PrefixIndex/' .. current_title.fullText .. '|beginning]]' else dabText = dabText .. '[[Special:PrefixIndex/' .. current_title.fullText .. '|beginning (in ' .. current_title.nsText .. 's)]]' end dabText = dabText .. ' with: "' .. pagename .. '"' ul_list:tag('li') :addClass('dabitem') :node(construct_sisicon_span({ image = 'Disambiguation.svg', link = 'WS:STYLE#Disambiguation, versions and translations pages', alt = 'Style Guide for disambiguation, version and translation pages', class = 'dabicon' })) :wikitext(dabText) end local edition_title = (args.textinfotitle and mw.title.new(args.textinfotitle)) or (yesno(args.textinfo or args.edition) and current_title) or nil local edition_title_talk = edition_title and edition_title.talkPageTitle local tracking_cats = {} if args.edition then table.insert(tracking_cats, '[[Category:' .. 'Plain sisters using edition parameter' .. ']]') end local textinfo_display if edition_title_talk and edition_title_talk.exists then textinfo_display = '[[' .. edition_title_talk.fullText .. '|information about this edition]]' elseif edition_title and not edition_title.exists then textinfo_display = error_message({'Textinfo page \"' .. edition_title.fullText .. '\" does not exist'}) table.insert(tracking_cats, '[[Category:' .. 'Plain sisters with nonexistent textinfo page' .. ']]') end if textinfo_display then ul_list:tag('li') :addClass('sisitem') :node(construct_sisicon_span({ image = 'Information icon.svg', link = 'Template:Textinfo', alt = 'Documentation for the TextInfo template', })) :wikitext(textinfo_display) end local portalLI = construct_related_links( args, { param = 'portal', nsPrefix = 'Portal:', linkPrefix = '[[Portal:Portals|related portals]]: ' }, { image = 'Wikisource-logo.svg', link = 'Portal:Portals', alt = 'Related Portals' } ) if portalLI then ul_list:node(portalLI) end local authorLI = construct_related_links( args, { param = 'relatedauthor', nsPrefix = 'Author:', linkPrefix = '[[Wikisource:Authors|related authors]]: ' }, { image = 'System-users.svg', link = 'Wikisource:Authors', alt = 'Related Authors' } ) if authorLI then ul_list:node(authorLI) end local workLI = construct_related_links( args, { param = 'relatedwork', nsPrefix = '', linkPrefix = '[[Wikisource:Works|related works]]: ' }, { image = 'Nuvola apps bookcase.svg', link = 'Wikisource:Works', alt = 'Related Works' } ) if workLI then ul_list:node(workLI) end local sisters = p._interprojectPart(args) if sisters then ul_list:node(sisters) end if yesno(args.wikidataswitch) and not item then ul_list:tag('li') :addClass('sisitem') :node(construct_sisicon_span({ image = 'Wikidata-logo.svg', link = 'Wikisource:Wikidata', alt = 'Wikidata', })) :wikitext('[[d:Special:Search/' .. pagename .. '|Wikidata`ҕа көрдөө]]') end if not yesno(args.disambiguation) and not textinfo_display and not portalLI and not authorLI and not workLI and not sisters and not yesno(args.wikidataswitch) then return nil end return current_frame:extensionTag('templatestyles', '', {src = 'Plain sister/styles.css'}) .. tostring(ul_list) .. table.concat(tracking_cats) end function p.plain_sister(frame) return p._plain_sister(getArgs(frame)) end return p -- Debug console testing: -- =p.interprojectPart(mw.getCurrentFrame():newChild{title='nop',args={wikidata='Q23308118'}}) mjoyy1rahb048mcib4e0s8x9z071q1n 9510 9506 2026-06-22T14:00:56Z Sauit 2200 9510 Scribunto text/plain require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') local error_message = require('Module:Error')['error'] -- table of site data local sites = { -- interwiki prefix: parameter, label and site id (for Wikidata) ['w'] = {'wikipedia', 'Бикипиэдьийэ ыстатыйата', 'sahwiki'}, ['c'] = {'commons', 'Биики Хааһахха', 'commonswiki'}, ['c:Category'] = {'commonscat', 'Биики Хааһах категорията', 'commonswiki'}, ['q'] = {'wikiquote', 'сытааталар', 'sahwikiquote'}, ['n'] = {'wikinews', 'сонуннар', 'sahwikinews'}, ['wikt'] = {'wiktionary', 'быһаарыыта', 'sahwiktionary'}, ['b'] = {'wikibooks', 'кинигэ', 'sahwikibooks'}, ['v'] = {'wikiversity', 'курс', 'sahwikiversity'}, ['wikispecies'] = {'wikispecies', 'таксономия', 'specieswiki'}, ['voy'] = {'wikivoyage', 'сирдьит', 'sahwikivoyage'}, ['d'] = {'wikidata', 'Wikidata элэмиэнэ', 'wikidatawiki'}, ['m'] = {'meta', 'Мета', 'metawiki'} } -- sites is display order (keyed as above) local sites_in_order = {'w', 'c', 'c:Category', 'q', 'n', 'wikt', 'b', 'v', 'wikispecies', 'voy', 'd', 'm'} -- some properties are not wanted from certain transitive links -- for example, the P921 (main topic) should not add the Commons category -- this is a map of WD property -> WD site ID keys local transitiveLinkBlacklist = { P921 = {'commonswiki', 'wikiquote', 'wikinews', 'wiktionary', 'wikiversity', 'wikivoyage', 'meta'}, } -------------------------------------------------------------------------------- -- Get the item associated with the current page, or specified by the 'wikidata' -- parameter (of either the module invocation, or the parent template). -- @return mw.wikibase.entity local function getItem(args) local item = nil -- Firstly, see if the calling tempate or module has a 'wikidata' argument. if args.wikidata then item = mw.wikibase.getEntity(args.wikidata) end -- Failing that just use the current page's item. if item == nil then item = mw.wikibase.getEntity() end return item end -------------------------------------------------------------------------------- -- Get the page title of the first sitelink found on the target item for the -- given property. -- @return string|nil local function getFirstSitelink(item, property, sitename) local statements = item:getBestStatements(property) if #statements > 0 then -- Go through each 'edition of' statement. for _, statement in pairs(statements) do -- datavalue is missing if set to 'unknown value' if statement['mainsnak']['datatype'] == 'wikibase-item' and statement['mainsnak']['datavalue'] then local otherItemId = statement['mainsnak']['datavalue']['value']['id'] local sitelink = mw.wikibase.getSitelink(otherItemId, sitename) -- If the parent has the required sitelink, return it. if sitelink ~= '' and sitelink ~= nil then -- mw.log(sitename, property, sitelink) return sitelink end end -- if end end return nil end local function listContains(list, item) for _, v in pairs(list) do if v == item then return true end end return false end local function transitivePropertyBlacklisted(prop, wdSitelinkKey) -- reject prop/key pairs that we don't want local blacklisted = transitiveLinkBlacklist[prop] and listContains(transitiveLinkBlacklist[prop], wdSitelinkKey) return blacklisted end function p.getLinks(args) local item = getItem(args) local links = {} -- Build all the wikitext links. for prefix, site in pairs(sites) do local val = nil local wd_sitelink_key = site[3] local arg_name = site[1] -- Allow overriding of individual sitelinks. if args[arg_name] then val = args[arg_name] end if not val and wd_sitelink_key ~= '' and item then -- fetch it from wikidata val = item:getSitelink(wd_sitelink_key) if wd_sitelink_key == 'wikidatawiki' and item.id then val = item.id elseif wd_sitelink_key == 'commonswiki' and val then -- we have link to commons local catFlag = (#val>9 and string.sub(val, 1, 9) == 'Category:') if (arg_name == 'commonscat' and catFlag==false) or (arg_name=='commons' and catFlag==true) then val = nil -- link is to a wrong namespace so let's nuke it elseif (arg_name =='commonscat' and catFlag==true) then val = string.sub(val,10) -- trim 'Category:' from the front end end end -- Commons gallery. if not val and arg_name == 'commons' and item then local statements = item:getBestStatements('P935') -- get commons gallery page from P935 property if statements[1] and statements[1].mainsnak.datavalue then val = statements[1].mainsnak.datavalue.value end end -- Commons category. if not val and arg_name == 'commonscat' and item then local statements = item:getBestStatements('P373') -- get commons category page from P373 property if statements[1] and statements[1].mainsnak.datavalue then val = statements[1].mainsnak.datavalue.value end end -- edition or translation of (P629) -- category's main topic (P301) -- Wikimedia portal's main topic (P1204) -- main subject (P921) if item then for _,prop in pairs({ 'P629', 'P301', 'P1204', 'P921' }) do if not val and not transitivePropertyBlacklisted(prop, wd_sitelink_key) then local workSitelink = getFirstSitelink(item, prop, wd_sitelink_key) if workSitelink ~= nil then val = workSitelink break end end end end if val then links[prefix] = val end end -- tidy up redundancies in the WD data -- strip redundant commons category prefix if links['c:Category'] then links['c:Category'] = links['c:Category']:gsub('^Category:', '') end -- the gallery is exactly the same as the category, so just keep the category if links['c'] and links['c:Category'] and ('Category:' .. links['c:Category']) == links['c'] then links['c'] = nil end return links end -------- local function construct_sisicon_span(args) return mw.html.create('span') :addClass(args.class or 'sisicon') :wikitext('[[File:' .. args.image .. '|frameless|18px|link=' .. args.link .. '|alt=' .. args.alt .. ']]') end -- Get an HTML list of all links to all sister projects. function p._interprojectPart(args) local item = getItem(args) local link_data = p.getLinks(args) local links = {} -- iterate the links in the desired order and construct Wikitext links for k, v in pairs(sites_in_order) do if link_data[v] then local display = sites[v][2] local target = v .. ':' .. link_data[v] table.insert(links, '[[' .. target .. '|' .. display .. ']]') end end if #links == 0 then -- links table length is zero return nil end return mw.html.create('li') :addClass('sisitem') :node(construct_sisicon_span({ image = 'Wikimedia-logo.svg', link = 'Special:sitematrix', alt = 'Уруулуу бырайыактар' })) :wikitext('[[Special:sitematrix|Уруулуу бырайыактар]]: ' .. table.concat(links, ', ')) end function p.interprojectPart(frame) return p._interprojectPart(getArgs(frame)) end local function construct_related_links(sourceArgs, linkArgs, sisiconArgs) local links = {} for k, v in pairs(sourceArgs) do local key = string.gsub(string.gsub(string.gsub(string.gsub(k, ' ', ''), '_', ''), '-', ''), 's(%d*)$', '%1') if string.match(key, '^' .. linkArgs.param .. '%d*$') then local n = string.gsub(key, '^' .. linkArgs.param .. '(%d*)$', '%1') n = tonumber(n) or 1 if not links[n] then local items = mw.text.split(v, '%s*/%s*', false) local itemLinks = {} for _, item in pairs(items) do if item ~= '' then table.insert(itemLinks, '[[' .. linkArgs.nsPrefix .. item .. '|' .. item .. ']]') end end links[n] = table.concat(itemLinks, ', ') end end end links = TableTools.compressSparseArray(links) if #links == 0 then return nil end return mw.html.create('li') :addClass('sisitem') :node(construct_sisicon_span(sisiconArgs)) :wikitext(linkArgs.linkPrefix .. table.concat(links, ', ')) end function p._plain_sister(args) local current_frame = mw.getCurrentFrame() local current_title = mw.title.getCurrentTitle() local pagename = current_title.text local item = getItem(args) -- construct list local ul_list = mw.html.create('ul'):addClass('plainSister') if yesno(args.disambiguation) then local dabText = 'Search for titles ' .. tostring(mw.html.create('span'):addClass('selfreference'):wikitext('[[Special:Search/intitle:"' .. pagename .. '"|containing]]')) .. ' or ' if current_title:inNamespaces(14) then dabText = dabText .. '[[Special:Categories/' .. pagename .. '|beginning]]' elseif current_title:inNamespaces(0) then dabText = dabText .. '[[Special:PrefixIndex/' .. current_title.fullText .. '|beginning]]' else dabText = dabText .. '[[Special:PrefixIndex/' .. current_title.fullText .. '|beginning (in ' .. current_title.nsText .. 's)]]' end dabText = dabText .. ' with: "' .. pagename .. '"' ul_list:tag('li') :addClass('dabitem') :node(construct_sisicon_span({ image = 'Disambiguation.svg', link = 'WS:STYLE#Disambiguation, versions and translations pages', alt = 'Style Guide for disambiguation, version and translation pages', class = 'dabicon' })) :wikitext(dabText) end local edition_title = (args.textinfotitle and mw.title.new(args.textinfotitle)) or (yesno(args.textinfo or args.edition) and current_title) or nil local edition_title_talk = edition_title and edition_title.talkPageTitle local tracking_cats = {} if args.edition then table.insert(tracking_cats, '[[Category:' .. 'Plain sisters using edition parameter' .. ']]') end local textinfo_display if edition_title_talk and edition_title_talk.exists then textinfo_display = '[[' .. edition_title_talk.fullText .. '|information about this edition]]' elseif edition_title and not edition_title.exists then textinfo_display = error_message({'Textinfo page \"' .. edition_title.fullText .. '\" does not exist'}) table.insert(tracking_cats, '[[Category:' .. 'Plain sisters with nonexistent textinfo page' .. ']]') end if textinfo_display then ul_list:tag('li') :addClass('sisitem') :node(construct_sisicon_span({ image = 'Information icon.svg', link = 'Template:Textinfo', alt = 'Documentation for the TextInfo template', })) :wikitext(textinfo_display) end local portalLI = construct_related_links( args, { param = 'portal', nsPrefix = 'Portal:', linkPrefix = '[[Portal:Portals|related portals]]: ' }, { image = 'Wikisource-logo.svg', link = 'Portal:Portals', alt = 'Related Portals' } ) if portalLI then ul_list:node(portalLI) end local authorLI = construct_related_links( args, { param = 'relatedauthor', nsPrefix = 'Author:', linkPrefix = '[[Wikisource:Authors|related authors]]: ' }, { image = 'System-users.svg', link = 'Wikisource:Authors', alt = 'Related Authors' } ) if authorLI then ul_list:node(authorLI) end local workLI = construct_related_links( args, { param = 'relatedwork', nsPrefix = '', linkPrefix = '[[Wikisource:Works|related works]]: ' }, { image = 'Nuvola apps bookcase.svg', link = 'Wikisource:Works', alt = 'Related Works' } ) if workLI then ul_list:node(workLI) end local sisters = p._interprojectPart(args) if sisters then ul_list:node(sisters) end if yesno(args.wikidataswitch) and not item then ul_list:tag('li') :addClass('sisitem') :node(construct_sisicon_span({ image = 'Wikidata-logo.svg', link = 'Wikisource:Wikidata', alt = 'Wikidata', })) :wikitext('[[d:Special:Search/' .. pagename .. '|Wikidata`ҕа көрдөө]]') end if not yesno(args.disambiguation) and not textinfo_display and not portalLI and not authorLI and not workLI and not sisters and not yesno(args.wikidataswitch) then return nil end return current_frame:extensionTag('templatestyles', '', {src = 'Plain sister/styles.css'}) .. tostring(ul_list) .. table.concat(tracking_cats) end function p.plain_sister(frame) return p._plain_sister(getArgs(frame)) end return p -- Debug console testing: -- =p.interprojectPart(mw.getCurrentFrame():newChild{title='nop',args={wikidata='Q23308118'}}) l8xo6w5hukpb3c7yn99biu3sxcd5r72 Модуль:Plain sister/doc 828 2453 9507 2026-06-22T13:56:48Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9507 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Error 828 2454 9508 2026-06-22T13:57:40Z Sauit 2200 "local p = {} local function _error(args) local tag = mw.ustring.lower(tostring(args.tag or 'strong')) -- Work out what html tag we should use. if not (tag == 'p' or tag == 'span' or tag == 'div') then tag = 'strong' end -- Generate the html. return tostring(mw.html.create(tag) :addClass('error') :wikitext(tostring(args.message or args[1] or error('no message specified', 2))) ) end function p.error(frame) local args if type(fram..." саҥа сирэй оҥоһулунна 9508 Scribunto text/plain local p = {} local function _error(args) local tag = mw.ustring.lower(tostring(args.tag or 'strong')) -- Work out what html tag we should use. if not (tag == 'p' or tag == 'span' or tag == 'div') then tag = 'strong' end -- Generate the html. return tostring(mw.html.create(tag) :addClass('error') :wikitext(tostring(args.message or args[1] or error('no message specified', 2))) ) end function p.error(frame) local args if type(frame.args) == 'table' then --[=[ We're being called via #invoke. The args are passed through to the module from the template page, so use the args that were passed into the template. ]=] args = frame.args else --[=[ We're being called from another module or from the debug console, so assume the args are passed in directly. ]=] args = frame end --[=[ If the message parameter is present but blank, change it to nil. ]=] if args.message == '' then args.message = nil end return _error(args) end return p a1gea716qmg6nkngecd84mcx7lrtpgc Модуль:Error/doc 828 2455 9509 2026-06-22T13:57:51Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9509 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Header/attribution 828 2456 9511 2026-06-22T14:02:19Z Sauit 2200 "require('strict') local p = {} local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') local contrib_types = require('Module:Header/attribution data') local headerLang = require('Module:Header/lang') p.attr_data = {} for k, v in pairs(contrib_types) do p.attr_data[v['param_name']] = v end local function get_attribution_params(args) local all_contributors = { title = {}, section = {} } for k, v in pairs(ar..." саҥа сирэй оҥоһулунна 9511 Scribunto text/plain require('strict') local p = {} local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') local contrib_types = require('Module:Header/attribution data') local headerLang = require('Module:Header/lang') p.attr_data = {} for k, v in pairs(contrib_types) do p.attr_data[v['param_name']] = v end local function get_attribution_params(args) local all_contributors = { title = {}, section = {} } for k, v in pairs(args) do local base_param_name = string.gsub(string.gsub(k, '%-display$', ''), '%-nolink$', '') local arg_param_name = string.gsub(base_param_name, '^override%-', '') local param_name = string.gsub(arg_param_name, '%d*$', '') local section_key if string.match(arg_param_name, '^section%-') then section_key = 'section' param_name = string.gsub(param_name, '^section%-', '') else section_key = 'title' end if p['attr_data'][param_name] then local param_name_pattern = '^' .. string.gsub(string.gsub(base_param_name, '%d*$', ''), '%-', '%%%-') local nText = string.match(k, param_name_pattern .. '%d*$') local nDisplay = string.match(k, param_name_pattern .. '%d*%-display$') local nNoLink = string.match(k, param_name_pattern .. '%d*%-nolink$') local n local info if nText then n = string.gsub(nText, param_name_pattern .. '(%d*)$', '%1') n = tonumber(n) or 1 info = 'text' elseif nDisplay then n = string.gsub(nDisplay, param_name_pattern .. '(%d*)%-display$', '%1') n = tonumber(n) or 1 info = 'display' elseif nNoLink then n = string.gsub(nNoLink, param_name_pattern .. '(%d*)%-nolink$', '%1') n = tonumber(n) or 1 info = 'nolink' end local index = p['attr_data'][param_name]['index'] all_contributors[section_key][index] = all_contributors[section_key][index] or {} all_contributors[section_key][index]['param_name'] = all_contributors[section_key][index]['param_name'] or param_name all_contributors[section_key][index]['arg_param_name'] = all_contributors[section_key][index]['arg_param_name'] or arg_param_name all_contributors[section_key][index]['override'] = all_contributors[section_key][index]['override'] or args['override-' .. arg_param_name] if n and not (args.is_translation and arg_param_name == 'translator' and info == 'text' and string.lower(v) == 'wikisource') then all_contributors[section_key][index]['values'] = all_contributors[section_key][index]['values'] or {} all_contributors[section_key][index]['values'][n] = all_contributors[section_key][index]['values'][n] or {} all_contributors[section_key][index]['values'][n][info] = all_contributors[section_key][index]['values'][n][info] or v end end end if args.is_translation then local index = p['attr_data']['translator']['index'] all_contributors['title'][index] = all_contributors['title'][index] or {} all_contributors['title'][index]['param_name'] = all_contributors['title'][index]['param_name'] or 'translator' all_contributors['title'][index]['arg_param_name'] = all_contributors['title'][index]['arg_param_name'] or 'translator' all_contributors['title'][index]['override'] = all_contributors['title'][index]['override'] or nil all_contributors['title'][index]['values'] = all_contributors['title'][index]['values'] or {} table.insert(all_contributors['title'][index]['values'], {text = 'wikisource'}) end local contributors = { title = {}, section = {} } for section_key, section_values in pairs(all_contributors) do for i, contrib in ipairs(TableTools.compressSparseArray(section_values)) do local new_contrib = {} for k, v in pairs(TableTools.shallowClone(contrib)) do if k == 'values' then new_contrib[k] = TableTools.compressSparseArray(v) else new_contrib[k] = v end end table.insert(contributors[section_key], new_contrib) end end return contributors end function p.get_attribution_params(args) return get_attribution_params(args) end local function construct_attribution_span(args) local aspan = mw.html.create('span') :addClass('vcard') :attr('id', 'header-' .. args.span_param_name .. '-text') :tag('span'):addClass('fn'):wikitext(args.atext) return tostring(mw.html.create('span') :addClass('contributor-text') :wikitext(args.prefix .. tostring(aspan)) ) end local function construct_attribution(args) local data = args.data local param_name = data['param_name'] local span_param_name = param_name local prefix = p['attr_data'][param_name]['prefix'] .. '&nbsp;' local is_section = args.is_section if data['arg_param_name'] == 'section-author' then span_param_name = 'contributor' end if data['arg_param_name'] == 'author' and data['override'] then prefix = '' -- legacy parameter elseif param_name == 'translator' and args.languages then prefix = p['attr_data'][param_name]['language_prefix'](args.language_name or 'an undefined language') .. '&nbsp;' end -- override (legacy parameter) local atext = data['override'] if atext then if args.is_translation and param_name == 'translator' then atext = atext .. ' and ' .. p['attr_data'][param_name]['special_cases']['wikisource'] end return construct_attribution_span({span_param_name = span_param_name, prefix = prefix, atext = atext, is_section = is_section}) end local contributors = {} for i, contributor in ipairs(data['values']) do local text = contributor['text'] local display = contributor['display'] local nolink = yesno(contributor['nolink']) or false if nolink then table.insert(contributors, display or text) elseif text then local special = false for k, v in pairs(p['attr_data'][param_name]['special_cases']) do if string.lower(text) == k then special = true if type(v) == 'function' then display = v(display) else display = v end break end end if not special then if not display then display = string.gsub(text, ' %(.*%)$', '') end display = '[[Author:' .. text .. '|' .. display .. ']]' end if display then table.insert(contributors, display) end else mw.logObject(contributor) end end if #contributors == 0 then return nil elseif #contributors == 1 then atext = contributors[1] else atext = table.concat(contributors, ', ', 1, #contributors - 1) .. ' and ' .. contributors[#contributors] end -- Temporary check for illustrator in subpages. -- TODO: remove once -- [[Special:PermanentLink/14324127#Replace illustrator header parameter with section illustrator in subpages of works]] -- has been addressed. local cat = '' if param_name == 'illustrator' and mw.title.getCurrentTitle().isSubpage and not is_section then cat = '[[' .. 'Category:' .. 'Subpages using illustrator parameter' .. ']]' end local s = construct_attribution_span({span_param_name = span_param_name, prefix = prefix, atext = atext, is_section = is_section}) return s .. cat end function p.construct_attributions(args) local attributions = {} local a_args = TableTools.shallowClone(args) local attr_params = get_attribution_params(args)['title'] for i, data in ipairs(attr_params) do a_args['data'] = data a_args['is_section'] = false local atext = construct_attribution(a_args) if atext then table.insert(attributions, atext) end end if #attributions == 0 then return '' end return table.concat(attributions, ', ') end -- section function p.construct_section(args) local section_text = args['section'] if not section_text or section_text == '' then return '' end local attributions = {} local a_args = TableTools.shallowClone(args) a_args.languages = a_args.section_languages or a_args.languages a_args.language_name = a_args.section_language_name or a_args.language_name local attr_params = get_attribution_params(args)['section'] for i, data in ipairs(attr_params) do a_args['data'] = data a_args['is_section'] = true local atext = construct_attribution(a_args) if atext then table.insert(attributions, atext) end end if #attributions > 0 then local sep = ' ' if #attributions > 1 then sep = '<br/>' end section_text = section_text .. sep .. table.concat(attributions, ', ') end return tostring(mw.html.create('div') :addClass('header-section-text') :wikitext(section_text) ) end --[=[ Construct the [[Help:Microformat]] for the page. This is in the form: <div id="ws-data" ...> <span id="ws-title">Title here...</span> ... <div> ]=] function p.construct_microformat(args) local mf_div = mw.html.create('div') :addClass('ws-noexport') :attr('id', 'ws-data') :css({speak = 'none'}) -- override to show the microformat if yesno(args['show-microformat']) then mf_div:addClass('ws-data-show') end -- collect the MF values here local mf = {}; -- page ID mf['ws-article-id'] = mw.title.getCurrentTitle().id -- title if args['title'] then mf['ws-title'] = args['title'] -- append section if there is one if args['section'] then mf['ws-title'] = mf['ws-title'] .. " — " .. args['section'] end end -- year mf['ws-year'] = args['year'] -- cover mf['ws-cover'] = args['cover'] -- use section values if available, otherwise use work values local attr_params = get_attribution_params(args) local joined_attr_params = {} for i, section_key in ipairs({'section', 'title'}) do for i, data in ipairs(attr_params[section_key]) do local index = p['attr_data'][data['param_name']]['index'] joined_attr_params[index] = joined_attr_params[index] or data end end joined_attr_params = TableTools.compressSparseArray(joined_attr_params) for i, data in ipairs(joined_attr_params) do local atext = data['override'] local ws_translator = args.template_name == 'Translation header' and data['param_name'] == 'translator' if atext and ws_translator then atext = atext .. ' and Wikisource' elseif not atext then local attr_text = {} for i, values in ipairs(data['values']) do local display = values['text'] local special = false if values['text'] then for k, v in pairs(p['attr_data'][data['param_name']]['special_cases']) do if string.lower(values['text']) == k then special = true if k == 'anon' or k == 'anonymous' then display = 'Anonymous' elseif k == 'wikisource' then display = 'Wikisource' elseif type(v) == 'function' then display = v(display) else display = v end break end end else mw.logObject(values) end table.insert(attr_text, display) end if #attr_text == 1 then atext = attr_text[1] elseif #attr_text > 1 then atext = table.concat(attr_text, ', ', 1, #attr_text - 1) .. ' and ' .. attr_text[#attr_text] end end if atext then mf['ws-' .. data['param_name']] = atext end end for k, v in pairs(mf) do mf_div:tag('span'):attr('id', k):wikitext(v) end return tostring(mf_div) end return p 88ntodpl1jelxio2hv60fb0mxadl2cp Модуль:Header/attribution/doc 828 2457 9512 2026-06-22T14:02:31Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9512 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Header/attribution data 828 2458 9513 2026-06-22T14:05:36Z Sauit 2200 "require('strict') local function anon(text) text = text or 'Аноним' local cat = '' if mw.title.getCurrentTitle():inNamespaces(0, 114) then cat = '[[Category:' .. 'Биллибэт ааптардаах' .. ']]' end return '[[Бикитиэкэ:Анонимнай тиэкистэр|' .. text .. ']]' .. cat end local function anon_nocat(text) return '[[Бикитиэкэ:Анонимнай тиэкистэр|' .. (text or 'Аноним..." саҥа сирэй оҥоһулунна 9513 Scribunto text/plain require('strict') local function anon(text) text = text or 'Аноним' local cat = '' if mw.title.getCurrentTitle():inNamespaces(0, 114) then cat = '[[Category:' .. 'Биллибэт ааптардаах' .. ']]' end return '[[Бикитиэкэ:Анонимнай тиэкистэр|' .. text .. ']]' .. cat end local function anon_nocat(text) return '[[Бикитиэкэ:Анонимнай тиэкистэр|' .. (text or 'Аноним') .. ']]' end local contrib_types = { {noun = 'ааптар'}, {noun = 'attributed to', prefix = 'attributed to', special_cases = {}}, {noun = 'adapter', prefix = 'adapted by'}, {noun = 'abridger', prefix = 'abridged by'}, {noun = 'illustrator', prefix = 'illustrated by'}, {noun = 'director', prefix = 'directed by'}, {noun = 'lyricist', prefix = 'lyrics by'}, {noun = 'librettist', prefix = 'libretto by'}, { noun = 'book by', prefix = 'book by', special_cases = { ['?'] = 'unknown author', ['unknown'] = 'unknown author', ['not mentioned'] = 'unknown author', ['anon'] = anon, ['anonymous'] = anon, ['various'] = 'various authors' } }, {noun = 'composer', prefix = 'composed by'}, {noun = 'arranger', prefix = 'arranged by'}, { noun = 'translator', prefix = 'translated by', language_prefix = function(language_name) return 'translated from ' .. language_name .. ' by' end, special_cases = { ['?'] = 'unknown translator', ['unknown'] = 'unknown translator', ['not mentioned'] = 'unknown translator', ['anon'] = anon, ['anonymous'] = anon, ['various'] = 'various translators', ['wikisource'] = '[[Wikisource:Translations|Wikisource]]' } }, { noun = 'editor', prefix = 'edited by', special_cases = { ['?'] = 'unknown editor', ['unknown'] = 'unknown editor', ['not mentioned'] = 'unknown editor', ['anon'] = anon_nocat, ['anonymous'] = anon_nocat, ['various'] = 'various editors' } }, {noun = 'compiler', prefix = 'compiled by'} } for i = 1, #contrib_types do local noun = contrib_types[i]['noun'] contrib_types[i]['param_name'] = contrib_types[i]['param_name'] or string.gsub(noun, ' ', '-') contrib_types[i]['special_cases'] = contrib_types[i]['special_cases'] or { ['?'] = 'unknown ' .. noun, ['unknown'] = 'unknown ' .. noun, ['not mentioned'] = 'unknown ' .. noun, ['anon'] = anon, ['anonymous'] = anon, ['various'] = 'various ' .. noun .. 's' } contrib_types[i]['index'] = i end return contrib_types sx39qo8lsbcan8o0h5pwoifx2siqvkd 9536 9513 2026-06-22T14:23:56Z Sauit 2200 9536 Scribunto text/plain require('strict') local function anon(text) text = text or 'Аноним' local cat = '' if mw.title.getCurrentTitle():inNamespaces(0, 114) then cat = '[[Category:' .. 'Биллибэт ааптардаах' .. ']]' end return '[[Бикитиэкэ:Анонимнай тиэкистэр|' .. text .. ']]' .. cat end local function anon_nocat(text) return '[[Бикитиэкэ:Анонимнай тиэкистэр|' .. (text or 'Аноним') .. ']]' end local contrib_types = { {noun = 'author', prefix = '' }, {noun = 'attributed to', prefix = 'attributed to', special_cases = {}}, {noun = 'adapter', prefix = 'adapted by'}, {noun = 'abridger', prefix = 'abridged by'}, {noun = 'illustrator', prefix = 'illustrated by'}, {noun = 'director', prefix = 'directed by'}, {noun = 'lyricist', prefix = 'lyrics by'}, {noun = 'librettist', prefix = 'libretto by'}, { noun = 'book by', prefix = 'book by', special_cases = { ['?'] = 'unknown author', ['unknown'] = 'unknown author', ['not mentioned'] = 'unknown author', ['anon'] = anon, ['anonymous'] = anon, ['various'] = 'various authors' } }, {noun = 'composer', prefix = 'composed by'}, {noun = 'arranger', prefix = 'arranged by'}, { noun = 'translator', prefix = 'translated by', language_prefix = function(language_name) return 'translated from ' .. language_name .. ' by' end, special_cases = { ['?'] = 'unknown translator', ['unknown'] = 'unknown translator', ['not mentioned'] = 'unknown translator', ['anon'] = anon, ['anonymous'] = anon, ['various'] = 'various translators', ['wikisource'] = '[[Wikisource:Translations|Wikisource]]' } }, { noun = 'editor', prefix = 'edited by', special_cases = { ['?'] = 'unknown editor', ['unknown'] = 'unknown editor', ['not mentioned'] = 'unknown editor', ['anon'] = anon_nocat, ['anonymous'] = anon_nocat, ['various'] = 'various editors' } }, {noun = 'compiler', prefix = 'compiled by'} } for i = 1, #contrib_types do local noun = contrib_types[i]['noun'] contrib_types[i]['param_name'] = contrib_types[i]['param_name'] or string.gsub(noun, ' ', '-') contrib_types[i]['special_cases'] = contrib_types[i]['special_cases'] or { ['?'] = 'unknown ' .. noun, ['unknown'] = 'unknown ' .. noun, ['not mentioned'] = 'unknown ' .. noun, ['anon'] = anon, ['anonymous'] = anon, ['various'] = 'various ' .. noun .. 's' } contrib_types[i]['index'] = i end return contrib_types 0suvo4q4cmdcl24yvs7e4usmaufc82f Модуль:Header/attribution data/doc 828 2459 9514 2026-06-22T14:05:52Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9514 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Header/lang 828 2460 9515 2026-06-22T14:06:37Z Sauit 2200 "require('strict') local p = {} local ISO_639_language_name = require('Module:ISO 639').language_name local TableTools = require('Module:TableTools') p.project_language = mw.language.getContentLanguage().code p.project_language_name = ISO_639_language_name(p.project_language) p.interwiki_prefixes = { ['grc'] = 'el', ['ang'] = 'ang:' .. p.project_language, ['enm'] = 'enm:' .. p.project_language, ['sco'] = 'sco:' .. p.project_language } --[=[..." саҥа сирэй оҥоһулунна 9515 Scribunto text/plain require('strict') local p = {} local ISO_639_language_name = require('Module:ISO 639').language_name local TableTools = require('Module:TableTools') p.project_language = mw.language.getContentLanguage().code p.project_language_name = ISO_639_language_name(p.project_language) p.interwiki_prefixes = { ['grc'] = 'el', ['ang'] = 'ang:' .. p.project_language, ['enm'] = 'enm:' .. p.project_language, ['sco'] = 'sco:' .. p.project_language } --[=[ Construct the automatic categories for the header ]=] function p.language_category_name(cat_works_start, lang, is_translation) local cat_language_name = ISO_639_language_name(lang) or 'an undefined language' if lang == 'el' then cat_language_name = 'Modern Greek' elseif lang == p.project_language and not is_translation then cat_language_name = 'explicitly cited ' .. p.project_language_name end return cat_works_start .. ' ' .. cat_language_name end function p.get_languages(args, prefix) prefix = (prefix and prefix .. '%-') or '' -- language handling local languages = {} for k, v in pairs(args) do local n local nText = string.match(k, '^' .. prefix .. 'language%d*$') or string.match(k, '^' .. prefix .. 'lang%d*$') if nText and type(v) == 'string' then n = string.gsub(string.gsub(nText, 'language', ''), 'lang', '') n = tonumber(n) or 1 languages[n] = mw.text.split(v, '%s*,%s*') end end languages = TableTools.compressSparseArray(languages) if #languages == 0 then return {} end local flat_languages = {} local language_name local language_names = {} for i, langs in ipairs(languages) do for j, lang in ipairs(langs) do table.insert(flat_languages, lang) local name = ISO_639_language_name(lang) if name then table.insert(language_names, name) end end end if #language_names == 1 then language_name = language_names[1] elseif #language_names > 1 then language_name = table.concat(language_names, ', ', 1, #language_names - 1) .. ' and ' .. language_names[#language_names] end return { languages = flat_languages, language_name = language_name } end return p qsmse5pmpoijw807kl1pbdmrr05kxaz Модуль:Header/lang/doc 828 2461 9516 2026-06-22T14:06:51Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9516 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:ISO 639 828 2462 9517 2026-06-22T14:08:16Z Sauit 2200 "require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local warn = require('Module:Warning') local languageNameOverrides = mw.loadData('Module:ISO 639/overrides') --[=[ Get the language name, in English, for a given ISO 639 (-1, -2 or -3) code Returns nil if the language is not in the lookup tables. ]=] function p.language_name(code, failValue) -- Only continue if we get passed a non-empty string for the code para..." саҥа сирэй оҥоһулунна 9517 Scribunto text/plain require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local warn = require('Module:Warning') local languageNameOverrides = mw.loadData('Module:ISO 639/overrides') --[=[ Get the language name, in English, for a given ISO 639 (-1, -2 or -3) code Returns nil if the language is not in the lookup tables. ]=] function p.language_name(code, failValue) -- Only continue if we get passed a non-empty string for the code param if code == nil or code == '' then warn('No ISO code provided to [[Module:ISO 639]]') return failValue elseif type(code) ~= 'string' then warn('ISO code \"' .. tostring(code) .. '\" is not a string') return failValue end -- If we have a local override, apply it local language = languageNameOverrides[code] -- Otherwise, ask MediaWiki for the language name in English for this code if language == nil or language == '' then language = mw.language.fetchLanguageName(code, 'en') end -- If we got no name from MediaWiki and have no override for this code, -- load the big honkin' local lookup table and check there. if language == nil or language == '' then local localLanguageNames = mw.loadData('Module:ISO 639/local') language = localLanguageNames[code] end -- If we found a non-empty lang name we return it. if language ~= nil and language ~= '' then return language end -- otherwise we return the failure value warn('ISO code \"' .. code .. '\" not recognized by [[Module:ISO 639]]') return failValue end --[=[ Implements [[Template:ISO 639 name]] ]=] function p.ISO_639_name(frame) local args = getArgs(frame) return p.language_name(args[1] or args.code, '[[Category:' .. 'ISO 639 name template errors' .. ']]') end return p 3tr0b4bhq6112dvnq0at9vsygu80pd6 Модуль:ISO 639/doc 828 2463 9518 2026-06-22T14:08:36Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9518 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:ISO 639/overrides 828 2464 9519 2026-06-22T14:09:10Z Sauit 2200 "return { ["ab"] = "Abkhaz", ["acm"] = "Mesopotamian Arabic", ["als"] = "Tosk Albanian", ["bn"] = "Bengali", ["bpy"] = "Bishnupriya Manipuri", ["cdo"] = "Min Dong", ["cu"] = "Church Slavonic", ["dga"] = "Southern Dagaare", ["diq"] = "Dimli", ["dv"] = "Dhivehi", ["fiu-vro"] = "Võro", ["frp"] = "Franco-Provençal", ["gcr"] = "Guianese Creole", ["gur"] = "Farefare", ["ii"] = "Nuosu", ["kaa"] = "Karakalpak", ["kj"] = "Kwanyama", ["krj..." саҥа сирэй оҥоһулунна 9519 Scribunto text/plain return { ["ab"] = "Abkhaz", ["acm"] = "Mesopotamian Arabic", ["als"] = "Tosk Albanian", ["bn"] = "Bengali", ["bpy"] = "Bishnupriya Manipuri", ["cdo"] = "Min Dong", ["cu"] = "Church Slavonic", ["dga"] = "Southern Dagaare", ["diq"] = "Dimli", ["dv"] = "Dhivehi", ["fiu-vro"] = "Võro", ["frp"] = "Franco-Provençal", ["gcr"] = "Guianese Creole", ["gur"] = "Farefare", ["ii"] = "Nuosu", ["kaa"] = "Karakalpak", ["kj"] = "Kwanyama", ["krj"] = "Karay-a", ["kus"] = "Kusaal", ["lad"] = "Judaeo-Spanish", ["lg"] = "Luganda", ["map-bms"] = "Banyumasan", ["nah"] = "Nahuatl", ["nan"] = "Southern Min", ["new"] = "Newar", ["nit"] = "Naiki", ["nqo"] = "N'Ko", ["nrm"] = "Narom", ["ny"] = "Chewa", ["nys"] = "Noongar", ["pi"] = "Pāli", ["pih"] = "Pitkern", ["rif"] = "Tmazight", ["rki"] = "Rakhine", ["st"] = "Sotho", ["tay"] = "Atayal", ["trv"] = "Seediq", ["vmf"] = "East Franconian", ["wal"] = "Wolaitta", ["zh-min-nan"] = "Southern Min" } thn706ro24wcxcx8wd6f0rlhfux9u0q Модуль:ISO 639/overrides/doc 828 2465 9520 2026-06-22T14:09:24Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9520 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Warning 828 2466 9521 2026-06-22T14:10:04Z Sauit 2200 "local libraryUtil = require('libraryUtil') local wrapper = "%s" -- wikitext formatting local msg_loc = "Lua warning in %s at line %d: %s." local msg = "Lua warning: %s." return function (message, level) libraryUtil.checkType('warn', 2, level, 'number', true) level = level or 1 if level > 0 then local _, location = pcall(error, '', level+2) if location ~= '' then location = mw.text.split(location:sub(1,-3), ':%f[%d]') message = msg_lo..." саҥа сирэй оҥоһулунна 9521 Scribunto text/plain local libraryUtil = require('libraryUtil') local wrapper = "%s" -- wikitext formatting local msg_loc = "Lua warning in %s at line %d: %s." local msg = "Lua warning: %s." return function (message, level) libraryUtil.checkType('warn', 2, level, 'number', true) level = level or 1 if level > 0 then local _, location = pcall(error, '', level+2) if location ~= '' then location = mw.text.split(location:sub(1,-3), ':%f[%d]') message = msg_loc:format(location[1], location[2], message) else message = msg:format(message) end else message = msg:format(message) end mw.addWarning(wrapper:format(message)) end 6n5nxfk4xtrlul0szoxeogpa9uj1ggn Модуль:Warning/doc 828 2467 9522 2026-06-22T14:10:16Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9522 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Header/sort 828 2468 9523 2026-06-22T14:10:51Z Sauit 2200 "require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') --[=[ Generate a {{DEFAULTSORT}} magic word according to the defaultsort parameter ]=] function p._construct_defaultsort(args) local defsortKey local title = mw.title.getCurrentTitle().text if args.sortkey then defsortKey = args.sortkey else -- construct defaultsort automatically by stripping A/An/The as needed loc..." саҥа сирэй оҥоһулунна 9523 Scribunto text/plain require('strict') local p = {} local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') --[=[ Generate a {{DEFAULTSORT}} magic word according to the defaultsort parameter ]=] function p._construct_defaultsort(args) local defsortKey local title = mw.title.getCurrentTitle().text if args.sortkey then defsortKey = args.sortkey else -- construct defaultsort automatically by stripping A/An/The as needed local title_table = mw.text.split(title, '/') local sorted_title local sorted_title_table = {} local articles = {'A', 'An', 'The'} for k, part in pairs(title_table) do local sorted_part = part local disambig = string.match(sorted_part, ' %(.*%)$') if disambig then sorted_part = string.gsub(sorted_part, ' %(.*%)$', '') else disambig = '' end for j, article in pairs(articles) do if string.len(sorted_part) > string.len(article) and string.sub(sorted_part, 1, string.len(article) + 1) == (article .. ' ') then sorted_part = string.sub(sorted_part, string.len(article) + 2) .. ', ' .. article .. disambig break end end table.insert(sorted_title_table, sorted_part) end defsortKey = table.concat(sorted_title_table, '/') if defsortKey == title then defsortKey = nil end end -- if a suitable key is found or constructed, apply it if defsortKey == title then return args.equalsortcat or '' elseif defsortKey then return mw.getCurrentFrame():callParserFunction('DEFAULTSORT', {defsortKey}) .. (args.diffsortcat or '') end -- otherwise, don't do anything and use the default return '' end function p.construct_defaultsort(frame) return p._construct_defaultsort(getArgs(frame)) end return p 1n19hnqrhvczpbubuuf59ozzv3lkchj Модуль:Header/sort/doc 828 2469 9524 2026-06-22T14:11:03Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9524 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Модуль:Header/year 828 2470 9525 2026-06-22T14:13:14Z Sauit 2200 "--[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision:..." саҥа сирэй оҥоһулунна 9525 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} if not args.input_year and args.year then table.insert(cats, '[[Category:' .. 'Works with year from Wikidata' .. ']]') elseif not args.input_year then table.insert(cats, '[[Category:' .. 'Undated works' .. ']]') elseif args.input_year and not tonumber(args.input_year) then table.insert(cats, '[[Category:' .. 'Works with non-numeric dates' .. ']]') end if args.unrecognised then table.insert(cats, '[[Category:' .. 'Works with unrecognised dates' .. ']]') end local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) if year.uncertain or start_year.uncertain or end_year.uncertain or year.circa or start_year.circa or end_year.circa or #(year_list) > 1 or (precisions[1] and precisions[1] < 9) then table.insert(cats, '[[Category:' .. 'Works of uncertain date' .. ']]') end if year.unknown or start_year.unknown or end_year.unknown then table.insert(cats, '[[Category:' .. 'Works of unknown date' .. ']]') end if start_year.year and end_year.year and year_greater_than(start_year, end_year) then table.insert(cats, '[[Category:' .. 'Works with start and end dates in the wrong order' .. ']]') end -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end table.insert(cats, year_for_cat and ('[[Category:' .. year_for_cat .. ' works]]')) return table.concat(cats) end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 114) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p stuufsvxa570pomfwi11o7qepv8b4ca 9528 9525 2026-06-22T14:15:09Z Sauit 2200 9528 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} if not args.input_year and args.year then table.insert(cats, '[[Category:' .. 'Works with year from Wikidata' .. ']]') elseif not args.input_year then table.insert(cats, '[[Category:' .. 'Undated works' .. ']]') elseif args.input_year and not tonumber(args.input_year) then table.insert(cats, '[[Category:' .. 'Works with non-numeric dates' .. ']]') end if args.unrecognised then table.insert(cats, '[[Category:' .. 'Works with unrecognised dates' .. ']]') end local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) if year.uncertain or start_year.uncertain or end_year.uncertain or year.circa or start_year.circa or end_year.circa or #(year_list) > 1 or (precisions[1] and precisions[1] < 9) then table.insert(cats, '[[Category:' .. 'Works of uncertain date' .. ']]') end if year.unknown or start_year.unknown or end_year.unknown then table.insert(cats, '[[Category:' .. 'Works of unknown date' .. ']]') end if start_year.year and end_year.year and year_greater_than(start_year, end_year) then table.insert(cats, '[[Category:' .. 'Works with start and end dates in the wrong order' .. ']]') end -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end table.insert(cats, year_for_cat and ('[[Category:' .. year_for_cat .. ' works]]')) return table.concat(cats) end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 103) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p k6hro0247qzikhe3aot5dis5fxd3wp3 9542 9528 2026-06-22T14:39:56Z Sauit 2200 9542 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} if not args.input_year and args.year then table.insert(cats, '[[Category:]]') elseif not args.input_year then table.insert(cats, '[[Category:]]') elseif args.input_year and not tonumber(args.input_year) then table.insert(cats, '[[Category:]]') end if args.unrecognised then table.insert(cats, '[[Category:]]') end local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) if year.uncertain or start_year.uncertain or end_year.uncertain or year.circa or start_year.circa or end_year.circa or #(year_list) > 1 or (precisions[1] and precisions[1] < 9) then table.insert(cats, '[[Category:]]') end if year.unknown or start_year.unknown or end_year.unknown then table.insert(cats, '[[Category:]]') end if start_year.year and end_year.year and year_greater_than(start_year, end_year) then table.insert(cats, '[[Category:]]') end -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end table.insert(cats, year_for_cat and ('[[Category:]]')) return table.concat(cats) end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 103) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p sw2q4c16dsmw7zuijpnky6klmiklve1 9544 9542 2026-06-22T14:43:25Z Sauit 2200 9544 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) if year.uncertain or start_year.uncertain or end_year.uncertain or year.circa or start_year.circa or end_year.circa or #(year_list) > 1 or (precisions[1] and precisions[1] < 9) then table.insert(cats, '[[Category:]]') end if year.unknown or start_year.unknown or end_year.unknown then table.insert(cats, '[[Category:]]') end if start_year.year and end_year.year and year_greater_than(start_year, end_year) then table.insert(cats, '[[Category:]]') end -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end table.insert(cats, year_for_cat and ('[[Category:]]')) return table.concat(cats) end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 103) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p nafm6660n20rbby341fz5bjys11xr4w 9589 9544 2026-06-23T05:14:21Z Sauit 2200 9589 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 103) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p k52gsbgm2ptsb2m4mynjg92mulrt3la 9590 9589 2026-06-23T05:14:57Z Sauit 2200 [[Special:Contributions/Sauit|Sauit]] [[User talk:Sauit|ырытыы]] оҥорбут [[Special:Diff/9589|9589]] барылын сотуу 9590 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) if year.uncertain or start_year.uncertain or end_year.uncertain or year.circa or start_year.circa or end_year.circa or #(year_list) > 1 or (precisions[1] and precisions[1] < 9) then table.insert(cats, '[[Category:]]') end if year.unknown or start_year.unknown or end_year.unknown then table.insert(cats, '[[Category:]]') end if start_year.year and end_year.year and year_greater_than(start_year, end_year) then table.insert(cats, '[[Category:]]') end -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end table.insert(cats, year_for_cat and ('[[Category:]]')) return table.concat(cats) end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 103) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p nafm6660n20rbby341fz5bjys11xr4w 9591 9590 2026-06-23T05:16:28Z Sauit 2200 9591 Scribunto text/plain --[=[ Construct the year span --]=] require('strict') local p = {} --p stands for package local yesno = require('Module:Yesno') local TableTools = require('Module:TableTools') --[=[ Year properties: { year = integer, precision = integer, circa = boolean, bce = boolean, uncertain = boolean, unknown = boolean, unrecognised = boolean, display = string, start_year = year, end_year = year, year_list = year } ]=] --[=[ Precision: 0 - billion years 1 - hundred million years, 2 - ten million years, 3 - million years, 4 - hundred thousand years, 5 - ten thousand years, 6 - millenia, 7 - centuries, 8 - decades, 9 - years, 10 - months, 11 - days 12 - hours 13 - minutes 14 - seconds ]=] local currentyear = { year = tonumber(os.date('%Y')), precision = 9, circa = false, bce = false, display = os.date('%Y') } local unknownyear = { unknown = true, display = 'unknown' } local function year_less_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year1 == nil elseif year1.bce ~= year2.bce then return year1.bce end if year1.bce then return year1.year > year2.year else return year1.year < year2.year end end local function year_greater_than(year1, year2) if year1 == year2 then return false elseif not year1 or not year2 then return year2 == nil elseif year1.bce ~= year2.bce then return year2.bce end if year1.bce then return year1.year < year2.year else return year1.year > year2.year end end local function year_equal(year1, year2) if year1 == year2 then return true elseif not year1 or not year2 then return false end year1.bce = year2.bce == true year1.bce = year2.bce == true return year1.bce == year2.bce and year1.year == year2.year end local function pad_number(n, pad) n = tostring(n) return string.rep('0', pad - string.len(n)) .. n end local function get_year_text(year, precision, bce) if not tonumber(year) then return year elseif precision < 6 then return nil end year = tonumber(year) local suffixes = { [1] = 'st', [2] = 'nd', [3] = 'rd', ['default'] = 'th' } local bce_text = (bce and ' BCE') or '' if precision == 6 then local millennium = (year - year % 1000)/1000 + 1 return millennium .. (suffixes[millennium] or suffixes['default']) .. ' millennium' .. bce_text elseif precision == 7 then local century = (year - year % 100)/100 + 1 return century .. (suffixes[century] or suffixes['default']) .. ' үйэ' .. bce_text elseif precision == 8 then local decade = year - year % 10 return decade .. 's' .. bce_text else return year .. bce_text end end local function format_year_for_display(year) if not year then return nil end local start_year = year.start_year and TableTools.shallowClone(year.start_year) local end_year = year.end_year and TableTools.shallowClone(year.end_year) if year.year then return (year.circa and 'c. ' or '') .. get_year_text(year.year, year.precision + (year.circa and 1 or 0), year.bce) .. ((year.bce == nil and ' CE') or '') elseif start_year or end_year then if start_year and end_year then if start_year.bce and end_year.bce then start_year.bce = false elseif start_year.bce ~= end_year.bce then start_year.bce = start_year.bce or nil end_year.bce = end_year.bce or nil end if start_year.circa then end_year.circa = false end end return table.concat({format_year_for_display(start_year) or '', format_year_for_display(end_year) or ''}, '–') end return nil end local function format_year_list_for_display(years) local year_displays = {} for _, year in ipairs(years) do table.insert(year_displays, year.display or format_year_for_display(year)) end return table.concat(year_displays, '/') end local function substrings_all_equal(years, i) local substrings = {} for _, year in ipairs(years) do table.insert(substrings, string.sub(year, 1, i)) end return #(TableTools.removeDuplicates(substrings)) <= 1 end local function get_containing_year_category(years_to_categorize) local years = {} for _, year in ipairs(TableTools.shallowClone(years_to_categorize)) do if not year.year or not year.precision then return nil else table.insert(years, year) end end if #years == 0 then return nil end local bce = years[1].bce for _, year in ipairs(years) do year.bce = year.bce == true if bce ~= year.bce then return nil end end local precisions = {} for _, year in ipairs(years) do table.insert(precisions, year.precision) end table.sort(precisions) local n_length = 0 for _, year in ipairs(years) do n_length = math.max(n_length, string.len(year.year)) end local padded_years = {} for _, year in ipairs(years) do table.insert(padded_years, pad_number(year.year, n_length)) end local shared_digits = 1 while shared_digits <= n_length and substrings_all_equal(padded_years, shared_digits) do shared_digits = shared_digits + 1 end shared_digits = shared_digits - 1 local range_precision = math.min(precisions[1], 9 - n_length + shared_digits) return get_year_text(years[1].year, range_precision, years[1].bce) end local function categorise_year(args) local cats = {} local year = args.year or {} local start_year = year.start_year or (year.end_year ~= nil and unknownyear) or {} local end_year = year.end_year or (year.start_year ~= nil and currentyear) or {} start_year.bce = start_year.bce == true end_year.bce = end_year.bce == true local year_list = year.year_list or {} local precisions = {} table.insert(precisions, year.precision) table.insert(precisions, start_year.precision) table.insert(precisions, end_year.precision) table.sort(precisions) if year.uncertain or start_year.uncertain or end_year.uncertain or year.circa or start_year.circa or end_year.circa or #(year_list) > 1 or (precisions[1] and precisions[1] < 9) then -- table.insert(cats, '[[Category:]]') -- end if year.unknown or start_year.unknown or end_year.unknown then -- table.insert(cats, '[[Category:]]') -- end if start_year.year and end_year.year and year_greater_than(start_year, end_year) then -- table.insert(cats, '[[Category:]]') -- end -- single year local year_for_cat if year.year then year_for_cat = get_year_text(year.year, year.precision, year.bce) -- date range elseif start_year.year and end_year.year and start_year.bce == end_year.bce then year_for_cat = get_containing_year_category({start_year, end_year}) elseif #year_list > 0 then year_for_cat = get_containing_year_category(year_list) end -- table.insert(cats, year_for_cat and ('[[Category:]]')) -- return table.concat(cats) end local function get_year_from_single_statement(statement) local snak = statement.mainsnak if not snak or not snak.datavalue or not snak.datavalue.value or not snak['datavalue']['value']['time'] or not snak.datavalue.value.precision then return nil end local precision = snak.datavalue.value.precision if precision < 6 then -- precision is less than a millennium return { precision = precision, display = string.gsub(mw.wikibase.formatValue(statement.mainsnak), '^<span>(.*)</span>$', '%1') } end local start_years = {} local end_years = {} local start_year, end_year local circa = false if statement.qualifiers then -- Check if date is approximate -- P1480 = sourcing circumstances, Q5727902 = circa if statement.qualifiers.P1480 then for _, qualifier in ipairs(statement.qualifiers.P1480) do if qualifier.datavalue and qualifier.datavalue.value.id == 'Q5727902' then circa = true break end end end if circa then precision = precision - 1 end -- P580 = start time if statement.qualifiers.P580 then for k, v in pairs(statement.qualifiers.P580) do table.insert(start_years, get_year_from_single_statement({mainsnak = v})) end start_years = TableTools.compressSparseArray(TableTools.removeDuplicates(start_years)) table.sort(start_years, year_less_than) start_year = start_years[1] if #start_years > 1 then start_year.uncertain = true end end -- P582 = end time if statement.qualifiers.P582 then for k, v in pairs(statement.qualifiers.P582) do table.insert(end_years, get_year_from_single_statement({mainsnak = v})) end end_years = TableTools.compressSparseArray(TableTools.removeDuplicates(end_years)) table.sort(end_years, year_less_than) end_year = end_years[1] if #end_years > 1 then end_year.uncertain = true end end end -- extract the year from the timestamp -- example timestamps: +2016-10-05T00:00:00Z, -1752-00-00T00:00:00Z local year local bce = false local split = mw.text.split(snak['datavalue']['value']['time'], '-', true) if split[1] == '' then year = tonumber(split[2]) bce = true else year = tonumber(split[1]) end -- malformed timestamp if not year then return nil end local year_data = { year = (not start_year and not end_year and year) or nil, circa = circa, bce = bce, uncertain = (start_year and start_year.year ~= year) or circa, precision = precision, start_year = start_year, end_year = end_year } year_data.display = format_year_for_display(year_data) return year_data end local function get_wikidata_year(args) -- Fetch entity object for Wikidata item connected to the current page -- Let manually-specified Wikidata ID override if given and valid if not (args.wikidata and mw.wikibase.isValidEntityId(args.wikidata)) then args.wikidata = mw.wikibase.getEntityIdForCurrentPage() end if not args.wikidata then return nil end local item = mw.wikibase.getEntity(args.wikidata) if not item then return nil end local statements = item:getBestStatements('P577') -- publication date if #statements == 0 then return nil end local years = {} for _, statement in ipairs(statements) do local year_data = get_year_from_single_statement(statement) table.insert(years, year_data) end years = TableTools.compressSparseArray(TableTools.removeDuplicates(years)) if #years == 0 then return nil elseif #years == 1 then return years[1] end return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } end local function parse_year(year) if not year then return nil elseif year == '?' or string.lower(year) == 'unknown' then return unknownyear end local input_year = year local circa = false -- Lua patterns can't do ^c(irca)?(%s|%.|/)* because they don't do alternation or apply quantifiers to groups if string.match(year, '^circa') or string.match(year, '^c%.') or string.match(year, '^c%s*/') then circa = true year = string.gsub(string.gsub(string.gsub(year, '^circa%s*', ''), '^c%.%s*', ''), '^c%s*/%s*', '') end local bce = false if string.match(year, 'BC[E]?$') then bce = true year = string.gsub(year, '%s*BC[E]?$', '') end if string.match(year, '/') then local year_split = mw.text.split(year, '/') local years = {} for _, opt in ipairs(year_split) do if opt ~= '' then local y = parse_year(opt) y.bce = y.bce or bce y.circa = y.circa or circa table.insert(years, y) end end if #years > 1 then return { uncertain = true, year_list = years, display = format_year_list_for_display(years) } elseif #years == 1 then return years[1] end end local start_year, end_year year = string.gsub(string.gsub(year, '%-', '–'), '—', '–') if string.match(year, '^[^–]*–[^–]*$') then local year_range = mw.text.split(year, '–') start_year = mw.text.trim(year_range[1]) end_year = mw.text.trim(year_range[2]) if start_year == '' then start_year = nil else start_year = parse_year(start_year) start_year.circa = start_year.circa or circa start_year.bce = start_year.bce or bce end if end_year == '' then end_year = nil else end_year = parse_year(end_year) end_year.circa = end_year.circa or circa end_year.bce = end_year.bce or bce end end local precision if tonumber(year) then precision = 9 -- Check if it looks like a decade elseif string.match(year, '^%d*0s$') then precision = 8 year = string.gsub(year, '^(%d*0)s$', '%1') -- Or a century elseif string.match(year, '^%d+[a-z]* үйэ$') then precision = 7 year = string.gsub(year, '^(%d+)[a-z]* үйэ$', '%1') year = 100 * (tonumber(year) - 1) -- Or a millennium elseif string.match(year, '^%d+[a-z]* millennium$') then precision = 6 year = string.gsub(year, '^(%d+)[a-z]* millennium', '%1') year = 1000 * (tonumber(year) - 1) end if circa and precision then precision = precision - 1 end if tonumber(year) then local data = { year = tonumber(year), bce = bce, circa = circa, precision = precision } data['display'] = format_year_for_display(data) return data elseif start_year or end_year then return { start_year = start_year, end_year = end_year, display = format_year_for_display({start_year = start_year, end_year = end_year}) } end return { unrecognised = true, display = input_year } end function p.construct_year(args) local current_title = mw.title.getCurrentTitle() local year_args = { year = args.year, noprint = yesno(args.noyear) or false, wikidata = args.wikidata } year_args.nocat = yesno(args.noyearcat) if year_args.nocat == nil then if args.testing then year_args.nocat = false else year_args.nocat = ( yesno(args.disambiguation) -- disambiguations never categorise or not current_title:inNamespaces(0, 103) -- only categorise in mainspace and Translation or current_title.isSubpage -- only categorise if this is a base page ) end end local year_data = parse_year(year_args.year) or get_wikidata_year(year_args) local cats = (year_args.nocat and '') or categorise_year({input_year = year_args.year, year = year_data}) if args.testing then cats = mw.text.nowiki(cats) .. cats end if year_args.noprint or not year_data or not year_data.display then return cats end local year_span = mw.html.create('span') :addClass('wst-header-year-text') :wikitext(year_data.display) :allDone() return ' (' .. tostring(year_span) .. ')' .. cats end return p i1hpi89viu1s43ggnc8kb5auok9b1lo Модуль:Edition 828 2471 9526 2026-06-22T14:13:51Z Sauit 2200 "-------------------------------------------------------------------------------- -- Organisation of this module: the exports are listed at the bottom; their -- direct functions are just above there, and supporting functions are higher -- up. -- -- Please add testcases before modifying anything. -- -------------------------------------------------------------------------------- require('strict') local instanceOfProp = 'P31' local authorProp = 'P50'..." саҥа сирэй оҥоһулунна 9526 Scribunto text/plain -------------------------------------------------------------------------------- -- Organisation of this module: the exports are listed at the bottom; their -- direct functions are just above there, and supporting functions are higher -- up. -- -- Please add testcases before modifying anything. -- -------------------------------------------------------------------------------- require('strict') local instanceOfProp = 'P31' local authorProp = 'P50' local editionOrTranslationOfProp = 'P629' local equivalentClassProp = 'P1709' local topicsMainWikimediaPortalProp = 'P1151'; -------------------------------------------------------------------------------- -- Insert a value into a table, but not if it's already there. local function tableInsertUnique( theTable, value ) for _, item in pairs( theTable ) do if item == value then -- Already present return end end -- Otherwise, add the new value. table.insert( theTable, value ) end -------------------------------------------------------------------------------- -- For the given author item, find the Wikisource sitelink. If there isn't one, -- check to see if there the author has a topicsMainWikimediaPortal statement, -- and then see if that portal has a sitelink instead. local function get_author_sitelink( authorItem ) local siteLink = authorItem:getSitelink( mw.language.getContentLanguage().code .. 'wikisource' ) if ( siteLink ~= nil ) then return siteLink end local portalStatements = authorItem:getBestStatements( topicsMainWikimediaPortalProp ) for _, mainPortal in pairs( portalStatements ) do local mainPortalId = mainPortal['mainsnak']['datavalue']['value']['id'] local mainPortalItem = mw.wikibase.getEntity( mainPortalId ) siteLink = mainPortalItem:getSitelink( mw.language.getContentLanguage().code .. 'wikisource' ) end return siteLink end -------------------------------------------------------------------------------- -- Get the schema.org URL for the itemtype of the given item. local function getSchemaorgItemtype( item ) local schemaPrefix = 'http://schema.org/' for _, instanceOf in pairs( item:getBestStatements( instanceOfProp ) ) do local instanceOfId = instanceOf['mainsnak']['datavalue']['value']['id'] local instanceOfItem = mw.wikibase.getEntity( instanceOfId ) -- Now go through each of the instance-of item's class statements, -- seeing if we can find a matching schema.org URL. for _, equivClass in pairs( instanceOfItem:getBestStatements( equivalentClassProp ) ) do local val = equivClass['mainsnak']['datavalue']['value'] if string.sub( val, 1, #schemaPrefix ) == schemaPrefix then -- This is a schema.org URL. return val end end end -- If we've not figured it out by now, give up with the default. return schemaPrefix .. 'Thing' end -------------------------------------------------------------------------------- -- Create the HTML (including wikitext link) for all provided authors, -- and add it to the given authorLinks table (for later concatenation). local function process_authors( authorLinks, authors ) if authors == nil or #authors == 0 then return end for _, author in pairs( authors ) do local authorId = author['mainsnak']['datavalue']['value']['id'] local authorItem = mw.wikibase.getEntity( authorId ) local siteLink = get_author_sitelink( authorItem ) local authorName = authorItem:getLabel() if siteLink ~= nil then authorName = mw.title.new( siteLink ).text end local authorHtml = mw.html.create('span') :attr('itemprop', 'author') :attr('itemscope', '') :attr('itemtype', getSchemaorgItemtype( authorItem ) ) local authorNameHtml = authorHtml:tag( 'span' ) authorNameHtml:attr( 'itemprop', 'name' ) :wikitext( authorName ) local authorHtmlStr = tostring( authorHtml ) if siteLink == nil then tableInsertUnique( authorLinks, authorHtmlStr ) else tableInsertUnique( authorLinks, '[[' .. siteLink .. '|' .. authorHtmlStr .. ']]' ) end end end -------------------------------------------------------------------------------- -- Get an Item based on what's passed in the 'wikidata' or 'page' parameters of -- the args, or the current page's ID otherwise. local function getItem( args ) local id = nil -- If args is a table with an appropriate element, use it. if type( args ) == 'table' then if args.wikidata ~= '' and args.wikidata ~= nil then id = args.wikidata elseif args.wikidata_id ~= '' and args.wikidata_id ~= nil then id = args.wikidata_id elseif args.page ~= '' and args.page ~= nil then local title = mw.title.new( args.page ) id = mw.wikibase.getEntityIdForTitle( title.nsText .. title.text ) -- If no entity for this page, maybe it's a subpage and we should look for the root page's entity. if id == nil then id = mw.wikibase.getEntityIdForTitle( title.nsText .. title.rootText ) end end end if type( args ) == 'string' and args ~= '' then id = args end return mw.wikibase.getEntity( id ) end -------------------------------------------------------------------------------- -- Exported method. -- local function author_list( args ) local item = getItem( args ) if item == nil then return '' end local authorLinks = {} -- Collect the authors of this item. local authors = item:getBestStatements( authorProp ) process_authors( authorLinks, authors ) -- Also collect the authors of the parent work. local works = item:getBestStatements( editionOrTranslationOfProp ) for _, work in pairs( works ) do local workId = work['mainsnak']['datavalue']['value']['id'] local workItem = mw.wikibase.getEntity( workId ) authors = workItem:getBestStatements( authorProp ) if #authors > 0 then process_authors( authorLinks, authors ) end end -- Output the final list of links. local outHtml = mw.html.create() local separator = args.separator or ', ' local last_separator = args.last_separator or ', and ' local i = 1 for _, link in pairs( authorLinks ) do outHtml:wikitext( link ) if i == ( #authorLinks - 1 ) then outHtml:wikitext( last_separator ) elseif #authorLinks > 1 and i ~= #authorLinks then outHtml:wikitext( separator ) end i = i + 1 end return tostring( outHtml ) end -------------------------------------------------------------------------------- -- Exported method. -- local function inline( args ) local item = getItem( args ) local outHtml = mw.html.create() if ( item == nil ) then outHtml:wikitext( '<span class="error">Unable to determine the Wikidata item to use</span>' ) return tostring( outHtml ) end -- Make sure it's an edition. local editionOrTranslationOfStmts = item:getBestStatements( editionOrTranslationOfProp ) if #editionOrTranslationOfStmts == 0 then outHtml:wikitext( '<span class="error">' .. item.id .. ' is not an edition or translation of a work (missing P629)</span>' ) return tostring( outHtml ) end -- Title/label. local title = item:getSitelink( 'enwikisource' ) local label = item:getLabel( 'en' ) local hasWikisourcePage = false if title == nil or title == '' then title = label else hasWikisourcePage = true title = '[[' .. title .. '|' .. label .. ']]' end outHtml:wikitext( title .. ' ' ); -- Publication date local publicationDate = item:formatPropertyValues( 'P577' ) outHtml:wikitext( '(' .. publicationDate.value .. ') ' ) -- Authors if args.hideauthors == nil or args.hideauthors == '' then local authorList = author_list( args ) if authorList ~= '' then outHtml:wikitext( ' by ' .. authorList .. ' ' ) end end -- Scanned file on Wikimedia Commons. if not hasWikisourcePage then -- Add links to Index page or Commons file. local hasIndexOrCommonsLink = false local scannedFileOnWikimediaCommons = 'P996' local scannedFileOnWikimediaCommonsStmts = item:getBestStatements( scannedFileOnWikimediaCommons ) for _, stmt in pairs( scannedFileOnWikimediaCommonsStmts ) do local commonsFilename = stmt['mainsnak']['datavalue']['value'] outHtml:wikitext( ' ' .. mw.getCurrentFrame():expandTemplate{ title = 'Small scan link', args = { commonsFilename } } ) hasIndexOrCommonsLink = true; end -- Add link to the IA item if no links were added above. if not hasIndexOrCommonsLink then local internetArchiveIdProp = 'P724' local internetArchiveIdStmts = item:getBestStatements( internetArchiveIdProp ) for _, stmt in pairs( internetArchiveIdStmts ) do local internetArchiveId = stmt['mainsnak']['datavalue']['value'] outHtml:wikitext( ' ' .. mw.getCurrentFrame():expandTemplate{ title = 'IA small link', args = { internetArchiveId } } ) end end end -- Wikidata and Wikipedia links. local img = '[[File:Wikidata-books-task-force-logo.svg|20px|alt=Wikidata books task force logo|link=d:' .. item.id .. '|View on Wikidata]]' outHtml:wikitext( img ) return tostring( outHtml ) end -------------------------------------------------------------------------------- -- Exported method. Get wikitext for displaying an edition's badges from Wikidata. -- To get an indicator, pass args.indicator = true -- Testing: =p.badge({args={wikidata='Q75043199'}}) -- local function badge( args ) local item = getItem( args ) if not ( item and item.sitelinks and item.sitelinks.enwikisource and item.sitelinks.enwikisource.badges ) then return '' end local badges = item.sitelinks.enwikisource.badges local out = '' for _, badge in pairs( badges ) do local badgeOut = '' local badgeItem = mw.wikibase.getEntity( badge ) local badgeName = '' local wikisourceBadgeClass = 'Q75042035' if badgeItem.claims.P31[1].mainsnak.datavalue.value.id == wikisourceBadgeClass and badgeItem.claims.P18 ~= nil then local imageName = badgeItem.claims.P18[1].mainsnak.datavalue.value if mw.wikibase.getLabel( badge ) ~= nil then badgeName = mw.wikibase.getLabel( badge ) end badgeOut = '<span class="indicator-badge">[[File:' .. imageName .. '|16px|link=Help:Text status|' .. badgeName .. ']]</span>' if args.indicator ~= nil then badgeOut = '<indicator name="wikisource-badge-' .. badgeName .. '">' .. badgeOut .. '</indicator>' end if args.category ~= nil and badgeItem.claims.P910 ~= nil then local categoryQid = badgeItem.claims.P910[1].mainsnak.datavalue.value.id local category = mw.wikibase.getEntity( categoryQid ) badgeOut = badgeOut .. '[[' .. category.sitelinks.enwikisource.title .. ']]' end out = out .. badgeOut end end return mw.getCurrentFrame():preprocess( out ) end -------------------------------------------------------------------------------- -- Exported method. local function authority_control( args ) local item = getItem( args ) -- Gather every 'external-id' statement. local out = mw.html.create( '' ) for propertyId,claims in pairs( item.claims) do local propItem = getItem( propertyId ) for _,claim in pairs( claims ) do if claim.mainsnak.datatype == 'external-id' then local propLabel = propItem:getLabel() if not propLabel then if propItem.aliases.en and propItem.aliases.en[1].value then propLabel = propItem.aliases.en[1].value else propLabel = propertyId end end out:wikitext( '* [[d:Special:EntityPage/'.. propertyId .. '|' .. propLabel .. ']]: ' .. claim.mainsnak.datavalue.value .. '\n' ) end end end return tostring( out ) end -------------------------------------------------------------------------------- -- Export all public functions. return { -- =p.author_list({args={wikidata='Q28913867'}}) author_list = function( frame ) return author_list( frame.args ) end; -- =p.inline({args={wikidata_id='Q28913867'}}) inline = function( frame ) return inline( frame.args ) end; -- =p.badge({args={wikidata='Q28020002'}}) badge = function( frame ) return badge( frame.args ) end; -- =p.authority_control({args={wikidata='Q19035838'}}) authority_control = function( frame ) return authority_control( frame.args ) end; } k1vza9jbs6j4dfxyxlxqbxi6ftyq0kt Модуль:Edition/doc 828 2472 9527 2026-06-22T14:14:06Z Sauit 2200 "[[Категория:Бикитиэкэ:Модульдар]]" саҥа сирэй оҥоһулунна 9527 wikitext text/x-wiki [[Категория:Бикитиэкэ:Модульдар]] 92yd9acwb4a8fbbxpieefto3kn28ys4 Халыып:Header/styles.css 10 2473 9531 2026-06-22T14:16:50Z Sauit 2200 ".wst-header .wst-header-mainblock { border: 1px solid var(--border-color-success, #ACA); background-color: var(--background-color-success-subtle, #E6F2E6); color: var(--color-base, #202122); } .wst-header .wst-header-notes { border-bottom: 1px solid var(--border-color-notice, #A0A0A0); background-color: var(--background-color-neutral, #FAFAFF); color: var(--color-base, #202122); } .wst-header .contributor-text { font-style: italic; } .wst..." саҥа сирэй оҥоһулунна 9531 sanitized-css text/css .wst-header .wst-header-mainblock { border: 1px solid var(--border-color-success, #ACA); background-color: var(--background-color-success-subtle, #E6F2E6); color: var(--color-base, #202122); } .wst-header .wst-header-notes { border-bottom: 1px solid var(--border-color-notice, #A0A0A0); background-color: var(--background-color-neutral, #FAFAFF); color: var(--color-base, #202122); } .wst-header .contributor-text { font-style: italic; } .wst-header #header-title-text, .wst-header .wst-header-title-text { font-weight: bold; } /* microformat */ .wst-header #ws-data { display: none; } .wst-header #ws-data.ws-data-show { display: block; } /* [[Category:Халыыптар:CSS]] */ tdw5ulth5xpg7801trt1qyuets891z8 Халыып:Header structure/styles.css 10 2474 9532 2026-06-22T14:17:38Z Sauit 2200 "/* Styles used by header templates (not just header) */ /* * main block */ /* The top level wrapper for the header main block. */ .wst-header-mainblock { margin: 4px auto 4px auto; padding: 0 3px; display: flex; align-items: center; } /* Common styles for back and forward links */ .wst-header-back, .wst-header-forward { display: flex; flex: 1 4 100%; min-width: min-content; align-items: center; font-size: .9em; } .wst-header-nav-empty..." саҥа сирэй оҥоһулунна 9532 sanitized-css text/css /* Styles used by header templates (not just header) */ /* * main block */ /* The top level wrapper for the header main block. */ .wst-header-mainblock { margin: 4px auto 4px auto; padding: 0 3px; display: flex; align-items: center; } /* Common styles for back and forward links */ .wst-header-back, .wst-header-forward { display: flex; flex: 1 4 100%; min-width: min-content; align-items: center; font-size: .9em; } .wst-header-nav-empty { visibility: hidden; } /* The container for the back (previous) link. */ .wst-header-back { justify-content: flex-start; text-align: left; } /* The container for the central cell. */ .wst-header-central-cell { flex: 4 1 100%; max-width: max-content; text-align: center; } /* The container for the forward (next) link. */ .wst-header-forward { justify-content: flex-end; text-align: right; } @media(max-width:768px) { /* Put title on its own flexbox row */ .wst-header-mainblock { flex-wrap:wrap; } .wst-header-central-cell { flex:0 0 100%; order:-2; width:auto; } .wst-header-back, .wst-header-forward { width:auto; } } /* * notes block */ /* The overall notes container. */ .wst-header-notes { display:inline-block; border-collapse:collapse; border-spacing:0; empty-cells:hide; font-size:.9em; line-height:1.4; margin:0 auto 4px auto; width:100%; } /* Left-floated content. */ .wst-header-left { float:left; } /* [[Category:Халыыптар:CSS]] */ 2ro8q0u3rv7d4ypzxeodoa58q7r7xu3 Халыып:Үрдэ/1 10 2475 9533 2026-06-22T14:17:47Z Sauit 2200 "{{#invoke:Header|header}}<noinclude>{{documentation|Үрдэ/doc}}</noinclude>" саҥа сирэй оҥоһулунна 9533 wikitext text/x-wiki {{#invoke:Header|header}}<noinclude>{{documentation|Үрдэ/doc}}</noinclude> foox6zgx7n6zijbxb38he0utbvs44l5 9540 9533 2026-06-22T14:30:52Z Sauit 2200 9540 wikitext text/x-wiki {| style="width:100%; margin-bottom:5px; border: 1px solid #ADA; background-color: #E4F2E4; text-align:center; font-size:0.9em;" |- | style="width:20%; text-align:left; font-size:0.9em;" | {{{previous|}}} | style="width:60%;" | '''{{{title|Айымньы}}}'''<br/>{{#if: {{{section|}}}|{{{section|}}}<br/>|}}{{{noauthor|''{{#if: {{{noby|}}}|{{{noby|}}}|{{{noby|}}}}} {{{override_author|[[Ааптар:{{{author|}}}|{{{author|ааптар}}}]]}}}''}}} | style="width:20%; text-align:right;font-size:0.9em;" | {{{next|}}} |} {| style="width:100%; border-bottom:1px solid #A88; background:#fAfAff; font-size:0.9em;" |- | {{{notes|}}} |} <br clear=all /><noinclude> {{documentation}} [[Категория:Халыыптар:Сирэйдэр халыыптара|{{PAGENAME}}]] </noinclude> i0r7ndixscdpaq6tr4vzet4f6gpyaok Халыып:Header structure 10 2476 9534 2026-06-22T14:19:55Z Sauit 2200 "{{#invoke:Header structure|header_structure}}<noinclude>{{documentation}}</noinclude>" саҥа сирэй оҥоһулунна 9534 wikitext text/x-wiki {{#invoke:Header structure|header_structure}}<noinclude>{{documentation}}</noinclude> a8a025zdxwt7so6774qcce2bicaj2ql 9535 9534 2026-06-22T14:20:23Z Sauit 2200 9535 wikitext text/x-wiki {{#invoke:Header structure|header_structure}}<noinclude>{{documentation}}[[Категория:Халыыптар:Форматтааһын]]</noinclude> cdcg2haembxpohagu25ynziby3xl453 Халыып:Plain sister/styles.css 10 2477 9537 2026-06-22T14:26:08Z Sauit 2200 ".plainSister { display:block; font-size:93%; line-height:normal; list-style-type:none; list-style-image:none; list-style-position:outside; border:1px solid var(--border-color-interactive--hover, #AAA); float:right; clear:right; margin:0.5ex 0 0.5ex 0.5ex; padding:0; background:var(--background-color-base, #FFFFFF); color:var(--color-base, #202122); } .sisicon, .dabicon { padding-right:1ex } /* [[Категория:Халыыптар:C..." саҥа сирэй оҥоһулунна 9537 sanitized-css text/css .plainSister { display:block; font-size:93%; line-height:normal; list-style-type:none; list-style-image:none; list-style-position:outside; border:1px solid var(--border-color-interactive--hover, #AAA); float:right; clear:right; margin:0.5ex 0 0.5ex 0.5ex; padding:0; background:var(--background-color-base, #FFFFFF); color:var(--color-base, #202122); } .sisicon, .dabicon { padding-right:1ex } /* [[Категория:Халыыптар:CSS]] */ s6dyswvv5mocqggr7r0a7s419i2suur Кыттааччы:SauitBot 2 2478 9574 2026-06-22T15:25:44Z SauitBot 2363 "{{Bot|Sauit}}" саҥа сирэй оҥоһулунна 9574 wikitext text/x-wiki {{Bot|Sauit}} 6jjp3vfzvu7avtvjdek34fh5hdvoz01 СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) 0 2479 9578 2026-06-23T04:54:09Z Sauit 2200 "<div class="text"> ::Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. ::1933 с. От ыйын 15 күнэ, "Улуу сыһыы" Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс ү..." саҥа сирэй оҥоһулунна 9578 wikitext text/x-wiki <div class="text"> ::Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. ::1933 с. От ыйын 15 күнэ, "Улуу сыһыы" Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омогой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омогой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омогой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омогойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омогой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омогой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> tvzugpn8nwu4fv9m644g6q48iu7lk7y 9579 9578 2026-06-23T04:56:12Z Sauit 2200 9579 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> ::Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. ::1933 с. От ыйын 15 күнэ, "Улуу сыһыы" Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омогой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омогой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омогой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омогойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омогой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омогой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> j8vbovg3er9c20jjqns31yhb63ycnjf 9580 9579 2026-06-23T04:57:13Z Sauit 2200 9580 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> ::Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. ::1933 с. От ыйын 15 күнэ, "Улуу сыһыы" Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омогой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омогой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омогой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омогойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омогой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омогой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]] kqnsohpjkp1mgby3jir58c91tfr8zky 9581 9580 2026-06-23T05:02:34Z Sauit 2200 9581 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. 1933 с. От ыйын 15 күнэ, "Улуу сыһыы" Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омогой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омогой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омогой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омогойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омогой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омогой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]] 4jdh4taghqgkdpf06sirdod5xugdi96 9582 9581 2026-06-23T05:03:28Z Sauit 2200 9582 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> <poem> Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. 1933 с. От ыйын 15 күнэ, "Улуу сыһыы"</poem> Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омогой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омогой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омогой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омогойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омогой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омогой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]] qvb9drevniazo3r30gkmi3itsxhys2j 9583 9582 2026-06-23T05:04:36Z Sauit 2200 9583 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> <i>Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. 1933 с. От ыйын 15 күнэ, "Улуу сыһыы"</i> Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омогой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омогой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омогой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омогойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омогой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омогой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]] fi5idgpzdy6k0is7k3a1dz98fzyreje 9584 9583 2026-06-23T05:05:02Z Sauit 2200 9584 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур (Илин-Хаҥалас барыйаана) | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> <i>Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. 1933 с. От ыйын 15 күнэ, "Улуу сыһыы"</i> Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омоҕой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омоҕой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омоҕой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омоҕойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омоҕой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омоҕой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]] 29y0w77ogs9ardb0co48lqkr9pjqouf 9585 9584 2026-06-23T05:05:18Z Sauit 2200 9585 wikitext text/x-wiki {{header | title = Омоҕой Баай, Эллэй Боотур | author = | section = [[Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)|Саха төрүттэрэ уонна кыргыс үйэтэ]] | previous = | next = [[СТУоКҮ/Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)|Омоҕой Баай, Эллэй Боотур (Чурапчы оройуонун барыйаана)]] | notes = }} <div class="text"> <i>Оконешников Николай Саввич, 40 саастаах, I Нөрүктээйи нэһилиэгэ, Мэҥэ—Хаҥалас оройуона, холкуостаах, саха, үөрэҕэ суох. 1933 с. От ыйын 15 күнэ, "Улуу сыһыы"</i> Соҕуруу бэрээт омук сиригэр олохтоох бэрээт омук ойууна Омоҕой Баайга кыыран, үс үөстээх Өлүөнэ өрүһү куба кыыл буолан таҥнаран, Бүлүү төрдүгэр тиийэ көрүү көрөн эппит: — Өлүөнэ өрүс кэҥээн тиийитигэр соҕуруу Ытык—Хайа арыый аллараа өттүгэр үс үтүө харыйалар үөскээн тураллар. Онно оҕонньордоох эмээхсин "дойду ийэжэхитэбит" диэн, кэлбити ууһатар—тэнитэр бэриилээх буолан турабыт диэн, уруйдуу тураллар. Соҕуруу Ытык Хайа сылгы сүөһү төрдө буолааччык, Хоту Ытык Хайа ынах сүөһү төрдө буолааччык буолан үөскээбиттэр эбит, онон, дьэ бу мин көрөр дойдубар тиийдэххинэ, дьолу—соргуну көрсүөҥ, кэнэҕэһин ууһуоҥ—тэнийиэҥ этэ. Маны ылынан Омоҕой Баай ойохтоох, икки кыыстаах, уонча кэргэн уолаттардаах буолан, олохтоорун көһөн айаннаан иһэн, хайдах эрэ алҕас Бүлүү өрүһүн төбөтүн булан, ол устун болуотунан таҥнаран, Өлүөнэҕэ тиийэ Бүлүү төрдүгэр кэлэн тохтоон баран, Өлүөнэни бэйэтэ соҕотоҕун дьүлүнү миинэн илин эҥэр туораан үрэх сындыыһа үрдүк хайатын (Дьааҥытын) үрдүгэр тахсан дойду былаанын көрбүт уһу. Ол көрөн: "Онтон өрө бардахха сөп буолуо, бу дойдуга тоҕо эрэ хоту өттүттэн тымныы салгыннар биллэллэр, киһи—сүөһү үөскээбэт, дьоло—соргута тохтообут дойду быһыылаах; соҕуруу өрө диэккиттэн итии сылаас салгын охсуллар, бука, үтүө дойду манан буолуо", — диэн болуотун бэчимэлэнэн, Өлүөнэ өрүһү өрө өксөйөн билигин Киллэм хонуутугар кэлэллэр. Дьэ, кырдьык, билии бэрээт ойууна эппитин курдук, илэ—бодо ийэжэхситтээх, чахчы—бааччы айыыһыттаах оҕонньордоох эмээхсин буолан үс харыйаҕа уруйдуу тураллар эбит уһу. Омоҕойдоох манна туос ураһа туруоран түһэллэр. Сассыныгар Хоту Ытык Хайаҕа бараннар ыҥырыа эриэн дьүһүннээх, уулаах, үс саастаах бургунас ынаҕы булан аҕалаллар. Онтон сассыныгар соҕуруу Ытык Хайаҕа тиийэн "Иэйээни хонуута, Кэркээни хонуута аатырыам" диир сирдэргэ үс харыйаны булан баран, онтон төрдүс саастаах чоҥкуруун сиэллээх, кутуруктаах уулаах биэни хайа хаҥас хоонньуттан булан аҕалаллар. Манна олохсуйан, бултаан—алтаан, кыыллаан, саһыллыан билии сүөһүлэрин үөскэтэллэр, ыал буолан олороллор. Үс сыл буолан баран, улуу тунах саҕана, иккис сүһүөх (сайыҥҥы) уунан, арай бирдэ Омоҕой уолаттара көрбүттэрэ — өрүс үөһүттэн кус, кыыл түүтэ, мас сыыһа устан ааһаллар. Ону көрөн, тахсан Омоҕойго тыллыыллар. Маныаха Омоҕой: "Кэтэһиҥ!" — диэн сорудахтыыр. Ньиргитэр уонна Доргутар буоланнар Соҕуруу Ытык Хайаҕа тиийэ бараллар. Онно тиийбиттэрэ — олох сыгынньах киһи олорор уһу. Ону көрөөт, уолаттар уомуйаллар. Онуоха киһилэрэ билэн: "Бу Омоҕой уолаттараҕыт дуо? Мин эһи турбуккут кэннэ сыл аҥаара буолан баран, эһигини эккирэтэн, икки аҥаар сыл хонугар айаннаан бу кэлэн олоробун", — диэн билэр киһи курдук, дөксө "мин Эллэй Боотур буолабын" диэн кэпсэтэн, бисэн, бары Омоҕойдооххо тиийэн кэлэллэр. Дьэ ол кэлэн, Эллэй Омоҕойго олорон үс сыл тоҕору кэргэн (хамныыр) уол курдук буолан олорор. Үлэтигэр олус бөҕө—таҕа, модьу, үс киһи тутуута тутуулаах, киэптээх—талалаах буолан (Омоҕойго) хайҕатан сылдьар. Биир сасыарда Омоҕой эмээхсинэ чороонноох кымыһы айах туттаран туран Эллэйтэн: —Биһи кыргыттарбытыттан биир үчүгэйин анал ойох ылан киһи—сүөһү төрдө буолууй. Биһи эйиэхэ ити Ньыкы—Дакханы аныыбыт, — диэн чороонноох кымыһын биэрэн туран көрдөһөр. Эллэй эмээхсин биэрбит кымыһын иһэр, тугу да эппэккэ истэн эрэ кэбиһэр. Эллэй бултуур—алтыыр, аҕалара да олус, тутуута да бэт. Икки кыыс туой арҕаа бэскэ тахсан киирэр идэлээхтэр. Ону Эллэй үлэлии сылдьан кэтэһэн олорон саһан көрдө — икки кыыстан хойго кыыс Дэкиэй—Дэпсэ иигэ үрүҥ күүгэн буолан куос курдук чомчойо олорор уһу, оттон кыра, мааны кыыс Ньыкы—Дакхан иигэ сиргэ уу курдук күүгэнэ суох иҥэн—сутэн хаалбыт уһу. Ону тойонноон "бу — хойуутуттан төрүөхтээх, ыччаттаах буолуо, кыра мааны кыыс уоһуо—тэнийиэ суоҕа, сотору үйэлээх буолуо", — дии саныы сылдьыбыт. Ол курдук саныы сырыттаҕына, Омоҕой Баай бирдэ Эллэйи ыҥыран ылан ыйытар: "Хайа, бу биһи оҕолорбутуттан хайаларын ойох ылан, оҕо—уруу төрдө—ууһа буолаҕын?" — диэн. Ону Эллэй: "Ити хойго, куһаҕан кыыһы Дэкиэй—Дэпсини ойох ылабын" — диэбит. Маныаха Омоҕой Баайдаах хойго кыыһы ойох ыларын иһин өһүүн, сөбүлэмиэнэ, чаастарын баайдарыттан биир кутуруга, муоһа суох, Куочай кугас ынаҕы биэрэллэр, уонна: "Чэ, бара охсуҥ, икки харахпытыгар көстүмэҥ! Ханна саныыргыт даа, атын сиргэ баран араан тыа буолуҥ", диэн кырыан—таныйан туран холдьоҕоллор. Эллэйдээх иккиэжэҕин отчотооҕу Киэҥ—Иэйээни хонуутугар (билигин) Сахсарыга кэлэн олохсуйан, сэп—сэбиргэл оҥостон, ураһа туруорунан, сылгы сэлэтэ оҥостон, түптэлээн, сылгы иһитэ тэринэн, сылгыларын тутан уан, кымыс мунньунан ыал буолан бараллар. Аҕыйах сылынан байан—тайан, оҕолонон—урууланан бараллар. Муспут кымыстарын биир сайын "Кулун кымыһа" оҥорон, аймахтарын Омоҕойдооҕу ыҥыран ыһыах ыһаллар. Ыҥырыыга эмээхсини кытта кэргэн уолаттар кэлэ сылдьыбыттар. Омоҕой мааны кыыһыныын кэлбэтэхтэр. Эллэй ыһыаҕар чороонноох, сиэллээх айаҕы өрө тутан, сөхүрүэстээн туран алгыыр. Кини аан дойду иччитин алҕаан (ааттаталаан) айак туттарар (аһатар—сиэтэр). Маныаха Илин халлаан улаҕатыттан сүүмэх сылгы кыла күн тахсыбытыттан күнү быһа батыһа тахсан эргийэ көтөн ааспыт. Ол икки ардыгар ыһыах ортотугар Омоҕой хамначчыт кыыһа кэлэн тыллыыр: "Мааны кыыс Ньыкы—Дакхан кулун баһын быатынан быаланан биэҕэ состоро сылдьар, бара охсуоҕуҥ!" — диэн. Маны бары баар дьон баран көрбүттэрэ, Ньыкы—Дакхан биэҕэ бас быатынан состорон өлбүт уһу. Ононо өлбүтүгэр тиийэн хаалаллар. Эллэй дьэ онтон ыла киһи—сүөһү, саха төрдө буолар гына ууһуур—тэнийэр, байар—тайар. Билигин саха 5 улууһа Эллэй Боотур оҕолоруттан эбит уһу (Хаҥалас, Мэҥэ, Боотуруускай, Бороҕон, Нам). </div> [[Категория:Саха төрүттэрэ уонна кыргыс үйэтэ (Сэһэн Боло)]] cxow6bpxqa1o8890m74k4yn36yy2m16