Википедиа mnwiki https://mn.wikipedia.org/wiki/%D0%9D%D2%AF%D2%AF%D1%80_%D1%85%D1%83%D1%83%D0%B4%D0%B0%D1%81 MediaWiki 1.47.0-wmf.8 first-letter Медиа Тусгай Хэлэлцүүлэг Хэрэглэгч Хэрэглэгчийн яриа Википедиа Википедиагийн хэлэлцүүлэг Файл Файлын хэлэлцүүлэг МедиаВики МедиаВикигийн хэлэлцүүлэг Загвар Загварын хэлэлцүүлэг Тусламж Тусламжийн хэлэлцүүлэг Ангилал Ангиллын хэлэлцүүлэг TimedText TimedText talk Module Module talk Event Event talk Архангай аймаг 0 798 860705 860258 2026-06-30T18:53:18Z Mongolgpt 95994 860705 wikitext text/x-wiki {{Short description|Монголын аймаг}} {{Инфобокс суурин | name = Архангай аймаг | native_name = {{MongolUnicode|ᠠᠷᠤᠬᠠᠩᠭ᠋ᠠᠢ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = TariatLandscape.jpg | image_alt = | image_caption = [[Тариат сум|Тариатын]] үзэмж | image_flag = Mn flag arkhangai aimag 2014.svg | flag_alt = | image_seal = | seal_alt = | image_shield = Mn coa arkhangai aimag 2014.svg | shield_alt = | nickname = | motto = | image_map = Arkhangai in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|47|23|N|101|30|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{flag|Монгол}} | established_title = Байгуулагдсан | established_date = 1931 он | founder = | seat_type = Нийслэл | seat = [[Цэцэрлэг (хот)|Цэцэрлэг]] | government_footnotes = | leader_party = | leader_title = | leader_name = | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 55313.82 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = (хамгийн өндөр цэг) | elevation_m = 3529 | population_footnotes = | population_total = {{decrease}} 91,138 | population_as_of = 2025 | population_density_km2 = auto | population_demonym = | population_note = | timezone1 = UTC+8 | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = | postal_code = | area_code_type = | area_code = +976 133 | registration_plate = АР_ | iso_code = MN-073 | website = {{URL|arkhangai.gov.mn}} | footnotes = }}{{Featured article}}[[Файл:Tsetserleg.jpg|thumb|Цэцэрлэг хот]] [[Файл:Ögii Lake.jpg|thumb|Өгий нуур]] [[Файл:Khorgo1.jpg|thumb|Хорго]] [[Файл:ChuluutCanyon.JPG|thumb|Чулуутын хавцал]] '''Архангай аймаг''' нь [[Монгол Улс]]ын [[Монгол Улсын аймгууд|21 аймгийн]] нэг. Аймгийн төв болох [[Цэцэрлэг хот]] Улаанбаатар хотоос 521 км зайтай оршдог. Нутаг дэвсгэрийн хэмжээ 55.3 мянган хавтгай дөрвөлжин км. Засаг захиргааны 19 сум, 99 багтай. == Хүн ам == 2023 оны байдлаар 47091 эрэгтэй, 46525 эмэгтэй нийт 93616 хүн байнга оршин сууж байв. Энэ нь Монгол Улсын хүн амын 2.8 % юм. Нийт хүн амын 34.4 хувийг 0-16 насны хүүхдүүд, 33.9 хувийг 16-35 насны залуучууд, 5.6 хувийг 60-аас дээш насны хүн ам эзэлж байна. Үндсэндээ [[монгол үндэстэн]]. [[Халх ястан]]-97.1% зонхилно. Харин [[Өөлд]]-2.3% [[Дөрвөд]]-0.2% [[Баяд]]-0.1% Бусад 0.3% эзэлнэ. Архангай аймаг 2025 онд 98199, 2035 онд 104406, 2045 онд 115874 болж өснө гэсэн үр дүн гарсан байдаг. == Газар зүй == Далайн төвшнөөс дээш дунджаар 2414 метр. Хамгийн өндөр цэг нь 3539 метр өндөр [[Харлагтайн сарьдаг уул]]. Хамгийн нам дор цэг нь Цэцэрлэг сумын нутгаар урсах Идэр-Чулуутын бэлчир орчимд дтд 1192 метр ба Архангай аймгийн нутгаас Хөвсгөл аймаг руу гарах үед 1179 метр хүртэл нам дор оршдог юм. Хойд талаараа Хөвсгөл аймагтай, зүүн талаараа Булган аймагтай, өмнө талаараа Өвөрхангай аймагтай, баруун хойд талаараа Завхан аймагтай тус тус хиллэдэг. Дийлэнхдээ ойт хээр, тал хээр нутагтай, баруун урдуур нь [[Хангайн нуруу]], баруун хойгуур нь түүний салбар болох [[Тарвагатайн нуруу]] оршдог ба зүүн болон төв хэсгээр тэдгээрээс эх авсан [[Орхон гол|Орхон]], [[Хануй гол|Хануй]], [[Тамир гол|Тамир]], [[Чулуут гол|Чулуут]] зэрэг томоохон голууд урсдаг. Энэ нутаг нь аялал жуулчлалын нэгэн чухал газар бөгөөд [[Өгий нуур]], [[Тэрхийн Цагаан нуур|Тэрхийн цагаан нуур]] зэрэг нуур болон [[Хорго]], [[Тайхар чулуу]] зэрэг галт уулын тогтцоороо олны анхаарлыг татдаг. [[Тамир гол|Тамир]], [[Орхон гол|Орхон]], Хануй, Хүнүй, [[Чулуут гол|Чулуут]], хойд урд Тэрх, Суман, Гичгэнэ, Согоот, Цэнхэр зэрэг 844 түргэн урсгалт голууд урсдаг. Хадат, Үүртийн тохой, Мухар хужирт, Цэнхэр, Шивэрт, Улаан эрэг, Бор тал, Цагаан сүм, Чулуут, Бумбат зэрэг 50 гаруй халуун хүйтэн рашаануудтай. === Уур амьсгал === [[Цэцэрлэг (хот)|Цэцэрлэг хотод]] агаарын дундаж температур нь жилд 0.1 бөгөөд, [[өвөл]] 1-р сард -15.6 хэм хүйтэн, [[зун]] нь 7-р сард 14.7 хэм дулаан байдаг. [[Хангайн нуруу]] нь монгол орны хамгийн их тунадастай нутгийн нэг бөгөөд Цэцэрлэг хотод жилд дунджаар 344 мм тунадас унана. Салхины дундаж хурд нь 2.6 м/с бөгөөд хамгийн их салхитай байдаг 4-р сарын дундаж хурд нь 3.5 м/с юм. === Онцлог газар === Аймгийн нутгийн хойд хэсэг нь пермийн ба чулуун нүүрсний галавын боржин, баруун өмнөд хэсгээр нь элсэн чулуу тархжээ. [[Тамирын гол]]д [[төмрийн хүдэр]], [[Суман гол]]ын савд галт уулын чулуу, үнэт чулууны баялаг бий. Аймгийн газрын хөрс сайн судлагдаагүй боловч сүүлийн үед эрэл, хайгуулын ажил ихээр явагдаж байна. Мөн [[Суваргахайрхан]] уул, [[Унтаа уул]], [[Ямаат уул]], [[Ноёнхангай уул]], [[Хан Өндөр уул]] зэрэг сүрлэг уулстай. [[Эрдэнэмандал сум]]аас [[Хүннү]] гүрний үеийн Буган чулуу ихээр олддог. Мөн тухайн суманд Монголын эртний хаадын нэг болох Харуул хааны ордны туурь байдаг. Хадат, Бор тал, Цагаан сүм, Мухар Хужирт, Бэлх ээрэг халуун хүйтэн [[рашаан]] олонтой. Архангай аймаг 2.1 сая [[мал]]тай, [[Үхэр|үхрийн]] тоогоор 428 мянга буюу улсад тэргүүн байр эзэлдэг. Зүүн талын сумдад газар тариалан хөгжүүлж байна. Архангай аймгийн есөн гайхамшигаар [[Чулуут гол|Чулуут]] [[Чулуут гол|гол]], [[Хорго|Хоргын тогоо]], [[Тэрхийн цагаан нуур]], Суварга хайрхан уул, [[Тамир гол|Тамирын гол]], [[Булган уул]], [[Тайхар чулуу]], [[Хар балгас]], Билгэ хааны цогцолборуудыг тодруулжээ. === Ургамал, амьтан === Тус аймгийн нутагт 1700-гаад зүйлийн ургамал ургадгаас монгол алтан хундага, [[алтан гагнуур]], [[вансэмбэрүү]], бамбай, [[нохойн хошуу]], [[царван]], төллүүр, өргөст [[сарнай]], [[таван салаа]], ванжингарав, эрээгомбо, юмдүүжин, мягмансанжаа, хунчир, туйплан, шар, хөх дэгд, сөд өвс, говийн ганга, [[тарваган шийр]], зүрхэн цэцэг, хурган чих, холтсон цэцэг, цагаан түрүү, [[чихэр өвс]], хурган гоньд, эмийн багваахай, ягаан сэрдэг, цээнэ зэрэг эмчилгээний зориулалтаар ашиглагддаг ховор ургамлууд бий. Аймгийн нийт нутгийн 15.7 хувийг ой мод, 75 хувийг бэлчээр, 1.5 хувийг тариалангийн талбай эзэлдэг. [[Хуайс]], боролзгоно, торлог, яргай, чаргай, ясиль, балгана, монос, тавилгана, шар мод, далан хайлс, [[гацуур]], жодоо, сөөгөн ба бургасан царам, шинэс, [[хуш]], [[хус]], [[нарс]], зожир өвс, [[улиас]], [[бургас]] зэрэг тавь гаруй төрлийн модлог, бутлаг ургамал ургадгийн зэрэгцээ бүүргэнэ, цээнэ, согоон чих, бадаан, поврон, нохойн хошууны навч зэрэг цайны ургамал элбэг билээ. Аймгийн нутагт гичгэнэ, [[сонгино]], халиар, [[халгай]], тарна, [[гогод]], бэрээх, мангир, хүнхээл, бандзоо, [[мөөг]], ямаахай, зэрлэг жууцай, гоньд, [[хөмүүл]], цагаан төмс, шар сэвэлгэнэ, цагаан сэвэлгэнэ, үхэр болон хурган мэхээр зэрэг хvнсний ургамал элбэг тохиолдоно. Жимс, жимсгэний төрлөөс [[үхрийн нүд]], үрэл, хар хад, [[аньс]], нохойн хошууны үр, [[нэрс]], өргөст тошлой, [[мойл]], [[улаалзгана]], дорнодын [[гүзээлзгэнэ]], [[самар]], [[долоогоно]], тансаг үнэрт ургамлаас хонин болон ямаан [[арц]], [[агь]], ганга, даль, санхам, минжиннаваг зэрэг ургамлууд ургадаг. Нар, хур хосолсон хавар, зуны дэлгэр сайхан улиралд удвал, [[жамъянмядаг]], шар яргуй, хөх яргуй, сэржмядаг, улаалзай, [[алтанзул цэцэг|алтанзул]], [[сарнай]], цээнийн ягаан, [[намуу]], цагаан лавай, [[бэр цэцэг]], [[багваахай]] цэцэг цаг цагаар солигдон цэцэглэх үеэр уул, тал, хөндий ягаан, цагаан, шар, цэнхэр өнгөөр солонгорон жигдэрч үнэхээр үзэсгэлэн төгөлдөр харагддаг билээ. Аймгийн нутгийн зонхилох хэсэг уулын нугын хийгээд ойн саарал, элсэрхэг бор, хар, хар хүрэн хөрснөөс тогтоно. [[Аргаль]], [[янгир]], [[шилүүс]], [[буга]], [[зэрлэг гахай]] зэрэг [[Амьтан|ан амьтнаар]] элбэг. == Түүх == Өнөөгийн Архангай аймгийн нутагт Буган чулуун хөшөө , Хиргисүүрийн соёл байсан түүхтэй. Харин [[Хүннү улс|Хүннү улсын]] үеэс Нийслэл [[Луут хот]] энд байжээ. Мөн Архангай аймгийн [[Өндөр-Улаан сум|Өндөр-Улаан]] сумын нутгаас Гол Мод II Хүннүгийн язгууртны булшнаас хос луу олдсон байна. Сянби, Нирун улсын нийслэл [[Орхоны хөндий]] орчимд байх магадлалтай бөгөөд олдоогүй ч Архангай аймгаас олдох магадлалтай. Түрэг улсын нийслэл Өтүкэн нь Архангай, [[Өвөрхангай аймаг|Өвөрхангай]] аймгийн хил орчимд Уйгур улсын нийслэл [[Хотонт сум|Хотонт]] сумын нутагт байсныг үзэхэд эртний Монголын төрт улсуудын Нийслэл, Соёлын төв нь энд байжээ. [[Сайн ноён хан аймаг]] (1725-1911) Халхын сайн ноён хан аймаг 1725 онд байгуулагджээ. Халхын сайн ноён хан аймгийн дээд өвөг болох Хөндлөн Сайн ноён Хан бол Чингис хааны удам, [[Батмөнх Даян хаан|Батмөнх Даян]] сэцэн хааны аравдугаар хүү Гэрсэнз Жалайр хун тайжийн гуравдугаар хүү, Онохуй үйзэн ноёны дөрөвдүгээр хүү юм. Тэрээр IX жарны шар морин жил буюу 1558 онд төрсөн бөгөөд ах Автай Сайн ханы хамтаар Халхад Шарын шашныг дэлгэрүүлэхэд хүчин зүтгэж байв. 1725 оны байдлаар Халхын Сайн ноён хан аймгийн нутаг умар зүг [[Чулуут гол|Чулуут голоос]] өмнө зүг Цэцэрлэг гол, дорно зүг Бор бургас, Олон нуураас өмнө зүг Халзан согоот, Хөл саяын даваа хүрч байв. 1761 онд Өөлдийн хоёр хошууг Сайн ноён аймагт шилжүүлэн захируулж энэ үеэр аймгийн нутгийн хилийг умраас өмнө зүг Говь Гурван сайхан уул хүртэл, дорноос өрнө зүг Сэгс цагаан богд хүртэл өргөтгөж, анх байсан 19 засаг хошууг 24 болгосон ажээ. Сайн ноёны аймгийн чуулган Аймгийн чуулганыг Манжийн эзэн хааны зарлигаар 1728 онд бий болгожээ.Аймгийн чуулган тэр аймгийн дээд эрхийг барих газар байсан бөгөөд тэр үед чуулганы хуралдааныг ‘’чуулган чуулах’’ буюу чуулган нийлэх гэж нэрлэж байсан байна. Манжийн хуулинд зааснаар аймгийн чуулганыг 3 жилд нэг удаа чуулж байсан боловч зарим дайн дажинтай үед тасалдах явдал ч тохиолдож байжээ. Аймгийн чуулганд чуулган дарга, жанжин, хошууны засаг ноёд,тэднийг дагалдсан түшмэд, бичээч нар оролцдог байв. Аймгийн чуулганы өдөр тутмын ажлыг засаг ноёд, дагуул түшмэл, бичээч нарын хамт 3 сараар жасаалан суух журмаар гүйцэтгэж байсан бөгөөд галч , зарлага, дахар хуяг зэрэг байнгын ажилчид үйлчилж байсан юм. (1911-1921) Халхын [[Сайн ноён хан аймаг]] нь Богд хаант Монгол улсын Сайн ноён хан аймаг болон өөрчлөгдөж Сайн ноён хан Намнансүрэн, Богд хаант Монгол улсын ерөнхий сайдаар томилогдож, Далай Чойнхор ван Цэрэнсодном Дотоод яамны дэд сайдаар томилогдов. Богд хаант Монгол улын Сайн ноён хан аймаг нь нутаг дэвсгэр, хүн ам, хошуу шавийн тоо, хөрөнгө малын хэмжээгээр улсад дээгүүр байр эзэлдэг томоохон аймгийн нэг байв. 1918 оны байдлаар Сайн ноён хан аймаг 30619 өрхтэй,133748 хүн амтай байлаа. Бүх хүн амын 54,8 хувь нь эрэгтэйчүүд, 45,2 хувь нь эмэгтэйчүүд нийгмийн анги давхаргын хувьд нийт хүн амын 5,7 хувь тайж нар, 16,8 хувь хамжлага албат, 28,1 хувь нь сум албат, бүх эрэгтэйчүүдийн 39,2 хувь нь лам нар байв. Засаг захиргааны үндсэн нэгжүүд нь засаг хошуу 22, шавь 8, хязгаар газар 1 гэсэн 31 нэгэн нэгжээр бүрдэж байжээ.Эдгээр шавийг 6-13 удаа хэргэм зэрэг залгамжилсан засаг, гүн, бэйл,бэйс,вангийн зэрэг бүхий хар ноёд тамгатай хутагт захирагч байсан юм. Ардын засгийн газар 1922 онд Сайн ноён ханы аймагт хошууны засаг даргыг бий болгон ноёдын эрх хэмжээг хязгаарлах, аймгийн чуулган жасааг нутгийн төвд шилжүүлж суурьшуулах ажлыг эхний ээлжэнд хийлгэв.1922 оны 5-р сарын 7-нд аймгийн чуулган даргын албан хэргийг чуулганы дарга Дүгэржав, дэд дарга Лувсанбалдан нарт хүлээлгэн өгч гүйцээв.Ингээд тус аймгийн чуулган, да жасааны өргөөг Цогтоо гүн Дашдоржийн хошууны нутаг (одоо Баянхонгор аймаг Бөмбөгөр сум) “Дааган дэл” гэдэг газраас нүүлгэн Заяын хүрээний газар шилжүүлэн суурьшуулсан юм. Ийнхүү Заяын хүрээ (одоо Архангай аймгийн төв Эрдэнэбулган сум) аймаг орны засаг захиргааны төв газар болов. 1922 оны 9-р сард хошуу тамгын газруудын тамгыг хураан авах ажил эхлэн, 10-р сараас шинээр аймаг байгуулах ажил хийгджээ. 1923-1931 онд [[Цэцэрлэг Мандал уулын аймаг|Цэцэрлэг мандал уулын аймаг]] байгуулагдсан нь 1923 оны 1-р сарын 13-нд Засгийн газрын 58 дугаар тогтоолоор аймгийн суурин жасаадыг татан буулгаж мөн оны 6дугаар сарын 22 дугаар хурлаар аймгийн чуулганы дэргэдэх жанжин жасаадыг дагалдах аппаратынх нь хамтаар татан буулгасан юм. Ардын засгийн газрын 1923 оны 10 дугаар сарын 19-ний хурлын 39 дүгээр тогтоолоор аймгуудын нэрийг өөрчлөн Сайн ноён ханы аймгийг Цэцэрлэг мандал уулын аймаг болгон өөрчилжээ. 1923-1924 онд хийсэн засаг захиргааны шинэ хуваариар Цэцэрлэг мандал аймаг нь 10 гэр 3610, баг 722, сум 250, хошуу 26-тайгаар байгуулагдсан байна. 1931 онд 71 сум, 16 хошуутай байсан тус аймгийг 35 сумтай Архангай аймаг болгосон. БНМАУ-ын Бага хурлын 1931 оны 2-р сарын 7-ны өдрийн 5 дугаар хурлын тогтоолоор 5 аймгийг 13 аймаг болгожээ. Ингэснээр 1930 оны эцсээр 71 сум, 16 хошуутай байсан Цэцэрлэг мандал аймаг 35 сумтай Архангай аймаг болон зохион байгуулагдав. 1931 онд Архангай аймаг нь Наран, Их уул, Тосонцэнгэл, Цахир сумын нутгаар [[Завхан аймаг|Завхан аймагтай]], Их жаргалант, Баянзүрх, Чандмана, Шинэ идэр сумын нутгаар [[Хөвсгөл аймаг|Хөвсгөл аймагтай]], Могод, Гурванбулаг, [[Төв аймаг|Төв аймагтай]], Бүрд, Шанх, Бат-Өлзий сумын нутгаар [[Өвөрхангай аймаг|Өвөрхангай аймагтай]] хил залгаж байв. 1931 оны 12-р сарын тоо бүртгэлийн мэдээгээр үзэхэд Архангай аймаг 35 сум, 22285 өрх, 65333 хүн амтай, 1800000 малтай байжээ. == Эдийн засаг == Архангай аймаг улсын төвлөрсөн төсвийн шилжүүлэг дэмжлэгийг оруулан тооцсоноор 2024 оны эхний 12 дугаар сард аймгийн төсөвт 58.4 тэрбум төгрөгийн орлого төвлөрүүлэхээс 66.5 тэрбум төгрөгийн орлого оруулж, төлөвлөгөөг 110.2 % биелүүлжээ. Аймгийн төсвийн орлогын 50.9 хувийг тусламжийн орлогоор, 43.2 хувийг орлогын албан татвараар, 5.7 хувийг татварын бус орлогоор, 0.2 хувийг хөрөнгийн орлогын албан татвараар бүрдүүлсэн байна. Орон нутгийн төсвийн зарлагыг эдийн засгийн салбараар харвал 84.4 хувийг орон нутгийн засаг захиргаанд, 10.8 хувийг боловсролын салбарт, 2.1 хувийг соёлын салбарт, 2.7 хувийг эрүүл мэндийн салбарт зарцуулсан байна. Улсын мал тооллогын 2011 оны дүнгээр малын тоо толгой 2679200 тоологдож улсад 2 дугаар байранд орсон бөгөөд 196100 адуу, 302000 үхрийн тоогоор улсад тус бүр 2 дугаарт, 1327500 хонь тоолуулж улсад гуравдугаарт орсон байна. Үйлдвэрийн газрууд 2021 оны эхний 1 сард оны үнээр 805.2 сая төгрөгийн бүтээгдэхүүн үйлдвэрлэж борлуулсан байна. Нийт үйлдвэрлэлтийн 15.9 хувийг хүнс ундааны, 0.3 хувийг хэвлэлийн, 65.0 хувийг дулааны эрчим хүчний 9.9 хувийг усан хангамж, 1.7 хувийг модон эдлэлийн, 6.9 хувийг гутал хувцасны, 0.3 хувийг бусад үйлдвэрлэл эзэлсэн байна. Тээврийн байгууллагууд 0.8 мянган зорчигч, 1.5 мянган тонн ачаа тээвэрлэн, 0.5 сая хүн км, 0.7 сая ткм ажил гүйцэтгэн 55.5 сая төгрөгийн орлоготой ажилласан ажээ. == Нутгийн хуваарь == Архангай аймаг 19 [[Монгол Улсын сумд|сум]], түүний 99 [[Монгол улсын засаг захиргаа, нутаг дэвсгэрийн хуваарь|баг]]т хуваагддаг. {| class="wikitable sortable" | style="text-align: right" |- ! align="center"| ! align="center"|Сум ! align="center"|Сумын төв</small><ref>Архангай төрийн мэдээллийн цахим сүлжээ - {{Webarchiv|url=http://www.arkhangai.gov.mn/modules.php?name=Menu&id=13 |wayback=20120830201411 |text=Засаг захиргаа, хүн ам |archiv-bot=2023-09-26 06:34:28 InternetArchiveBot }}</ref> ! align="center"|Хүн ам <small>(2009)</small><ref>{{Cite web |url=http://www.statis.mn/portal/content_files/comppmedia/cxls0x1523.xls |title=Архангай аймгийн статистик -2009.12.31 |access-date=2011-10-10 |archive-date=2011-07-22 |archive-url=https://web.archive.org/web/20110722221815/http://www.statis.mn/portal/content_files/comppmedia/cxls0x1523.xls |url-status=dead }}</ref> ! align="center"|Хүн ам <small>(2022)</small><ref>{{Cite web|url=https://www2.1212.mn/tables.aspx?tbl_id=DT_NSO_0300_067V2&BAG_select_all=0&BAGSingleSelect=_265_26501_26504_26507_26510_26513_26516_26519_26522_26525_26528_26531_26534_26537_26540_26543_26546_26549_26552_26555&AGE_GROUP5_select_all=0&AGE_GROUP5SingleSelect=_1&YearY_select_all=0&YearYSingleSelect=_2022&viewtype=table|title=Үндэсний статистикийн хороо|access-date=2023-12-27|archive-date=2025-01-21|archive-url=https://web.archive.org/web/20250121190345/https://www2.1212.mn/tables.aspx?tbl_id=DT_NSO_0300_067V2&BAG_select_all=0&BAGSingleSelect=_265_26501_26504_26507_26510_26513_26516_26519_26522_26525_26528_26531_26534_26537_26540_26543_26546_26549_26552_26555&AGE_GROUP5_select_all=0&AGE_GROUP5SingleSelect=_1&YearY_select_all=0&YearYSingleSelect=_2022&viewtype=table|url-status=dead}}</ref> ! align="center"|Нутаг дэвсгэр (км²) ! align="center"|Нягтрал (хүн/км²) |- |align="center"|1 |align="left"|[[Цэцэрлэг (хот)|Эрдэнэбулган]] |align="left"|<small>[[Цэцэрлэг хот|Цэцэрлэг]]</small> |17,770 |21,603 |536 |33.15 |- |align="center"|2 |align="left"|[[Батцэнгэл сум|Батцэнгэл]] |align="left"|<small>Жаргалант</small> |3,846 |3,774 |3,500 |1.10 |- |align="center"|3 |align="left"|[[Булган сум (Архангай)|Булган]] |align="left"|<small>Булгийн дэнж</small> |2,434 |2,838 |3,100 |0.79 |- |align="center"|4 |align="left"|[[Жаргалант сум (Архангай)|Жаргалант]] |align="left"|<small>Баянцагаан</small> |4,111 |4,383 |3,832 |1.07 |- |align="center"|5 |align="left"|[[Ихтамир сум|Ихтамир]] |align="left"|<small>Заанхошуу</small> |5,247 |5,696 |4,800 |1.09 |- |align="center"|6 |align="left"|[[Өгийнуур сум|Өгийнуур]] |align="left"|<small>Зэгстэй</small> |3,086 |3,129 |1,686 |1.83 |- |align="center"|7 |align="left"|[[Өлзийт сум (Архангай)|Өлзийт]] |align="left"|<small>Хөшөөт</small> |3,102 |3,403 |1,700 |1.82 |- |align="center"|8 |align="left"|[[Өндөр-Улаан сум|Өндөр-Улаан]] |align="left"|<small>Тээл</small> |5,798 |5,870 |4,000 |1.45 |- |align="center"|9 |align="left"|[[Тариат сум|Тариат]] |align="left"|<small>Хорго</small> |5,086 |5,064 |3,800 |1.34 |- |align="center"|10 |align="left"|[[Төвшрүүлэх сум|Төвшрүүлэх]] |align="left"|<small>Таван булаг</small> |3,438 |2,907 |1,200 |2.86 |- |align="center"|11 |align="left"|[[Хайрхан сум|Хайрхан]] |align="left"|<small>Уубулан</small> |3,656 |3,673 |2,500 |1.46 |- |align="center"|12 |align="left"|[[Хангай сум|Хангай]] |align="left"|<small>Хунт</small> |2,926 |3,228 |4,400 |0.66 |- |align="center"|13 |align="left"|[[Хашаат сум|Хашаат]] |align="left"|<small>Баян</small> |3,344 |3,150 |2,600 |1.29 |- |align="center"|14 |align="left"|[[Хотонт сум|Хотонт]] |align="left"|<small>Хотонт</small> |4,440 |4,349 |2,200 |2.02 |- |align="center"|15 |align="left"|[[Цахир сум|Цахир]] |align="left"|<small>Авгалдай</small> |2,143 |2,485 |3,398 |0.63 |- |align="center"|16 |align="left"|[[Цэнхэр сум|Цэнхэр]] |align="left"|<small>Алтан-Овоо</small> |6180 |6,107 |3,200 |0.75 |- |align="center"|17 |align="left"|[[Цэцэрлэг сум (Архангай)|Цэцэрлэг]] |align="left"|<small>Хужирт</small> |3,813 |3,784 |2,500 |1.53 |- |align="center"|18 |align="left"|[[Чулуут сум|Чулуут]] |align="left"|<small>Жаргалант</small> |3,744 |4,199 |3,900 |0.96 |- |align="center"|19 |align="left"|[[Эрдэнэмандал сум|Эрдэнэмандал]] |align="left"|<small>Өлзийт</small> |5,933 |5,611 |3,400 |1.74 |- |align="left"|'''Нийт''' | | |'''89,311''' |'''95,253''' |'''56,252''' |'''1.59''' |- [[Зураг:Mongol Arkhangai sum.PNG|center|400px]] |} == Алдартан == ===Эрдэмтэн=== *Д.Цэвээндорж, Археологийн хүрээлэнгийн захирал, доктор, профессор [[Өндөр-Улаан сум|Хотонт сум]] *Лүнрэг Дандар - Дорно дахины анагаах ухаанд томоохон шинэчлэл хийсэн их оточ, [[Цахир сум]] *Бадрахын Жадамбаа - Шинжлэх ухааны доктор, [[Цахир сум]] *Очирбатын Чогний - Шинжлэх ухааны доктор, [[Цахир сум]] *Гүррагчаагийн Лхагваа - Шинжлэх ухааны доктор, [[Цахир сум]] *Дэлэгийн Сангаа - Шинжлэх ухааны доктор, [[Цахир сум]] *Мишиг-Очирын Цогбадрах - Шинжлэх ухааны доктор, [[Цахир сум]] *[[Равсалын Ринчинбазар]] - Шинжлэх ухааны доктор, [[Цахир сум]] *Лхамсүрэнгийн Гүрбазар - Доктор/Ph.D/, [[Цахир сум]] *Раднаасүмбэрэлийн Вандангомбо - Доктор/ Ph.D/, [[Цахир сум]] *Пүрэвбазарын Адъяасүрэн - Доктор/Ph.D/, [[Цахир сум]] *Ванчинсүрэнгийн Бямбаа - Доктор/Ph.D/, [[Цахир сум]] *Балданхүүгийн Шижээ - Доктор/Ph.D/, [[Цахир сум]] *Батаагийн Хээрийнбаатар - Доктор/Ph.D/, [[Цахир сум]] *[[Раднаасүмбэрэлийн Гончигдорж]] -Шинжлэх ухааны доктор, [[Цахир сум]] *Чимэддоржийн Даваадорж - Сурган хүмүүжүүлэх ухааны доктор, [[Эрдэнэмандал сум]] *Нацагдоржийн Цэрэнсодном - Эдийн засгийн ухааны доктор /Ph.D/, [[Эрдэнэмандал сум]] *Самбуугийн Цэрэн-Очир - Шинжлэх ухааны доктор, Эрдэнэмандал сум *Сэнгээгийн Гантулга - Хууль зүйн ухааны доктор (Ph.D), Ихтамир сум *Чагнаагийн Пүрэвдорж - шинжлэх ухааны доктор, профессор, Жаргалант сум *Дамдинжавын Даваадагва - Анагаах ухааны доктор, профессор, Өлзийт сум *Баднааванчин Насан-Очир - Сурган хүмүүжүүлэх ухааны доктор, Эрдэнэмандал сум *[[Төмөр-Очирын Идэрхангай]] - Түүхийн ухааны доктор (Ph.D), дэд профессор, Батцэнгэл сум Гэндэнсүрэнгийн Ёндонгомбо-Техникийн ухааны доктор (Ph.D), Чулуут сум Мөнхөөгийн Сувдаа - Монгол Улсын Хүний гавьяат эмч, Анагаах ухааны магистр, Өлзийт сум Балдоржийн Сандагдорж - Доктор /Ph.D/ Хашаат сум ===Цэргийн зүтгэлтэн === *[[Солийн Данзан]] - МАН-ын үүсгэн байгуулагч МАН-ын анхны дарга бүх цэргийн жанжин Хотонт сус *[[Рагчаагийн Гүнчин-Иш]] - БНМАУ-ын Ардын Их хурлын депутат, хошууч генерал [[Хайрхан сум]] *[[Гэлэгдоржийн Дэмид]] - БНМАУ-ын анхны Маршал, өрлөг жанжин, Их Тамир сум *[[Шагдарын Нацагдорж]] - Хошууч генерал, [[Цахир сум]] *Пунцагийн Пүрэвбазар - Бригадын генерал, [[Цахир сум]] *Лхамсүрэнгийн Лувсанпэрэнлэй - Хурандаа [[Тариат сум]] === Улсын цолтой бөхчүүд === * [[Галсанхүүгийн Вандан]]- Ардын засгийн анхны аварга, Батцэнгэл сум *[[Нацагийн Жамъян]] — даян аварга, гавьяат тамирчин, [[Цахир сум]] *[[Чимэдийн Гочоосүрэн]] - Монгол улсын заан, чөлөөт бөхийн ОУХМ, Хотонт сум *[[Гэлэгжамцын Өсөхбаяр]] — дархан аварга, [[Батцэнгэл сум]] *[[Цэдэндоржийн Чимэд-Очир]] (1916-1985) — даян аварга, [[Хайрхан сум]] *[[Чимэдрэгзэнгийн Санжаадамба]] — Улсын аварга, Хашаат сум *[[Баатарын Төрбат]]- Улсын арслан, [[Жаргалант сум]], 1938 онд улсад түрүүлсэн * [[Далайн Жамц]] - Улсын арслан, Хотонт сум *[[Рэнцэнбямбын Пүрэвдагва]] - Улсын арслан, Булган сум *Нисэхийн" хэмээх [[Дашийн Лувсан]] - Улсын заан, Батцэнгэл сум *[[Лувсангийн Энхбаяр]] - Монгол улсын гавьяат тамирчин, үндэсний бөхийн улсын начин, Батцэнгэл сум *[[Чагнаадоржийн Ганзориг]] - Улсын начин Булган сум *[[Дамбийн Рагчаа]] — Улсын гарьд, [[Булган сум]] *[[Мягмарын Бадарч]] - Улсын заан, Цэнхэр сум *[[Батсүхийн Зоригтбаатар]] -Улсын харцага, Батцэнгэл сум *[[Дуламжавын Мөнх-Эрдэнэ]] - Улсын арслан, Булган сум *[[Мишкагийн Батжаргал]] - Улсын харцага, Булган сум *[[Гэлэгжамцын Батбаяр]] — Улсын харцага, Батцэнгэл сум *[[Түмэнсанжаагийн Мөнгөнцоож|Түмэнсанаагийн Мөнгөнцоож]] - Улсын харцага, Батцэнгэл сум *[[Гүсэмийн Жалаа ]]- Улсын начин, Хашаат сум === Аймгийн цолтой бөхчүүд === * Лувсансодовын Чимэд-Очир - Аймгийн арслан, Батцэнгэл сум * [[Гэндэн Цэдэнбал|Гэндэнгийн Цэдэнбал]] - Аймгийн арслан, [[Өгийнуур сум]] * Дэмбэрэлийн Содномпил - Аймгийн арслан, Хайрхан сум * Төмөрийн Нямсүрэн - Аймгийн арслан, Ихтамир сум === Даншигийн цолтой бөхчүүд === * [[Рэнцэнбямбын Пүрэвдагва]] - Даншигийн Дархан аварга, Булган сум === Бусад спорт === * [[Соронзонболдын Батцэцэг]] — чөлөөт бөхийн дэлхийн аварга, [[Хашаат сум]] ===Урлаг === *[[Лэгшидийн Чуваамэд]], [[Ардын зураач]], УГЗ, [[Хашаат сум]] *[[Ванчинсүрэнгийн Оросоо]] - Гавьяат жүжигчин, [[Цахир сум]] *[[Өлзий-Утасын Баярмагнай]], ЦДБЧ-н дуучин, МУАЖ *[[Дэндэвийн Чимэд-Осор]], БНМАУ-н [[Ардын Жүжигчин]] *[[Гомбын Равдан]], МУГЖ, [[Хашаат сум]] * [[Цэндийн Доржготов]] МУСГЗ, шог зураач, төрийн шагналт зохиолч, [[Хашаат сум]] *[[Соронзонболдын Батболд]], Хүүхдийн элч уран бүтээлч, хөгжмийн зохиолч, Соёлын тэргүүний ажилтан, Багш, [[Батцэнгэл сум]] === Бусад === *[[Чойжилсүрэнгийн Пүрэвдорж]]-Монгол Улсын шадар сайд. *Чимэдийн Зундуй-Осор - Аж Үйлдвэрийн Гавьяат ажилтан, [[Эрдэнэмандал сум]] *Л.Бямбадорж - адуучин, Монгол улсын хөдөлмөрийн баатар, [[Цахир сум]] *[[Майдаржавын Ганзориг]] - сансрын нисэгч, [[Цэцэрлэг сум]] *Даваагийн Жигжидсүрэн - Улсын аварга малчин, [[Цахир сум]] *Банзарын Хуягбаатар - Улсын аварга тууварчин, [[Цахир сум]] *Бадрахын Жадамбаа, Гавьяат багш, [[Цахир сум]] *Гончигийн Халтархүү, Хөдөлмөрийн баатар, [[Цахир сум]] *[[Аюурын Дангаасүрэн]], (1913-1978), хилийн цэргийн тасгийн бага дарга байсан ба тасгаас нь Дүгэрийн Гуулин, Энхийн Шийлэг нарын Монгол улсын баатрууд төрөн гарсан байна. А.Дангаасүрэн Халхын голын дайнд оролцон "Эх оронч цол", "Байлдааны гавьяаны улаан тугийн одон”, "Алтан гадас одон", "Халх голын ялалтын медаль", "Дотоод яамны хүндэт чекист” цол тэмдэг, "Чойбалсангийн мэргэн буудагч” медалиудаар шагнагджээ, [[Цахир сум]] *Төмөөний Зундуй, (1939-2001), алтан гадас одонт , улсын аварга малчин , Улсын их хурлын депутат, [[Хайрхан сум]] *Данзангийн Цэрэнбатаа, Гавьяат барилгачин, [[Эрдэнэмандал сум]] *Жалбуугийн Шажинбат, Гавьяат барилгачин, [[Эрдэнэмандал сум]] == Мөн үзэх == * [[Тайхар чулуу]] * [[Тамир гол]] * [[Орхон гол]] * [[Чулуут гол]] * [[Суман гол]] * [[Хануй гол]] * [[Хүнүй гол]] * [[Хөхсүмийн рашаан]] * [[Баатархан уул]] * [[Тэрхийн Цагаан нуур]] * [[Чойдогийн боргио]] ==Цахим холбоос== {{Commons|Category:Arkhangai Aimag|Архангай аймаг}} * [https://web.archive.org/web/20151103081008/http://arkhangai.gov.mn/ Архангай аймгийн албан ёсны цахим хуудас] * [https://web.archive.org/web/20140326095513/http://arkhangai-ith.com/ Архангай аймгийн ИТХ-ын цахим талбар] == Эшлэл == {{лавлах холбоос}} {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Архангайн сумууд}} [[Ангилал:Википедиа:Онцлох өгүүлэл]] [[Ангилал:Архангай аймаг| ]] [[Ангилал:Монголын аймаг]] 0gp89xtu5e3ja2v8yan39hts0r2ifo8 Завхан аймаг 0 805 860702 858251 2026-06-30T18:50:53Z Mongolgpt 95994 860702 wikitext text/x-wiki {{About|Монголын аймгийн||Завхан (салаа утга)}} {{Short description|Монголын аймаг}} {{Инфобокс суурин | name = Завхан аймаг | native_name = {{MongolUnicode|ᠵᠠᠪᠬᠠᠨ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = Har Nuur.jpg | image_alt = | image_caption = [[Хар нуур (Завхан)|Хар нуур]], 2006 | image_flag = Mn flag zavkhan aimag.svg | flag_alt = | image_seal = | seal_alt = | image_shield = Mn coa zavkhan aimag.svg | shield_alt = | nickname = | motto = | image_map = Zavkhan in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|48|0|N|96|15|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{flag|Монгол}} | established_title = Байгуулагдсан | established_date = {{Start date|1931}} | founder = | seat_type = Нийслэл | seat = [[Улиастай]] | government_footnotes = | leader_party = | leader_title = | leader_name = | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 82455.66 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = | elevation_m = 1886 | population_footnotes = | population_total = {{decrease}} 70,032 | population_as_of = 2025 | population_density_km2 = auto | population_demonym = | population_note = | timezone1 = [[UTC+7]] | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = | postal_code = | area_code_type = | area_code = +976 (0)146 | registration_plate = ЗА_ | iso_code = MN-057 | website = {{URL|http://www.zavkhan.gov.mn/}} | footnotes = }} '''Завхан''' ([[Монгол бичиг|монгол бичгээр]] {{mongolUnicode|ᠵᠠᠪᠬᠠᠨ|h}} – ''жабхан'') нь [[Монгол улс]]ын [[аймаг]] юм. Завхан аймаг нь Ардын Засгийн газрын 1923 оны 10-р сарын 9-10-ны өдрийн хуралдаанаар байгуулагдсан улсын ууган 4 аймгийн нэг болно. Улмаар 1931 оны 2-р сарын 18–ны өдрийн Улсын Бага хурлын Тэргүүлэгчдийн 7 дугаар тогтоолоор [[Хан тайшир уулын аймаг|Хантайшир уулын аймгийг]] татан буулгаж Завхан аймгийг байгуулах шийдвэр гарсан байжээ. Монгол Улсын баруун бүсэд байрлах бөгөөд баруун хойд талаараа [[Орос|ОХУ]]-ын [[Тува]] улс, баруун талаараа [[Ховд аймаг|Ховд]], [[Увс аймаг|Увс]], зүүн талаараа [[Хөвсгөл аймаг|Хөвсгөл]], [[Архангай аймаг|Архангай]], урд талаараа [[Баянхонгор аймаг|Баянхонгор]], [[Говь-Алтай аймаг|Говь-Алтай аймгуудтай]] хиллэдэг. Завхан аймаг нь өнгөрсөн болоод одоо цаг үедээ сүсэгтэн олондоо дээдлэн шүтэгдсэн, шашны хутагт хувилгаад, мөн хүчит бөхчүүд тэр тусмаа үндэсний бөхийн Арслан, Гарди цолтнууд, Орчин цагийн Реп Хип Хоп урлагийн шилдэгийн шилдэг реппэрүүдээрээ алдартай нутаг юм. == Газар зүй == Завхан аймаг Монгол улсын баруун хойд хэсэгт дорнод уртрагийн 930 16'-аас 990 12', хойд өргөргийн 460 33'-аас 500 23' хооронд оршдог. Хойноосоо урд хүртэл 610 км, баруунаасаа зүүн хүртэл 520 км зайтай, уудам дэлгэр 82.5 мянган км² нутаг дэвсгэртэй. Завхан аймаг эх орныхоо баруун хойд хэсэгт буюу [[Хангайн нуруу]]ны өндөрлөгийн баруун хэсэг, [[Их нууруудын хотгор]]ын зүүн, [[Монгол Алтайн нуруу|Монгол Алтайн нурууны]] салбар уулсын хойд хэсэгт оршдог. Завхан аймгийн нутаг дэвсгэр нь Монгол орны дундаж өндрөөс 500 метр орчим илүү өндөрлөг газар байрлана. Аймгийн нутаг зүүнээс баруун тийш намсаж тогтжээ. Хангайн нурууны ноён оргил 4031 метр өндөр [[Отгонтэнгэр]] уул, хамгийн нам цэг [[Дөргөн нуур]]ын хөвөөнд хилийн цэг 1132 метр далайн түвшнээс дээш 2000 метрт оршдог нь Төв Азийн уулархаг сэрүүн бүсэд хамарч, хур, чийг багатай хангай, хээр, говь хосолсон нутаг юм. Аймгийн нутагт Их нууруудын чиглэлийн [[Монгол элс]], дунд хэсгээр [[Бор хярын элс]], өргөргийн дагуу баруунаас нийт нутгийн 50 орчим хувьд түрж орсон байх ба хойд хилийн дагуух [[Тэсийн гол]]д тармацаг элстэй байдаг. Аймгийн төв Улиастай нь [[Улаанбаатар|Улаанбаатараас]] 1023 км алс зайтай оршдог байна. Хангай нурууны ноён оргил [[Отгонтэнгэр|Отгонтэнгэр хайрхан]] Завхан аймгийн Алдархаан болон Отгон сумын нутагт оршдог. Отгонтэнгэр хайрханыг анх 6-р зууны үеэс тахиж ирсэн гэх бөгөөд 1779 оноос сэргээн тахиж байгаад улмаар Олноо өргөгдсөний тэргүүн оноос эхлэн Бурханы шашны ёсоор тайж тахиж ирсэн түүхтэй. == Ан амьтан, ургамал == Сав газрын онцлогт дасан зохицсон хуурайсаг ургамлууд зонхилсон нийт 253 зүйл ургамлаас 29% нь эмийн найрлагад орох, ахуй, хүнс, гоёл чимэглэлийн зэрэг зориулалтаар хэрэглэгддэг байна. Энэхүү сав газарт 18 зүйлийн нэн ховор, ховор ургамал, 15 зүйл унаган ургамал, 3 зүйл үлдэц ургамал тэмдэглэгджээ. Одоогийн байдлаар сав газрын нийт нутаг дэвсгэрийн дийлэнх буюу 86%-г бэлчээр эзэлж байгаа бөгөөд цөлийн хээрийн бэлчээрийн хэв шинж тэр дундаа зонхилж (38%) байна. Сав газрын бэлчээрийн дийлэнхийг буюу 71%-г зөвхөн зун-намрын улиралд ашигладаг. Хяргас нуур-Завхан голын сав газрын сээр нуруутан амьтдын судалгаанаас үзвэл Монгол оронд тэмдэглэгдсэн хөхтний 54.3%, шувуудын 77.5%, загасны 5.7%, мөлхөгчдийн 27.3%, хоёр нутагтны 16.7% байршин амьдардаг байна. Тус сав газарт тэмдэглэгдсэн мөлхөгчид, хоёр нутагтны зүйлийн бүрдэл нь харьцангуй ядмаг, нуур элбэгтэй, шувуудын хувьд чухал газрууд олонтой учраас Монгол оронд тэмдэглэгдсэн шувуудын ихэнх хувь нь байршдаг байна. Нэн ховор болон ховор шувуудын ихэнх нь усны шувууд бөгөөд тэдгээрийн гол идэш тэжээл болсон загасны зүйлүүдийн 50% нь ховордолттой зэрэгт хамрагддаг онцлогтой. Монгол орны бусад хэсгүүдэд тархац, нөөцийн хувьд хязгаарлагдмал амьтад энэ бүс нутагт байршин амьдардаг нь энэ сав газрын бас нэг онцлог бөгөөд олон улсын хэмжээнд “ховордож болзошгүй” ангилалд ордог замба жирх, бордуу шишүүхэй, говийн алагдаага, “эмзэг” ангилалд ордог тавруу атигдаахай, өөхлөг тажигдаахай зэрэг зүйлүүд амьдардаг байна. Нэн ховор хөхтний зүйлүүдээс Хомын талаар тахь, Завхан аймгийн Отгон, Алдархаан, Шилүүстэй сумдын нутаг, Говь-Алтай аймгийн Бурхан буудайн БНГ, Отгонтэнгэрийн ДЦГ-аар [[цоохор ирвэс]], Завхан аймгийн Нөмрөг сумын Баянзүрх, Нөмрөг ууланд [[Хүдэр|баданга хүдэр]] нутагладаг гэсэн мэдээлэл байна.  Нутгийн уулархаг хэсэгт уулын тайгын хөрс, баруун хэсэгт элс, Өмнөд хэсгээр нь хээрийн хүрэн хөрс тархжээ. Нутгийн хойд ба зүүн хэсэгт ой тайга, өмнөд хэсгээр нь [[хээрийн ургамал]] тархжээ. Завхан аймгийн нутагт [[ойн баавгай]]', [[гахай]], [[говийн хар сүүлт]] гэхчилэн олон байгалийн бүсийн амьтан амьдардаг. Нэн ховор ургамал элбэгтэй үүнд вансэмбэрүү. Төрөл бүрийн жимс жимсгэнэ нэрс, [[аньс]] намартаа болц нь сайхан гүйцэж амттай болдог. == Аж үйлдвэр == Газар тариалан бага хөгжсөн. Завхан аймагт барилгын хүнсний машин засварын үйлдвэрийн газрууд бий. [[Монгол Улсын Их Сургууль|Монгол Улсын Их Сургуулийн]] салбар Эдийн засгийн дээд сурууль ажилладаг. Завхан аймаг [[Оросын Холбооны Улс|ОХУ]]-руу гарах автозамын хилийн [[Арцсуурь боомт]] [[Тэс сум (Завхан)|Тэс сумын]] нутагт бий. == Хөдөө аж ахуй == Мал аж ахуй болон газар тариалан эрхлэхэд илүү тохиромжтой, үржил хөрс бэлчээр сайтай голуудын хөндий тал хээр нутагт хүн ам нэлээд шигүү суудаг. Тосонцэнгэл сум нь хотожсон суурин юм. Баянзүрх, Зарт, Цэцүүх, Отгонтэнгэр, Улаан хаалга, Борбургас, Даян зэрэг амралт сувилалын газруудтай. Таван хошуу малтай бөгөөд хониороо улсад дээгүүр байранд ордог. Тулман хөхт ямаа, Булнайн сарлаг, Тэсийн голын адуу, Сартуулын ууцан сүүлт хонь, ноолуурын хар ямаа, Талын улаан үхэр зэрэг нутгийн үүлдрийн шилмэл мал зонхилон өсдөг. Тэс, Идэр, Богдын голын хөндийд төмс, хүнсний ногоо чацаргана тариалдаг. Завхан аймаг 2022 оны байдлаар нийт 3,721,059 малтай байна. Үүнээс адуу-271.568, тэмээ-8.701, үхэр-256,477, хонь-1,888,615, ямаа- 1,286,615 байсан. == Дэд бүтэц == Боловсрол, эрүүл мэндийн салбарын барилга байгууламжийн 80 гаруй хувь нь шинэчлэгдэж, үйлчилгээ үзүүлэх орчин нөхцөл сайжирсан. Улаанбаатар хоттой хатуу хучилттай автозамаар бүрэн холбогдсон. Дулаан цахилгаан станцын улсын төсвийн хөрөнгө оруулалтаар барьж эхэлсэн бөгөөд айл өрхүүдийн дулааны хэрэгцээг хангах боломж бүрдэж байна. 24 сумын төв төвлөрсөн халаалтад бүрэн холбогдож, айл өрхүүд рүү халаалтын шугам, сүлжээ тавигдаж эхэлсэн. Улиастай доторх цэвэр, бохир усны шугам сүлжээнүүд үе шаттайгаар шинэчлэгдэн солигдож байна. Улиастай сумын Өлзийт багийн нутаг дэвсгэрт “Шинэ Завхан” төслийг эхлүүлж, 800 айлын орон сууцыг барьж байгуулахаар ТЭЗҮ хийгдэж, ажил эхлэх шатандаа явагдаж байна. Тус төслийг хүрээнд 150 хүүхдийн цэцэрлэг, 640 хүүхдийн сургууль, спорт заал барихаар хөрөнгийг улсын төсөвт суулгах ажил эхэлсэн. Шинээр төлөвлөж буй 800 айлын орон сууцны хороолол болон үйлдвэрийн хэсэг хотын төвтэй шууд холбогдохоор Богд-Чигэстэй голын 290.3 у/м төмөр бетонон гүүр барихаар ТЭЗҮ боловсруулагдаж байна. Хот, хөдөөгийн сэргэлтийн бодлогын хүрээнд Арц суурь-Нарийн сухайт-Шивээ хүрэн чиглэлийн 1255 км төмөр замын төслийг эхлүүлэхээр ажиллаж байна. == Соёл урлаг == [[Завхан аймгийн Хөгжимт жүжгийн театр]] үйл ажиллагаагаа явуулж байна. == Сумд == [[Зураг:Mongolia Zavkhan sum map.png|thumb|right|310x310px|Аймгийн газрын зураг]] {| class="wikitable sortable" style="text-align: center;" |- |+ |- ! rowspan=2|№ ! rowspan=2|Сумын нэр<br>(хотыг тодоор) ! rowspan=2|Багийн<br>тоо ! colspan="3" |Хүн амын тооцоо<ref name="стат2012">Завхан аймгийн статистикийн хэлтэс. [http://web.nso.mn/portal/content_files/comppmedia/cpdf0x4541.pdf Завхан аймгийн эдийн засаг, нийгмийн байдлын танилцуулга. 2012 он.]{{Dead link|date=Аравдугаар сар 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ! rowspan=2|Талбай<ref name="стат2012"/><br>(мян. км²) |- ! 2000 ! 2012 ! 2022 |- | 1 || align=left| [[Алдархаан сум|Алдархаан]] || 6 ||4,324 ||2,766 ||2,969 ||7.1 |- | 2 || align=left| [[Асгат сум (Завхан)|Асгат]] || 2 ||989 ||913 ||1,001 ||0.6 |- | 3 || align=left| [[Баянтэс сум|Баянтэс]] || 4 ||2,681 ||2,556 ||2,638 ||4.3 |- | 4 || align=left| [[Баянхайрхан сум|Баянхайрхан]] || 4 ||2,490 ||1,755 ||1,751 ||2.5 |- | 5 || align=left| [[Дөрвөлжин сум|Дөрвөлжин]] || 5 ||2,603 ||1,949 ||2,256 ||7,3 |- | 6 || align=left| [[Завханмандал сум|Завханмандал]] || 4 ||1,405 ||1,070 ||1,107 ||3.6 |- | 7 || align=left| [[Идэр сум|Идэр]] || 4 ||3,471 ||2,476 ||2,530 ||3.7 |- | 8 || align=left| [[Их-Уул сум (Завхан)|Их-Уул]] || 6 ||6,863 ||5,953 ||6,588 ||3.8 |- | 9 || align=left| [[Нөмрөг сум|Нөмрөг]] || 5 ||2,511 ||1814 ||1,947 ||3.3 |- | 10 || align=left| [[Отгон сум|Отгон]]|| 6 ||3,586 ||2,860 ||2,576 ||6.0 |- | 11 || align=left| [[Сантмаргац сум|Сантмаргац]] || 4 ||2,267 ||1,623 ||1,573 ||2.4 |- | 12 || align=left| [[Сонгино сум|Сонгино]] || 5 ||2,204 ||1,511 ||1,536 ||2.5 |- | 13 || align=left| [[Тосонцэнгэл сум (Завхан)|Тосонцэнгэл]] || 7 ||10,085 ||8,538 ||9,543 ||5.3 |- | 14 || align=left| [[Түдэвтэй сум|Түдэвтэй]] || 4 ||2,300 ||1,835 ||1,897 ||2.8 |- | 15 || align=left| [[Тэлмэн сум|Тэлмэн]] || 6 ||3,425 ||2,863 ||2,911 ||3.4 |- | 16 || align=left| [[Тэс сум (Завхан)|Тэс]] || 4 ||3,082 ||2,727 ||2,900 ||0.9 |- | 17 || align=left| '''[[Улиастай]]''' || 6 ||16,542 ||15,460 ||16,507 ||0.03 |- | 18 || align=left| [[Ургамал сум|Ургамал]] || 5 ||2,089 ||1,214 ||1,321 ||3.5 |- | 19 || align=left| [[Цагаанхайрхан сум (Завхан)|Цагаанхайрхан]] || 4 ||1,933 ||1,328 ||1,379 ||2.6 |- | 20 || align=left| [[Цагаанчулуут сум|Цагаанчулуут]] || 4 ||1,912 ||1,358 ||1,274 ||2.6 |- | 21 || align=left| [[Цэцэн-Уул сум|Цэцэн-Уул]] || 5 ||2,581 ||1,737 ||1,609 ||2.4 |- | 22 || align=left| [[Шилүүстэй сум|Шилүүстэй]] || 4 ||2,783 ||1,849 ||1,757 ||2.7 |- | 23 || align=left| [[Эрдэнэхайрхан сум|Эрдэнэхайрхан]] || 5 ||2,361 ||1,501 ||1,729 ||4.2 |- | 24 || align=left| [[Яруу сум|Яруу]] || 5 ||3,199 ||2,024 ||2,056 ||4.9 |- | colspan=2| Аймгийн дүн || 114|| 87,686||69,672 || 73,355 || 82.4 |} == Алдартай хүмүүс == === Спортын алдартан === * [[Намжилын Баярсайхан]], [[Монгол улс Барселоны олимпод|1992 оны олимпын]] [[Монгол улс Барселоны олимпод#Медальтнууд|хүрэл медальт]] * Цэргийн хэмээн алдаршсан [[Санжмятавын Шагж]] үндэсний бөхийн арслан * Урт гарт хэмээн алдаршсан [[Маамын Лхагва]] үндэсний бөхийн улсын арслан * [[Цэдэндамбын Цэрэнпунцаг]], [[үндэсний бөх]]ийн [[улсын гарди]] * [[Махгалын Баяржавхлан]], [[үндэсний бөх]]ийн [[улсын гарди]] * [[Ширбазарын Жаргалсайхан]] [[үндэсний бөх]]ийн [[улсын гарди]] * [[Батнасангийн Гончигдамба]] [[үндэсний бөх]]ийн <nowiki>[[улсын гарди]]</nowiki> * [[Мөнхтөрийн Лхагвагэрэл]] [[Үндэсний бөхийн улсын заан]] * [[Бүдээбазарын Адъяахүү]] [[үндэсний бөх]]ийн [[улсын начин]] * [[Очирбатын Цогтгэрэл]] 1993 оны Самбо бөхийн дэлхийн аваргын алтан медал 2001онд Монгол Улсын гавъяат тамирчин * [[Монхорын Дармаабазар]] үндэсний бөхийн улсын харцага * [[Шүхэртийн Уламбаяр]] үндэсний бөхийн улсын харцага * [[Дамдинпүрэвийн Бат-Эрдэнэ]] үндэсний бөхийн улсын харцага * [[Төрмөнхийн Бэгзсүрэн]] үндэсний бөхийн улсын харцага * [[Лхагвын Лха-Очир]] үндэсний бөхийн улсын харцага * [[Цэрэннадмидын Сумъяабэйс]] үндэсний бөхийн улсын начин * [[Батцэнгэлийн Чимэдвандан]] үндэсний бөхийн улсын начин === Урлагийн алдартан === * [[Бэгзийн Явуухулан]], Яруу найрагч, БНМАУ-ын [[Төрийн шагнал]]т, [[Соёлын Гавьяат Зүтгэлтэн]] * [[Ламжавын Ванган]], жүжгийн зохиолч, найруулагч, БНМАУ-ын [[Төрийн шагнал]]т, [[Урлагийн Гавьяат Зүтгэлтэн]] * [[Чүлтэмийн Алтан-Өлзий]], тайз, дэлгэцийн жүжигчин, [[Монгол улсын гавьяат жүжигчин|Монгол Улсын Гавьяат Жүжигчин]] === Улс төр, нийгмийн зүтгэлтэн === * [[Содномын Дамдинбазар|Жалханз хутагт С.Дамдинбазар]] Ардын Засгийн [[Ерөнхий сайд|анхны ерөнхий сайд]], * [[Башлуугийн Жамсранжав|Дилов хутагт Б.Жамсранжав]] Монголын улс төрийн зүтгэлтэн, [[хутагт]], * [[Бат-Очирын Элдэв-Очир|Бат-очирын Элдэв-Очир]] Монголын улс төрийн зүтгэлтэн, * [[Батын Дорж]], Монголын Улсын цэргийн зүтгэлтэн, Элчин сайд, [[Бүгд Найрамдах Монгол Ард Улс|БНМАУ]]-ын [[Улсын баатар]], анхны [[Армийн Генерал]], * [[Гомбожавын Очирбат|Гомбожавын Очирбат,]] [[Монгол|Монголын]] улс төрийн зүтгэлтэн, [[Монгол Ардын Нам|МАХН]]-ын дарга (1990),[[Монгол|Монгол улсын]] [[Монгол улсын хөдөлмөрийн баатар|хөдөлмөрийн баатар]] (2011), * [[Пунсалмаагийн Очирбат]], Монголын улс төрийн зүтгэлтэн, [[Монгол Улсын Ерөнхийлөгч|Монгол Улсын анхны ерөнхийлөгч]], * [[Нацагийн Багабанди]], Монголын улс төрийн зүтгэлтэн, [[Монгол Улсын Ерөнхийлөгч|Монгол Улсын хоёр дахь ерөнхийлөгч]], * [[Дэмчигжавын Моломжамц]] Монголбанкны ерөнхийлөгч (1992-1996), сангийн сайд (1984-1990) * [[Шагдарын Отгонбилэг]], Монгол Улсын [[хөдөлмөрийн баатар]] (1996 он), [[Эрдэнэт үйлдвэр]]ийн захирал (-2001 он) * [[Рэгзээгийн Амарсайхан]], Монгол Улсын Их Хурлын гишүүн(1996-2000 он), АСЗХ-ын дэд ерөнхийлөгч, ШУА-ын дэд ерөнхийлөгч, УБ хотын БЗД-ийн засаг дарга. * [[Цэрэндашийн Намхайнямбуу]] Монгол улсын Хөдөлмөрийн баатар, Улсын Их хурлын гишүүн /1992-1996/. * Хас-Очирын Жүгдэрнамжил - Монгол Улсын гавъяат барилгачин, Батлан хамгаалах яамны орлогч сайд Хошууч генерал * [[Асарваанийн Шоовдор]], Монгол Улсын Аж үйлдвэрийн гавьяат ажилтан, Сэлэнгэ аймгийн ИТХ төлөөлөгч, Хөтөлийн Цемент Шохойн үйлдвэрийн гүйцэтгэх захирал. * [[Дуламсүрэнгийн Оюунхорол]] - Монгол улсын их хурлын гишүүн /2008-2016/, Байгаль орчин аялал жуулчлалын сайд /2014-2017/ ==== Боловсролын салбарын алдартнууд==== * Доржжавын Чулуун - Монгол Улсын гавьяат багш. Ургамал сумын харьяат.<ref>{{Cite book |last=1 |title=}}</ref> * Дорлигжавын Батжаргал - Монгол Улсын гавьяат багш, Санхүү эдийн засгийн их сургуулийн захирал асан, Эдийн засгийн ухааны доктор профессор. Ургамал сумын харьяат. ======'''Орчин цагийн реп хип хоп урлагийн алдартнууд''' ====== * Desant, Батболд - Реппэр, Продюсер, Тоонот Рекордсын үүсгэн байгуулагч CCB бүлгэмийн үүсгэн байгуулагч, гишүүн. Яруу сумын харьяат<ref>{{Cite news |title= |pages=А}}</ref> * Ка - Реппэр, Продюсер, CCB бүлгэмийн үүсгэн байгуулагч, гишүүн. * 113, Гүрвэл Энхтөрийн Очирваани - Реппэр, Продюсер, * Thunderz Б.Өлзий-Учрал - Реппэр, Продюсер, Backyard 2016 хип хоп анхдугаар тэмцээний ялагч. * Wolfizm, Нисдэг чоно, Батцэнгэлийн Гэсэр - Реппэр, Продюсер, * Loce, G-Loc Батгэрэлийн Энхтүвшин - Реппэр Продюсер, Squally Boyz хамтлагийн гишүүн, Og Mob бүлгэмийн үүсгэн байгуулагч, хуучин гишүүн. * Esteem, Stm Банзрагч - Реппэр, Og Mob бүлгэмийн гишүүн. * Mac Moodey, Алтангэрэлийн Мөнхтулга - Реппэр ======'''Стрим интернэт орчны алдартнууд'''====== Saftaz, Батсүхийн Энх-Ундрах - Завхан аймгийн Идэр сумын харьяат. ML Mobile Legends тоглоомын Монгол дахь No1 стример, Youtube хуудаснаа 250 мянга орчим дагагчтай. 2020 оноос хойш тасралтгүй стрим шууд дамжуулалт хийж байгаа. ==Цахим холбоос== {{Commonscat|Zavkhan Aimag|Завхан аймгийн зураг}} * [http://zavkhan.gov.mn/ Завхан аймгийн албан ёсны цахим хуудас] ==Эшлэл== {{reflist}} {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Завханы сумууд}} [[Ангилал:Завхан аймаг| ]] [[Ангилал:Монголын аймаг]] [[Ангилал:Алтан гадас одон шагналтан|!]] [[Ангилал:Хөдөлмөрийн Гавьяаны Улаан Тугийн одон шагналтан (Монгол)|!]] [[Ангилал:Сүхбаатарын одон шагналтан|!]] [[Ангилал:1923 онд байгуулагдсан]] prtljmh5bmbbbsoge0smkxlaxxmvl22 Увс аймаг 0 812 860703 828360 2026-06-30T18:51:47Z Mongolgpt 95994 860703 wikitext text/x-wiki {{Short description|Монголын баруун хойд хэсэгт орших аймаг}} {{Redirect|Увс}} {{Инфобокс суурин | name = Увс аймаг | native_name = {{nativename|mn|'''Увс аймаг'''}}<br>{{nativename|xal|'''Увс әәмг'''}}<br>{{MongolUnicode|ᠤᠪᠰᠤ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = Uvs-noor.jpg | image_alt = | image_caption = | image_flag = Uvs Aimag Flag.svg | flag_alt = | image_seal = | seal_alt = | image_shield = Mn coa uvs aimag 1999.svg | shield_alt = | nickname = | motto = | image_map = Uvs in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|49|30|N|92|30|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{flag|Монгол}} | established_title = Чандмань уулын аймаг | established_date = 1925 | founder = | seat_type = Нийслэл | seat = [[Улаангом]] | government_footnotes = | leader_party = | leader_title = | leader_name = | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 69585.39 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = | elevation_m = | population_footnotes = | population_total = {{increase}} 84,140 | population_as_of = 2025 | population_density_km2 = auto | population_demonym = | population_note = | demographics_type2 = ДНБ | demographics2_footnotes = <ref>{{Cite web|last=|first=|date=|title=GROSS DOMESTIC PRODUCT, by region, aimags and the Capital|url=https://www.1212.mn/en/statistic/statcate/573052/table-view/DT_NSO_0500_007V1|archive-url=https://web.archive.org/web/20240408140558/https://www.1212.mn/en/statistic/statcate/573052/table-view/DT_NSO_0500_007V1|archive-date=2024-04-08|access-date=2023-12-06|publisher=Mongolian Statistical Information Service|website=www.1212.mn|url-status=dead}}</ref> | demographics2_title1 = Нийт | demographics2_info1 = [[Төгрөг|MNT]] 726 тэрбум <br />[[Америк доллар|US$]] 0.2 тэрбум (2023) | demographics2_title2 = Нэг хүнд ноогдох | demographics2_info2 = MNT 8,551,346 <br />US$ 2,507 (2023) | timezone1 = UTC+7 | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = | postal_code = | area_code_type = | area_code = +976 (0)145 | registration_plate = УВ_ | iso_code = MN-046 | website = {{URL |uvs.gov.mn}} | footnotes = | established_title1 = Дөрвөдийн аймаг | established_date1 = 1931 | established_title2 = Увс аймаг | established_date2 = 1933 }} '''Увс''' ([[Монгол бичиг|монгол бичгээр]] {{mongolUnicode|ᠤᠪᠰᠤ|}} ubsu) нь [[Монгол улс|Монгол улсын]] [[аймаг]] юм. Увс аймаг нь анх 1925 оны 11 сарын 21-ний өдөр Чандмань уулын аймаг нэртэйгээр байгуулагдаж, аймгийн төвийг Улаангомд суурьшуулжээ. Тус аймаг нь 69585 км² нутагтай. Тус аймагт Ойрад Монгол угсаатан зонхилох бөгөөд хэл аялгуу, соёл, зан заншлаараа алдаршжээ. Мөн төр нийгэм, урлаг соёл, спорт, эрдэм ухаан, бизнесийн салбарт олон алдар цуутан төрөн гарснаараа алдартай. == Нэр == 1925 онд Чандмань уулын аймаг нэртэйгээр байгуулагдсан бөгөөд Улаангомын урд орших Чандмань уулын нэрээр нэрийдсэн байдаг. 1931 оноос Дөрвөдийн аймаг, 1933 онд Увс аймаг хэмээх одоогийн нэрээ олжээ. "Увс" нь уг аймагт орших нуурын нэр бөгөөд уб-гашуун, су- ус буюу "Шорвог ус" гэсэн утгатай түрэг үг юм. ==Хүн ам== Увс аймаг хүн амын бүтцийн хувьд 0-14 Насныхан 33.8%, 15-64 Насныхан 62.7%, 65 ба түүнээс дээш насныхан 3.5%-ийг эзэлдэг. Увс аймгийн хүн амын дундаж нас 24.1 байна. ===Угсаатны бүрэлдэхүүн=== ;[[Монгол үндэстэн]]-99.6% * [[Ойрадууд|Ойрад]]-84.6% **[[Дөрвөд]]-42.3% **[[Баяд]]-34.2% **[[Хотон]]-7.4% **[[Мянгад]]-0.5% **[[Өөлд]]-0.1% **[[Захчин]]-0.1% * [[Халх]]-15% **[[Халх]] ([[Элжигэн]]-12%, [[Сартуул]]-1.1%)-15% ;[[Түрэг угсаатан]]-0.3% *[[Казахууд]]-0.3% ==Шашин шүтлэг== *88%-[[Буддизм]] *5.4%-[[Исламын шашин]] *1.9%-[[Бөө]] *1.2%-[[Христ]] == Түүх == [[1686]] онд [[Зүүнгарын хаант улс|Ойрад Монголын]] их хаан [[Галдан бошигт хаан|Галдан бошигт]] [[Хархираа гол]]оос суваг татуулж, Увс нуурын хотгор Гурван тээл, Арсай, Мянган бэл, Хар толгой, Бор үзүүр зэрэг газруудад тариа тариалж эхэлсэн нь суурин амьдралын үндэс тавигдаж улмаар [[Улаангом]] сум (хотын) анхны шав тавигдсан гэж үздэг. Ийнхүү газар тариалангийн суурин (Yүнийг гэрчлэх ул үндэс нь Арсайн суурин байж болох юм) нь Увс аймагт анх тавигджээ. [[1871]] онд Чандмань уулын орчимд [[Дэчинравжаалан хөндий]]н анхны [[дацан]] болох [[Лүүжин дацан]] байгуулагдсан нь Улаангомын хүрээний анхны суурь болсон байна. Лүүжин Дацангийн дэргэд [[Цогчин дуган]], олон [[сүм]] баригдаж, лам хуврагууд олноор шавилан сууснаар [[Баянчандмань уул]]ын хошуу байгуулагдаж, хошууны тамгын газар төвлөрснөөр Улаангомын хүрээ нэртэй болсон байна. Улаангомын хүрээ нь сүсэгтэн олны дунд ихээхэн нөлөөтэй болж [[1915]] оны үед 1500 гаруй лам хуврагтай болж, [[Дөрвөд]]ийн [[Зоригт Далай хаан|Зоригт Далай хааны]] өргөө байрлаж байсан зэрэг нь хошууны шашин, [[улс төр]], засаг захиргааны төв болж өргөжихөд нөлөөлсөн байна. [[1931]] оны 2 сард [[Улсын Бага Хурал|Улсын Бага Хурлын]] тэргүүлэгчдийн тогтоолоор засаг захиргааны хуваарийг шинэчлэн Чандмань уулын аймгийг Увс, Ховд хоёр аймаг болгосноор Улаангом нь Увс аймгийн улс төр, эдийн засаг, соёл боловсролын төв болон өргөжин хөгжих эхлэлээ тавьсан юм. Чандмань уулын аймгийн анхдугаар их хурлын [[1925]] оны [[11 сарын 21]]-ний өдрийн 4-р тогтоолд: :''"Аймгийн эрх барих газар аймгийн захиргаааг сонгон байгуулж, Дөрвөдийн аймгийн хуучин нэр болох "Дөрвөд далай хан аймаг" нэрийг халж, Чандмань уулын аймаг хэмээн нэрлэж, төвийг Улаангомд суурьшуулахаар тогтжээ. Чандмань уулын аймаг нь 8 хошуу, 41 сум, 115 баг, 660 арванаар бүрдэл болон байгуулагдсан болой"'' гэжээ. Энэхүү 41 сумын 13 нь одоогийн [[Ховд]] аймгийн, бусад 28 нь Увс аймгийн сумд байсан ба энэ үеийг Увс аймаг үүсэн байгуулагдсан он болгон тэмдэглэдэг. * [[1925]] - [[1931]] онуудад ''Чандмань уулын аймаг'' * [[1931]] - [[1932]] онд [[Дөрвөдийн аймаг]] * [[1933]] оноос [[Увс аймаг]] гэж тус тус нэрлэжээ. [[1931]] онд Чандмань уулын аймгийг 2 аймаг болгоход Увс аймаг 16 сум, 150 баг, 9133 өрх, 43188 хүн амтай байжээ. 1933 онд Увс аймгийн жилийн төсөв 140.0 мянга төгрөг байсан бол 1961 онд 6,6 сая төгрөг, 1981 онд 33,7 сая, 1990 онд 78,4 сая төгрөг болж өсчээ. Увс аймгийн төв нь Улаангом сум юм. [[1957]] онд барилгын 3-р ангийг тус суманд байгуулснаар орчин үеийн хийц загвар бүхий олон сайхан барилга байгууламж баригдан Улаангом сум хотших төлөвөө олсон юм. [[1942]] онд Идэш тэжээлийн хүнсний комбинат, [[1959]] онд гурилын үйлдвэр ашиглалтанд орсноор Улаангом төдийгүй Увс аймгийн хүнсний хангамж эрс сайжирсан юм. [[1959]] онд Улаангом сумаас Улаангом хотыг тусгаарлан орон сууц гудамжны 4-р хороо, хотын АДХГЗ байгуулагдсан нь хотыг төлөвлөгөөтэй хөгжүүлэх өргөн бололцоог нээж өгсөн юм. Улаангом суманд одоо Увс аймгийн нийт хүн амын 30 шахам хувь буюу 27.0 мянга гаруй хүн оршин амьдарч байна. Одоо Улаангом сум нь засаг захиргааны хувьд арван нэгэн багтай бөгөөд есөн баг нь Улаангом хотод, хоёр баг нь [[хөдөө аж ахуй]], [[мал аж ахуй]] эрхэлж байна. == Газар зүй == Увс аймаг нь Монголын баруун хэсэгт [[Хан Хөхийн нуруу|Хан Хөхий]], [[Хархираа уул|Хархираа]], [[Түргэний уулс]], [[Увс нуур]]ын хотгорын говь нутгийг эзлэн оршино. Хамгийн өндөр уул нь 4116 м өндөр [[Хархираа уул]] юм. Хархираа Түргэний уулс нь залуу [[атираат уул]] бөгөөд [[Хяргас нуур|Хяргас]], Увс нуурын хотгороор шинэ төрмөлийн эриний хурдас тархжээ. [[Чулуун нүүрс]] (Нүүрст хотгор, Хар Тарвагатай) бий бөгөөд барилгын материалын баялагтай мөн [[жамц давс]]ны асар их нөөцтэй [[Шүдэн уул]] энд бий. Увс аймгийн нутгаар [[Тэсийн гол|Тэс]], [[Нарийн гол|Нарийн]], [[Завхан гол|Завхан]], [[Ховд гол|Ховд]] зэрэг том голууд урсах бөгөөд [[Увс нуур|Увс]], [[Хяргас нуур|Хяргас]], [[Үүрэг нуур|Үүрэг]], [[Ачит нуур|Ачит]] гэхчлэн том нуурууд оршино. [[Хартэрмэсийн рашаан|Хартэрмэсийн]], [[Хавцал Боомын рашаан|Хавцал Боомын]], [[Бургастайн рашаан|Бургастайн зэрэг рашаан]] ус бий. Аймгийн нутгийн ихэнх хэсэгт хээрийн цайвар хүрэн [[хөрс]], уулархаг нутгаар уулын нугын талийн ба хар шороон хөрстэй, нуурын хэсгээр хөндий газраар намгархаг элсэрхэг хөрстэй, уулархаг нутгаараа ой хөвч, тагийн ургамалтай, нууруудын хотгороор [[говийн ургамал]] ургана. Мөн ой хөвчийн [[буга]] зэрэг амьтнаас эхлээд говийн [[хар сүүлт]] гэхчилэн ан амьтан элбэгтэй. Увс аймгийн 7 сум ОХУ-тай хиллэдэг. == Түүх соёлын дурсгалт газрууд == -Өмнөговь сумын Мунживын Дамбийжаагийн туурь, -Өмнөговь сумын Арлын хоогийн эртний туурь -Өмнөговь сумын Хүрэн үзүүрийн хадны зураг -Өмнөговь сумын Хөх оройн хадны зураг -Өмнөговь сумын Мунживын хадны зураг -Өмнөговь сумын Бор хагийн хос хяргисүүр -Өмнөговь сумын Ацаан бэлийн хадны зураг, хүн чулуу -Өмнөговь сумын Шар булгийн хадны зураг, хөшөө чулуунууд -Өмнөговь сумын Ховд голын хавцалын хадны зураг, хөшөө чулуунууд # Сагил сум, Ганц харгайтын бичигт хадны зураг # Зүүнхангай сум, Зураагийн улаан хадны зураг # Сагил сум, Зүүн турагийн тэрэм хадны зураг # Сагил сум, Их сарын хадны зураг # Сагил сум, Можоогийн хадны зураг # Давст сум, Мөнгөт Цахирын хадны зураг # Наранбулаг сум, Наранбулагийн хадны зураг # Сагил сум, Үнхэлцэгийн хадны зураг # Давст сум, Тэхтийн давааны хадны зураг # Сагил сум, Хад үзүүрийн хадны зураг # Баруутуруун сум, Хар Цагаан усны хадны зураг # Сагил сум, Цагаан өтөгийн хадны зураг # Өмнөговь сум, Шар булгийн онцын хадны зураг # Сагил сум, Шовгор хадны зураг # Давст сум, Бор Нурганы/Хүүхдийн овооны/ хүн чулуу # Наранбулаг сум, Жаажаагийн хөтөлийн хүн чулуу # Хяргас сум, Нийчийн амны хүн чулуу # Хяргас сум, Овгор Хяргасын хүн чулуу # Тариалан сум, Халхайтын дэнжийн хүн чулуу # Малчин сум, Хөтөл нуурын Улаан толгойн хүн чулуу # Малчин сум, Баянмандал уулын хүн чулуу # Улаангом хот, Чандмань уулын булш # Бөхмөрөн сум, Ачит нуурын түрэг бичээс # Хяргас сум, Да лам Цэрэнчимэдийн гэрэлт хөшөө # Аймгийн музей, Долоодойн түрэг бичээс # Аймгийн музей, Долоодойн хөшөөний уйгар бичээс # Сагил сум, Төмөр цоргын түрэг бичээс # Улаангом сум, Харлаг бэйсийн сүм # Түргэн сум Дэлгэр мөрний дэнжийн хүн чулуунууд == Сумд == [[Зураг:Mongolia Uvs sum map.png|thumb|right|250px|Увсын сумд]] # [[Баруунтуруун сум]] # [[Бөхмөрөн сум]] # [[Давст сум]] # [[Завхан сум]] # [[Зүүнговь сум]] # [[Зүүнхангай сум]] # [[Малчин сум]] # [[Наранбулаг сум]] # [[Өлгий сум]] # [[Өмнөговь сум]] # [[Өндөрхангай сум]] # [[Сагил сум]] # [[Тариалан сум (Увс)|Тариалан сум]] # [[Тэс сум (Увс)|Тэс сум]] # [[Түргэн сум]] # [[Улаангом сум]] # [[Ховд сум (Увс)|Ховд сум]] # [[Хяргас сум]] # [[Цагаанхайрхан сум (Увс)|Цагаанхайрхан сум]] == Аж үйлдвэр == Увс аймаг нутгийн зүүн хэсэгт [[газар тариалан]] хөгжүүлсэн, аймгийн төв Улаангомд барилгын, хүнсний үйлдвэрүүдтэй. Увс аймагт [[ОХУ]] руу гарах хилийн боомт Давст сумын нутагт [[Боршоо]], Тэс сумын нутагт [[Тэс боомт]] бий. ==Цахим холбоос== {{Commons|Category:Uvs Aimag|Увс аймгийн зураг}} * [https://web.archive.org/web/20170704182220/http://www.uvs.gov.mn/ Увс аймгийн албан ёсны цахим хуудас] == Эх сурвалж == {{reflist}} {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Увсын сумууд}} [[Ангилал:Увс аймаг| ]] [[Ангилал:Монголын аймаг]] 9p8ifbezcpqd2jno2cgna4mqz2gpvd7 Ховд аймаг 0 813 860704 850656 2026-06-30T18:52:35Z Mongolgpt 95994 860704 wikitext text/x-wiki {{Short description|Монголын аймаг}} {{About|Монголын аймгийн||Ховд (салаа утга)}} {{Инфобокс суурин | name = Ховд аймаг | native_name = {{MongolUnicode|ᠬᠣᠪᠳᠤ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = Sangiin Kerem Kobdo.jpg | image_alt = | image_caption = | image_flag = Flag of Khovd Aimag (since 2014).svg | flag_alt = | image_seal = | seal_alt = | image_shield = Mn coa khovd aimag 2014.svg | shield_alt = | nickname = | motto = | image_map = Khovd in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|47|0|N|92|45|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{MNG}} | established_title = Байгуулагдсан | established_date = {{Start date|1931}} | founder = | seat_type = Нийслэл | seat =[[Ховд (хот)|Ховд]] | government_footnotes = | leader_party = | leader_title = | leader_name = E.Bolormaa | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 76133.38 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = | elevation_max_m = 4204 | population_footnotes = | population_total = {{decrease}} 89,966 | population_as_of = 2024 | population_density_km2 = auto | population_demonym = | population_note = | timezone1 = UTC+7 | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = | postal_code = | area_code_type = | area_code = +976 (0)143 | registration_plate_type = | registration_plate = ХО_ | iso_code = MN-043 | website = {{URL|khovd.gov.mn}} | footnotes = }} '''Ховд''' ({{mongolUnicode|ᠬᠣᠪᠳᠤ|h}}) нь [[Монгол улс]]ын [[аймаг]] юм. Аймгийн төв нь [[Ховд (хот)|Ховд хот]]. Ховд хот нь Улаанбаатараас 1,580 км, харин МУ-ын зүүн хязгаар болох Дорнод аймгаас 2300-аад км-н зайд оршдог. == Түүх == Ховоо ховил хотгор хөндийг Ховд гэнэ.1755 онд Манж нар Зүүнгарын хаант улсыг эзэлж авсны дараа Зүүнгарын уламжлалт засаг захиргааны хэлбэрийг эвдэн Манж чин улсын Ховдын хязгаар хэмээх засаг захиргааны зохион байгуулалтыг бий болгожээ. Ховд хязгаар гэдэгт Дөрвөдийн нэг чуулган хоёр аймаг, 16 хошуу, Торгуудын чуулган гурван хошуу, Алтайн Урианхайн 7 хошуу, Захчины хоёр хошуу, Өөлд, Мянгадын нэг нэг хошуу тус тус багтаж байв. Богд хаант улсын үед Ховдын хязгаар нь Монгол Улсын зургаан аймгийн хоёр нь болжээ. Дөрвөдийн Зүүн гарын Бат-Ерөөлт төгс хүлэг Далайхан аймаг 12 хошуутай хөвөөт цагаан өнгөт тугтай, Баруун гарын Зоригт хан аймаг нь 15 хошуу, хөвөөт шар тугтай байжээ.1921 оны хувьсгалын дараа баруун хязгаарын ар түмний анхдугаар хурал “Дөрвөд” хэмээх яс угсаагаар ялгаатай хуучин нэрийг халж, Чандмань уулын аймаг хэмээн нэрлэхээр шийдвэрлэжээ. Эл аймагт Цамбагарав уулын, Төгс буянтхан уулын, Баян Чандмань уулын, Ханбаатар хайрхан уулын 8 хошуу, 41 сум, 115 баг хамрагдаж байв. БНМАУ-ын Засгийн газраас 1931 оны 02 дугаар сард Хошуудыг өөрчилж эдийн засгийн талаар аймагчлах хууль гаргажээ. Нутаг дэвсгэрийг шинэчлэн ангилах тухай хуулийг баримтлан Чандмань уулын аймгийг Ховд, Увс хоёр аймаг болгон байгуулжээ. БНМАУ-ын Бага хурлын Тэргүүлэгчдийн 1931 оны 02 дугаар сарын 07-ны өдрийн 05 дугаар хурлын тогтоолоор Жаргалант төвтэй Ховд аймгийг Алтай, Алтантээл, Манхан, Үенч, Булган, Цагаанбулан(Мянгад), Буянт, Эрдэнэбүрэн, Дарви, Чандмань, Хайрхан, Цэцэг, Мөнххайрхан гэсэн 13 сумтай байгуулжээ.{{Гол|Ховдын хязгаар}} == Засаг захиргааны нэгж == Ховд аймагт Захчин 5 сум , Халх 3 сум, Урианхай 2 сум, 1 өөлд, 1 торгууд, 1 мянгад, 1 дөрвөд сум бий. {| class="wikitable sortable" style="text-align: center;" |+ Ховд аймгийн сумдын хүн амын тооны өөрчлөлт (1969-2011), газар нутгийн хэмжээ<ref name="Dynamic1983-2008">Ховд аймгийн статистикийн хэлтэс. {{Webarchiv|url=http://www.statis.mn/portal/content_files/comppmedia/cxls0x450.xls |wayback=20110722221549 |text=1983-2010 оны Ховд аймгийн динамик мэдээлэл |archiv-bot=2023-09-26 20:54:01 InternetArchiveBot }}</ref> |- ! rowspan=2|№ ! colspan=2| Нэр ! colspan=6|Аймгийн статистикийн хэлтсийн тооцсон хүн амын тоо ! rowspan=2|Газар нутаг<br>(км²) ! rowspan=2|Нягт сийрэг<br>(хүн/км²) ! rowspan=2|Угсаатны бүтэц |- ! Сум ! төв суурин<br/>(хотыг тодоор) ! 1969 он ! 1979 он ! 1989 он ! 2000 он ! 2011 он<ref name="стат2011">Ховд аймгийн статистикийн хэлтэс. {{Webarchiv|url=http://web.nso.mn/portal/content_files/comppmedia/cpdf0x3730.pdf |wayback=20121021161427 |text=Ховд аймгийн нийгэм, эдийн засгийн 2011 оны танилцуулга |archiv-bot=2023-09-26 20:54:01 InternetArchiveBot }}</ref> ! 2022 |- |1 | align=left| [[Алтай сум (Ховд)|Алтай]] || Бор-Үзүүр||1,700 ||2,141 || 2,312||3,234||3,127||3,394||13,144 км²||0.25||голчлон захчин |- |2 | align=left| [[Булган сум (Ховд)|Булган]] || Бүрэнхайрхан || 6,955 ||7,052 ||8,279 ||9,374||9,266||10,098|| 8,104 км² ||1.19||голчлон торгууд |- |3 | align=left| [[Буянт сум (Ховд)|Буянт]] || Буянт || 1,965 ||3,361 ||3,611||3,362||2,875||3,814|| 3,759 км²||0.96|| |- |4 | align=left| [[Дарви сум (Ховд)|Дарви]] || Булган || 1,896 ||2,402 ||2,540 ||3,061||2,710||3,014||5,604 км²||0.47||голчлон халх |- |5 | align=left| [[Дөргөн сум|Дөргөн]] || Сээр || - ||1,715 ||2,555 ||2,199||2,873||3,030||4,128 км²||0.73||голчлон дөрвөд |- |6 | align=left| [[Дуут сум|Дуут]] || Босго || 1,281 ||1,675 ||1,757 ||2,257||2,041||1,865||2,146 км²||0.98||голчлон урианхай |- |7 | align=left| [[Ховд (хот)|Жаргалант]] || '''[[Ховд (хот)|Ховд]]''' || 10,728 ||17,620 ||24,146 ||26,418||27,538||32,663||70 км²||417.24|| |- |8 | align=left| [[Зэрэг сум|Зэрэг]] || Алтантээл || 2,298 ||2,388 ||2,563 ||3,583||3,131||3,351||2,524 км²||1.23||голчлон захчин |- |9 | align=left| [[Манхан сум|Манхан]] || Төгрөг гол || 3,273 ||3,273 ||3,752 ||5,042||4,004||4,315||4,330 км²||1.05||голчлон захчин |- |10 | align=left| [[Мөнххайрхан сум|Мөнххайрхан]] || Сэнхэр || 1,248 ||1,811 ||2,085 ||2,673||2,225 ||2,146||2,554 км²||1.06|| голчлон урианхай |- |11 | align=left| [[Мөст сум|Мөст]] || Улаантолгой || 3,068 ||3,239 || 3,603 ||4,244||3,289||3,927||3,131||0.91||голчлон захчин | |- |12 | align=left| [[Мянгад сум|Мянгад]] || Баянхошуу || 4,087 ||2,940 ||3,621 ||4,015||3,541||3,752||3,258 км²||1.12||голчлон мянгад |- |13 | align=left| [[Үенч сум|Үенч]] || Хөх-Үзүүр || 2,151 ||2,575 ||3,345 ||4,604||4,440||3,867||7,476 км²||0.64||голчлон захчин |- |14 | align=left| [[Ховд сум (Ховд)|Ховд]] || Дунд-Ус || 3,727 ||3,927 ||4,510 ||4,834||3,131||3,538||2,830 км²||1.63||голчлон казах |- |15 | align=left| [[Чандмань сум (Ховд)|Чандмань]] || Урдгол || 2,310 ||2,311 ||2,486 ||3,417||3,001||3,056||6,016 км²||0.52||голчлон халх |- |16 | align=left| [[Цэцэг сум|Цэцэг]] || Цэцэгнуур || 1,908 ||2,189 ||2,358 ||2,759||2,585||3,261||3,491 км²||0.72||голчлон халх |- |17 | align=left| [[Эрдэнэбүрэн сум|Эрдэнэбүрэн]] || Хар-Ус || 2,490 ||2,258 ||2,655 ||3,414||2,556||2,376||2,772 км²||1.22||голчлон өөлд |- | colspan=3| Аймгийн дүн || 51,155 || 62,877 || 75,822 ||89,326||82,333 ||90,671||76,133 км²||1.22|| |} == Хүн ам == [[Image:Mongolia Khovd sum map.png|thumb|right|250px]] {| class="wikitable" |+ Ховд аймгийн ястан угсаатнууд<ref>2020 оны тооллого</ref> |- ! {{highlight1}} | Ястан угсаатан ! {{highlight1}} | Эзлэх хувь |- | Халх || 28.1% |- | Захчин || 25.3% |- | Казах || 11.2% |- | Урианхай|| 8.3% |- | Торгууд || 7.4% |- | Дөрвөд || 6.5% |- | Өөлд || 6.0% |- | Мянгад || 5.3% |- | Бусад || 2.0% |- |} Эдгээр [[ястан]], [[үндэстэн|үндэстнүүд]] нь бүгд өөрсдийн уламжлалт суурин газар, түүний хэв маяг, уламжлалт хувцас зэрэг соёлын ялгаанууд, мөн уран зохиолын, урлагийн, дуу хөгжмийн уламжлалуудтай юм. Ховд аймгийн олон ястан иргэд өөр өөрийн онцлог аман аялага бүхий [[Монгол хэл]]-ээр харилцах ба Жаргалант сум, Ховд сум, Буянт сум, Булган сум зэрэг зарим сумдад олноор суурьшсан казакууд [[Монгол хэл]] ба [[Казах хэл]]-ээр харилцдаг. Ховд аймгийн хүн амын өсөлт нь [[1991]] онд зогсжээ. Үүний дараа аймгаас гарах хөдөлгөөн (1992-2004 онуудад ойролцоогоор 20,000) нь байгалийн өсөлтийг болиулж аймгийн хүн амыг 87,000 – 92,000 байлгахад хүрчээ. {| class="wikitable" |+ Ховд аймгийн хүн ам <ref name"statoids"="">Statoids (Gwillim Law) web page[http://www.statoids.com/umn.html]</ref><ref name="new">National Statistical Office{{Webarchiv|url=http://www.nso.mn/mdg/eng_index.htm |wayback=20070607183346 |text=Archive copy |archiv-bot=2025-08-25 16:15:47 InternetArchiveBot }}</ref> <ref name="old">National Economy of the Mongolian People's Republic (1921 - 1981), Ulaanbaatar 1981</ref><ref name="GeoHive">, GeoHive: Global Statistics, [http://www.xist.org/cntry/mongolia.aspx]</ref> |- ! {{highlight1}} | 1956 <br /> оны тоол. ! {{highlight1}} | 1960 <br /> оны тооц. ! {{highlight1}} | 1963 <br /> оны тоол. ! {{highlight1}} | 1969 <br /> оны тоол. ! {{highlight1}} | 1975 <br /> оны тооц. ! {{highlight1}} | 1979 <br /> оны тоол. ! {{highlight1}} | 1981 <br /> оны тооц. ! {{highlight1}} | 1989 <br /> оны тоол. ! {{highlight1}} | 1991 <br /> оны тооц. ! {{highlight1}} | 1993 <br /> оны тооц. ! {{highlight1}} | 1995 <br /> оны тооц. ! {{highlight1}} | 1997 <br /> оны тооц. ! {{highlight1}} | 1999 <br /> оны тооц. ! {{highlight1}} | 2000 <br /> оны тоол. ! {{highlight1}} | 2002 <br /> оны тооц. ! {{highlight1}} | 2004 <br /> оны тооц. |- | 42,300||48,000||47,300|| 54,000|| 59,200|| 62,600|| 64,500||86,831|| 89,365|| 87,171|| 88,494|| 91,339|| 91.490|| 89,326|| 89,664|| 91,770 |- |} == Газар зүй == Ховд аймаг нь Алтайн нуруу Монгол Алтайн их уулст оршино, Энд Мөнххайрхан,Хөхсэрх,Баатар хайрхан,Мянган Угалзат зэрэг том уулууд бий бөгөөд аймгийн нутгийн 20 орчим хувийг говь тал эзэлнэ. Уулархаг нутгаар кембрийн өмнөх үе ийн суурь чулуулаг, нутгийн өмнө захаар дөрөвдөгчийн хурдас тархжээ. Нүүрс (Хөндлөн), гянта гануур (Бодонч), болор (Оошигийн ус, Цагаантолгой) бий бөгөөд барилгын материалын баялаг бий. Ховд аймгийн нутгаар Ховд гол , Буянт гол, Булган гол, Чонохарайх гол, Цэнхэр гол зэрэг том голууд урсах бөгөөд Хар-Ус нуур, Хар нуур, Дөргөн нуур, Цэцэг нуур зэрэг том, жижиг нуурууд оршдог.Нэвтийн рашаан, Булганы рашаан, Индэртийн рашаан зэрэг рашаан ус олон бий. === Амьтан ургамал === Өндөр уулаар хад асга, тагийн бүсийн хөрс, нутгийн хойд хэсгээр хээрийн цайвар хүрэн хөрс, өмнөд хэсгээр нь Говийн саарал хөрс тархжээ. Уулархаг нутгаар тагийн бүсийн ба уулын [[хээрийн ургамал]], өмнөд хэсгээр нь [[говийн ургамал]] ургана. Дэлхийд ховордсон [[хулан]], [[хавтгай]], [[бөхөн]] ,азийн шар минж зэрэг олон ан амьтан амьдарна. Ийм учраас [[Булган гол]], [[Хөхсэрхийн нуруу]]г дархлан хамгаалжээ. Ховд аймаг [[ямаа]] олонтой. Аймгийн олон суманд [[хүнсний ногоо]] тухайлбал [[амтат гуа]], тарвас тариалдаг.Булган суманд Монголдоо ховор жимс тариалдаг . Ховд аймагт [[Хятад улс]] руу гарах хилийн боомт [[Ярант]], [[Байтаг]] хоёр Булган суманд байдаг юм. === Уур амьсгал === Ховд нь маш [[эрс тэс уур амьсгал|эрс тэс уур амьсгалтай]]. Зун +40<sup><small>O</sup></small>C хүрч байхад өвөл -35<sup><small>O</sup></small>C хүрдэг. Уур амьсгал нь [[хуурай]]. == Эдийн засаг == Ховд аймаг нь Монголд [[тарвас]]аараа алдаршсан. Ховдод [[Дөргөний усан цахилгаан станц]]ыг барьж дууссан. == Тээвэр == Ховд нисэх буудал (HVD/ZMKD) нь 2 зурвастай ба үүний нэг нь засмал. [[Улаанбаатар]], [[Мөрөн]], [[Булган]] хотууд руу нислэгтэй. == Алдартай хүмүүс == *[[Ард Аюуш]] - 9 эрүүг давсан хүн, [[Цэцэг сум]] * [[Цахиагийн Элбэгдорж]] - Монгол Улсын 4 дэх Ерөнхийлөгч, [[Зэрэг сум]] *[[Дамдины Дэмбэрэл]] - Монгол Улсын Их Хурлын дарга, [[Манхан сум]] *[[Чимэдийн Сайханбилэг]] - Монгол Улсын 28 дахь Ерөнхий сайд, [[Алтай сум]] * [[Оргихын Хангай]]-Монгол улсын аварга [[Буянт сум]] *[[Баярхүүгийн Бат-Өлзий]] - Монгол Улсын Заан, [[Зэрэг сум]] *Баатархүүгийн Пүрэвсайхан - Монгол Улсын Заан, Чандмань сум * Начингийн Баасанжав - Монгол улсын Хөдөлмөрийн баатар, Ардын Эмч, зүрхний мэс засалч, [[Цэцэг сум (Ховд)|Цэцэг сум]] * Жалелийн Хайрулла - Монгол улсын Хөдөлмөрийн баатар, Ардын Эмч, тархины мэс засалч, [[Булган сум (Ховд)|Булган сум]] * Чулууны Далай - түүхийн шу-ны доктор, академич, [[Зэрэг сум]] *Түвдийн Дорж-Академич, доктор, профессор,Булган сум *М.Буяндэлгэр-доктор, профессор, Булган сум * М.Өлзийтогтох. Эрдэмтэн, доктор, [[Мөнххайрхан сум]] *С.Жанцан, Доктор, [[Чандмань сум (Ховд)|Чандмань сум]] *Ш.Жигжидсүрэн, [[Чандмань сум (Ховд)|Чандмань сум]] *Г.Ширнэн, Эрдэмтэн, Эдийн засагч, [[Мянгад сум]] *Бөхчулууны Бат-Эрдэнэ, Доктор, Цагдаагийн дэд комиссар, [[Алтай сум (Ховд)]] *Түвдийн Дорж Монгол улсын шинжилэх ухааны гавьяат зүтгэлтэн, Монгол, Орос 2 улсын академич, доктор, Монгол улсын анхны эмират профессор, Булган сум *Балтавын Цогоо, Монгол улсын шинжлэх ухааны гавьяат зүтгэлтэн, доктор, профессор, Монгол Улсын Төрийн албаны Зөвлөлийн дарга асан, МИАТ ХК-ний Гүйцэтгэх захирал асан, Ерөнхийлөгчийн Тамгын газар, ШУА-ийн харьяа Үндэсний хөгжлийн хүрээлэнгийн захирал асан, Төрийн албаны Тэргүүн зэргийн тэргүүн түшмэл, Мөст сум. *Үснэхийн Сүхбаатар Монгол улсын шинжлэх ухааны гавьяат зүтгэлтэн, тоо физикийн ухааны доктор, профессор, Буянт сум *[[Хумышийн Хайсвай]]- Ховд аймгийн анхны эмнэлэг "АЙРАГ" үүсгэн байгуулагч, хүний эмч, [[Булган сум]] *[[Хайсвайн Султаан]] - Төрийн соёрхолт-шагналт, [[Ховд сум]] === Улс төр, нийгмийн зүтгэлтэн === *[[И.Норовжав]] - Монгол Улсын Гавьяат Холбоочин, Холбооны Сайд Асан,Харилцаа Холбооны Зохицуулах Зөвлөлийн Гишүүн *[[Галсандагвын Нямдаваа]] - МҮАН-МСДН-ийн ардчилсан эвслийн гишүүн. 1990-1992 Засгийн газрын харьяа Авто тээврийн газрын дарга, 1996-1998 Дэд бүтэцийн хөгжлийн сайд, 1998-2000 МИАТ ХХК-н гүйцэтгэх захирал, 2015-2016 ИНЕГ-н дарга, [[Чандмань сум]] *[[Банзаржавын Баасанжав]] - МАХН-ын нарийн бичгийн дарга, [[Мянгад сум]] *[[Ичинхорлоогийн Эрдэнэбаатар]] - Эдийн засагч, барилгын инженер, 1994-2004 онд Эрэл ХХК-ийн дэд захирал, 2004-2005 онд Мэргэжлийн хяналтын асуудал эрхэлсэн сайд, 2006-2007 онд Байгаль орчны сайд, 2004-2008 Монгол Улсын Засгийн газрын гишүүн, [[Цэцэг сум]] ===Цэргийн зүтгэлтнүүд === *Цэндийн Олзвой, [[БНМАУ-ын баатар цол|Монгол улсын баатар]], [[Манхан сум]] *Пунцагийн Чогдон, [[БНМАУ-ын баатар цол|Монгол улсын баатар]], [[Дарви сум]] *Баянбалын Тэгшээ, - [[БНМАУ-ын баатар цол|Монгол улсын баатар]], [[Чандмань сум (Ховд)|Чандмань сум]] *Б.Бадам, [[БНМАУ-ын баатар цол|Монгол улсын баатар]], [[Булган сум]] *Э.Шилэг, [[БНМАУ-ын баатар цол|Монгол улсын баатар]], [[Булган сум]] *Хошууч генерал Л.Баябазар *Хошууч генерал Ц.Галсан [[Манхан сум]] ЗХЖШ-ын нэгдүгээр орлогч дарга, Улаанбаатар гарнизоны командлагч асан 1986-1989 онд парад командласан *Дэслэгч генерал Агваанжанцаны Жамсранжав, [[Мянгад сум]] *Базарын Очир, партизан, [[Дарви сум]] *Ж.Бямбадорж, [[Чандмань сум (Ховд)|Чандмань сум]] * Б.Ширчинхүү, [[Чандмань сум (Ховд)|Чандмань сум]] *Б.Гавал, [[Чандмань сум (Ховд)|Чандмань сум]] *Ц.Гомбо, [[Чандмань сум (Ховд)|Чандмань сум]] *Д.Лувсандамба, Хувьсгалт тэмцлийн ахмад зүтгэлтэн, [[Чандмань сум (Ховд)|Чандмань сум]] * Ю.Жаргал, Хошууч генерал, [[Чандмань сум (Ховд)|Чандмань сум]] * А.Дагва, Хувьсгалт тэмцлийн ахмад зүтгэлтэн, Цэцэг сум * Ц.Ням-Очир, бригадын генерал, Дарви сум, Цагдаагийн ерөнхий газрын Тэргүүн дэд дарга * Ө.Хишигээ бэлтгэл хурандаа Эрдэнэбүрэн сум ===Урлагийн алдартнууд === *П.Чилхаажав - Урлагийн гавъяат зүтгэлтэн, бүжиг дэглээч, [[Дуут сум]] * Д.Сундуй, Гавъяат жүжигчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Н.Сэнгэдорж, Гавъяат жүжигчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Д.Лувсандаш, Гавъяат жүжигчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Б.Энхтайван, Соёлын тэргүүний ажилтан [[Мөст сум (Ховд)|Мөст сум]] ====Дуучид ==== *[[Пүрэвжавын Ганбат]], дуурийн дуучин, МУГЖ, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Баартуугийн Зангад‎]], дуурийн дуучин, Ардын Жүжигчин, Хөдөлмөрийн баатар, [[Буянт]] сум *[[М. Яасай‎]], Ардын Жүжигчин, [[Жаргалант]] сум *[[Аюушийн Загдсүрэн‎]], дуурийн дуучин, Монгол Улсын Ардын Жүжигчин, [[Эрдэнэбүрэн сум]] *Д.Машлай - СГЗ, тэргүүний геологич, дуучин, "Оюутан ахуй цаг", "Зулзган хус" гэх мэт олон дууг дуулжээ. [[Эрдэнэбүрэн сум]] *Л.Оюунчимэг, СТА, "Баянмонгол" чуулгын дуучин, [[Эрдэнэбүрэн сум]] *Б.Сийлэгмаа - Гавъяат жүжигчин, [[Дуут сум]] *[[Лувсандамбын Цэрэнпил]], ЦДБЧ-н дуучин, Гавъяат жүжигчин, Тэрбиш, Лхам, Төмөр нарын дараа "Амрагийн дуу"-г (Цэнхэр дурдан алчуур) олон арван жил дуулжээ. Мөн "Чамайг үдье", "Цэргийн вальс" зэрэг олон алдартай дууг дуулжээ. Охин [[Чадраабалын Туул]] 1997 онд, охин ЦДБЧ-н дуучин Ч.Баярмаа нь 2014 онд МУГЖ болжээ. [[Чандмань сум (Ховд)|Чандмань сум]] *[[Чадраабалын Туул]], МУГЖ, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Чадраабалын Баярмаа]], МУГЖ, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Б.Дугараа]], МУГЖ, [[Булган сум (Ховд)|Булган сум]] *[[Ц.Цэндсүрэн]], МУГЖ, [[Цэцэг сум (Ховд)|Цэцэг сум]] *[[Нанжидийн Сэнгэдорж]], Хөөмийч, МУГЖ, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Садаагийн Сүндэд]], МУАЖ, [[Буянт сум (Ховд)|Буянт сум]] *Баадайгийн Даваажаргал МУСТА Алтай сумын харьят ====Хөгжимчид ==== * Б.Авирмэд, Төрийн соёрхолт туульч, [[Мөнххайрхан сум]] *П.Наранцогт - Баруун Монголын алдарт цуурч, [[Дуут сум]] *Д.Цэрэндаваа, СГЗ, хөөмэйч, магтаалч Чандмань сум *П.Сэнгэдорж, МУГЖ, хөөмийч Чандмань сум ====Хөгжмийн зохиолч ==== *Н.Мяасүрэн, Ардын жvжигчин, [[Дарви сум]] *[[Жамъянгийн Чулуун]], Төрийн шагналт, Ардын жүжигчин, Монголын хөгжмийн театрыг үндэслэгчдийн нэг, [[Зууны манлай]] удирдаач, хийлч, хөгжмийн зохиолч, [[ Жаргалант сум]] *[[Чойсүрэнгийн Жамсранжав]], Хөгжмийн нэрт удирдаач, Монгол Улсын урлагийн гавьяат зүтгэлтэн, [[Буянт сум]] *[[Нацагийн Цолмон]], Хөгжмийн зохиолч, нэрт удирдаач, Монгол Улсын урлагийн гавьяат зүтгэлтэн, Зэрэг сум *[[Цогбадрахын Пүрэвхүү]] Хөгжмийн зохиолч, Соёлын гавьяат зүтгэлтэн [[Буянт сум]] ====Жүжигчин, найруулагчид ==== *Л.Жамсранжав, МУАЖ, [[Мянгад сум (Ховд)|Мянгад сум]] *Д.Мэндбаяр, МУАЖ, [[Манхан сум (Ховд)|Манхан сум]] *Б.Балжинням, Төрийн соёрхолт кино найруулагч, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Зундуйн Пүрэв]], Гавъяат жүжигчин, [[Дарви сум]] *[[Зундуйн Галсанданзан]], Гавъяат жүжигчин, [[Дарви сум]] * Ц.Гомбосүрэн, МУАЖ, найруулагч, [[Манхан сум (Ховд)|Манхан сум]] *[[Бадрах Сумхүү]], МУУГЗ, [[Буянт сум]] *[[Доржийн Найдан]], Гавъяат жүжигчин, [[Дарви сум]] *[[Сандагийн Мэндээ]], МУГЖ, [[Буянт сум (Ховд)|Буянт сум]] *[[Бальдирын Бямбадорж]], СТА, Кино найруулагч, [[Дарви сум]] ====Зохиолч, яруу найрагчид ==== *[[Лха.Дарьсүрэн]],Зохиолч, Д.Нацагдоржийн нэрэмжит шагналт, [[Дуут сум (Ховд)|Дуут сум]] *Д.Содном, [[Ард Аюуш]] киноны зохиолч, [[Дарви сум]] *[[Маналжавын Тогмид]], МНТ-ны тухай зэрэг олон судалгааны өгүүлэл бичиж мөн 1993 онд АНУ, Японы NHK телевизийн хамтран хийсэн "Монголын Их Гүрэн" (Storm from the East) баримтат киноны зохиогч, зөвлөхөөр ажиллажээ, [[Чандмань сум (Ховд)|Чандмань сум]] === Спортын алдартнууд === *[[Равдангийн Даваадалай]], 1980 оны [[Москвагийн олимп]]ын [[жүдо]]гийн 71 кг-ийн жингийн хүрэл медальт, МУГТ, [[улсын начин]], [[самбо]] бөхийн дэлхийн аварга, жүдо бөхийн УАШТ-ний 21 удаагийн аварга, [[Дарви сум]] *[[Авирмэдийн Энхээ]], чөлөөт бөхийн ДАШТ-ний 1985 оны 62 кг жингийн мөнгө, 1986 оны хүрэл медальт тамирчин, [[Зэрэг сум]] *Цэрэнбаатарын Хосбаяр, МУ-н гавъяат дасгалжуулагч, Зэвсэгт Хүчний "Алдар" спорт хорооны дасгалжуулагч, чөлөөтийн дэлхийн аварга [[Сүхээгийн Цэрэнчимэд]]ийн анхны дасгалжуулагч, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Цэрэнбаатарын Энхбаяр]] - чөлөөт бөхийн тамирчин, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Цэрэнбаатарын Цогтбаяр]], 1993 оны чөлөөт бөхийн ДАШТ-ны 57 кг-н хүрэл медальт тамирчин, МУГТ, чөлөөт бөхийн эрэгтэйчүүдийн шигшээ багийн ахлах дасгалжуулагч, [[Чандмань сум (Ховд)|Чандмань сум]] *Даваагийн Кёкүшюзан Батбаяр. * [[Цогтбазарын Энхжаргал]] - 2005 оны чөлөөт бөхийн ДАШТ-ны хүрэл медальт тамирчин, [[Эрдэнэбүрэн сум]] *Г.Оюунболд - боксын дасгалжуулагч, [[Зэрэг сум]], Ч.Цэвээнпүрэв, Д.Лхагва, У.Мөнх-Эрдэнэ нарын дасгалжуулагч * Ёндондаш, дэлхийг тойрсон "Таван хуруу" багийн гишүүн, олон улсын хэмжээний мастер, [[Дарви сум]] * Ц.Батцэцэг, 2015 оны жүдогийн УАШТ-ний 78 кг-ын жингийн алт, 2015 оны самбогийн УАШТ-ний 72 кг-ын жингийн хүрэл медальт, 2015 оны жиү-жицүгийн УАШТ-ний 75 кг-ын жингийн алтан медальт тамирчин * Б.Эрхэмбаяр. Уулын спортын мастер, [[Мөнххайрхан сум]] * Ц.Бөхөө. Хөнгөн атлетикийн спортын мастер, [[Мөнххайрхан сум]] *[[Чадраабалын Бямбадорж]] - Улсын заан, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Чогсомын Батзориг]] - Улсын заан, [[Чандмань сум (Ховд)|Чандмань сум]] *Т.Амартүвшин - Улсын харцага, [[Эрдэнэбүрэн сум]] Нямаа Батзаяа 2009 он Монгол Улсын начин, 2015 он Монгол Улсын харцага цол хүртсэн Ховд аймгийн Чандмань сумын харьяат *Түвшинбаярын Ариунзаяа, 2015 оны таеквондогийн ДАШТ-н аварга, [[Эрдэнэбүрэн сум]] *Түвдэнжамбын Бат-Эрдэнэ - Улсын начин/1994/- Эрдэнэбүрэн сум <ref>{{Cite web |url=http://www.zaluu.com/read/1822h6c4 |title=Archive copy |access-date=2015-10-08 |archive-date=2015-10-11 |archive-url=https://web.archive.org/web/20151011080139/http://www.zaluu.com/read/1822h6c4 |url-status=dead }}</ref> ===Бусад === *[[Сономцэвээний Цогтгэрэл]], Хөдөлмөрийн баатар, [[Дарви сум (Ховд)|Дарва сум]] *[[Хүрлээгийн Бадамсэд|Х.Бадамсэд]], Ардын багш, [[Булган сум (Ховд)]] *[[Раашийн Лувсан|Р.Лувсан]], Хөдөлмөрийн баатар, Булган сум *[[Жигмидийн Отгонцагаан|Ж.Отгонцагаан]], Хөдөлмөрийн баатар, [[Булган сум]] *Р.Батхишиг Монгол улсын хүүхдийн гавьяат эмч, Булган сум *[[Долдханы Харай|Д.Харай]], Хөдөлмөрийн баатар, [[Ховд сум]] *[[Жигмидийн Батлай|Ж.Батлай]], Хөдөлмөрийн баатар, [[Булган сум]] *[[Хошоодойн Түвшин|Х.Түвшин]], Хөдөлмөрийн баатар, [[Булган сум]] *Р.Хашбаатар, Хөдөлмөрийн баатар, [[Булган сум]] *Б.Баадай, Хөдөлмөрийн баатар, [[Булган сум]] *М.Бааст, Хөдөлмөрийн баатар, [[Булган сум]] *Оомборын Лхагважав, гавъяат барилгачин, [[Мөст сум]] *Ц.Намжил, гавъяат уурхайчин, [[Дарви сум]] *Д.Самбуупүрэв, гавъяат эмч, [[Дарви сум]] *М.Цэрэнханд, гавъяат багш, [[Дарви сум]] *И.Даваа, гавъяат нэгдэлчин, [[Дарви сум]] *Д.Баасанжав, Гавъяат эмч, [[Дуут сум]] * О.Батсүх. Монгол улсын хүний гавъяат эмч, [[Мөнххайрхан сум]] * Д.Бямбахүү. Монгол Улсын хүний гавьяат эмч, Мөст сум * С.Бямбажав. Монгол Улсын эрүүлийг хамгаалахын гавьяат ажилтан, Буянт сум * З.Хийров. Хөдөлмөрийн баатар [[Мөст сум]] * Ч.Баттулга. Монгол Улсын ургацын аварга, [[Мөст сум]] * Г.Сэсээр. Дипломатч, гадаад харилцааны нэртэй зүтгэлтэн, [[Мөнххайрхан сум]] * Г.Дашган. Монгол улсын гавъяат багш, дугуйн спортын мастер, [[Мөнххайрхан сум]] * Ц.Олдох. Улсын аварга малчин, [[Мөнххайрхан сум]] * М.Баттулга, Улсын Гавьяат малчин, [[Мөнххайрхан сум]] * Ж.Намсрай, Гавъяат тээвэрчин, [[Мөнххайрхан сум]] *Д.Лхагва, Гавъяат малчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Х.Даваахүү, Гавъяат эмч, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Цэрэндашийн Дамиран]], Гавъяат барилгачин, улс төрч, [[Чандмань сум (Ховд)|Чандмань сум]] *Г.Нямдаваа - улс төрч, [[Чандмань сум (Ховд)|Чандмань сум]] *[[Маналжавын Тогмид]], Зохиолч, [[Чандмань сум (Ховд)|Чандмань сум]] * Р.Чадраабал, Хөдөлмөрийн баатар хоньчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Д.Лхагва, Гавъяат малчин, [[Чандмань сум (Ховд)|Чандмань сум]] *С.Базардарам, Улсын аварга малчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Ж.Гончиг, Улсын аварга малчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Г.Дамдиндорж, Улсын аварга малчин, [[Чандмань сум (Ховд)|Чандмань сум]] *Б.Лхагвацэрэн, Улсын аварга малчин, [[Чандмань сум (Ховд)|Чандмань сум]] * С.Цэвээнсүрэн, Хүний гавьяат эмч, [[Буянт сум (Ховд)|Буянт сум]] * Ц.Даваахүү, Хүний гавьяат эмч, [[Чандмань сум (Ховд)|Чандмань сум]] * Л. Хашхүү Монгол Улсын Аж үйлдвэрийн гавъяат ажилтан, Хөдөлмөрийн гавъяаны улаан тугийн одон Манхан сум (Ховд) * Пунцагийн Даш Монгол Улсын Аж үйлдвэрийн гавьяат ажилтан, Чандмань сум * Ө.Энэбиш монгол улсын зөвлөх инженер Доктор эрдэнэбүрэн сум * Ө.Одхүү хүний их эмч * Ө.Хоролоо хүний их эмч [[Чандмань сум (Ховд)|Чандмань сум]] ==Цахим холбоос== {{Commons|Category:Khovd Aimag|Ховд аймаг}} * [https://web.archive.org/web/20161017192122/http://www.khovd.gov.mn/home/ Ховд аймгийн албан ёсны цахим хуудас] == Эшлэл == {{reflist}} {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Ховдын сумууд}} [[Ангилал:Ховд аймаг| ]] [[Ангилал:Монголын аймаг]] [[Ангилал:Хөдөлмөрийн Гавьяаны Улаан Тугийн одон шагналтан (Монгол)|!]] 4sdfsz4zu4o95j344qmjkyki00c98jw Баян-Өлгий аймаг 0 1278 860700 853344 2026-06-30T18:49:16Z Mongolgpt 95994 860700 wikitext text/x-wiki {{Short description|Монголын хамгийн баруун аймаг}} {{Инфобокс суурин | name = Баян-Өлгий аймаг | native_name = {{MongolUnicode|ᠪᠠᠶ᠋ᠠᠨ}}{{MongolUnicode|ᠥᠯᠦᠭᠡᠢ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = aimag.jpg | image_alt = | image_caption = [[Өлгий|Өлгий хот]] | image_flag = Mn flag bayan olgiy aymag.svg | flag_alt = | image_seal = | seal_alt = | image_shield = Mn coa bayan olgiy aymag.svg | shield_alt = | nickname = | motto = | image_map = Bayan-Ölgii in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|48|18|N|89|30|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{flag|Монгол}} | established_title = Байгуулагдсан | established_date = 1939 | founder = | seat_type = Нийслэл | seat = [[Өлгий]] | government_footnotes = | leader_party = | leader_title = Засаг дарга | leader_name = Есентайн Зангар <ref>{{Cite web |url=https://bayan-olgii.gov.mn/governor/ |title=Аймгийн Засаг даргын тухай – Баян-Өлгий аймаг |access-date=2025-09-26 |archive-date=2023-05-24 |archive-url=https://web.archive.org/web/20230524093448/https://bayan-olgii.gov.mn/governor/ |url-status=dead }}</ref> | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 45704.89 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = | elevation_m = 1710 | population_footnotes = | population_total = {{decrease}} 109,038 | population_as_of = 2025 | population_density_km2 = auto | population_demonym = | population_note = | demographics_type2 = ДНБ | demographics2_footnotes = <ref>{{Cite web|last=|first=|date=|title=GROSS DOMESTIC PRODUCT, by region, aimags and the Capital|url=https://www.1212.mn/en/statistic/statcate/573052/table-view/DT_NSO_0500_007V1|archive-url=https://web.archive.org/web/20240408140558/https://www.1212.mn/en/statistic/statcate/573052/table-view/DT_NSO_0500_007V1|archive-date=2024-04-08|access-date=2023-12-06|publisher=Mongolian Statistical Information Service|website=www.1212.mn|url-status=dead}}</ref> | demographics2_title1 = Нийт | demographics2_info1 = [[Төгрөг|MNT]] 734 тэрбум <br />[[Америк доллар|US$]] 0.2 тэрбум (2023) | demographics2_title2 = Нэг хүнд ноогдох | demographics2_info2 = MNT 6,710,756 <br />US$ 1,967 (2023) | timezone1 = UTC+7 | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = | postal_code = | area_code_type = | area_code = +976 (0)142 | registration_plate = БӨ_ | iso_code = MN-071 | website = {{URL|www.bayan-olgii.gov.mn}} | footnotes = }} '''Баян-Өлгий''' ({{mongolUnicode|ᠪᠠᠶᠠᠨ ᠥᠯᠦᠭᠡᠢ}}) нь, [[Монгол Улс|Монгол Улсын]] [[Монгол Улсын аймгууд|аймгийн нэг]] юм. Аймгийн төв нь [[Өлгий]] хот бөгөөд Улаанбаатар хотоос 1636 километр зайтай оршдог. Нутаг дэвсгэрийн хэмжээ нь 45.8 мянган хавтгай дөрвөлжин километр. Хүн амын тоо 118,275. Малын тоо толгой 2021 оны дүнгээр 2,379,000. Тус аймаг нь 1940 онд байгуулагдсан. Хүн амын ихэнх нь [[казах үндэстэн]] бөгөөд Монгол овгийн урианхай, тува ястнууд амьдардаг. Өндөрлөг газар оршдог учраас уур амьсгал ерөнхийдөө сэрүүн байдаг. Даян, Хотон, Хорго гэх мэт цэнгэг уст 80 гаруй нууртай. Ховд, Цагаан, Согоот, Ёлт гэх мэт 100 гаруй гол горхи, 200 гаруй булаг шандтай. [[Ховд гол]] нь 506 километр үргэлжилдэг. Толбо, Ачит нуур нь загас агнуурын их нөөцтэй. == Түүх == Баян-Өлгий аймаг нь 1940 оны 8-р сард БНМАУ-ын Бага Хурлын шийдвэрээр байгуулагдсан. Өлгийг 1940 оны 9-р сарын 17-нд аймгийн анхдугаар хурлаас аймгийн төв болгон сонгон баталгаажуулжээ. Баян-Өлгий аймгийг анх байгуулахдаа [[Увс аймаг|Увс аймг]]аас Аймгийн төв болох [[Өлгий|Өлгий сум]]ыг мөн [[Цагааннуур сум|Цагааннуур]],[[Ногооннуур сум|Ногооннуур]],[[Бугат сум (Баян-Өлгий)|Бугат]] харин үлдсэн сумдын нутгийг [[Ховд аймаг|Ховд аймг]]аас таслан байгуулжээ. Баян-Өлгий аймгийн яамнаас эхлээд тус аймгийн анх байгуулагдсан албан байгууллагууд цөөн байшин, 30-аад эсгий гэрт байрлаж байснаа хэдхэн сарын дараа тус тусын байр байшинтай болж, гар үйлдвэрлэлийн артель, хүнсний үйлдвэр, аж ахуйн газруудаа үүсгэн байгуулж Өлгийд оршин суугчдын эгнээ 1940 оны 11 сар гэхэд 100 өрх, 400 хүн амтай болжээ. Өртөө аралд эртнээс улаачдын буудал байсан Хойлог /Цагааннуур/ын ширэгт 1931 онд Орос улстай худалдаа хийх дамжлага баазын суурь тавигдсанаар Ховд-Цагааннуурын авто өртөөний буудал ч Өлгий орчим байрласан зэрэг гол дөт салаа замын зангилаа, тус аймгийн хошуу, сумдын дунд цэгт оршдог, ой мод, өвс ургамлаар элбэг хожим ирээдүйд томоохон хот байгуулахад газрын гадаргуу, хөрс шороо нь хүртэл зохимжтой байжээ. 1950-иад оны дунд үеэс Өлгийд оршин суугчдын эгнээ 7000 давж хотыг тохижуулах ажил урьд өмнөхөөс илүү эрчтэй өрнөж, цэнгэлдэх хүрээлэн, ХД театр, хүүхэд залуучуудын ордон, орон нутгийг судлах музей, барааны зах зэрэг томоохон байгууламжийг Өлгийн иргэд Бямба, Ням гаригт оройн цагаар шан харамж, цалин хөлс нэхэлгүй бүтээж байгуулсан. Аймгийн төвийн нийгэм эдийн засаг, соёл боловсролын өргөн цар хүрээ, хөгжил бадралыг үндэслэн 1956 оны 8-р сарын 1-нд БНМАУ-ын Ардын Их Хурлын Тэргүүлэгчдийн 4 тоот зарлигаар Өлгий хотын хороог байгуулжээ. Төрийн эрх барих дээд байгууллагын шийдвэрээр 1961 онд дээрх хорооны байгууламж Өлгий хот болон өөрчлөгдөж тус хотын захиргаа 13 хэсгээс, 1964 оноос 4 хорооноос бүрдэх болж, 1990-ээд оны эхнээс сум, багийн системд шилжсэн юм. == Газар зүй == Баруун талаараа [[Алтайн нуруу]]ны хяр дагаж [[Хятад|БНХАУ]]-ын [[Шинжаан|Шинжаан-Уйгарын Өөртөө засах орон]]той 450 км, хойт талаараа [[Сийлхэмийн нуруу]] дагаж [[Оросын Холбооны Улс|ОХУ]]-ын [[Бүгд Найрамдах Алтай Улс]]тай 225 км, зүүн талаараа [[Увс]] аймагтай 165 км, зүүн ба урьд талаараа [[Ховд]] аймагтай 450 км нутгаар хиллэдэг. Далайн түвшнээс дээш 1301-4374 метрт оршино, нутаг дэвсгэрийн 95,3% нь 1600 метрээс дээш өндөрт байна. Аймгийн хамгийн өндөр цэг нь Монгол улсын хамгийн өндөр цэг болох [[Алтай Таван Богд]] уулын [[Хүйтэн оргил]] (4374 м) ба хамгийн нам цэг нь [[Баяннуур сум]]ын төв (1301 м) юм. Аймгийн нутаг дэвсгэр [[кайнозейн эрин]]ий дөрөвдөгч галавын үеийн [[гол]], [[мөрөн]], [[нуур]], [[ус]]ны ажиллагаагаар тогтсон [[элс]], [[шавар]], [[хайрга]] голлосон тунамалтай, [[уул]]ын [[хүрэн хөрс|хүрэн]] ба [[цайвар хүрэн хөрс]] зонхилсон гол, мөрний саваар нугат намгийн заримдаг давсархаг хөрс, өндөр уулын бүсэд хад асга бүхий уулын тундрын ба уулын нугын хөрстэй, элэгдэл, өгөршлийн ажиллагаагаар тогтсон хонхор, гүдгэр, уул нуруудаас тогтдог. [[Геологи-тектоник]]ийн мужлалын хувьд Монгол Алтайн атираат мужийн баруун ба баруун хойд хэсэгт оршдог юм. Даян, Хотон, Хоргын цэнгэг устай том, жижиг 80-аад нуур, 100 гаруй гол, горхи, 200 гаруй булаг, шандтай. [[Толбо нуур|Толбо]], [[Ачит нуур]] нь загасны агнуурын нөөцтэй. [[Ховд гол|Ховд]], [[Цагаан гол|Цагаан]], [[Согоог гол|Согоог]], [[Ёлт гол|Ёлт]], [[Сагсай гол|Сагсай]], [[Булган гол|Булган]], [[Ганц мод гол|Ганц мод]], [[Бөхмөрөн гол|Бөхмөрөн]] зэрэг томоохон голтой, Ховд гол 506 км урт урсдаг. [[Файл:Landscape in Bayan-Ölgii Aimag.jpg|thumb|250px|<!-- [[Landscape]] in Bayan-Ölgii Province. -->]] == Уур амьсгал == Аймгийн нутаг дэвсгэр нь байрлалаар дэлхийн бөмбөрцгийн хойд хагасын дундад өргөрөгт багтдаг учир эх газрын [[эрс тэс уур амьсгал|эрс тэс уур амьсгалтай]]. Далайн түвшнээс их өндөрт оршдогоос сэрүүн уур амьсгалтай, хүрээлэн оршдог өндөр уулс гаднаас агаарын урсгалаар ирсэн чийгийг биедээ татдаг учир [[Алтайн нуруу|Алтайн нурууны]] өндөрлөг хэсэгт хур тунадасны жилийн дундаж хэмжээ 400-500 мм-д хүрдэг байна. Өөрөөр хэлбэл [[говь]], цөлийн нөлөөнд ихээхэн автагдсан, өндөр уулын өвөрмөц уур амьсгал, эмзэг экосистемтэй. Салхины жилийн дундаж хурд 4-9 м/секунд хүрдэг. ==Хүн Ам == Баян-Өлгий аймгийн хүн ам нь 2021 оны байдлаар 112,836 бөгөөд нягтрал нь квадрат километр тутамд 2.5 хүн байна. {| class="wikitable sortable" |+Баян-Өлгий аймгийн хүн амын тоо<ref name=":0" /> !Он !Бүгд !Өсөлт/Бууралтын хувь |- |'''1944''' |38,765 | |- |'''1956''' |38,765 |7.7 |- |'''1963''' |47,838 |23.4 |- |'''1969''' |58,131 |21.5 |- |'''1979''' |71,372 |22.8 |- |'''1989''' |90,911 |27.4 |- |'''2000''' |91,579 |0.73 |- |'''2010''' |88,183 | -3.7 |- |'''2011''' |88,772 |0.7 |- |'''2012''' |90,511 |2 |- |'''2013''' |92,454 |2.1 |- |'''2014''' |95,151 |2.9 |- |'''2015''' |100,189 |5.3 |- |'''2016''' |100,172 |0 |- |'''2017''' |102,604 |2.4 |- |'''2018''' |105,090 |2.4 |- |'''2019''' |108,530 |3.3 |- |'''2020''' |110,597 |1.9 |- |'''2021''' |112,836 |2 |- |'''2023''' |116,615 |1.6 |} {| class="wikitable" |+ Баян-Өлгий аймгийн ястан угсаатнууд<ref name=":0">2020 оны тооллого</ref> |- ! {{highlight1}} | Ястан угсаатан ! {{highlight1}} | Эзлэх хувь |- | Казах || 91% |- | Урианхай || 5.6% |- | Халх || 0.9% |- | Дөрвөд || 0.9% |- | Тува || 0.8% |} ==Сумд== * [[Алтай сум (Баян-Өлгий)|Алтай сум]] * [[Алтанцөгц сум]] * [[Баяннуур сум (Баян-Өлгий)|Баяннуур сум]] * [[Бугат сум (Баян-Өлгий)|Бугат сум]] * [[Булган сум (Баян-Өлгий)|Булган сум]] * [[Буянт сум (Баян-Өлгий)|Буянт сум]] * [[Дэлүүн сум]] * [[Ногооннуур сум]] * [[Цагааннуур (тосгон)|Цагааннуур тосгон]] * [[Сагсай сум]] * [[Толбо сум]] * [[Улаанхус сум]] * [[Цэнгэл сум]] * [[Өлгий|Өлгий хот]] == Ургамал, амьтан == [[Агь]], [[таана]], [[хөмүүл]], [[шаваг]], [[шарилж]] , [[ерхөг]], [[хиаг]], [[хазаар өвс]], [[харгана]], [[хялгана]], [[бударган]]а зэрэг хээр, цөлөрхөг хээрийн өвс ургамал зонхилж, чийг илүүтэй уулын сүүдэр хажууд [[үхрийн нүд]], [[хад (жимсгэнэ)|хад]], [[гүзээлзгэнэ]], [[тошлой]] зэрэг зэрлэг жимсгэнэ ургадаг. Ой нь уулсын зөвхөн сүүдэр хажууг бүрхэн, өвөр хажуугаар хээрийн ургамал тархсан, уулархаг нутгаар [[вансэмбэрүү]], [[бадамлянхуа]], [[алтан гагнуур]], [[чихэр өвс]], [[бамбай]], [[башиг]], [[чийгийн давирхай]], [[таван салаа]], [[нохойн хошуу]] зэрэг [[эмийн ургамал]] ургадаг боловч үйлдвэрлэлийн аргаар өргөн ашиглаагүй байна. 300 гаруй [[сээр нуруутан]] байгаагийн дотор 11 зүйлийн [[хэвлээр явагч]], 8 зүйл [[загас]] бүртгэгдсэн байна. Дэлхийд ховордсон [[аргаль]], [[янгир]], [[ирвэс]], [[шилүүс]] зэрэг амьтдаас гадна [[чоно]], [[үнэг]], [[суусар]], [[тарвага]] ,[[туулай]], [[үен]] зэрэг ан амьтад, [[харцага]], [[ёл]], [[бүргэд]], [[сар (шувуу)|сар]], [[тоншуул]], [[хун]], [[хотон]], [[хойлог]], [[алтан гургалдай]], [[галуу]], [[нугас]] зэрэг жигүүртэн шувуудтай. == Эдийн засaг == Эдийн засгийн гол салбар нь [[мал аж ахуй]] бөгөөд 1,4 сая [[мал|малтай]], [[тариалан]] сул хөгжсөн байна. [[Аж үйлдвэр|Аж үйлдвэрийн]] хөгжил дорой боловч [[уул уурхай]], [[хөдөө аж ахуй|хөдөө аж ахуйн]] гаралтай түүхий эдийг боловсруулах салбарт тэргүүлэх ач холбогдол өгч хөгжүүлэх боломжтой, [[төмөр зам]], хатуу хучилттай [[авто зам|авто замгүй]], [[холбоо харилцаа|холбоо]], [[агаарын тээвэр|агаарын]] болон [[авто тээвэр|авто тээврийн үйлчилгээ]] харьцангуй илүү хөгжсөн. Хэтийн төлөв сайтай [[алт]]ны 6 үндсэн илрэл, 5 шороон хуримтлалын зангилаа хэсэг буюу талбайг тогтоосон нь ойрын жилүүдэд эрэл-үнэлгээ, хайгуул хийж, [[алт]] олборлолтын салбарыг хөгжүүлэн, үйлдвэрлэлийн хэмжээг нэмэгдүүлэх бололцоотой боловч байгалийн нөөц, баялгийн судалгааг бүрэн хийгээгүй байна. Төсвийн урсгал зардлын 30 гаруй хувийг өөрийн орлогоор, үлдсэн хэсгийг улсын татаасаар бүрдүүлдэг, төсөв санхүүгийн чадавх сул юм. Аймгийн [[байгаль орчин]] нь унаган төрхөөрөө үндсэндээ хадгалагдсан, ус, хөрс, агаар бохирдуулах уул уурхай, [[химийн үйлдвэр]] хөгжөөгүй, малын тоо бэлчээрийн даацнаас хэтэрч, бэлчээр талхлагдан, цөлжих нөхцөл бүрдсэн байна. Байгалийн хязгаарлагдмал нөөц, баялгийг үнэ төлбөргүй ашигладаг үрэлгэн хэв шинжээс бүтээгдэхүүний үйлдвэрлэл, үйлчилгээний үнэд байгалийн өртгийг тусгаж, байгалийн даацад зохицон амьдрах хөгжлийн шинэ хандлагад шилжих арга замыг сонгон хөгжих чиг хандлага нь аймгийн хөгжлийн гол стратеги болж байна. ==Алдартай хүмүүс== ====Жүжигчин, найруулагчид ==== *Рамишийн Асай, Ардын эмч, доктор, профессор Улаанхус сум (Баян-Өлгий) *Билэгтийн Цээхээ, Монгол Улсын Хөдөлмөрийн баатар Буянт сум (Баян-Өлгий) *[[Банзарын Дамчаа]], Монгол Улсын Ардын жүжигчин, [[Буянт сум (Баян-Өлгий)]] *Б.Хайжамал "Монгол Улсын Ардын жүжигчин", Булган сум ( Баян-Өлгий) *Б. Базилхаан Монгол улсын гавьяат, доктор, профессор *А. Монголхан - Монгол улсын Ардын жүжигчин, БНМАУ-ын урлагийн гавьяат зүтгэлтэн ( Толбо сум) == Засаг дарга<ref>{{Cite web |url=https://bayan-olgii.gov.mn/zasag-darga-nar/ |title=Үе үеийн Засаг дарга нар – Баян-Өлгий аймаг |access-date=2025-09-26 |archive-date=2022-09-26 |archive-url=https://web.archive.org/web/20220926055625/https://bayan-olgii.gov.mn/zasag-darga-nar/ |url-status=dead }}</ref> == # Бажийн Хаби (1940-1942) # А.Бэгзжав (1942-1943) # Дүзелбайн Женисхан (1944-1950) # Мухамадийн Хурманхан (1951-1952) # Б.Шагдар (1952-1954) # Мухамадийн Хурманхан (1954-1955) # Шабийн Хабдыл (1956-1959) # Жуанганы Рым (1959-1970) # Асханбайн Сарай (1970-1978) # Кусбекийн Хызырхан (1978-1989) # Таягийн Даваажав (1989-1990) # [[Күнтуганы Мизамхан]] (1990-1996) # Кыдырийн Мейрам (1996-2000) # Хавдисламын Баделхан (2000-2004) # Омарын Хавсатар (2005-2007) # Сакейн Хавал (2007-2012) # Хузкейн Дармен (2012-2016) # Айыпийн Гылымхан (2016-2020) # Далелийн Бауыржан (2020-2024) # Есентайн Зангар (2024-) ==Цахим холбоос== {{Commons|Category:Bayan-Ölgii Aimag|Баян-Өлгий аймгийн зураг}} * [https://web.archive.org/web/20141205163635/http://www.bayan-olgii.gov.mn/ Баян-Өлгий аймгийн албан ёсны цахим хуудас] == Эшлэл == {{лавлах холбоос}} {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Баян-Өлгийн сумууд}} [[Ангилал:Баян-Өлгий аймаг| ]] [[Ангилал:Монголын аймаг]] gi31alxbqv7yvsjjev9m5n2lgb3grcu Нүүрс 0 4349 860794 860348 2026-07-01T10:34:19Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860794 wikitext text/x-wiki [[Файл:Coal.jpg|thumb|right|250px|Нүүрс]] {{Хадмал |монгол_бичиг =[[Зураг:Negüresü.PNG|21px]] |кирилл_буриад = |кирилл_монгол =нүүрс |кирилл_халимаг =нүүрсн }} [[Файл:Struktura chemiczna węgla kamiennego.svg|thumb|right|250px|Нүүрсний химийн найрлага (жишээ)]] '''Нүүрс''' нь хар, хар хүрэн өнгөтэй, амархан шатдаг нэгэн төрлийн "" шиг өнгөтэй чулуу юм. Нүүрс нь дээд ургамлын үлдэгдэл [[хүлэр|хүлэрээс]] үүсэх ба дотроо [[хүрэн нүүрс]], [[чулуун нүүрс]], [[антрацит]] гэсэн төрөлд хуваагдана. Бүрдүүлэгч үндсэн химийн элемент нь [[нүүрстөрөгч]], [[устөрөгч]] бөгөөд, [[хүчилтөрөгч]], [[хүхэр]], [[азот]] тодорхой хэмжээгээр агуулагдана. Нүүрс нь эрчим хүчний үндсэн эх үүсвэр бөгөөд нүүрсний ордыг [[уурхай|ил]] болон [[уурхай|далд уурхайгаар]] ашиглана. Нүүрс нь Дэлхийн хэмжээнд цахилгаан эрчим хүч гарган авах хамгийн гол түүхий эд бөгөөд мөн [[нүүрстөрөгчийн давхар исэл]]ийн гол үүсвэр болж байна. СО<sub>2</sub> нь [[хүлэмжийн хий]] бөгөөд [[цаг уур]]ын өөрчлөлт, [[Дэлхийн дулаарал|Дэлхийн дулаарлын]] гол шалтгаан гэж үзэж байна<ref>{{Webarchiv|url=http://www.agu.org/sci_soc/policy/positions/climate_change2008.shtml|wayback=20080513085904|text="Human Impacts on Climate"|archiv-bot=2023-09-26 16:04:59 InternetArchiveBot}} [[American Geophysical Union]]. Retrieved on Sept 23rd 2008</ref>. Нүүрсийг шатаах явцад [[байгалийн хий]]нээс хоёр дахин их, [[газрын тос]]ноос арай илүү хэмжээний СО<sub>2</sub> ялгардаг байна<ref> The EIA reports the following emissions in million metric tons of carbon dioxide: * Nat gas: 5,840.07 * Petroleum: 10,995.47 * Coal: 11,357.19 For 2005 as the official energy statistics of the US Government.[http://www.eia.doe.gov/iea/carbon.html]</ref>. Монгол орон нүүрсний нөөцөөр баялаг бөгөөд одоогоор [[таамаг нөөц]] 162 тэрбум тонноор үнэлэгдэж байна. == Нэршил == [[Англи хэл]]ний ''"Coal"'' буюу нүүрс гэдэг үг нь герман гаралтай үг ([[Герман хэл|германаар]] ''Kohle'', [[Швед хэл|шведээр]] ''kol''<ref>''[[Oxford English Dictionary]]'' 1989 edition</ref>) бөгөөд [[нүүрстөрөгч]] ("carbon") гэдэг нэр томьёо бас ижил үүсэлтэй. Модыг агааргүй орчинд халаан, түүнд агуулагдах ус, дэгдэмхий бодисыг зайлуулан, нүүрстөрөгчийн өндөр агуулгатай (нүүрстөрөгч 85-95 %), хар өнгөтэй, хөнгөн, нүх сүвэрхэг, бутрамтгай үлдэгдэл гаргаж авахыг "Модны нүүрс" ("Charcoal") гэж нэрлэнэ. == Нүүрсний төрөлүүд == * [[Хүрэн нүүрс]] (''Lignite'' мөн ''Brown coal'') нь бага хувирсан нүүрс бөгөөд ихэвчлэн дулааны цахилгаан станцaд түлш болгон хэрэглэдэг. * [[Чулуун нүүрс]] (''Sub-bituminous coal'' болон ''Bituminous coal'') - нүүрсний хувирлын дунд шатны бүтээгдэхүүн. Дулааны цахилгаан станцд түлш болгон хэрэглэхээс гадна зарим онцгой төрөл-[[коксжих нүүрс|коксжих нүүрсийг]] коксжуулан [[ган]]гийн үйлдвэрт хэрэглэнэ. * [[Хагас антрацит]] болон [[антрацит]] (''Anthracite'') - хамгийн их хувирсан нүүрс. Голчлон утаагүй түлш болгон хэрэглэнэ. == Нүүрсний хэрэглээ == === Түлшинд хэрэглэх === Нүүрсийг дулааны цахилгаан станцад шатааж, [[цахилгаан]], [[дулаан]] гаргаж авахад хэрэглэх ба дэлхийн нүүрсний жилийн хэрэглээ ойролцоогоор 7 тэрбум тонн. Нийт нүүрсний 75% нь цахилгаан гаргаж авахад зориулагдаж байгаа ба хамгийн том хэрэглэгч [[БНХАУ]], [[Энэтхэг]] 2 улс бөгөөд одоогийн байдлаар нэг жилд 1.7 тэрбум [[тонн]] нүүрс хэрэглэж байна. Уг бүс нутгийн нүүрсний хэрэглээ урьдчилсан тооцоогоор [[2025]] онд 2.7 тэрбумд хүрнэ гэж таамаглаж байна <ref>{{cite web | title=International Energy Outlook | url=http://www.eia.doe.gov/oiaf/ieo/coal.html | accessmonthday= September 9 | accessyear= 2005 }}</ref>. Одоогийн байдлаар нүүрсний хэрэглээ 3 жил тутамд ойролцоогооор 25% нэмэгдэж байгаа нь бусад төрлийн [[Шатах ашигт малтмал|эрчим хүчний түүхий эдүүдтэй]] харьцуулахад хамгийн их хурдацтайгаар хэрэглээ нь нэмэгдэх байгаа түүхий эд болж байна. Дэлхий дээр үйлдвэрлэж буй нийт эрчим хүчний 40%-ийг нүүрснээс гарган авч байгаа <ref>{{Cite web |url=http://www.worldcoal.org/pages/content/index.asp?PageID=188 |title=Archive copy |access-date=2008-10-22 |archive-date=2009-05-18 |archive-url=https://web.archive.org/web/20090518072233/http://www.worldcoal.org/pages/content/index.asp?PageID=188 |url-status=dead }}</ref> ба АНУ-д энэ хэмжээ 49% байна<ref>http://www.eia.doe.gov/cneaf/electricity/epa/figes1.html</ref>. === Коксжуулах === [[Кокс]] нь бага [[үнсжилт]], [[хүхэр|хүхрийн]] агуулгатай коксжих нүүрсийг агааргүй орчинд 1,000 <sup>o</sup>С дээш хэмд халаан гаргаж авсан саарал өнгөтэй, нүх сүвэрхэг бүтээгдэхүүн юм. Дулаан ялгаруулах чадвар өндөр, 29.6Мж/кг. [[кокс|Коксыг]] [[төмөр|төмрийн]] [[хүдэр]] хайлуулахад түлш, мөн ангижруулагч болгон хэрэглэнэ. Нүүрсийг коксжуулах явцад коксоос гадна нүүрсний давирхай (coal tar), хөнгөн [[газрын тос|тос]], [[байгалийн хий|хий]] ялгарна. === Хийжүүлэх === [[Газрын тос]], [[шатдаг хий|хийн]] үнийн өсөлтөөс хамааран сүүлийн жилүүдэд нүүрснээс [[байгалийн хий|шатдаг хий]] болон шингэн бүтээгдэхүүн (газрын тостой адил бүтээгдэхүүн) гарган авах технологийг эрчтэй хөгжүүлж байна. Нүүрсийг хийжүүлнэ гэдэг нь нүүрсийг өндөр даралт, температурын нөлөөн дор задлан, хийн бүтээгдэхүүн гаргаж авахыг хэлнэ. [[Өмнөд Африкийн Бүгд Найрамдах Улс]] нүүрсийг хийжүүлэх технологийг өргөнөөр хэрэглэж байгаа (ганц) орон юм. === Шингэрүүлэх === Нүүрсийг шууд болон шууд бус аргаар шингэрүүлэн [[бензин]], [[дизел|дизелийн]] түлш гарган авахад зориулсан хэд хэдэн технологи боловсрогдож, бэлэн болсон байна. Шууд бус аргаар шингэрүүлэх, [[Фишер Тропш технологи]] [[дэлхийн хоёрдугаар дайн|дэлхийн II дайны]] үед [[Герман|Германд]] боловсрогдсон бөгөөд одоо Өмнөд Африкийн Бүгд Найрамдах Улсын Сасол компани хэрэглэж байна. Уг технологи нь эхлээд нүүрсийг хийжүүлээд (тодорхой хэмжээний СО ба Н<sub>2</sub>-ийг нэмж), дараа нь уг хийгээ конденсацлан хөнгөн [[нүүрсустөрөгч]] гарган авах арга юм. Эцэст нь нүүрсустөрөгчөө дахин нэрж бензин, дизелийн түлш гарган авна. Шууд шингэрүүлэх буюу устөрөгчжүүлэн шингэрүүлэх (''liquefaction by hydrogenation'') "Бергиус" технологийг Германд боловсруулсан<ref>Robert Haul: Friedrich Bergius (1884-1949), p. 62 in 'Chemie in unserer Zeit', VCH-Verlagsgesellschaft mbH, 19. Jahrgang, April 1985, Weinheim Germany </ref> ба Дэлхийн I ба II дайны үед ашиглаж байв. Шууд шингэрүүлэх хэд хэдэн өөр технологи боловсрогдсоноос, АНУ-ын Гальф Ойл компанийн боловсруулсан SRC-I and SRC-II (''Solvent Refined Coal'') технологи<ref>{{cite paper | author=Cleaner Coal Technology Programme | title=Technology Status Report 010: Coal Liquefaction | publisher=Department of Trade and Industry (UK) | date=October 1999 | url=http://www.dti.gov.uk/files/file18326.pdf | accessdate=2006-11-23 | format=PDF | archiveurl=http://web.archive.org/web/20070616133813/www.dti.gov.uk/files/file18326.pdf | archivedate=2007-06-16 }}</ref>, [[1976]] онд Вильбурн Шроедэр (''Wilburn C. Schroeder'') нэр дээр [[патент|патентлагдсан]] NUS корпорацийн технологи зэргийг дурьдах хэрэгтэй юм. NUS корпорацийн устөрөгчжүүлэн, шууд шингэрүүлэх технологи нь нүүрсийг нунтаглан, хатааж, 1% [[молибдени]] [[катализатори|катализаторийн]] тусламжтайгаар өндөр [[температур]], [[даралт|даралтын]] нөлөөгөөр, бага хэмжээний хий (C3/C4), шингэн (C5-C10) - бензиний фракц, NH<sub>3</sub>, ба CO<sub>2</sub> гаргаж авна <ref>{{cite paper | author=Phillip A. Lowe, Wilburn C. Schroeder, Anthony L. Liccardi | title=Technical Economies, Synfuels and Coal Energy Symposium, Solid-Phase Catalytic Coal Liquefaction Process | publisher=The American Society of Mechanical Engineers | date=1976 | page=35}}</ref>. Нүүрснээс шингэн бүтээгдэхүүн гаргаж авах өөр нэг арга нь бага температурт [[нүүрстөрөгч|нүүрстөрөгчжүүлэх]] юм. Нүүрсийг бага температурт (450 and 700&nbsp;°C) коксжуулахад, [[нүүрсний давирхай|давирхай]] нь жирийн [[нүүрсний давирхай|давирхайнаас]] (800 to 1000&nbsp;°C-д [[кокс|коксжуулсанаас]]) илүү их хэмжээний хөнгөн [[нүүрсустөрөгч]] агуулдаг байна. Уг давирхайг дахин нэрж бензин, дизелийн түлш гарган авах боломжтой юм. Эдгээр бүх нүүрсийг шингэрүүлэх технологиудын сул тал нь [[газрын тос|газрын тосноос]] бензин, дизель түлш ялгаж авахаас хамаагүй илүү их хэмжээний [[нүүрстөрөгчийн давхар исэл]] (CO<sub>2</sub>) ялгаруулдаг явдал юм. Тиймээс цаашид уг технологийг их хэмжээгээр хэрэглэх тохиолдолд, нүүрсийг шингэрүүлэх явцад ялгарч буй СО2-ийг багасгах, мөн агаар мандалд цацалгүйгээр СО<sub>2</sub>-ийг [[азот]], эсвэл бусад хийн тусламжтайгаар шингэрүүлэх зэрэг аргаар шийдэх хэрэгтэй гэж үзэж байна. Нүүрсийг шингэрүүлэх нь нэгэн төрлийн нөөц технологи бөгөөд, газрын тосны нөөц, олборлолт багасан, эрэлт их хэмжээгээр нэмэгдсэн үед хэрэглэх боломжтой юм. Зарим судлаачдийн тооцоогоор, газрын тосны үнэ 35 ам.доллар/баррель орчим (болон түүнээс дээш) байгаа тохиолдолд, [[АНУ]] дотоодынхоо нүүрснээс бензин гаргаж авах нь эдийн засгийн хувьд ашигтай гэж гарсан байна<ref>{{cite web | title=Diesel Fuel News: Ultra-clean fuels from coal liquefaction: China about to launch big projects - Brief Article | url=http://www.findarticles.com/p/articles/mi_m0CYH/is_15_6/ai_89924477 | accessmonthday= September 9 |accessyear= 2005 }}</ref>. Хэдийгээр 35 ам.доллар/баррель гэдэг урт хугацааны [[газрын тос]]ны дундаж үнээс өндөр байгаа ч, яг одоогийн байдлаар газрын тосны үнэ үүнээс өндөр байгаа билээ. Одоо хэрэглэгдэж буй нүүрс шингэрүүлэх технологиудын талаархи Вилиамс, Ларсон (Williams and Larson, 2003) нарын тайлангаас үзэхэд, [[Хятад|Хятадад]] нүүрснээс гарган авч буй шингэн бүтээгдэхүүний өөрийн өртөг 25-35 ам.доллар/баррель байна. == Сөрөг нөлөө == === Нүүрсний уурхай, олборлолт === [[Файл:Coal mine Wyoming.jpg|thumb|Нүүрсний ил уурхай, [[Вайомин муж]], [[АНУ]]]] [[уурхай|Нүүрс олборлолт]] байгальд муугаар нөлөөлдөг. Нүүрсний уурхайд хөрс хуулалтын дараа, нүүрсэнд агуулагдах [[пирит]] (төмрийн сульфид) нь [[ус]], [[агаар|агаарын]] [[хүчилтөрөгч|хүчилтөрөгчтэй]] урвалд орж, [[хүхрийн хүчил]] үүсгэнэ. Уурхайн усыг шүүрүүлэх явцад уг [[хүхрийн хүчил]] гадагшлах ба уурхайн овоолго дахь [[пирит]] ч борооны устай урвалд орон удаан хугацааны туршид, тасралтгүй хүхрийн хүчил үүсгэсээр байдаг. Хүхрийн хүчил нь [[хөрс]], [[хөрсний ус|хөрсний усанд]] нэвчин, улмаар урсгал болон тогтмол усны [[рН]]-ын хэмжээг өөрчилж, [[амьтан]], [[ургамaл|ургамaлыг]] хордуулах ба улмаар мөхөхөд хүргэнэ. Ялангуяа усны амьтад рН-ийн өөрчлөлтийг тэсвэрлэдэггүй байна. 1930-аад оны үед, АНУ-ын нүүрсний [[уурхай|уурхайнуудын]] олборлолтын явцад, жилд 2.3 сая тн хүхрийн хүчил үүсдэг байсан гэсэн тооцоо байдаг. 1960-аад оны үед зөвхөн Огайо голын савд (the Ohio River), олборлолт хийж буй 1200 уурхайгаас жилд 1.4 сая тн [[хүхрийн хүчил]] гадагшилдаг байв. === Нүүрсийг шатаах === Бусад [[шатах ашигт малтмал|шатах ашигт малтмалуудтай]] адил, нүүрсийг шатаах явцад их хэмжээний [[нүүрстөрөгчийн давхар исэл]] (CO<sub>2</sub>), азотын исэлүүд (NO<sub>x</sub>), [[хүхрийн давхар исэл]] (SO<sub>2</sub>) ялгарна. [[Хүхрийн давхар исэл]] хүчилтөрөгчтэй урвалд орон [[хүхрийн гуравч исэл]] (SO<sub>3</sub>), улмаар [[хүхрийн хүчил]] үүсгэнэ. Уг хүхрийн хүчил нь борооны усыг хүчиллэгжүүлнэ. [[Хүчиллэг бороо]] нь химийн идэмхий шинжтэй, амьд байгаль болон хүний биед үлэмж хортой. Нүүрсний цахилгаан станцаас үлэмж хэмжээний (CO<sub>2</sub>), мөн ажиллаж байгаа болон хаагдсан уурхайгаас нилээдгүй хэмжээний [[метан]] ялгарах ба эдгээр нь [[дэлхийн цаг уурын дулааралт|дэлхийн цаг уурын дулааралтын]] гол шалтгаан болж байна<ref>http://www.columbia.edu/~jeh1/2007/IowaCoal_20071105.pdf</ref>. Нүүрсэнд агуулагдах [[нүүрстөрөгч|нүүрстөрөгчийн]] хэмжээ [[газрын тос|газрын тосныхоос]] илүү бөгөөд бусад хортой хольцыг нүүрснээс салгах нь тосныхоос илүү төвөгтэй. Зөвхөн АНУ-д нүүрсний цахилгаан станцын хорт хаягдлаас болон жил бүр хэдэн арван мянган хүмүүс нас барж байгаа гэсэн судалгаа байна<ref>{{cite web | title=Deadly power plants? Study fuels debate | url=http://www.msnbc.msn.com/id/5174391/ | accessmonthday=September 4 |accessyear=2006}}</ref>. Сүүлийн үед цахилгаан станцын хортой хаягдалыг багасгах талаар нилээдгүй туршилт судалгаа хийж байна. Жишээлбэл, станцаас ялгарч буй [[нүүрстөрөгчийн давхар исэл|CO<sub>2</sub>]] цуглуулан, [[нүүрстөрөгч]]ийг ялгаж, хадгалах технологи юм (одоогоор хэрэглэгдэж эхлээгүй). Нүүрс болон түүний хаягдалд (шатаах явцад ялгарах хий болон үнсэнд) [[хүнцэл]], [[хар тугалга]], [[меркури]], [[никель]], [[ванади]], [[берилли]], [[кадми]], [[бари]], [[хром]], [[зэс]], [[молибден]], [[цайр]], [[селени]], [[ради]] зэрэг [[хүнд металууд]], мөн бага хэмжээгээр [[Уран (химийн элемент)|уран]], [[тори]] зэрэг байгальд тааралдах [[цацраг идэвхит бодис|цацраг идэвхит бодисыг]] агуулдаг <ref>{{cite web | title=Coal Combustion | url=http://www.ornl.gov/info/ornlreview/rev26-34/text/colmain.html | accessmonthday=September 9 | accessyear=2005 | access-date=2007-05-31 | archive-date=2007-02-05 | archive-url=https://web.archive.org/web/20070205103749/http://www.ornl.gov/info/ornlreview/rev26-34/text/colmain.html | url-status=dead }}</ref><ref>{{cite web | title=Radioactive Elements in Coal and Fly Ash, USGS Factsheet 163-97 | url=http://greenwood.cr.usgs.gov/energy/factshts/163-97/FS-163-97.html | accessmonthday=September 9 | accessyear=2005 | access-date=2007-05-31 | archive-date=2006-12-09 | archive-url=https://web.archive.org/web/20061209214403/http://greenwood.cr.usgs.gov/energy/factshts/163-97/FS-163-97.html | url-status=dead }}</ref> . Эдгээр нь, ялангуяа [[цацраг идэвхит бодис|цацраг идэвхит бодисууд]], байгаль дээр нүүрсэнд агуулагдахдаа сарнимал, бага хэмжээтэй байх ч, их хэмжээний нүүрсийг шатаах явцад хуримтлагдан, зарим тохиолдолд атомын цахилгаан станцын хаягдлаас өндөр цацраг идэвхит бодисын агуулгатай байх тохиолдол бий <ref>{{cite web | title=Coal Combustion: Nuclear Resource or Danger | url=http://www.ornl.gov/info/ornlreview/rev26-34/text/colmain.html | accessmonthday=October 16 | accessyear=2006 | access-date=2007-05-31 | archive-date=2007-02-05 | archive-url=https://web.archive.org/web/20070205103749/http://www.ornl.gov/info/ornlreview/rev26-34/text/colmain.html | url-status=dead }}</ref>. Нүүрс нь дэлхийн цаг уурын өөрчлөлт болон агаарын бохирдлын талаар хяналт султай нутаг дэвсгэрт хүний эрүүл мэндэд маш сөргөөр нөлөөлж байгаа болно. == Энергийн хэмжээ == Нүүрсний ялгаруулах [[энерги|энергийн]] хэмжээ ойролцоогоор 24 Мж/кг <ref>{{cite web | last = Fisher | first = Juliya | title = Energy Density of Coal | work = The Physics Factbook | url = http://hypertextbook.com/facts/2003/JuliyaFisher.shtml|accessdate = 2006-08-25 }}</ref>, хэрэв kW-цаг -аар хэмжвэл 6.67 kW-цаг/кг болно. Нүүрсний цахилгаан станцын ашигт ажиллагааны коэффициент 30%. Өөрөөр хэлбэл 1 кг нүүрс шатаахад ялгарах 6.67 kW-цаг энергийн 30% буюу 2.0 kW-ц нь цахилгаан эрчим хүч болон хувирна. Жишээ нь, 100W-ийн компютер нэг жилд 876 kW-ц (100 W × 24 цаг × 365 {өдөр} = 876000 W-ц = 876 kW-ц) эрчим хүч хэрэглэнэ. Энэ хэмжээний эрчим хүчийг гарган авахын тулд : 876 kW-цаг/2.0 kW-цаг = 438 кг нүүрс зарцуулна<ref>A similar result, using a lightbulb instead, see<br />{{cite web | title = How much coal is required to run a 100-watt light bulb 24 hours a day for a year? | work = Howstuffworks | url = http://science.howstuffworks.com/question481.htm | accessdate = 2006-08-25 }}</ref>. Гэхдээ цахилгаан дамжуулах үед гарах шугамын цахилгаан эсэргүүцлийн алдагдлыг (5 - 10%) тооцвол үүнээс илүү хэмжээний цахилгаан (нүүрс) хэрэгтэй болох юм. == Нүүрстөрөгчийн хэмжээ == Нүүрсэнд агуулагдах нүүрстөрөгчийн хэмжээ хамгийн багадаа 50% буюу 1кг нүүрс 0.5кг-с дээш хэмжээний нүүрстөрөгч агуулна. байна. 0.5kg/12kg kmol<suр>-1</suр> = 1/24kmol, 1 mol N<sub>A</sub> -тэй ([[Авогадрогийн тоо]]) тэнцүү. Энэ агаарын хүчилтөрөгчтэй нэгдэн [[нүүрстөрөгчийн давхар исэл]] үүсгэх ба (12 + 16 × 2 = жин(CO<sub>2</sub>) = 44 кг/кмоль) болно. 1 кг нүүрс шатаахад, 1/24 кmol [[нүүрстөрөгчийн давхар исэл|CO<sub>2</sub>]] ялгарах ба 1/24 кmol х 44 kг/kmol = 11/6 кг буюу ойролцоогоор 1.83 кг CO<sub>2</sub> болно. 1 кг нүүрсний 29.9% нь 2 kW-ц цахилгаан болон хувирах учир бид 1 kW-ц цахилгаан эрчим хүчний хэрэглээ тутамд 0.370 kg(CO<sub>2</sub>) үүсгэж байна<ref>[http://www.eia.doe.gov/cneaf/electricity/page/co2_report/co2report.html CO<sub>2</sub> Emissions Report<!-- Bot generated title -->]</ref>. == Нүүрсний гүний шаталт == Нүүрсний давхраас ой, хээрийн түймэр болон, уурхайн дотоод шаталтын улмаас газрын гүнд шатна <ref>{{cite web | title=Sino German Coal fire project | url=http://www.coalfire.caf.dlr.de/projectareas/world_wide_distribution_en.html | accessmonthday=September 9 | accessyear=2005 | access-date=2007-06-28 | archive-date=2020-05-16 | archive-url=https://web.archive.org/web/20200516134445/https://web.archive.org/web/20050830091254/http://www.coalfire.caf.dlr.de/projectareas/world_wide_distribution_en.html | url-status=dead }}</ref> <ref>{{cite web | title=Committee on Resources-Index | url=http://resourcescommittee.house.gov/archives/108/testimony/johnmasterson.htm | accessmonthday=September 9 | accessyear=2005 | access-date=2007-06-28 | archive-date=2005-08-25 | archive-url=https://web.archive.org/web/20050825231038/http://resourcescommittee.house.gov/archives/108/testimony/johnmasterson.htm | url-status=dead }}</ref><ref>{{cite web | title=http://www.fire.blm.gov/textdocuments/6-27-03.pdf | url=http://www.fire.blm.gov/textdocuments/6-27-03.pdf | accessmonthday=September 9 | accessyear=2005 | access-date=2007-06-28 | archive-date=2016-08-29 | archive-url=https://web.archive.org/web/20160829162308/https://web.archive.org/web/20060218013724/http://www.fire.blm.gov/textdocuments/6-27-03.pdf | url-status=dead }}</ref>. Нүүрсний гүний шаталтын улмаас БНХАУ-д жил бүр 109 сая тн нүүрс шатаж, 200 сая тн [[нүүрстөрөгчийн давхар исэл]] ялгарч байна. Энэ нь дэлхийн хэмжээнд [[шатах ашигт малтмал|шатах ашигт малтмалаас]] үүсэж буй нийт CO<sub>2</sub>-ийн 2-3% юм. АНУ-ын Пенсилвани мужийн хаагдсан нүүрсний уурхайд байрлаж байсан хогийг шатаасны улмаас [[1962]] онд эхэлсэн нүүрсний давхраасын гүний шаталт одоо хүртэл үргэлжилсээр байна. Австралийн "Шатаж буй уул"-ыг (Burning Mountain) галт уул гэж үздэг байв. Гэвч энэ нь сүүлийн 5,500 жилийн турш шатсаар байгаа нүүрсний гүний шаталтаас үүссэн утаа, үнс болохыг тогтоосон байна <ref>{{cite web | title=Burning Mountain Nature Reserve | url=http://www.nationalparks.nsw.gov.au/parks.nsf/ParkContent/N0503?Opendocument&ParkKey=N0503&Type=xo | accessmonthday= September 9 | accessyear= 2005 }}</ref>. == Дэлхийн нүүрсний нөөц == [[Файл:Coal mine in Dhanbad, India.jpg|thumb|Энэтхэгийн Жакарканд уурхай. Энэтхэгт Дэлхийн нүүрсний нөөцийн 10% ноогдоно.]] [[1996]] оны үнэлгээгээр дэлхийн нийт олборлож болох нөөцийг нэг [[грамм|эксаграмм]] (1 × 10<sup>15</sup> кг буюу 1 триллон тн)-аар, түүний хагас нь чулуун нүүрс гэж үнэлсэн байна. Уг хэмжээний нүүрснээс гаргаж авах энергийн хэмжээг нь 290 зеттажоул <ref>Sustainable Energy" 2005 page 303 The MIT Press by Jefferson W. Tester et al. ISBN 0-262-20153-4</ref>, дэлхийн жилийн хэрэглээг 15 терраватт гэвэл <ref>BP2006 energy report, and US EIA 2006 overview</ref>, 600 жил хүрэлцэх хэмжээний нөөц юм. Английн [[Бритиш Петролеум]] компанийн 2005 оны эцсээр хийсэн тооцоогоор, дэлхийн нүүрсний нөөц 909,064 сая тн-оор үнэлэгдсэн байна. [[Америкийн Нэгдсэн Улс]], [[Оросын Холбооны Улс]], [[Австрали]], [[Хятад]], [[Энэтхэг]], [[Өмнөд Африкийн Бүгд Найрамдах Улс|Өмнөд Африк]] зэрэг орнууд нүүрсний ихээхэн нөөцтэй юм. {| {{prettytable}} |+ '''Нүүрсний нийт нөөц, [[1999]] оны байдлаар (сая тн)<ref>{{Cite web |url=http://www.worldenergy.org/wec-geis/publications/reports/ser/coal/coal.asp |title=Archive copy |access-date=2007-06-28 |archive-date=2007-01-27 |archive-url=https://web.archive.org/web/20070127034512/http://www.worldenergy.org/wec-geis/publications/reports/ser/coal/coal.asp |url-status=dead }}</ref>''' |- | width="100pt"|'''Орон''' | width="120pt"|'''[[чулуун нүүрс|Битумжсан нүүрс]]''' ([[антрацит]] багтсан) | width="120pt"|'''[[чулуун нүүрс|Хагас битумжсан нүүрс]]''' | width="120pt"|'''[[Хүрэн нүүрс]]''' | width="100pt"|'''Нийт''' |- |[[Америкийн Нэгдсэн Улс]] ||115891||101021||33082||249994 |- |[[Оросын Холбооны Улс]] ||49088||97472||10450||157010 |- |[[Хятад]] ||62200||33700||18600||114500 |- |[[Энэтхэг]] ||82396||||2000||84396 |- |[[Австрали]] ||42550||1840||37700||82090 |- |[[Герман]] ||23000||||43000||66000 |- |[[Өмнөд Африкийн Бүгд Найрамдах Улс|Өмнөд Африк]] ||49520||||||49520 |- |[[Украин]] ||16274||15946||1933||34153 |- |[[Казахстан]] ||31000||||3000||34000 |- |[[Польш]] ||20300||||1860||22160 |} == Нүүрс экспортлогч орнууд == {| {{prettytable}} |+ '''Нүүрсний экспорт, орон болон жилээр (сая тн)'''<ref>http://www.eia.doe.gov/oiaf/aeo/supplement/pdf/suptab_114.pdf </ref> |- | width="130pt"|'''Орон''' | width="100pt"|'''2003''' | width="100pt"|'''2004''' |- | [[Австрали]] | 238.1 | 247.6 |- | [[Америкийн Нэгдсэн Улс]] | 43.0 | 48.0 |- | [[Өмнөд Африкийн Бүгд Найрамдах Улс|Өмнөд Африк]] | 78.7 | 74.9 |- | [[Зөвлөлт Холбоот Улс|Хуучин Зөвлөлт Холбоот Улс]] | 41.0 | 55.7 |- | [[Польш]] | 16.4 | 16.3 |- | [[Канад]] | 27.7 | 28.8 |- | [[Хятад]] | 103.4 | 95.5 |- | [[Өмнөд Америк]] | 57.8 | 65.9 |- | [[Индонез]] | 107.8 | 131.4 |- | '''Нийт''' | '''713.9''' | '''764.0''' |} [[Файл:Tagebau Garzweiler Panorama 2005.jpg|center|1000px|thumb|Германы Гарцвайлер дахь нүүрсний ил уурхай. Өндөр нарийвчлалтай дэлгэмэл зураг.]] == Бусад холбоотой сэдвүүд == * [[Шатах ашигт малтмал]] * [[Дэлхийн дулаарал]] * [[Газрын тос]] * [[Геологи]] * [[Шингэрүүлсэн байгалийн хий]] == Эшлэл == {{Reflist}} == Цахим холбоос == * [https://web.archive.org/web/20080119164838/http://www.coalonline.org/site/coalonline/content/home Coal Online] Утаагүй түлш боловсруулах технологийн талаар * [https://web.archive.org/web/20110225003728/http://www.worldcoal.org/ World Coal Institute] Дэлхийн нүүрсний хүрээлэн * [http://www.msnbc.msn.com/id/5174391/ MSNBC report on coal pollution health effects in the United States] * [https://web.archive.org/web/20050621112309/http://www.uic.com.au//nip83.htm Clean coal technologies] Нүүрс боловсруулах технологи ** [https://web.archive.org/web/20100809105829/http://www.jcoal.or.jp/overview_en/gijutsu.html Advanced methods of using coal] * [https://web.archive.org/web/20130303040016/http://www.fe.doe.gov/programs/fuels/hydrogen/Hydrogen_from_Coal_R%26D.html USDOE Hydrogen from Coal Research] Нүүрснээс устөрөгч ялгах * [http://smtc.uwyo.edu/coal/ Wyoming Coal] Вайомингийн Их Сургуулийн вэб хуудас * [https://web.archive.org/web/20070704031944/http://www.our-energy.com/coal_en.html Coal - origin, purification and consumption] Нүүрсний гарал үүсэл, баяжуулалт, хэрэглээ * [https://web.archive.org/web/20071206003202/http://www.stoke.gov.uk/ccm/museums/museum/2006/gladstone-pottery-museum/information-sheets/coal-in-north-staffordshire.en History of coal seams and the practice of coal mining in North Staffordshire, UK] [[Ангилал:Википедиа:Онцлох өгүүлэл]] [[Ангилал:Ашигт малтмалын геологи]] [[Ангилал:Нүүрс| ]] [[Ангилал:Нүүрсний уурхай]] [[Ангилал:Шатах ашигт малтмал]] etxot2rtwd4kpd5y0or0w9x4515hpb5 Оман 0 6386 860795 860350 2026-07-01T10:39:39Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860795 wikitext text/x-wiki {{Инфобокс улс | conventional_long_name = Оманы Султант Улс | common_name = Оман | native_name = {{native name|ar|سلطنة عُمان|italics=off}}<br />''{{transliteration|ar|Salṭanat ʻUmān}}'' | image_flag = Flag of Oman.svg | flag_type = [[Оманы төрийн далбаа|Далбаа]] | image_coat = National emblem of Oman.svg | symbol_type = [[Оманы үндэсний сүлд|Үндэсний сүлд]] | national_anthem = {{lang|ar|نشيد السلام السلطاني}}<br />"[[Оманы төрийн дуулал|ас-Салам ас-Султани]]"<br />"Султаны ёсолгоо"{{parabr}}{{center|[[File:Peace to the Sultan (نشيد السلام السلطاني).ogg]]}} | image_map = File:Oman (better) (orthographic projection).svg | map_caption = Арабын хойг дахь Оманы байршил (хар ногоон) | capital = [[Маскат]] | coordinates = {{Coord|23|35|20|N|58|24|30|E|type:city}} | largest_city = capital | official_languages = [[Стандарт араб хэл|Араб хэл]]<ref>{{cite web |title=Basic Statute of the State promulgated by Royal Decree 101/96 |url=https://mola.gov.om/eng/legislation/laws/details.aspx?id=1 |website=MINISTRY OF JUSTICE AND LEGAL AFFAIRS |access-date=2023-07-10 |archive-date=2020-07-07 |archive-url=https://web.archive.org/web/20200707234954/http://mola.gov.om/eng/legislation/laws/details.aspx?id=1 |url-status=dead }}</ref> | religion = {{tree list}} *88.9% [[Оман дахь лалын шашин|Ислам]] ([[төрийн шашин|албан ёсны]]) **47.2% [[Суннит Ислам|Суннит]] **35.2% [[Ибадит Ислам|Ибадит]] **6.5% [[Шиит Ислам|Шиит]] *5.5% [[Оман дахь хиндү шашин|Хиндүизм]] *3.6% [[Оман дахь христийн шашин|Христ]] *2% [[Оман дахь шашин шүтлэг|Бусад]]<ref>{{cite web | url=https://www.thearda.com/world-religion/national-profiles?u=171c | title=National Profiles }}</ref> | religion_year = 2020 | demonym = [[Оманчууд]] | government_type = [[Нэгдмэл улс|Нэгдмэл]] [[Исламын улс|Исламын]] [[хэмжээгүй эрхт хаант засаг]] | leader_title1 = [[Оманы удирдагчдын жагсаалт|Султан]] | leader_name1 = [[Хейсам бен Тарик]] | leader_title2 = [[Оманы хунтайж|Хунтайж]] | leader_name2 = [[Тейязин бин Хейсам]] | legislature = [[Оманы Зөвлөл]] | upper_house = [[Оманы Төрийн зөвлөл|Төрийн зөвлөл (Мажлис аль-Давла)]] | lower_house = [[Оманы Зөвлөлдөх Ассамблей|Зөвлөлдөх Ассамблей (Мажлис аль-Шура)]] | sovereignty_type = Түүх | established_event1 = [[Бану Азд|Азд]] омгийн нүүдэл | established_date1 = 130 | established_event2 = Аль-Жуланда | established_date2 = 629 | established_event3 = {{nowrap|[[Имамат Оман|Имамат]] улс байгуулагдав<ref>{{cite encyclopedia|title=Oman|url=http://encarta.msn.com/encyclopedia_761561099_7/Oman.html|publisher=MSN Encarta|archive-url=https://web.archive.org/web/20091028154443/http://encarta.msn.com/encyclopedia_761561099_7/Oman.html|archive-date=28 October 2009|quote=In 751 Ibadi Muslims, established an imamate in Oman. Despite interruptions, the Ibadi imamate survived until the mid-20th century.|url-status=dead}}</ref>}} | established_date3 = 751 | established_event4 = [[Набаны улс]] | established_date4 = 1154 | established_event5 = [[Португалын Оман]] | established_date5 = 1507–1656 | established_event6 = [[Ярубын улс]] | established_date6 = 1624 | established_event7 = [[Аль-Саид]]ын угсаа | established_date7 = 1744 | established_event8 = [[Маскат-Оман]] | established_date8 = 1 сарын 8, 1856 он | established_event9 = [[Жабал-Ахдарын дайн]] | established_date9 = 1954–1959 | established_event10 = [[Дофарын бослого]] | established_date10 = 1963 оны 6 сарын 9 – 1976 оны 3 сарын 11 | established_event11 = Оманы Султант Улс | established_date11 = 8 сарын 9, 1970 он | established_event12 = НҮБ-д [[НҮБ-ын Аюулгүйн Зөвлөлийн 299-р тогтоол|элсэв]] | established_date12 = 10 сарын 7, 1971 он | established_event13 = [[Оманы үндсэн дүрэм|Одоогийн үндсэн хууль]] | established_date13 = 1 сарын 6, 2021 он<ref>{{cite web |title=Oman |url=https://carnegieendowment.org/2010/07/15/oman-pub-41227 |publisher=Carnegie Endowment for International Peace |access-date=31 December 2021 |date=15 July 2010}}</ref> | area_km2 = 309,500 | area_rank = 70 | area_sq_mi = 119,498 <!--Do not remove per [[WP:MOSNUM]]--> | percent_water = бага | population_estimate = {{UN_Population|Oman}}{{UN_Population|ref}} | population_census = 2,773,479<ref name="2010Census">{{cite web |url=http://www.ncsi.gov.om/documents/Census_2010.pdf |title=Final Results of Census 2010 |publisher=National Center for Statistics & Information |access-date=7 January 2012 |url-status=dead |archive-url=https://web.archive.org/web/20130518190005/http://www.ncsi.gov.om/documents/Census_2010.pdf |archive-date=18 May 2013 }}</ref> | population_estimate_year = {{UN_Population|Year}} | population_estimate_rank = 125 | population_census_year = 2010 | population_density_km2 = 15 | population_density_sq_mi = 40 <!--Do not remove per [[WP:MOSNUM]]--> | population_density_rank = 177 | GDP_PPP = {{increase}} $165.947&nbsp;тэрбум<ref name=imf2>{{cite web |url=https://www.imf.org/external/pubs/ft/weo/2019/02/weodata/weorept.aspx?pr.x=64&pr.y=5&sy=2017&ey=2024&scsm=1&ssd=1&sort=country&ds=.&br=1&c=449&s=NGDPD%2CPPPGDP%2CNGDPDPC%2CPPPPC&grp=0&a= |title=World Economic Outlook Database, October 2019 |website=IMF.org |publisher=[[International Monetary Fund]] |access-date=20 October 2019}}</ref> | GDP_PPP_year = 2022 | GDP_PPP_rank = 78 | GDP_PPP_per_capita = {{increase}} $35,286 | GDP_PPP_per_capita_rank = 71 | GDP_nominal = {{increase}} $110.127&nbsp;тэрбум<ref name=imf9>{{cite web | url=https://www.imf.org/en/Publications/WEO/weo-database/2022/April/weo-report?c=512,914,612,171,614,311,213,911,314,193,122,912,313,419,513,316,913,124,339,638,514,218,963,616,223,516,918,748,618,624,522,622,156,626,628,228,924,233,632,636,634,238,662,960,423,935,128,611,321,243,248,469,253,642,643,939,734,644,819,172,132,646,648,915,134,652,174,328,258,656,654,336,263,268,532,944,176,534,536,429,433,178,436,136,343,158,439,916,664,826,542,967,443,917,544,941,446,666,668,672,946,137,546,674,676,548,556,678,181,867,682,684,273,868,921,948,943,686,688,518,728,836,558,138,196,278,692,694,962,142,449,564,565,283,853,288,293,566,964,182,359,453,968,922,714,862,135,716,456,722,942,718,724,576,936,961,813,726,199,733,184,524,361,362,364,732,366,144,146,463,528,923,738,578,537,742,866,369,744,186,925,869,746,926,466,112,111,298,927,846,299,582,487,474,754,698,&s=NGDPD,&sy=2022&ey=2022&ssm=0&scsm=1&scc=0&ssd=1&ssc=0&sic=0&sort=country&ds=.&br=1 |title=World Economic Outlook Database, April 2022 |website=IMF.org |publisher=[[International Monetary Fund]] |access-date= August 22, 2022 }}</ref> | GDP_nominal_year = 2022 | GDP_nominal_rank = 66 | GDP_nominal_per_capita = {{increase}} $23,416 | GDP_nominal_per_capita_rank = 55 | Gini = 30.75 <!--number only--> | Gini_year = 2018 | Gini_change = <!--increase/decrease/steady--> | Gini_ref = <ref>{{cite web |url=https://data.gov.om/wnewgpb/income-expenditure-statistics?tsId=1059020 |title=Urban – Gini index – Omani – Total |publisher=The National Centre for Statistics and Information, Sultanate of Oman |access-date=20 May 2018 |archive-date=21 Тавдугаар сар 2018 |archive-url=https://web.archive.org/web/20180521021256/https://data.gov.om/wnewgpb/income-expenditure-statistics?tsId=1059020 |url-status=dead }}</ref> | Gini_rank = | HDI = 0.816 <!--number only--> | HDI_year = 2021 <!--Please use the year to which the HDI refers, not the publication year--> | HDI_change = increase<!--increase/decrease/steady--> | HDI_ref = <ref name="HDI">{{cite web|url=https://hdr.undp.org/system/files/documents/global-report-document/hdr2021-22pdf_1.pdf|title=Human Development Report 2021/2022|language=en|publisher=[[United Nations Development Programme]]|date=8 September 2022|access-date=8 September 2022}}</ref> | HDI_rank = 54 | currency = [[Оманы риал]] | currency_code = OMR | time_zone = [[Персийн Булангийн Стандарт Цаг|GST]] | utc_offset = +4 | date_format = өө.сс.жжжж | drives_on = Баруун | calling_code = [[+968]] | cctld = [[.om]], [[عمان.]] | official_website = [http://www.oman.om www.oman.om] }} '''Ома́н''', бүтэн нэрээрээ '''Оманы Султант Улс''' ([[Араб хэл|араб.]] سَلْطَنَةُ عُمَان‎ [saltˤaˈnaːt(u) ʕʊˈmaːn]) — [[Өрнөд Ази]]д [[Арабын хойг|Арабын хойгт]] оршдог [[бүрэн эрхт улс|бүрэн эрхт]] '''[[улс]]''' юм. Оман улс [[Арабын тэнгис]] болон [[Оманы булан|Оманы булангаар]] хүрээлүүлдэг далайд гарцтай. Хуурай газраар [[Арабын Нэгдсэн Эмират Улс|Араб Нэгдсэн Эмират]], [[Саудын Араб]], [[Йемен]]тэй хиллэдэг. [[Ормузын хоолой]]н тал хагасыг хянаж, [[Иран]], [[Пакистан]]тай усаар хиллэнэ. [[Мусандам]] хойг нь үндсэн биеэс тусдаа оршдог. 309 мянган км² газар, 4.6 сая хүн амтай. [[Маскат]] нийслэлтэй, томоохон хотууд нь- [[Сиб]], [[Низва]] зэрэг юм. Тэнгисийн эрэг, [[цөл]] бүхий Оманд [[Арабчууд|араб угсаатан]] голлон амьдардаг. Хүн амын тал хувь нь Оманы иргэн, тал нь гадаад улсын иргэн байдаг ажээ. Албан бичигт [[араб хэл]]ийг хэрэглэнэ. [[Лал]] шашны [[ибадит]] урсгал зонхилдог ганц орон юм. Оманд эртнээс хүн амьдарсан ба нутгийн гүнд овог аймаг буюу шашны тэргүүн [[имам]]ын мэдлийн улс, харин эргээр худалдаачин буюу [[султан]]ы улс оршин байв. 17-р зуунаас Оманы султан хүчирхэгжиж [[Португал]], [[Британи]]тай зэрэгцэн газар тэнгис гатлан газар колоничлох болсон ба [[Дорнод Африк]]ийн [[Занзибар Султант улс|Занзибарт]] султан амьдран суужээ. Маскат худалдааны боомт хот байсаар байв. 1959 онд султан улсын цор ганц удирдагч болсон. Оман Британийн дэмжлэгийг авсан, уламжлалт харилцаатай. Хэмжээгүй эрхт [[хаант засаг]]тай. [[Кабус]] султан 1970 оноос хойш төр барьж, парламентат ёсыг үүсгэж, эдийн засгийг чөлөөлжээ. Оман [[газрын тос]] экспортолдог, өндөр орлоготой орон юм. {{Олон нэр |хэл1 = Монгол‎‎ бичиг |бичиг1 = Оман <sup>кирил</sup> |хэл2 = [[латин үсэг|Араб үсэг]] |бичиг2 = عمان <sup>араб</sup> → ''Уман'' |хэл3 = [[латин үсэг|Латин үсэг]] |бичиг3 = Oman <sup>англи</sup> |хэл4 = [[кирил үсэг|Кирил үсэг]] |бичиг4 = Оман <sup>орос</sup> |тэмдэглэл = }} == Газар зүй == Оман 309,500 хавтгай дөрвөлжин километр газар нутагтай, дэлхийн [[Улс орнуудын газар нутгийн хэмжээ|71-р том]] орон юм. [[Зураг:Oman_Topography.png|thumb|left|150px|Физик газрын зураг]] [[Зураг:Oman-Oasis.jpg|thumb|left|150px|Цөлийн баян бүрд]] === Байрлал === Оман хойд өргөргийн 16° — 28°, зүүн уртрагийн 52° — 60° дотор [[Өрнөд Ази]], [[Өрнөд өмнөд Ази]]д хамааран [[Арабын хойг]]ийн дорнод өмнөд хязгаарт байна. Эргийн урт - 3165 км. Дорнод талаараа [[Оманы булан]], өмнөд талаараа [[Арабын тэнгис]]ийн эрэгтэй. Өрнөд талаараа [[Арабын Нэгдсэн Эмират Улс|Араын Нэгдсэн Эмират улстай]] -410 км, [[Саудын Араб]]тай -676 км, [[Йемен]]тэй -288 км урт зурвасаар хиллэдэг. Умард үзүүр [[Мусандам]] хойг нутгийн бусад хэсгээс салангид, [[Ормузын хоолой]]н эрэгт байдаг. === Газрын тогтоц === Оманы газар нутгийн 82% [[Арабын цөл]]ийн хэсэг байна. 15% нь уул нуруу, 3% нь эргийн нам зурвас байна. [[Руб эль-Халийн цөл]] нь Арабын хойгийн цөм хэсгээс Оманыг тусгаарладаг байгалийн бартаа юм. Дорнод эргээр [[Хажарын нуруу]] Мусандам хойгоос [[Сур хот]] хүртэл нумран тогтжээ. Хажар нуруу эрэг хоёрын дундуур [[Батина]] нутаг байна. Оманы эрэг дагуух арлаас том нь [[Масира]] юм. Оманы хамгийн өндөр цэг нь [[Шам]] (3000 м) бол нам доор цэг нь тэнгисийн эрэг болно. === Цаг уур === Оман хуурай, халуун, тэнгисийн чийглэг уур амьсгалтай. Дунджаар 30 °C - 40 °C хална. Жилийн хур тунадас [[Маскат]] хавьд 100 мм, уулархаг нутгаар 400 мм унадаг. == Хүн ам зүй == {| class="wikitable" style="line-height:0.9em; border:1px black; float:right; margin-right:1em; margin:10px" |- ! style="width:50px;"| Он !! Хүн ам |- | 1950 || 456,000 |- | 1970 || 732,000 |- | 1990 || 1,868,000 |- | 2010 || 2,782,000 |- | 2016 || 4,550,538 |} [[Зураг:Population pyramid of Oman 2015.png|thumb|left|150px|Нас хүйсний зураг]] Оманы хүн амын 80 орчим хувь нь арабууд юм. Тэднийг хоёр бүлэгт хуваадаг: эртний үед Йеменээс нүүж ирсэн омгийн үр удам багтдаг Араб-Ариба ("цэвэр арабууд") болон Муста-Ариба ("холимог арабууд"). Оман улсад 2021 оны байдлаар 3,694,755 хүн оршин сууж байна. Хүн амын 87% нь хотын оршин суугчид. Хүн амын дунд 0-14 насны багачууд 22%, 15-64 насны хөдөлмөрийн чадвартан 75%, 65-аас дээш өндөр настан 2%-ийг бүрдүүлж байна. Дундаж наслалт - 74 жил. Хүйсийн харьцаа - 1.46 эр/эм. Хүн амын жилийн өсөлт - 2.2%. Хүн амын 91% бичиг үсэгт тайлагдсан. Эрэгтэйд 93%, эмэгтэйд 85% байна. [[Зураг:Bedouin family-Wahiba Sands.jpg|thumb|left|180px|Бедуйн айл]] [[Зураг:Oman_(124).jpg|thumb|left|180px|1899 он. Оманы айл]] === Ард түмэн === Оманы 2.3 сая оршин суугч нь Оманы иргэн, 2.2 сая нь гадаадын иргэн, цагаач байна. Хүн амын дунд [[араб угсаатан]] олонх бөгөөд тэнгисийн худалдааны мөрөөр холбогдсон [[балуч ястан|балуч]], [[Энэтхэг]], [[Пакистан]], [[Шри Ланка]], [[Бангладеш]], [[Африк]] гаралтай хүмүүс цөөнх байна. === Хэл бичиг === Оман улсад [[араб хэл]]ийг албан ёсноо хэрэглэнэ. [[Араб үсэг|Араб үсгээр]] бичдэг. Мөн [[балуч хэл|балуч]], [[хинди хэл|хинди]] зэрэг хэл хүн амын цөөн хэсэгт хэрэглэгдэнэ. [[Англи хэл]]ийг гуравдагч хэл болгон бага сургуульд зааж сургадаг. Гудамж, замын хаяг тэмдэг араб, англи хос бичигтэй. === Шашин шүтлэг === Оманы хүн амын 86% нь [[лал]] шашин шүтдэг. Ибадит урсгал зонхилж, цөөнхөд суннит, шийт ёс мөрдөгдөнө. Хүн амын 6% [[христийн шашин|христ]], 5% [[хиндү шашин|хиндү]], 1% [[буддын шашин|буддын]] шашин шүтлэгтэй. === Хот суурин === [[Зураг:Ruwi quarter in Mascat, Oman.jpg|thumb|left|180px|[[Маскат]]]] Оманы хүн амын 71% хот газар суудаг. Томоохон хотоос дурдвал: {|class="wikitable" |+ |- valign="top" | * [[Маскат]] (797,000 хүнтэй) * [[Сиб]] (237,816) * [[Салала]] (163,140) * [[Баушар]] (159,487) || * [[Сухар]] (108,274) * [[Сувайк]] (107,143) * [[Ибри]] (101,640) * [[Сахам]] (89,327) |} == Түүх == === Эртний үе === [[Зураг:World Heritage Grave Al Ayn Oman.JPG|thumb|left|180px|Аль-Айн агуй нь дэлхийн соёлын өвд багтжээ]] Оманд [[Африк]]ийн дорно умар эрэгт олдсон чулуун зэвсгийн олдвортой төстэй НТӨ 100,000 оны үед хамаарах [[чулуун зэвсэг]] хэрэглэл 2011 онд олдсон. [[Ибри]] хотын ойрх Дереазед НТӨ 8000 оны үеэс [[газар тариалан]] эрхэлсэн, хүний ул мөр байна. [[Шумер]]ийн цаг тооны бичигт [[зэс]]ийн уурхай бүхий Оманы нутгийг «Маган» гэдэг байв. Оманы нутаг түүхийн хувьд хоёр хэсгээс бүрдсээр 20-р зуунтай золгосон. Нэг нь [[имам]]ын захиргааны дотор газар, нөгөө нь [[султан]]ы захиргааны эргийн газар. Олон газраас ирэл гарвалтай [[араб угсаатан|араб]] угсаатан зонхилон амьдарч ирсэн. [[Йемен]]ы Уман нутгаас ихэнх нь иржээ. НТӨ I мянганд Оманы [[Сохар]] зэрэг эргийн хот суурин [[Ахемен]], [[Парфын улс|Парф]], [[Сасан]] зэрэг [[перс]] улсын мэдэлд байв. Дотор Оманд нутгийн хүмүүс амьдарч байв. Загас, мал аж ахуй голчлон эрхэлж байв. === Дотор Оман === [[Зураг:Maskat & Oman map.png|thumb|right|180px|Оманы хоёр нутаг]] 7-р зуунд зөнч [[Мухаммед]]ийн илгээсэн Зайд ибн Харита Оманд [[лал]] шашныг дэлгэрүүлэв. Лал шашны [[ибадит]] урсгал 8-р зуунаас өнөөг хүртэл нутгийн ардын гол ёс дэг болсон. Идабит ёсонд шашны тэргүүн имамын хүч нөлөө их бөгөөд 1970 он хүртэл Дотор Оманы овог аймгийн ноёд имамд захирагдаж байв. Оманыг [[Кармат]] (931-932), [[Буи]] (967-1053), [[Сельжук]] (1053-1154) зэрэг харь улс халдан эзэлж байв. Дотор Оманд [[Набаны улс]] (1154-1470), [[Ярубын улс]] (1624-1742) зэрэг нутгийн имамт улс оршин тогтножээ. === Эргийн Оман === [[Зураг:Sultan's_Palace,_Zanzibar.JPG|thumb|left|180px|19-р зуунд баригдсан [[Занзибар]] дахь султаны харш]] 1515-1650 онд [[Маскат]] нь [[Португал]]ын колони байсан ба Ярубын улс Маскатыг буцаан авч, Дорно Африк дахь Португалын колониудыг авч боол худалдаалах болсон. 1719 онд хаан ширээ залгамжлах будлианаас дайтсаар 1742 онд [[Аль-Саид]]ын угсааныхан султан суусан нь одоо ч хэвээр байна. Дайнаар алдагдсан нутгуудаа эргүүлэн авч [[Султан Саид ибн]] султан Дорно Африкийн [[Занзибар]] арлыг болон Пакистан дахь [[Гвадар]]ыг эзэмшиж, [[боолын худалдаа]]наас орлого олж байв. Султаныг нас барахад хоёр хүү нь улсыг [[Маскат-Оман]], Занзибар гэж хоёр салгав. Мөн Аззам нь өөрийгөө имам өргөмжилж зарим аймгийн дэмжлэгийг олов. Маскат-Омантай [[Британийн эзэнт гүрэн|Британи]] дотно харилцаж байв. Султанд олон улстай харилцах эрх байсан бөгөөд 1920-оод оны газрын тосны гэрээнд Оманыг бүхэлд нь төлөөлж гарын үсэг зурсан. Султан болон имамын зөрчилдөөн явагдсаар байсан. [[Жабал-Ахдарын дайн|1954-1959 онд]] иргэний дайн болж султан [[Низва]], Ибри хотыг эзэлж, имам [[Саудын Араб]] руу дутаажээ. Улсын нэрийг дан «Оман» гэж нэрийдэв. 1958 онд Гвадарыг [[Пакистан]]д худалдав. === Нэгдсэн улс === [[Зураг:Oman._Dhofar_1970_(8596723373).jpg|thumb|right|180px|Дофарын бослого. 1970 он.]] 1964 онд [[Дофар]] мужид [[коммунист]] хүчин бослого гаргажээ. [[Саид бин Таймур]] султаны назгай байдлыг төрийн эргэлтээр шийдэж хүү Кабус нь султан ор залгав. Их Британи, [[Иран]]ы тусламжаар цэрэг техникээ зузаатгаж 1976 онд бослогыг даран сөнөөв. Үндсэн хууль, төр засаг, эдийн засгийн шинэчлэл хийгдэв. Оман газрын тос экспортолдог, эдийн засгийн эрх чөлөө сайн орон болсон. Оманд улс төрийн намуудыг хориглосон. Өмнө нь нөлөө бүхий сөрөг хүчний хөдөлгөөн болох Оманы чөлөөлөх ардын фронт одоо идэвхгүй болсон. Хамгийн сүүлийн сонгууль 2011 оны 10-р сарын 15-нд болсон. Оманы Султанат улс дотоод тогтвортой байдлын өндөр түвшинд байгаа ч [[Персийн булангийн дайн]] болон [[Иран-Иракийн дайн|Иран-Иракийн дайны]] дараах бүс нутгийн хурцадмал байдал нь батлан ​​​​хамгаалахын ихээхэн хэмжээний зардал шаардсаар байна. Оман одоогоор стратегийн ач холбогдолтой [[Ормузын хоолой]]н тал хэсгийг хянаж байна. Оманд 2004 онд эмэгтэй хүн төрийн өндөр албанд сонгогдон ажилласан нь [[Араб дахин]]д сонин тохиолдол юм. 2011 оны [[Арабын хавар|Арабын хавраар]] эсэргүүцэл жагсаал гарсанд [[Кабус]] султан ажлын байр, тэтгэмж амлан намжаажээ. == Лавлах бичиг == {{лавлах холбоос|2}} {{Ази}} {{Хөтлөгч мөр Арабын Барилдлага}} {{OIC}} [[Ангилал:Азийн орон]] [[Ангилал:Нэгдсэн Үндэстний Байгууллагын гишүүн орон]] [[Ангилал:Оман| ]] [[Ангилал:Хаант Улс]] 6g6p9j4zbcy1y3tn9xj7qvmhejmzz8b Америци 0 8128 860743 834818 2026-07-01T00:22:39Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860743 wikitext text/x-wiki {{Инфобокс америци}} '''Америци''' нь [[синтетик химийн элемент|синтетик]] [[химийн элемент]], [[атомын дугаар]] нь 95, химийн тэмдэглэгээ нь '''Am'''. Уг элемент нь [[Изотопи#Тогтворгүй изотопи|цацраг идэвхит]] шинжтэй, [[актиноид]]ын бүлгийн металл юм. 1944 онд [[плутони]]г [[нейтрон]]оор бөмбөгдөх замаар гарган авсан байна. Цэвэр Америци нь гялалзсан мөнгөлөг ба цагаан өнгөтэй. <sup>241</sup>Am-ын альфа цацрал нь [[ради]]гийнхаас 3 дахин өндөр бөгөөд нэг [[килограмм|грамм]] орчим америци нь ойр байгаа хүнийг ихээхэн хэмжээгээр хордуулна. == Хэрэглээ == <sup>241</sup>Am-г гарган авах нь өндөр өртөгтэй болно. Уг элементийг өрөөний галын дохиололд дахь утаа мэдрэгчид маш бага хэмжээтэйгээр (ойролцоогоор 0.2 [[кг|микрограмм]]) хэрэглэнэ. Үүнээс гадна өрмийн цооногт геофизикийн судалгаа (Am241Be) хийхэд мөн нейтрон радиографид нейтроны эх үүсвэр болгон ашиглана. Пуужингийн түлш хийхэд ашиглаж болох тухай мөн яриглаж байна<ref>{{cite news | title = Extremely Efficient Nuclear Fuel Could Take Man To Mars In Just Two Weeks | publisher = [[ScienceDaily]] | date = 3 Jan 2001 | url = http://www.sciencedaily.com/releases/2001/01/010103073253.htm | accessdate = 2007-11-22}}</ref>. == Изотопи == Нийт 18 [[Изотопи#Тогтворгүй изотопи|цацраг идэвхит изотопи]] байдгаас хамгийн тогтвортой нь <sup>243</sup>Am (хагас задралын хугацаа нь 7370 жил) ба <sup>241</sup>Am (хагас задралын хугацаа нь 432.2 жил) юм. Үлдэх изотопиуд нь 51 жилээс бага, ихэнхи нь 100 минутаас бага хагас задралын хугацаатай байна. Изотопиудын атом масс нь 231.046 (<sup>231</sup>Am) - 249.078 (<sup>249</sup>Am) хооронд хэлбэлзэнэ. == Цахим холбоос == {{Wiktionary}} {{Commons|Americium|Америци}} * [https://web.archive.org/web/20070813202222/http://periodic.lanl.gov/elements/95.html Los Alamos National Laboratory - Americium] * [http://www.webelements.com/webelements/elements/text/Am/index.html WebElements.com - Americium] * ''Guide to the Elements - Revised Edition'', Albert Stwertka, (Oxford University Press; 1998) ISBN 0-19-508083-1 * [https://web.archive.org/web/20080612221402/http://education.jlab.org/itselemental/ele095.html It's Elemental - Americium] * [https://web.archive.org/web/20060830050012/http://www.atsdr.cdc.gov/toxprofiles/phs156.html ATSDR - Public Health Statement: Americium] == Эшлэл == <references /> {{Зай авах}} {{Үелэх системийн холбоос мөр}} [[Ангилал:7-р үеийн элемент]] 03yz959e8vz5ruuv3q9ywsbpjnqw31x Индонез 0 8249 860751 860324 2026-07-01T01:53:06Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860751 wikitext text/x-wiki {{short description|Зүүн өмнөд Ази, Океанд оршдог улс}} {{Инфобокс улс | conventional_long_name = Бүгд Найрамдах Индонез Улс | common_name = Индонез | native_name = {{native name|id|Republik Indonesia}} | image_flag = Flag of Indonesia.svg | flag_type = [[Индонезийн төрийн далбаа|Төрийн далбаа]] | image_coat = National emblem of Indonesia Garuda Pancasila.svg | symbol_type = [[Индонезийн төрийн сүлд|Үндэсний тамга <br />(Сүлд)]] | national_motto = <br>{{native phrase|kaw|[[Индонезийн үндэсний уриа|Bhinneka Tunggal Ika]]|paren=omit}} ([[Хуучин Ява хэл|Хуучин Ява]])<br>"Олон янз байдалд эв нэгдэл" | other_symbol = {{lang|id|[[Панчасила (улс төр)|Панчасила]]}}<br />(Таван зарчим) | other_symbol_type = Үндэсний үзэл суртал: | national_anthem = {{lang|id|[[Индонезийн төрийн дуулал|Indonesia Raya]]}}<br />"Их Индонез"<br /><div style="display:inline-block;margin-top:0.4em;"> </div> | image_map = {{Switcher|[[File:Indonesia (orthographic projection).svg|frameless]]|Дэлхийн бөмбөрцөг|[[File:Location Indonesia ASEAN.svg|upright=1.15|frameless]]|АСЕАН-ы газрын зураг|default=1}} | capital = [[Жакарта]] | largest_city = [[Жакарта]] | coordinates = {{Coord|6|10|S|106|49|E|type:city_region:ID}} | languages_type = Албан ёсны хэл | languages = [[Индонез хэл]]<!--Note: Not just the official language, but also the national language (bahasa pemersatu)--> | languages2_type = Орон нутгийн хэл | languages2 = [[Индонезийн хэлнүүд|700+ хэлнүүд]]<ref name="ethnologue"/> | ethnic_groups = [[Индонезийн ард түмэн|1,300+ угсаатан]]<ref name="BPS">{{cite web|url=http://www.bps.go.id/website/pdf_publikasi/watermark%20_Kewarganegaraan%2C%20Suku%20Bangsa%2C%20Agama%20dan%20Bahasa_281211.pdf|title=Nationality, Ethnicity, Religion, and Languages of Indonesians|language=id|last1=Na'im|first1=Akhsan|last2=Syaputra|first2=Hendry|publisher=[[Statistics Indonesia]]|date=2010|access-date=2015-09-23|url-status=live|archive-url=https://web.archive.org/web/20150923194534/http://www.bps.go.id/website/pdf_publikasi/watermark%20_Kewarganegaraan%2C%20Suku%20Bangsa%2C%20Agama%20dan%20Bahasa_281211.pdf|archive-date=2015-09-23}}</ref> | religion_year = 2018 | religion = {{ublist|item_style=white-space:nowrap;|86.7% [[Индонез дэх ислам|Ислам]]|10.7% [[Индонез дэх христийн шашин|Христийн шашин]]|1.7% [[Индонез дэх хиндүизм|Хиндүизм]]|0.8% [[Индонез дэх буддизм|Буддизм]]| 0.1% [[Алиран Кеперкаян|Уламжлалт]], [[Индонез дэх күнзийн сургаал|Күнз]], <br>болон [[Индонез дэх шашин шүтлэг|бусад]]}} | religion_ref = <ref name="RELIGION">{{cite web|url=https://data.kemenag.go.id/agamadashboard/statistik/umat|title=Statistik Umat Menurut Agama di Indonesia|publisher=[[Ministry of Religious Affairs (Indonesia)|Ministry of Religious Affairs]]|date=2018-05-15|archive-url=https://web.archive.org/web/20200903221250/https://data.kemenag.go.id/agamadashboard/statistik/umat|archive-date=2020-09-03|access-date=2020-09-24|language=id}}</ref> | demonym = [[Индонезчүүд‎]] | government_type = [[Нэгдмэл улс|Нэгдмэл]] [[Ерөнхийлөгчийн засаглалын систем|ерөнхийлөгчийн бүгд найрамдах улс]] | leader_title1 = [[Индонезийн Ерөнхийлөгч|Ерөнхийлөгч]] | leader_name1 = [[Прабово Субианто]] | leader_title2 = {{nowrap|[[Индонезийн Дэд Ерөнхийлөгч|Дэд Ерөнхийлөгч]]}} | leader_name2 = [[Гибран Ракабуминг Рака]] | leader_title3 = {{nowrap|[[Төлөөлөгчдийн Танхимын Дарга (Индонез)|Танхимын Дарга]]}} | leader_name3 = [[Пуан Махарани]] | leader_title4 = {{nowrap|[[Индонезийн Дээд шүүхийн Ерөнхий шүүгч|Ерөнхий шүүгч]]}} | leader_name4 = [[Мухаммед Сирифуддин]] | legislature = [[Ардын Зөвлөлдөх Хурал]] (АЗХ) | upper_house = [[Орон Нутгийн Төлөөлөгчдийн Зөвлөл]] (ОНТЗ) | lower_house = [[Ардын Төлөөлөгчдийн Зөвлөл]] (АТЗ) | sovereignty_type = Тусгаар тогтнол | sovereignty_note = ([[Голландын колонийн эзэнт гүрэн|Нидерландаас]])<!-- Based on consensus, please discuss on the Talk Page before changing Netherlands to Japan, or adding both --> | established_event1 = [[Индонезийн тусгаар тогтнолыг тунхаглал|Тунхагласан]] | established_date1 = 8 сарын 17, 1945 он | established_event2 = [[Нидерланд-Индонезийн дугуй ширээний хурал|Хүлээн зөвшөөрөгдсөн]] | established_date2 = 12 сарын 27, 1949 он | area_km2 = 1,904,569<ref>{{cite web|url=http://unstats.un.org/unsd/demographic/products/dyb/DYB2004/Table03.pdf|title=UN Statistics|publisher=United Nations|date=2005|access-date=2007-10-31|url-status=live|archive-url=https://web.archive.org/web/20071031023924/http://unstats.un.org/unsd/demographic/products/dyb/DYB2004/Table03.pdf|archive-date=2007-10-31}}</ref> | area_rank = 14 | area_sq_mi = 735,358 <!--Do not remove per [[WP:MOSNUM]]--> | percent_water = | area_data2 = 4.85 | population_estimate = {{increaseNeutral}} 277,749,853<ref>{{cite web|url=https://dukcapil.kemendagri.go.id/page/read/7/data-kependudukan|publisher=[[Ministry of Home Affairs (Indonesia)]]|title=Indonesian Population 2022|access-date=12 April 2023|archive-date=13 Аравдугаар сар 2022|archive-url=https://web.archive.org/web/20221013070650/https://dukcapil.kemendagri.go.id/page/read/7/data-kependudukan|url-status=dead}}</ref> | population_census = 270,203,917<ref name="2020census" /> | population_estimate_year = 2022 | population_estimate_rank = 4 | population_census_year = 2020 | population_density_km2 = 143 | population_density_sq_mi = 371 | population_density_rank = 90 | GDP_PPP = {{increase}} {{currency|4.398 их наяд|USD|passthrough=yes}}<ref name="IMF">{{cite web|title=Report for Selected Countries and Subjects|url=https://www.imf.org/en/Publications/WEO/weo-database/2023/April/weo-report?c=536,&s=NGDPD,PPPGDP,NGDPDPC,PPPPC,PPPSH,&sy=2020&ey=2027&ssm=0&scsm=1&scc=0&ssd=1&ssc=0&sic=0&sort=country&ds=.&br=1|publisher=International Monetary Fund|access-date=2023-04-12}}</ref> | GDP_PPP_year = 2023 | GDP_PPP_rank = 7 | GDP_PPP_per_capita = {{increase}} {{currency|15,855|USD|passthrough=no}}<ref name="IMF" /> | GDP_PPP_per_capita_rank = 98 | GDP_nominal = {{increase}} {{currency|1.392 их наяд|USD|passthrough=yes}}<ref name="IMF" /> | GDP_nominal_year = 2023 | GDP_nominal_rank = 16 | GDP_nominal_per_capita = {{increase}} {{currency|5,016|USD|passthrough=no}}<ref name="IMF" /> | GDP_nominal_per_capita_rank = 112 | Gini = 37.9 | Gini_year = 2021 | Gini_change = increase <!--/decrease/steady--> | Gini_ref = <ref>{{cite web|title=GINI index (World Bank estimate) – Indonesia|url=https://data.worldbank.org/indicator/SI.POV.GINI?locations=ID|publisher=[[World Bank]]|access-date=2021-04-15}}</ref> | Gini_rank = | HDI = 0.705 | HDI_year = 2021 | HDI_change = decrease <!--increase/decrease/steady--> | HDI_ref = <ref name="HDI">{{cite web|url=https://hdr.undp.org/system/files/documents/global-report-document/hdr2021-22pdf_1.pdf|title=Human Development Report 2021/2022|language=en|publisher=[[United Nations Development Programme]]|date=2022-09-08|access-date=2022-09-08}}</ref> | HDI_rank = 114 | currency = [[Индонез рупиа]] (Rp) | currency_code = IDR | time_zone = [[Индонез дэх цаг|янз бүрийн]] | utc_offset = +7 - +9 | date_format = ӨӨ/СС/ЖЖЖЖ | drives_on = зүүн | calling_code = [[+62]] | cctld = [[.id]] }} [[Зүүн Өмнөд Ази]]йн, [[Далайн орнууд]]ын ч гэж хэлж болох байрлалд 17,508 арлын дээр оршдог<ref>[http://ec.europa.eu/europeaid/where/asia/regional-cooperation/support-regional-integration/asem/documents/10.03.10_info_on_indonesia_finale_en.pdf Information on Indonesia]. ASEM Development conference II: Towards an Asia-Europe partnership for sustainable development. 26–27 May 2010, Yogyakarta, Indonesia. ec.europa.eu</ref> [[Тусгаар тогтнол|тусгаар тогтносон]], [[бүрэн эрхт улс|бүрэн эрхт]] [[улс]]ыг '''Бүгд Найрамдах Индонез Улс''' ({{lang-id|Republik Indonesia}}), товчоор '''Индонез улс''', '''Индонез''' гэнэ. [[Нидерланд]] XVII зууны үеэс [[Зондын арлууд]]ад эзэмшил орон (''колони'')-оо тэлсээр байлаа. [[XX зуун]]ы эхнээс [[Индонезийн ард түмэн|нутгийн ард түмэн]] яс үндэс харгалзалгүй эвлэн нэгдэж тусгаар тогтнохын төлөө тэмцсээр олон улсын дэмжлэгийг ч хүртэж, 1949 онд нэгэн шинэ улсыг үүсгэжээ. [[Жава үндэстэн|Жава]] тэргүүтэй [[Индонез#Хүн ам|энэ олон ястан]] одоо хэр нь нэг хэлтэн, нэг үндэстэн болох ирээдүй рүүгээ дөтөлсөөр л яваа. 1950 оноос Индонез төрийн байгууламжийн хувьд [[нэгдмэл улс|нэгдмэл]], төрийн хэлбэрийн хувьд ерөнхийлөгчийн эрх мэдэл давамгайлсан [[бүгд найрамдах улс|бүгд найрамдах засагтай]] болжээ. Одоо [[Индонез#Орон нутаг|орон нутаг, засаг захиргааны]] шаардлагаар дотроо 33 [[муж]] болж хуваагддаг. Ойр хавийн [[Сингапур]], [[Бруней]], [[Малайз]] гурван улсынхтай яг адил [[Малай хэлний]] нэгэн аялгууг албан ёсоор батлан сурцгааж байгаа. Түүнийгээ [[Индонез хэл]] гэж итгэж, [[латин үсэг|латин үсгээр]] бичдэг. Дурдсан улсуудаас гадна [[Зүүн Тимор]], [[Папуа-Шинэ Гвиней]], [[Австрали]], [[Палау]], [[Филиппин]], [[Энэтхэг]]тэй газар эс бөгөөс тэнгисийн усаар хиллэдэг. Индонезийн харьяаны 1.9 сая хавтгай дөрвөлжин километр газарт 2020 онд 270 сая 203 мянган хүн амьдарч байв. Дэлхийн олон улсаас хүн амын тоогоор [[Улс орнууд хүн амын тоогоор|4-р олон]], газар нутгийн хэмжээгээр [[Улс орнуудын газар нутгийн хэмжээ|15-р том]] улс мөн гэдэг. Нэгт км-т 123.7 ноогддог гэдэг нь харин дундаж (79-р) байрынх. VII зууны [[Шривижая]], XIII зууны [[Мажапахит]] гэх мэтээр түрүү үеийн улс-нийгэмд [[Буддын шашин]], [[Хиндү шашин]] дэлгэрсэн. Дараа нь XIII зуунаас араб худалдаачдын сурталд автаж XVI зуун гэхэд олонх нь [[Ислам]]ын ёс үйлдэлт хүмүүс болцгоожээ. Одоо Индонезийн хүн амын 86% нь [[Ислам|мусульман (хотон)]] гэдэг. [[Исламын улс]] гэдэгт багтахгүй ч Ислам шашинтны тооны олноор дэлхийд тэргүүлнэ. Индонезийн газрын доор [[техтоник хавтан]]гууд шүргэлцдэгээс шалтгаалаад газрын чичирхийлэл олон давтагддаг, сүрхий идэвхтэй [[галт уул]]стай. Үүгээрээ хүнд халтай ч гэсэн галт уулын бялхдас газрын хөрсийг үржил шимтэй болгодгоос хүн эртнээс бөөгнөрч сууж нутагшсан. Халуун орны дагуу эн ихтэй учир [[амьтан]], [[ургамал|ургамлаар]] баялаг. Индонезийн худалдан авах чадвараар тэгшитгэсэн [[ДНБ]] [2010 онд] 1.124 тэрбум [[америк доллар]]тай тэнцэж байгаагаараа дэлхийн [[Олон улсын харьцуулалт:ХАЧ-аар тэгшитгэсэн ДНБ|16-р их орлогот]] улс гэгдэж [[Их Хорь|Их Хорийн]] эгнээнд багтаж байгаа юм. Гэвч хүн ардын олонх ядуу байгаа,<ref name=economist1>{{cite journal |title=Poverty in Indonesia: Always with them |journal=[[The Economist]] |date=14 September 2006 |accessdate=26 December 2006 |url= http://www.economist.com/node/7925064?story_id=7925064}}; [http://www.economist.com/node/8001604?story_id=8001604 correction].</ref><ref name = "Asia">{{cite journal |last=Guerin |first=G |title=Don't count on a Suharto accounting |journal=Asia Times Online |location=Hong Kong |date=23 May 2006 |url=http://www.atimes.com/atimes/Southeast_Asia/HE23Ae01.html |access-date=19 Арван нэгдүгээр сар 2012 |archive-date=14 Арван нэгдүгээр сар 2017 |archive-url=https://web.archive.org/web/20171114103951/http://www.atimes.com/atimes/Southeast_Asia/HE23Ae01.html |url-status=dead }}</ref> нэг хүнд ноогдох ДНБ [2010 онд] $4,666-аар хэмжигдэж байна. 1967 онд [[АСЕАН]]-ыг байгуулалцсан. == Нэр == Тус улсын одооны «Индонез» төрлийн нэрс Европт үүссэн. Индонезийг эзэмшиж асан Нидерландынхан [[нидерландаар]]аа ''Maleische Archipel'' (Малайн олтриг), ''Nederlandsch Oost Indië'' (Нидерландын Дорнод Энэтхэг), ''Indië'' (Энэтхэг), ''de Oost'' (Дорнод) гэх мэтээр тоомжиргүйхэн нэрийдэж байжээ.<ref name = "Kroef">{{cite journal |title = The Term Indonesia: Its Origin and Usage |journal= Journal of the American Oriental Society |author = Justus M van der Kroef | volume = 71 | issue = 3 | pages = 166–71 | year = 1951 | doi =10.2307/595186 |jstor=595186}}</ref> 1850 онд Английн угсаатны зүйч [[Жорж Виндзор Эрл]] [[Англи хэл|Англи]] хэлнээ ''Indunesians'' (''Индунезианс'', «Энэтхэгийн арлынхан») гэх нэрийг анх оруулж иржээ.<ref name="JIAEA_1">{{cite journal |last=Earl |first= George SW |title=On The Leading Characteristics of the Papuan, Australian and Malay-Polynesian Nations |journal= Journal of the Indian Archipelago and Eastern Asia (JIAEA) |year=1850 |page = 119}}</ref> Үгийн уг гарлыг мөшгөвөл ''Indus'' ([[Инд мөрөн]] дахь нутаг буюу «[[Энэтхэг]]» гэсэн үг) гэх латин, νῆσος (''несос'' - «[[арал]]») гэх грек үгсийн нийлэмж юмсанжээ.<ref name = "EcoSeas1">{{cite book | last = Tomascik | first = T | coauthors=Mah, JA, Nontji, A, Moosa, MK |title = The Ecology of the Indonesian Seas&nbsp;– Part One | publisher = Periplus Editions | year = 1996 | location = Hong Kong | isbn = 962-593-078-7}}</ref> 1900 он гарахад англи ''Indonesia'' нэрээс бусад хэлнээ хувилан тархсан бөгөөд Индонезийн тусгаар тогтнолын төлөө тэмцэгчид Нидерландын нэрээс татгалзаж, энэ нэрийг гол болгожээ.<ref name = "Kroef" />. Монголд 20-р зуунд [[оросоор]] ''Индонезия'' гэж байдгийг харгалзан «улс» «орон», «нутаг» гэх утгатай ''-ия'' дагаврыг салгаж [[Кирилл монгол бичгийн дүрэм|кирилл монголоор]] '''Индонез''' гэж бичдэг болжээ. ==Түүх== [[Жава арал|Жава]] арлаас ''[[босоо хүн]]ий'' (''homo erectus'') хэсэг яс олдсон нь Индонезийн арлуудад [[балар эртний үе]]д хүн амьдарч байсны баталгаа юмсанжээ. Хожим "[[Жава хүн]]" гэж алдаршсан түүнийг 1.5 сая, бүр 35 мянган жилийн өмнөх ч гэж янз бүрээр таасан байдаг.<ref>{{cite journal|title=Shell tool use by early members of Homo erectus in Sangiran, central Java, Indonesia: cut mark evidence |doi=10.1016/j.jas.2006.03.013|year=2007|last1=Choi|first1=Kildo|last2=Driwantoro|first2=Dubel|journal=Journal of Archaeological Science|volume=34|page=48}}</ref><ref>[http://www.terradaily.com/reports/Finding_showing_human_ancestor_older_than_previously_thought_offers_new_insights_into_evolution_999.html Finding showing human ancestor older than previously thought offers new insights into evolution]. Terradaily.com. 5 July 2011. Retrieved 29 January 2012.</ref><ref>{{Cite journal |last=Pope |title= Recent advances in far eastern paleoanthropology | journal = Annual Review of Anthropology | volume = 17 | pages = 43–77 | year =1988 |doi=10.1146/annurev.an.17.100188.000355 |first1= GG}} cited in {{cite book |last=Whitten |first=T |coauthors=Soeriaatmadja, RE, Suraya AA | title = The Ecology of Java and Bali |publisher=Periplus Editions |year=1996 |location=Hong Kong |pages=309–12}}; {{Cite journal |last = Pope | first = GG | title = Evidence on the age of the Asian Hominidae | journal = Proceedings of the National Academy of Sciences of the United States of America | volume = 80 | issue=16 |pages=4988–92 |year= 1983|pmid = 6410399 | doi = 10.1073/pnas.80.16.4988 | pmc =384173}} cited in {{cite book |last=Whitten |first= T | coauthors = Soeriaatmadja, RE, Suraya AA | title = The Ecology of Java and Bali | publisher =Periplus Editions |year=1996 |location=Hong Kong |page= 309}}; {{Cite journal | last = de Vos | first = JP | coauthors = PY Sondaar | title = Dating hominid sites in Indonesia |journal=Science |volume=266 |issue=16 |pages=4988–92 |year=1994 |doi=10.1126/science.7992059}} cited in {{cite book |last=Whitten |first=T | coauthors =Soeriaatmadja, RE, Suraya AA | title= The Ecology of Java and Bali |publisher=Periplus Editions |year=1996 |location= Hong Kong |page = 309}}</ref> Одоогийн Индонезийн хүн амын олонх нь [[Австронез]] угсаа, бүлэгт хамаарна. "Австронез хүмүүс [[Зүүн Өмнөд Ази]], [[Тайвань]] зэрэг газраас эхлэн нүүгээд [[нийтийн он тооллын өмнөх|М.Э.Ө]] 2000 оны үед Индонезэд ирсэн. Тэгээд нутгийн [[Меланез]] хүмүүсийг дорнош шахан нутаглуулжээ" гэх судалгаа байдаг.<ref>Taylor (2003), pp. 5–7</ref> М.Э.Ө VIII зуунд эндхийн хүмүүс [[газар тариалан]] эрхлэх, [[тутарга|тутаргын]] талбайд ажилладаг болцгоож,<ref>Taylor (2003), pp. 8–9</ref> М.Э I зуун гэхэд жижиг төр улс, гацаа тосгон хэлбэржин тогтсон байлаа. Далайн тээвэр зайлшгүй дайрах чухал байрлал нь Индонезийг үеийн үед Энэтхэг, Хятадтай холбож олон улсын, арал хоорондын худалдааг цэцэглүүлсэн.<ref>Taylor (2003), pp. 15–18</ref> Ер нь Индонезийн түүхийн гол сэдэв нь худалдаа арилжаа мөн юм.<ref>Taylor (2003), pp. 3, 9–11, 13–5, 18–20, 22–3</ref><ref>Vickers (2005), pp. 18–20, 60, 133–4</ref> [[Image:Myristica fragrans - Köhler–s Medizinal-Pflanzen-097.jpg|thumb|left|150px|[[Банда арлууд]]ад ургадаг анхилам үнэрт [[задь]] мод]] [[File:Presiden Sukarno.jpg|thumb|left|150px|Индонез улсыг байгуулагч [[Сукарно]]]] [[VII зуун]]аас өөр хоорондоо, ойр хавьтайгаа далайн тээврээр харилцдаг [[Шривижая]] улс (аймгийн холбоо ч гэж хэлж болох) нийгэм Суматра, Жава арлаар тогтсон. Энэ үед [[Буддын шашин]], [[Хиндү шашин]] дэлгэрчээ.<ref>Taylor (2003), pp. 22–26</ref><ref>Ricklefs (1991), p. 3</ref> [[VIII зуун|VIII]]-[[X зуун]]д Жава арлын дорнод Будда шүтлэгт [[Сайлендра]], Хиндү шүтлэгт [[Матарам]] зэрэг улс нийгэм оршин байсныг үлдээсэн [[суврага]], шүтлэгийн газар зэргээс нь мэдэж болно. [[XIII зуун]]аас хоёр зуугаад жил тогтносон дорно Жавад төвтэй [[Мажапахит]] гэх Хиндү шашинт улс бараг л Индонез даяар алдаршиж үлгэрлэж байв.<ref>{{cite journal |title=The next great empire |author=Peter Lewis |journal=Futures |volume=14 |issue= 1 | year = 1982 | pages=47–61 |doi=10.1016/0016-3287(82)90071-4}}</ref> Мусульман (хотон) худалдаачид [[Суматра арал|Суматра]] арлын умард эрэгт олон жил ирж очиж байхдаа XIII зуунд [[Ислам]] шашиндаа итгүүлээд амжжээ.<ref>Ricklefs (1991), pp. 3–14</ref> Эхлээд ноёд язгууртан, умард эргийнхэнд л таалагдсан ч аажмаар түгсээр [[XVI зуун]] гэхэд Суматра, Жава арлынхны үндсэн бишрэл, зан заншил болсон.<ref>Ricklefs (1991), pp. 12–14</ref> Европынхноос Индонезийн ард түмэнтэй анх [[задь]], [[башир цэцэг]] гэх мэт үнэт [[халуун ногоо]] авахын тулд 1512 онд ирсэн Португалийн [[Франсишку Серран]]ы ахалсан худалдаачид учирсан гэдэг.<ref>Ricklefs (1991), pp. 22–24</ref> Араас нь Нидерланд, Британийнхан ирдэг болж 1602 онд [[Нидерландын Дорно Энэтхэг компани]] үүссэн. 1800 онд [[Нидерландын Дорно Энэтхэг]] гэх нэртэй эзэмшил орон (''колони'') гэгдэх болжээ. [[Нидерланд]] анхандаа, дунд үедээ зөвхөн эргийн ойр хавьд эзэрхэж байлаа. [[XX зуун]]ы эхэнд л өнөөгийн Индонезийн хил хязгаар дотор ноёрхож чаджээ.<ref>Dutch troops were constantly engaged in quelling rebellions both on and off Java. The influence of local leaders such as [[Prince Diponegoro]] in central Java, [[Imam Bonjol]] in central Sumatra and [[Pattimura]] in [[Maluku Islands|Maluku]], and a bloody [[Aceh War|thirty-year war in Aceh]] weakened the Dutch and tied up the colonial military forces.({{Cite document |last=Schwartz |year=1999 |pages=3–4}}</ref> Сөргүүлээд 1908 оноос Индонезийн ард түмэн ямар оронд амьдарч байгаагаа мэдэрч, үндэсний ухамсар бүрдэж, тусгаар тогтнолын төлөө зорьцгоосон. [[Дэлхийн II дайн]]ы үед Индонезийг [[Япон]] эзлэж Нидерландынхан талийж одсон.<ref name="Ricklefs">Ricklefs (1991)</ref><ref>{{cite journal | title = Dutch Attitudes towards Colonial Empires, Indigenous Cultures, and Slaves |journal= Eighteenth-Century Studies | volume=31 |issue=3 | author = Gert Oostindie and Bert Paasman |pages=349–55 |year=1998 |url=http://muse.jhu.edu/journals/eighteenth-century_studies/v031/31.3oostindie.html |doi= 10.1353/ecs.1998.0021}}</ref> Япон дайнд бууж өгсний нөгөөдөр нь Индонезийнхан үндсэрхэг тэмцлийн удирдагч [[Сукарно]]г ерөнхийлөгч болгож, Индонез улсын тусгаар тогтнолыг тунхаглажээ.<ref>{{cite journal |title=Indonesia | author = HJ Van Mook | authorlink =Hubertus Johannes van Mook |journal=Royal Institute of International Affairs | year = 1949 |volume=25 |issue=3 |pages=274–85 |jstor=3016666}}</ref><ref name="Charles1945">{{cite journal |title=Independence the Issue |journal=Far Eastern Survey |author=Charles Bidien | volume =14 |issue=24 |pages=345–8 |date= 5 December 1945 | doi = 10.1525/as.1945.14.24.01p17062 |jstor=3023219}}</ref><ref>{{cite book | last =Taylor | first =Jean Gelman | title = Indonesia: Peoples and History | publisher =Yale University Press | year =2003 | page =325 | isbn = 0-300-10518-5 }}</ref><ref>Reid (1973), p. 30</ref> Гэвч Нидерланд эзэмшилдээ дахин оруулах гэж дайтав. Хотуудыг эзлэвч бүхэл орныг эзлэж чадахгүй байсаар 1949 онд олон улсын буруушаалт, дарамтанд аргагүй дийлдэн тусгаар тогтнолыг нь хүлээн зөвшөөрсөн.<ref name="Charles1945" /><ref>{{cite web |url= http://www.globalsecurity.org/military/world/war/indo-inde.htm |title=Indonesian War of Independence |accessdate=11 December 2006 |publisher=Global Security |work=Military}}</ref> Тэгэхдээ [[Нидерландын Шинэ Гвиней]]г өгөөгүй байсан бөгөөд 1962 оны [[Нью-Йоркийн гэрээ]], 1969 оны НҮБ-ийн тогтоолоор Индонезийн харьяанд шилжжээ.<ref>[http://www.gwu.edu/~nsarchiv/NSAEBB/NSAEBB128/ Indonesia's 1969 Takeover of West Papua Not by "Free Choice"]. National Security Archive, Suite 701, Gelman Library, The George Washington University.</ref> Сукарно улсаа холбооноос нэгдмэл, ардчилалаас эзэрхэг дэглэмд тогтоон барьж, сөргөлдөгч [[Индонезийн цэрэг зэвсэг|цэргийнхэн]] болон [[Индонезийн коммунист нам]] (ИКН)-ынхныг эвлэрүүлэн намжааж байв.<ref>Ricklefs (1991), pp. 237–280</ref> 1965 онд цэргийнхэн төрийг эргүүлж, [[коммунизм]]ыг [[1965-1966 онд Индонезэд олон хүн алж хядагдсан нь|зэвсгийн хүчээр дараад]] (хагас сая хүн алагдсан уу?<ref>{{cite journal |author=John Roosa and Joseph Nevins |date=5 November 2005 |url=http://www.counterpunch.org/2005/11/05/the-mass-killings-in-indonesia/|title= 40 Years Later: The Mass Killings in Indonesia |accessdate=12 November 2006 |journal=[[CounterPunch]]}}</ref><ref>{{cite journal |title= Unresolved Problems in the Indonesian Killings of 1965–1966 |author=Robert Cribb |journal=Asian Survey |volume=42 |issue=4 |year=2002 |pages=550–563 |doi = 10.1525/as.2002.42.4.550}}</ref>), яллан буруутгаж байхын аргагүй болгосноор ИКН сэхээгүй.<ref>Friend (2003), pp. 107–109</ref><ref>{{cite video | people =Chris Hilton (writer and director) | title =Shadowplay | medium =Television documentary | publisher =Vagabond Films and Hilton Cordell Productions |year=2001}}</ref><ref>Ricklefs (1991), pp. 280–283, 284, 287–290</ref> Цэргийн дарга нараас генерал [[Сухарто]] 1968 оны 3 сард улсын ерөнхийлөгч болж дэвшив. Сухарто улсаа [[Шинэ эмх журам (Индонез)|шинээр журамлаж]], [[АНУ]]-аар тэтгүүлж байв.<ref>US National Archives, RG 59 Records of Department of State; [https://web.archive.org/web/20040701005635/http://www.state.gov/r/pa/ho/frus/john%D0%B1%D0%B0sonlb/xxvi/4445.htm cable no. 868], ref: Embtel 852, 5 October 1965.</ref><ref>Vickers (2005), p. 163</ref><ref>David Slater, ''Geopolitics and the Post-Colonial: Rethinking North-South Relations,'' London: Blackwell, p. 70</ref> Сухартогийн гучин жилд улсын эдийн засаг тэнхэрсэн, үүнд [[гадаадын шууд хөрөнгө оруулалт]] ч сайнаар нөлөөлж байв.<ref name="Ricklefs" /><ref>Vickers (2005)</ref><ref>Schwarz (1994)</ref> Гэхдээ түүний дарангуйлал [[авлига|авлигыг]] тэнхрүүлж, улс төрийн сөрөг бодол санааг боомилж байжээ.<ref name="Ricklefs" /><ref>Vickers (2005)</ref><ref>Schwarz (1994)</ref> [[1997 оны Азийн санхүүгийн хямрал]]аар Индонез их хохирсон.<ref>{{cite book | last =Delhaise | first = Philippe F | title =Asia in Crisis: The Implosion of the Banking and Finance Systems | publisher =Willey | year =1998 | page =123 | isbn = 0-471-83450-5}}</ref> 1998 онд газар газарт эсэргүүцлийн жагсаал, үймээн самуун дэгдэж Сухарто аргагүй огцров.<ref>{{cite news |url=http://news.bbc.co.uk/2/hi/events/indonesia/latest_news/97848.stm |title=President Suharto resigns |publisher=BBC |date=21 May 1998 |accessdate=12 November 2006}}</ref> Индонезэд эзлэгдээд 25 жил болсны эцэст 1999 онд [[НҮБ]]-ийн дэмжлэгтэйгээр [[Зүүн Тимор]] тусгаар тогтнолын харгуйд шуударсан.<ref>{{cite web |last=Burr |first=W. |coauthors=Evans, M.L. |title=Ford and Kissinger Gave Green Light to Indonesia's Invasion of East Timor, 1975: New Documents Detail Conversations with Suharto |work=National Security Archive Electronic Briefing Book No. 62 |publisher=[[National Security Archive]], [[The George Washington University]], Washington, DC |date=6 December 2001 |url=http://www.gwu.edu/~nsarchiv/NSAEBB/NSAEBB62/ |accessdate=17 September 2006 }}; {{cite web |title=International Religious Freedom Report |work=Bureau of Democracy, Human Rights, and Labor |location=US |publisher=Department of State |date=17 October 2002 |url=http://www.state.gov/g/drl/rls/irf/2002/13873.htm |archiveurl=https://web.archive.org/web/20110716060553/http://www.state.gov/g/drl/rls/irf/2002/13873.htm |archivedate=16 Долдугаар сар 2011 |accessdate=29 September 2006 |url-status=live }}</ref> Индонез Сухартогоос хойш орон нутгийн эрхийг нэмэгдүүлж, 2004 онд ерөнхийлөгчөө шууд сонгосон гэх маягаар төр засгаа ардчилсаар байна. Улс төр, эдийн засаг тогтворжиж, нийгэм тайвширч, алан хядлага, авлигын тоо цөөрч байгаа. Гэхдээ 2005 онд [[Аче]]гийн салан тусгаарлах үзэлтнүүд засгийн цэрэгтэй мөргөлдөөд үзсэн.<ref>{{cite news |title=Aceh rebels sign peace agreement |publisher=BBC |date = 15 August 2005 |accessdate=12 December 2006 |url=http://news.bbc.co.uk/2/hi/asia-pacific/4151980.stm}}</ref> {{clear}} == Төр засаг== [[File:Indonesia DPR session.jpg|thumb|right|Жакартад Ардын Төлөөлөгчдийн Зөвлөл хуралдаж байгаа нь]] Индонез бол ерөнхийлөгчийн эрх мэдэл давамгайлсан [[бүгд найрамдах улс|бүгд найрамдах засагтай]], төв засгийн газартаа эрх мэдэл базагддаг [[нэгдмэл улс|нэгдмэл төрийн байгууламжтай]] улс юм. Гучаад жил эрх барьсан [[Сухарто]] 1998 онд огцорсны дараа төр засаг нэлээд шинэчлэгдсэн. 1998-2001 оны хооронд үндсэн хуулиа дөрвөн удаа хэсэгчлэн зассан.<ref>In 1998, 1999, 2000 and 2001</ref> Төр улсын тэргүүн, зэвсэгт хүчний ерөнхийлөгч командлагч бөгөөд дотоод гадаад хэрэг, бодлогыг зангидагч нь улсын ерөнхийлөгч. Сайд нарын зөвлөлийг ерөнхийлөгч томилно. 2004 онд анх удаа ард түмэн улсынхаа хоёр ерөнхийлөгчийг анх сонгожээ.<ref>{{cite press release |publisher=[[Carter Center|The Carter Center]] |year=2004 |title=The Carter Center 2004 Indonesia Election Report |url=http://www.cartercenter.org/documents/2161.pdf |format=PDF |accessdate=13 December 2006 |archivedate=14 Зургадугаар сар 2007 |archiveurl=https://web.archive.org/web/20070614025148/http://www.cartercenter.org/documents/2161.pdf }}</ref> Ерөнхийлөгчийн бүрэн эрхийн хугацаа 5 жил, дараалан ахин нэг удаа сонгогдох боломжтой.<ref>(2002), ''The fourth Amendment of 1945 Indonesia Constitution'', Chapter III&nbsp;– The Executive Power, Art. 7.</ref> Индонез улсын хурлыг [[Ардын Зөвлөлдөх Хурал]] (АЗХ, ''People's Consultative Assembly'') гэнэ. АЗХ нь үндсэн хуулийн өөрчлөлтийг батлах, шинэ ерөнхийлөгчийг батлах, улсын бодлогийг өргөнөөр тодорхойлох мэтийн үүрэгтэй. Мөн ерөнхийлөгчийг буруутгах эрхтэй.<ref>{{id icon}} {{cite book |title=Ketetapan MPR-RI Nomor II/MPR/2000 tentang Perubahan Kedua Peraturan Tata Tertib Majelis Permusyawaratan Rakyat Republik Indonesia |author=People's Consultative Assembly (MPR-RI) |authorlink=People's Consultative Assembly |url=http://www.mpr.go.id/pdf/ketetapan/putusan%20MPRRI%202000.pdf |archiveurl=https://web.archive.org/web/20110721122810/http://www.mpr.go.id/pdf/ketetapan/putusan%20MPRRI%202000.pdf |archivedate=21 Долдугаар сар 2011 |format=PDF |accessdate=7 November 2006 |url-status=live }}</ref> Дотроо 560 суудалт [[Ардын Төлөөлөгчдийн Зөвлөл]] (АТЗ, ''People's Representative Council''), 132 суудалт [[Орон Нутгийн Төлөөлөгчдийн Зөвлөл]] (ОНТЗ, ''Regional Representative Council'')<ref name="USSTATE">{{cite web |title=Background Note: Indonesia |work=U.S. Library of Congress |publisher=U.S. Department of State|url=http://www.state.gov/r/pa/ei/bgn/2748.htm |accessdate=26 November 2009}}</ref> гэсэн хоёр танхимтай. Хууль цааз батлах, бүх шатны засгийн газрыг (хэрэгжүүлэх байгууллага) хянах үүрэг АТЗ-д оногдоно. Сонгогчид намд саналаа өгч, намууд цуглуулсан саналын хувиараа АТЗ-д суудал эзлэдэг.<ref name="Harijanti2006">{{cite journal |title=Indonesia: General elections test the amended Constitution and the new Constitutional Court |journal=International Journal of Constitutional Law |author=Susi Dwi Harijanti and Tim Lindsey |volume=4 |issue=1 |year=2006 |pages=138–150 |doi=10.1093/icon/moi055}}</ref> 1998 оны шинэтгэлээс хойш АТЗ-ийн эрх үүрэг мэдэгдэхүйц нэмэгдсэн.<ref>Reforms include total control of [[Statute|statutes]] production without executive branch interventions; all members are now elected ([[Reserved political positions|reserved seats]] for military representatives have now been removed); and the introduction of fundamental rights exclusive to the DPR. (see Harijanti and Lindsey 2006)</ref> ОНТЗ болохоор сүүлд орон нутгийн хөгжлийг зөв залахад чиглэн байгуулагджээ.<ref>Based on the 2001 constitution amendment, the DPD comprises four popularly elected [[non-partisan]] members from each of the thirty-three provinces for national political representation. {{cite book |author=People's Consultative Assembly (MPR-RI) |url=http://www.gtzsfdm.or.id/documents/laws_n_regs/con_decree/3_AmdUUD45_eng.pdf |title=Third Amendment to the 1945 Constitution of The Republic of Indonesia |format=PDF |url-status=dead |authorlink=People's Consultative Assembly |accessdate=13 December 2006 |archiveurl=https://web.archive.org/web/20061201025250/http://www.gtzsfdm.or.id/documents/laws_n_regs/con_decree/3_AmdUUD45_eng.pdf |archivedate=1 Арван хоёрдугаар сар 2006 |deadurl=yes}}</ref> == Орон нутаг == {{Индонезийн газрын зураг}} Индонез улсын газар нутаг олон түвшинд шатлан захирагддаг. Дээд гурван түвшнийг нь л анхаарахад хангалттай. * I зэрэгт [[муж]] (индонезээр ''provinsi'') гэх зүйлийн нэгж байна. Одоогийн байдлаар Индонез 33 мужтай. * II зэрэг буюу мужийн доорх нутаг нэг бол [[хот]] (''kota'' - ''кота'') эсвэл тойрог (''kabupaten'' - ''капубатен'') байна. * III зэргийн нэгжийг нь индонезээр ''kecamatan'' гэнэ. Монгол хэлтэнд энэ нэгж тийм ч сонин биш байх болохоор ''кечаматан''<br>гэж галиглахад буруудахгүй биз дээ. Эсвэл хошууны доорх нэгж юм чинь [[сум]] гэвэл зохино. ===33 муж=== Онцгой эрхтэй таван мужийг <nowiki>*</nowiki>-оор тэмдэглэв. {{Col-begin}} {{Col-break}} '''[[Суматра]] арлын 10 муж''' * [[Аче]]<sup>*</sup>&nbsp; (''Aceh'') * [[Умард Суматра]] (''Sumatera Utara'') * [[Өрнөд Суматра]] (''Sumatera Barat'') * [[Риау]] ''(Riau)'' * [[Риау арлуудын муж|Риау арлуудын]] (''Kepulauan Riau'') * [[Жамби]] (''Jambi'') * [[Өмнөд Суматра]] (''Sumatera Selatan'') * [[Банка-Белитун]] (''Kepulauan Bangka Belitung'') * [[Бенкулу]] (''Bengkulu'') * [[Лампунгг]] (''Lampung'') '''[[Жава]] арлын 6 муж''' * [[Жакарта]]<sup>*</sup> (''Jakarta'') * [[Бантен]] (''Banten'') * [[Өрнөд Жава]] (''Jawa Barat'') * [[Төв Жава]] (''Jawa Tengah'') * [[Иогякарта|Иогякарта]]<sup>*</sup> (''Yogyakarta'') * [[Дорнод Жава]] (''Jawa Timur'') '''[[Бага Зондын арлууд|Бага Зондын]] арлуудын 3 муж''' * [[Бали]] (''Bali'') * [[Өрнөд Нуса Тенгара]] (''Nusa Tenggara Barat'') * [[Дорнод Нуса Тенгара]] (''Nusa Tenggara Timur'') {{Col-break}} '''[[Калимантан]] арлын 4 муж''' * [[Өрнөд Калимантан]] (''Kalimantan Barat'') * [[Төв Калимантан]] (''Kalimantan Tengah'') * [[Өмнөд Калимантан]] (''Kalimantan Selatan'') * [[Дорнод Калимантан]] (''Kalimantan Timur'') '''[[Сулавеси]] арлын 6 муж''' * [[Умард Сулавеси]] (Sulawesi Utara) * [[Горонтало]] (''Gorontalo'') * [[Төв Сулавеси]] (''Sulawesi Tengah'') * [[Өрнөд Сулавеси]] (''Sulawesi Barat'') * [[Өмнөд Сулавеси]] (''Sulawesi Selatan'') * [[Дорнод-Өмнөд Сулавеси]] (''Sulawesi Tenggara'') '''[[Малуку арлууд|Малуку]] арлуудын 2 муж''' * [[Малуку]] (''Maluku'') * [[Умард Малуку]] (''Maluku Utara'') '''[[Шинэ Гвиней]] арлын 2 муж''' * [[Өрнөд Папуа]]<sup>*</sup> (''Papua Barat'') * [[Папуа]]<sup>*</sup> (''Papua'') {{Col-end}} ==Газар орон== [[File:Indonesia 2002 CIA map.png|thumb|right|Индонезийн газрын зураг]] [[Өмнөд өргөрөг|Ө.ө. 11°]] – [[хойд өргөрөг|х.ө. 6°]], [[зүүн уртраг|з.у. 95° – 141°]] хооронд Индонез орон бүхлээрээ багтдаг. Экваторын хоёр талд бүгд 17,508 аралтайгаас 6 мянга нь л хүнтэй.<ref>{{cite press release |publisher=[[International Monetary Fund]] |url=http://www.imf.org/external/pubs/ft/weo/2006/01/data/dbcoutm.cfm?SD=2005&ED=2005&R1=1&R2=1&CS=3&SS=2&OS=C&DD=0&OUT=1&C=536&S=PPPWGT-PPPPC&RequestTimeout=120&CMP=0&x=45&y=5 |title=World Economic Outlook Database |accessdate=5 October 2006 |date=April 2006 }}; {{cite web | first =Hendriawan | title =Indonesia Regions | publisher =Indonesia Business Directory | url =http://www.indonext.com/Regions/ | accessdate =24 April 2007 | archive-date =28 Арван хоёрдугаар сар 2005 | archive-url =https://web.archive.org/web/20051228011848/http://www.indonext.com/Regions/ | url-status =dead }}</ref> Эднээс [[Жава]], [[Суматра]], [[Калимантан]] (Малайз, Бруней улстай хуваадаг), [[Шинэ Гвиней]] (Папуа-Шинэ Гвиней улстай хуваадаг), [[Сулавеси]] гэсэн таван томыг онцлох хэрэгтэй. Индонез улс Калимантан арал дээр Малайзтай, Шинэ Гвиней арал дээр Папуа-Шинэ Гвинейтэй, [[Тимор]] арал дээр [[Зүүн Тимор]]той хил залгадаг бол [[Сингапур]], [[Малайз]], [[Филиппин]], [[Палау]], [[Австрали]]тай далай тэнгисийн усаараа хаяалдаг. Хамгийн олон хүнтэй хот нь нийслэл [[Жакарта]]. Залгуулаад бичвэл [[Сурабая]], [[Бандун]], [[Медан]], [[Семаран]] гээд томоохон хотууд байдаг.<ref name="Witton2003">{{cite book | last =Witton | first =Patrick | title =Indonesia | publisher =Lonely Planet | year =2003 | location =Melbourne | pages =139, 181, 251, 435 | isbn=1-74059-154-2 }}</ref> 1,919,440 хавтгай дөрвөлжин километр газар нутагтай Индонезэд нэг км-т 134 хүн ноогддог. Харьцуулвал дэлхийн 16-р том газар нутагтай орон, 79-р нягт шигүү суурьшилт улс нь Индонез юмсанжээ.<ref name="ciarank">{{cite web |last=Central Intelligence Agency |title=Rank Order Area |work=The World Factbook |publisher=US [[CIA]], Washington, DC |date=17 October 2006 |url=https://www.cia.gov/library/publications/the-world-factbook/rankorder/2147rank.html |accessdate=3 November 2006 |archive-date=9 Хоёрдугаар сар 2014 |archive-url=https://web.archive.org/web/20140209041128/https://www.cia.gov/library/publications/the-world-factbook/rankorder/2147rank.html |url-status=dead }}</ref><ref>{{cite web |title=Population density&nbsp;– Persons per&nbsp;km<sup>2</sup> 2006 |work=CIA world factbook |publisher=Photius Coutsoukis |year=2006 |url=http://www.photius.com/rankings/geography/population_density_2006_1.html |accessdate=4 October 2006}}</ref> Тэр дотроо дэлхийн арлуудаас хамгийн олон хүнтэй нь болох Жавад нэг км-т 940 хүн ноогдоно.<ref name="JOSHUA">{{cite web | last = Calder | first = Joshua | title = Most Populous Islands | publisher = World Island Information | date = 3 May 2006 | url = http://www.worldislandinfo.com/POPULATV2.htm | accessdate =26 September 2006 }}</ref> Хамгийн өргөгдсөн газар нь Папуа мужийн нутагт байгаа [[Пунчак Жая]] уулын оргил (д.т.д. 4884 м), хамгийн том нуур нь Суматра арлын 1,145 км<sup>2</sup> талбайт [[Тоба нуур]] юм. [[Махакам]], [[Барито]] гэх мэт Калимантан арлын гол мөрд хамгийн уртад тооцогдоно.<ref>{{cite encyclopedia |title=Republic of Indonesia |work=Encarta |publisher=Microsoft |year=2006 |url=http://encarta.msn.com/encyclopedia_761573214/Republic_of_Indonesia.html#s4 |archiveurl=http://www.webcitation.org/5kwrIjXxw |archivedate=31 October 2009 |deadurl=yes }}</ref> [[File:Mahameru-volcano.jpeg|thumb|left|Индонезийн галт уулс]] [[Номхон далайн хавтан|Номхон далайн]], [[Евразийн хавтан|Евразийн]], [[Австралийн хавтан|Австралийн]] гурван техтоник хавтны уулзвар зааг дээр Индонез байрладаг. Тиймээс ч 19-р зуунд сүйд хийж асан [[Кракатоа]], [[Тамбора]] хоёрыг оруулаад цөөндөө л гэхэд 150 гаруй [[галт уул]] үе үе идэвхждэг.<ref>{{cite web|url=http://www.volcano.si.edu/world/region.cfm?rnum=06&rpage=list| title=Volcanoes of Indonesia| publisher=[[Smithsonian Institution]]| accessdate=25 March 2007| work=Global Volcanism Program}}</ref> Саяхан л гэхэд 2004 оны цуут цунами 167,736 хүнийг нь урсгаж<ref>{{cite web | title =The Human Toll | work =UN Office of the Special Envoy for Tsunami Recovery | publisher =United Nations | url =http://www.tsunamispecialenvoy.org/country/humantoll.asp | archiveurl =https://web.archive.org/web/20070519133441/http://www.tsunamispecialenvoy.org/country/humantoll.asp | archivedate =19 Тавдугаар сар 2007 | accessdate =25 March 2007 | url-status =live }}</ref>, 2006 оны Иогякартын газар хөдлөлт 5,782 хүнийг үхүүлсэн гайтай. Гэлээ ч галт уулын бялхдас газрыг үржил шимтэй болгодог учир Жава, Балид хүн хамгаас олноор суурьшжээ.<ref>{{cite book |last=Whitten |first=T |coauthors=Soeriaatmadja, R. E., Suraya A. A. |title=The Ecology of Java and Bali |publisher=Periplus Editions Ltd |year=1996 |location=Hong Kong |pages=95–97}}</ref> Экваторын дагуу байршдаг тул [[борооны улирал|борооны]], [[хуурай улирал|хуурай]] хоёр улиралтай, [[халуун орны уур амьсгал]]тай. Эрэг хавийн нам газраар жилд 1,780–3,175 мм, уулархаг нутгаар 6,100 мм хүртэл хур буудаг. Суматрын өрнөд эрэг, өрнө Жава, Калимантан, Сулавеси, Папуагийн уулархаг нутгаар хур бороосог. Маш чийглэг, дунджаар 80%. Жилийн турш агаарын температур тогтмол, Жакарта орчмоор өдөрт дунджаар 26–30 °C халуун.<ref>{{cite web |title =About Jakarta And Depok |work =University of Indonesia |publisher =University of Indonesia |url =http://www.ui.ac.id/english/menu_statis.php?id=c6&hal=c_about_jkt |accessdate =24 April 2007 |archiveurl =https://web.archive.org/web/20060504191815/http://www.ui.ac.id/english/menu_statis.php?id=c6&hal=c_about_jkt |archivedate =4 Тавдугаар сар 2006 |url-status =live }}</ref> {{clear}} ==Хүн ам== :''Мөн үзэх: [[Индонезийн ард түмэн]]'' [[File:Ubud-Kids.jpg|thumb|Олон ястны улсын [[Бали ястан|Бали]] яст жаалууд]] 2010 оны байдлаар Индонез улсын хүн амын тоо 237.6 саяд хүрч,<ref name="bps2010">{{cite web|url=http://www.bps.go.id/65tahun/SP2010_agregat_data_perProvinsi.pdf |title=Central Bureau of Statistics: ''Census 2010'' |publisher=Badan Pusat Statistik |accessdate=17 January 2011}} {{id}}</ref> жилд 1.9%-иар өсч байна.<ref>{{cite web|url=http://waspada.co.id/index.php?option=com_content&view=article&id=182106:fifty-years-needed-to-bring-population-growth-to-zero&catid=30:english-news&Itemid=101 |title=Fifty years needed to bring population growth to zero |publisher=Waspada.co.id |date=19 March 2011 |accessdate=10 April 2011}}</ref> Хүн амын 58% нь дэлхийн арлуудаас хамгийн олон хүнтэй нь гэх<ref name="JOSHUA" /> Жава аралд оршин суудаг.<ref name="bps2010"/> [[Гэр бүл төлөвлөлт|Гэр бүл төлөвлөх]] хөтөлбөр 1960 оноос эхлэн хэрэгжсээр байгаа ч гэсэн 2020 онд 265 сая, 2050 онд 306 сая хүнтэй болох төлөв харагддаг.<ref>[http://esa.un.org/unpd/wpp/Excel-Data/DB04_Population_ByAgeSex_Annual/WPP2010_DB4_F1B_POPULATION_BY_AGE_BOTH_SEXES_ANNUAL_2011-2100.XLS World Population Prospects (2010). Annual Population 2011–2100]. (XLS table). United Nations</ref> Индонезэд [[Индонезийн ард түмний хэл яриа|742 янзын хэл аялгуугаар]] ярилцдаг [[Индонезийн ард түмэн|300 гаран яс үндэс]]ний хүмүүс аж төрөн суудаг.<ref>{{cite web |publisher=Expat Web Site Association |title=An Overview of Indonesia |work=Living in Indonesia, A Site for Expatriates |url=http://www.expat.or.id/info/overview.html |accessdate=5 October 2006}}</ref><ref>{{cite web |last=Merdekawaty |first=E. |title="Bahasa Indonesia" and languages of Indonesia |work=UNIBZ&nbsp;– Introduction to Linguistics |publisher=Free University of Bozen |date=6 July 2006 |url=http://www.languagestudies.unibz.it/Bahasa%20Indonesia_Merdekawaty.pdf |format=PDF|accessdate=17 July 2006}}</ref> Тэгэхдээ ихэнх нь бүр дээр үед Тайвань, Зүүн Өмнөд Азиас нүүсэн байх гэж таахуйц [[Австронез]] язгуурын хэлтэй байдаг. Дорно Индонезээр үүнээс ялгагдах [[Меланез]] язгуурын ард түмэн бас байдаг.<ref name="Witton2003" /><ref>Taylor (2003), pp. 5–7, {{cite book | last = Dawson| first = B.| coauthors = Gillow, J.| title = The Traditional Architecture of Indonesia | publisher = Thames and Hudson Ltd | year = 1994 | location = London | page = 7 | isbn = 0-500-34132-X }}</ref> Нэр бүхий ард түмнээс [[Жава үндэстэн]] хүн амын 42% эзлэдэг.<ref>{{cite book |last=Kingsbury |first=Damien |title=Autonomy and Disintegration in Indonesia |publisher=Routledge |page=131 |isbn=0-415-29737-0 |year=2003}}</ref> Жавагийн араас [[Сунда үндэстэн|Сунда]], [[Малай үндэстэн|Малай]], [[Мадура ястан|Мадура]] гэх мэт үндэстэн ч юм шиг, ястан ч юм шиг саяаас олон хүнт арваад ард түмэн байдаг. Мөн 8 сая [[Хятад үндэстэн|Хятад]], 5 сая [[Араб үндэстэн|Араб]] гэх мэтээр хаа хол хальж очсон үндэстэд ч байна. Шинээр нэгдэж томорсон улс, хэдэн зуун цөөн тоот ястны орон болохоор ч тэр үү иймэрхүү нутгийн ялгааг давж хараад "Индонез" [үндэстэн] гэж өөриймсөх сэтгэлгээ ард түмнийх нь дунд хэдийнээ дэлгэрчээ.<ref name="RICKLEFS_256">Ricklefs (1991), p. 256</ref> Ийм эв найртай нийгэм бүрдсэн ч гэсэн зарим газар соёл, шашин, ястнаараа мөргөлдөх явдал гарч л байдаг.<ref>Domestic migration (including the official [[Transmigrasi]] program) are a cause of violence including the massacre of hundreds of Madurese by a local [[Dayak people|Dayak]] community in West Kalimantan, and conflicts in Maluku, [[Sulawesi Tengah|Central Sulawesi]], and parts of Papua and West Papua {{Cite journal |author=T.N. Pudjiastuti |year=2002 |title=Migration & Conflict in Indonesia |url=http://www.iussp.org/Bangkok2002/S15Pudjiastuti.pdf |url-status=dead |format=PDF |publisher=International Union for the Scientific Study of Population (IUSSP), Paris |archive-url=https://web.archive.org/web/20120209225410/http://www.iussp.org/Bangkok2002/S15Pudjiastuti.pdf |archive-date=9 Хоёрдугаар сар 2012 |accessdate=17 September 2006}}</ref><ref>{{cite web |title=Kalimantan The Conflict |work=Program on Humanitarian Policy and Conflict Research |url=http://preventconflict.org/portal/main/maps_kalimantan_conflict.php |archiveurl=https://web.archive.org/web/20091212135147/http://preventconflict.org/portal/main/maps_kalimantan_conflict.php |archivedate=12 Арван хоёрдугаар сар 2009 |accessdate=7 January 2007 |publisher=Conflict Prevention Initiative, Harvard University |url-status=live }}</ref><ref>{{cite conference |author=J.W. Ajawaila; M.J. Papilaya; Tonny D. Pariela; F. Nahusona; G. Leasa; T. Soumokil; James Lalaun and W. R. Sihasale |title=Proposal Pemecahan Masalah Kerusuhan di Ambon |publisher=Fica-Net |year=1999 |location=Ambon, Indonesia |url=http://www.fica.org/h/ambon/idRusuh1.html |accessdate=29 September 2006 |booktitle=Report on Church and Human Rights Persecution in Indonesia }}{{Dead link|date=Зургадугаар сар 2026 |bot=InternetArchiveBot |fix-attempted=yes }}; Kyoto University: Sulawesi Kaken Team & Center for Southeast Asian Studies {{PDFlink|[http://sulawesi.cseas.kyoto-u.ac.jp/lib/pdf/MRidwanAlimuddin.pdf Bugis Sailors]|124&nbsp;KB}}</ref> Эндхийн Хятадууд сэргэлэн гарууд байж баялгийг нэлээд хуримтлуулсан, олон пүүс компанийг эзэмшдэгт<ref>Schwarz (1994), pp. 53, 80–81</ref><ref>Friend (2003), pp. 85–87, 164–165, 233–237</ref> зөвхөн Индонезэд л байдаг ард түмэн сэжиглэн дургүйцэж зодолдож нүдэлцээд авсан нь цөөнгүй.<ref>{{cite web |author=M. F. Swasono |title=Indigenous Cultures in the Development of Indonesia |work=Integration of endogenous cultural dimension into development |publisher=Indira Gandhi National Centre for the Arts, New Delhi |year=1997 |url=http://ignca.nic.in/cd_05008.htm |accessdate=17 September 2006}}</ref><ref>{{cite web |first=S. Long |date=9 April 1998 |title=The Overseas Chinese |url=http://www.prospectmagazine.co.uk/1998/04/theoverseaschinese/ |url-status=dead |archive-url=https://web.archive.org/web/20111008055514/http://www.prospectmagazine.co.uk/1998/04/theoverseaschinese/ |archive-date=8 Аравдугаар сар 2011 |accessdate=10 April 2011 |publisher=Prospect Magazine}} The [[May 1998 riots of Indonesia#Jakarta (12–14 May)|riots in Jakarta in 1998]]—much of which were aimed at the Chinese—were, in part, expressions of this resentment. {{cite web |author=M. Ocorandi |date=28 May 1998 |title=An Analysis of the Implication of Suharto's resignation for Chinese Indonesians |url=http://www.hartford-hwp.com/archives/54b/083.html |accessdate=26 September 2006 |publisher=Worldwide HuaRen Peace Mission}}</ref><ref>{{cite web |author=F.H. Winarta |title=Bhinneka Tunggal Ika Belum Menjadi Kenyataan Menjelang HUT Kemerdekaan RI Ke-59 |publisher=Komisi Hukum Nasional Republik Indonesia (National Law Commission, Republic of Indonesia), Jakarta |month=August | year=2004 |url=http://ignca.nic.in/cd_05008.htm |language=Indonesian}}</ref> [[Жохорын султант улс]]ын үеэс Индонезийн арлуудын ард түмний хоорондоо ойлголцох хэл болсоор ирсэн [[Малай хэл]]ний [[чухал аялгуу|чухал нэгэн аялгуу]] байдаг. Энэ аялгуунд суурилсан Малай хэлийг [[Сингапур]], [[Малайз]], [[Бруней]], Индонез дөрвөн улсад [[албан ёсны хэл]] болгожээ. Тэгэхдээ нэр нь өөр. Индонезэд үүнийг [[Индонез хэл]] (''Bahasa Indonesia'') гэж заадаг. Ер нь Индонезийнхэн бүгд л энэ хэлээр ярилцдаг, Индонезэд энэ хэл ажил хэрэг, улс төр, хэвлэл мэдээлэл, боловсрол гээд бүх салбарт өөр ямар ч хэлнээс илүү сонсдоно. Гэхдээ л нөгөө ястан үндэстнээрээ ард түмний хэл ялгаатай. Хүмүүс [[Индонезийн ард түмний хэл яриа|742 янзын хэл аялгууныхаа]] нэгийг өөрийн [[төрөлх хэл]] гэж боддог. Үүнээс мэдээж [[Жава хэл]]ийг хамгийн олуулаа тээж яваа.<ref name="CIA"/> Папуад харьцангуй цөөн буюу 2.7 сая хүн байдаг мөртлөө бүр [зарим нь Папуа төрлийн, зарим нь Австронез төрлийн] 242 янзаар хэлж ярьцгаадаг.<ref>{{cite web|url=http://www.ethnologue.com/show_country.asp?name=IDP |title=Ethnologue report for Indonesia (Papua) |publisher=Ethnologue.com |accessdate=28 April 2010}}</ref> Индонезийн үндсэн хуулинд шашин шүтэх нь хүний дур зоргынх<ref>{{cite web |title=The 1945 Constitution of the Republic of Indonesia |work=US-ASEAN |url=http://www.us-asean.org/Indonesia/constitution.htm |accessdate=2 October 2006 |archiveurl=https://web.archive.org/web/20060109203358/http://www.us-asean.org/Indonesia/constitution.htm |archivedate=9 Нэгдүгээр сар 2006 |url-status=live }}</ref> гэсэн мөртлөө өөр баримтаар [[Ислам]], [[Протестант]], [[Католик]], [[Хиндү]], [[Буддын шашин]], [[Күнзийн суртал]] зургааг албан ёсны гэж онцлон батласан байх юм.<ref name="Yang">{{cite journal |last=Yang |first=Heriyanto |title=The History and Legal Position of Confucianism in Post Independence Indonesia |journal=Religion |volume=10 |issue=1 |page=8 |month=August | year=2005 |url=http://archiv.ub.uni-marburg.de/mjr/pdf/2005/yang2005.pdf |format=PDF|accessdate=2 October 2006}}</ref> 2000 оны тооллогийг үндэслэхэд Индонезийн ард түмний 86.1% нь Ислам шашны Сунни дэгтэй. Ингэхэд Индонез улс Исламын улс биш боловч хамгийн олон Ислам шүтлэгтэн (хотон хүн)-тэй улс юм байна гэж ойлгогдоно.<ref name="CIA">{{cite web |url=https://www.cia.gov/library/publications/the-world-factbook/geos/id.html |title=Indonesia |publisher=CIA |accessdate=10 April 2011 |archive-date=10 Арван хоёрдугаар сар 2008 |archive-url=https://web.archive.org/web/20081210041527/https://www.cia.gov/library/publications/the-world-factbook/geos/id.html |url-status=dead }}</ref> Хиндү шашинтны олонх нь [[Бали ястан|бали]], Буддын шашинтны олонх нь [[Хятад үндэстэн|хятад]].<ref>{{cite web |title=Indonesia&nbsp;– Buddhism |publisher=U.S. Library of Congress |url= http://countrystudies.us/indonesia/40.htm |accessdate=15 October 2006}}</ref> Хэдий цөөн шүтэн бишрэгчтэй ч Хиндү, Будда хоёр шашин Индонезийн соёлд их л нэвчжээ. Ислам нь худалдаачдын чармайлтаар 13-р зуунд умар Суматрад нэвтрээд 16-р зуун гэхэд Индонез орны зонхилох шашин болсон.<ref name="csi">{{cite web |title=Indonesia&nbsp;– Islam |publisher=U.S. Library of Congress|url=http://countrystudies.us/indonesia/37.htm |accessdate=15 October 2006}}</ref> Харин Католик шашныг Португалийн авралын зар тараагчид, колончлогчид эхлүүлсэн<ref>Ricklefs (1991), pp. 25, 26, 28</ref><ref>{{cite web | title =1500 to 1670: Great Kings and Trade Empires | publisher = Sejarah Indonesia | url =http://www.gimonca.com/sejarah/sejarah02.shtml | accessdate =25 April 2007 }}</ref> бол Протестант нь Нидерландын эзэмшилд байх үед Калвинч, Лютеранч номлогчдын тарьсан үр юмсанжээ.<ref>Ricklefs (1991), pp. 28, 62</ref><ref>Vickers (2005), p. 22</ref><ref>{{cite book | last = Goh | first = Robbie B.H. | title = Christianity in Southeast Asia | publisher = Institute of Southeast Asian Studies | page = 80 | isbn = 981-230-297-2 | year = 2005 }}</ref> == Зургийн цомог == <center><gallery caption="Индонез" widths="180px" heights="120px" perrow="5/'"> File:Museum Nasional Indonesia.jpg|National Museum of Indonesia in [[Central Jakarta]] File:Jakarta Skyline Part 2.jpg|[[Wisma 46]], Indonesia's tallest office building, located in the middle of Jakarta skyscraper. File:Central Jakarta.JPG|Jalan Thamrin, the main avenue in Central Jakarta File:Gambir Station Platform.jpg|A train at [[Gambir]] station in [[Central Jakarta]] File:BungKarno-indonoob.JPG|The [[Bung Karno Stadium]] is capable of hosting 100,000 spectators File:Indonesia 2002 CIA map.png|Map of Indonesia File:Indonesia provinces english.png|Provinces of Indonesia File:Jalan malioboro - Jogjakarta.JPG|Malioboro, the most famous street in Yogyakarta city Image:transjogja.jpg|Trans Jogja Bus. A bus rapid transit system in Yogyakarta city File:SOTO FOOD.jpg|A selection of [[Indonesian cuisine|Indonesian food]], including ''Soto Ayam'' (chicken soup), ''sate kerang'' ([[satay|shellfish kebabs]]), ''telor pindang'' (preserved eggs), ''perkedel'' (fritter), and ''es teh manis'' (sweet iced tea) File:Indonesian Army infantryman participating in the GPOI.jpg|An Indonesian Army infantryman participating in the U.N.'s Global Peacekeeping Operation Initiative Image:Panser side left.JPG|Pindad Panser "Anoa" shown during Indo Defense and Aerospace Expo 2008 |Indonesian Naval vessels Image:AURI B-25.jpg|B-25 Mitchell bombers of the AURI in the 1950s Image:Jmnei.jpg|A [[Javanese people|Javanese]] engineer closes one of the gun bay doors on a Dutch [[Brewster Buffalo|Buffalo]], January 1942. |[[Mazda6]] used by the Jakarta Metro Highway Patrol (''Ditlantas Polda Metro Jaya'') as a patrol car |[[Mitsubishi Lancer]] used by Vital Object Protection of Indonesian National Police File:ID_diesel_loco_CC_201-05_060327_4217_kta.jpg|GE U20C in [[Indonesia]], #CC201-05 File:Diesel locomotive CC 203 22 at Gambir Station.jpg|GE U20C "Full-Width Cabin" in Indonesia, #CC203-22 [...] </gallery></center> ==Зүүлтийн тайлбар== {{лавлах холбоос|3}} == Цахим холбоос == * {{commons|Indonesia|Индонез}} {{Ази}} {{Хөтлөгч мөр Австрали ба далайн орнууд}} {{OIC}} [[Ангилал:Индонез| ]] [[Ангилал:Азийн орон]] [[Ангилал:Арлын орон]] [[Ангилал:Австрали ба Далайн орон]] [[Ангилал:Зүүн Өмнөд Ази]] [[Ангилал:Ерөнхийлөгчийн засаглалтай бүгд найрамдах улс]] [[Ангилал:Нэгдсэн Үндэстний Байгууллагын гишүүн орон]] h3qcfydu2q5ta2ysba1xafr5u16navc Словак хэл 0 8627 860797 860358 2026-07-01T11:24:53Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860797 wikitext text/x-wiki {{short description|Словак улсад голчлон ярьдаг Баруун славян хэл}} {{Инфобокс хэл | name = Словак хэл | altname = | nativename = {{lang|sk|slovenčina}}, {{lang|sk|slovenský jazyk}} | pronunciation = {{IPA-sk|ˈslɔʋentʂina|}}, {{IPA-sk|ˈslɔʋenskiː ˈjazik|}} | states = [[Словак]], [[Чех]], [[Унгар]], [[Карпатын Русь]], [[Славони]] болон [[Воеводина]]<ref>{{cite web | url=http://www.vojvodina.gov.rs/en/autonomous-province-vojvodina | archive-url=https://web.archive.org/web/20171220044137/http://www.vojvodina.gov.rs/en/autonomous-province-vojvodina | archive-date=20 December 2017 | title=Autonomous Province of Vojvodina &#124; Покрајинска влада }}</ref> | ethnicity = [[Словакчууд‎]], [[Панноны Русинчууд]] | speakers = Төрөлх: {{sigfig|5.206080|1}} сая | date = 2011–2021 | ref = e25 | speakers2 = Хоёрдогч: {{sigfig|2.045000|1}} сая<ref name=e25/> | speakers_label = Ярилцагчид | script = [[Латин бичиг|Латин]] ([[Словак цагаан толгой]])<br/>[[Словак брайл үсэг]]<br/>[[Кирилл үсэг|Кирилл]] ([[Панноны Русинчууд#Дүрэм ба цагаан толгой|Панноны Русин цагаан толгой]]) | familycolor = Энэтхэг-Европ | fam2 = [[Балт-Слав хэлнүүд|Балт-Слав]] | fam3 = [[Слав хэлнүүд|Слав]] | fam4 = [[Баруун Слав хэлнүүд|Баруун Слав]] | fam5 = [[Чех-Словак хэлнүүд|Чех-Словак]] | dia1 = [[Баруун Словак аялга|Баруун Словак]] | dia2 = [[Төв Словак аялга|Төв Словак]] | dia3 = [[Зүүн Словак аялга|Зүүн Словак]]<ref>{{Cite book |title=Brill Encyclopedia of Slavic Languages and Linguistics |last=Habijanec |first=Siniša |publisher=[[Brill Publishers]] |year=2020 |doi=10.1163/2589-6229_ESLO_COM_031961 |url=https://referenceworks.brill.com/display/db/eslo |editor-last=Greenberg |editor-first=Marc |chapter=Pannonian Rusyn |issn=2589-6229 |quote=The third theory defines Pannonian Rusyn as a West Slavic language originating in the East Slovak Zemplín and Šariš dialects and being a mixture of the two. It fits the linguistic data in the most consistent manner and has been accepted by an overwhelming majority of scholars in the field (Bidwell 1966; Švagrovský 1984; Witkowski 1984; Lunt 1998; Čarskij 2011) and verified by several comprehensive analyses of Pannonian Rusyn language data (Bidwell 1966; Lunt 1998; Čarskij 2011). |access-date=2024-04-01 |editor-last2=Grenoble |editor-first2=Lenore}}</ref> | nation = {{SVK}}<br>''{{EU}}''<br>{{flag|Воеводина}} ([[Серби]])<ref>{{cite web|url=http://www.vojvodina.gov.rs/en/autonomous-province-vojvodina|title=Autonomous Province of Vojvodina|publisher=Government of the Autonomous Province of Vojvodina|date=2013|access-date=25 May 2017}}</ref> | minority = {{CZE}}<ref>{{cite web | url=https://vlada.gov.cz/cz/ppov/rnm/narodnostni-mensiny---uvod-1361/ | title=Národnostní menšiny &#124; Vláda ČR }}</ref> <br>{{POL}}<ref name="7th EFNIL">{{cite conference |title=The relationship between official and minority languages in Poland |conference=7th Annual Conference: The Relationship between Official Languages and Regional and Minority Languages in Europe |location=Dublin, Ireland |publisher=European Federation of National Institutions for Language |last1=Pisarek |first1=Walery |date=2009 |page=18 |url=http://www.efnil.org/documents/conference-publications/dublin-2009/16-Dublin-Pisarek-Mother.pdf |access-date=28 November 2019 |archive-date=14 December 2019 |archive-url=https://web.archive.org/web/20191214104352/http://www.efnil.org/documents/conference-publications/dublin-2009/16-Dublin-Pisarek-Mother.pdf |url-status=dead }}</ref><br>{{HUN}}<ref>{{cite web|author=<!--Not stated-->|title=Hungary needs to strengthen use of and access to minority languages|url=https://www.coe.int/en/web/european-charter-regional-or-minority-languages/home/-/asset_publisher/VzXuex45jmKt/content/hungary-needs-to-strengthen-use-of-and-access-to-minority-languages|publisher=[[Европын Зөвлөл]]|place=Strasbourg, France|date=14 December 2016|access-date=29 June 2020|quote=The following languages have been given special protection under the European Charter [in Hungary]: Armenian, Beas, Bulgarian, Croatian, German, Greek, Polish, Romani, Romanian, Ruthenian, Serbian, Slovak, Slovenian and Ukrainian.}}</ref><br> {{CRO}}<ref>{{cite web | url=https://narodne-novine.nn.hr/clanci/sluzbeni/2020_07_78_1484.html | title=Odluka o donošenju kurikuluma za nastavni predmet Slovački jezik i kultura u osnovnim i srednjim školama u Republici Hrvatskoj (Model C) }}</ref><ref>{{cite web | url=https://pravamanjina.gov.hr/nacionalne-manjine/nacionalne-manjine-u-republici-hrvatskoj/slovaci/369 | title=Slovaci }}</ref><br> {{ROM}}<ref>{{cite web | url=https://www.pukanec.sk/fotogaleria/navsteva-mesta-nadlak-24-26-8-2012.html#fgallery--21419-1 | title=Pukanec }}</ref><ref>{{cite web | url=http://www.slovacivrumunsku.sk/01-skol.php | title=Slováci v Rumunsku | access-date=2024-06-09 | archive-date=2024-01-27 | archive-url=https://web.archive.org/web/20240127162600/http://www.slovacivrumunsku.sk/01-skol.php | url-status=dead }}</ref><ref>https://www.edu.ro/semnarea-programului-de-cooperare-%C3%AEn-domeniul-educa%C8%9Biei-%C3%AEntre-ministerul-educa%C8%9Biei-na%C8%9Bionale-din-0</ref><ref>{{cite web | url=https://www.slovenskezahranicie.sk/rumunsko/ | title=Rumunsko }}</ref><ref>{{cite web | url=https://www.bihon.ro/stirile-judetului-bihor/75-de-ani-de-invatamant-in-limba-slovaca-444889/ | title=75 de ani de invatamant in limba slovaca | date=16 September 2011 }}</ref> | agency = [[Соёлын яам (Словак)|Словакийн Соёлын Яам]] | iso1 = sk | iso2b = slo | iso2t = slk | iso3 = slk | glotto = slov1269 | glottorefname = Slovak | lingua = 53-AAA-db < [[West Slavic languages|53-AAA-b...–d]]<br/>(varieties: 53-AAA-dba to 53-AAA-dbs) | notice = IPA | map = Idioma eslovaco.PNG | mapcaption = {{Legend|#0080ff|Словак хэл нь олонхын хэл байдаг бүс нутгууд}} {{Legend|#88c4ff|Словак хэл нь цөөнхийн хэл байдаг бүс нутгууд}} }} '''Словак хэл''' (словак. ''slovenčina'', ''slovenská reč'') нь [[Словак|Бүгд Найрамдах Словак Улс]]ын [[албан ёсны хэл]] юм. [[Энэтхэг-Европын хэлний язгуур]], [[Слав хэлний бүлэг]]т багтана. Слав хэлний бүлэг дундаа [[чех хэл]], [[польш хэл]] зэрэгтэй хамт Баруун Слав хэлний дэд бүлэгт харьяалагдах бөгөөд ялангуяа чех хэлтэй төстэй учраас [[чех хэл|чех]], словак хэлээр ярилцагсад харилцан ойлголцдог байна. Хэлний код [[ISO 639]]-1 нь [[SK|sk]], ISO 639-2 нь SLO/SLK. Мөн словак хэл нь Европын Холбооны албан ёсны 24 хэлний нэг юм. Словак хэлээр Бүгд Найрамдах Словак улсад 5,2 сая орчим хүн харилцдаг. Бусад улсуудын хувьд АНУ-д 500 мянга, Чех улсад 320 мянга, Унгарт 110 мянга, [[Серби]]д 80 мянга, Румынд 22 мянга, Польшид 20 мянга, Канадад 20 мянга, Австрали, Украин, Болгар, Хорват зэрэг улсуудад 5,000 орчим ярилцагсад бий. Бичиг үсгийн хувьд [[латин үсэг]]т DZ, CH гэсэн нийлмэл үсгүүдийг нэмж хэрэглэхээс гадна [[өргөлтийн тэмдэг]] ашигладаг. == Словак утга зохиолын хэл == Словак үндэстэн бүрэлдэн тогтох үйл явцтай нягт холбоотой Словак утга зохиолын хэл нь 18-р зууны төгсгөл - 19-р зууны эхний хагаст үүссэн гэж үздэг. Шинээр бий болсон утга зохиолын словак хэл нь Словакчуудын амьдралд зөвхөн харилцааны хэрэгсэл, шинжлэх ухаан, уран зохиолын хэл төдийгүй үндэсний өвөрмөц байдлыг бэхжүүлэх, Словак үндэстнийг нэгтгэх, үндэсний соёлыг хөгжүүлэх хүчин зүйл болж ирсэн. Словакийн утга зохиолын хэл эцэст нь 19-р зууны хоёрдугаар хагаст үүссэн. 20-р зуунд хэлний хөгжилд Словакийн газар нутгийг [[Чех улс]]<nowiki/>тай нэгтгэсэн нь ихээхэн нөлөөлсөн байна. Сүүлд 1993 онд тусгаар тогтносон Бүгд Найрамдах Словак Улс байгуулагдсан нь олон нийтийн амьдралын бүхий л салбарт Словакийн утга зохиолын хэл бүрэн хөгжих нөхцөлийг бүрдүүлээд байна. == Үгсийн сан == Словак хэлний үгсийн сангийн үндэс нь эртний слав хэлний үгсийн сангаас гаралтай. Словак хэл хөгжих явцад түүний үгсийн санг 30 гаруй хэлнээс зээлж авах замаар бүрдсэн байна. Хамгийн эртний зээлүүд нь [[Латин хэл|Латин]], [[Герман хэл|Герман]], [[Унгар хэл|Унгар]] хэлнээс орж ирсэн байдаг юм. Хэл хоорондын урт хугацааны харилцааны улмаас Герман, Унгарын зээлүүд олон зууны туршид янз бүрийн эрчимтэй Словак хэл рүү нэвтэрч байв. Баруун Европын хэлнүүдээс, ялангуяа орчин үед [[англи хэл]] нь Словак хэлний үгсийн санд хамгийн их нөлөө үзүүлж байна. Түүнчлэн [[Румын хэл|румын]], [[Франц хэл|франц]], [[Итали хэл|итали]] болон бусад хэлнээс зээлсэн үгс нь Словак хэлний үгсийн санд нэвтэрсэн. Славян хэлнүүдээс хамгийн их зээл авсан нь [[чех хэл]] юм. == Дүрэм == Үйл үг нь өгүүлэгдэхүүний тоо, хүйсээс хамаарч хувирна. Ерөнхийдөө өгүүлбэр нь SVO бүтэцтэй. 2 янзын өнгөрсөн цаг, 1 ирээдүй цагийн хэлбэртэй. == Аялга == Ерөнхийд нь 3 ангилж болно: * Зүүн Словак аялга * Төв Словак аялга * Баруун Словак аялга {{Словак хэлний цагаан толгой}} ==Эшлэл== {{Reflist}} == Гадаад холбоос == {{Wikipedia|sk}} [[Ангилал:Словак хэл| ]] [[Ангилал:Европын Холбооны албаны хэл]] [[Ангилал:Дан ганц хэл]] [[Ангилал:Словакийн хэл]] [[Ангилал:Чехийн хэл]] [[Ангилал:Унгарын хэл]] [[Ангилал:Монтенегрогийн хэл]] [[Ангилал:Сербийн хэл]] [[Ангилал:Өрнөд славян хэлнүүд]] mt39kjlo7y8avlxnluhitokt9njny00 Ёл 0 15356 860741 827755 2026-06-30T23:55:04Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860741 wikitext text/x-wiki {{Taxobox | name = Ёл | status = LC | status_system = iucn3.1 | status_ref = | image = Bartgeier_Gypaetus_barbatus_front_Richard_Bartz.jpg | image_width = 250px | regnum = [[Амьтан]] | phylum = [[Хөвчтөн]] | classis = [[шувуу|Жигүүртэн]] | ordo = [[Харцагатан]] (эсвэл [[Шонхортон]]) | familia = [[Харцагынхан]] | subfamilia = [[Old World vulture|Aegypiinae]] | genus = '''''Gypaetus''''' | genus_authority = [[Gottlieb Conrad Christian Storr|Storr]], 1784 | species = '''''G. barbatus''''' | binomial = ''Gypaetus barbatus'' | binomial_authority = ([[Карл Линней]], 1758) }} [[Файл:Bartgeier 0505262.jpg|left|thumb|Нас бие гүйцсэн нь бор шаргал бие, толгойтой.]] [[Файл:Gypaetus-barbatus-bearded-vulture-0b.jpg|left|thumb|Залуу шувуу нь бараан зүстэй байна.]] '''Ёл''', мөн '''Ооч ёл''' гэгддэг, ''Gypaetus barbatus'', нь [[Харцагынхан]] овгийн шувуу бөгөөд ''Gypaetus'' төрлийн ганц төлөөлөгч юм. Тэд [[Европ]]ын өмнөд хэсэг, [[Африк]], [[Ази]], [[Энэтхэг]], [[Төвөд]], [[Монгол]]д өндөр уулархаг газар суурин нутаглана. [[Альпийн нуруу]]нд аваачиж суурьшуулсан боловч ховор хэвээр байна. Тэд голдуу улай сэгээр хооллох ба ясны чөмөг гол идэш нь болдог. Өндрөөс яст мэлхий болон томхон ясыг унагаж бяцлаад иддэг. == Гадаад төрх == Биеийн урт 95-125 см, далавчаа дэлгэхэд 3 м орчим том махчин шувуу юм. Биеийн жин 4.5-7.5 кг. Нас бие гүйцсэн нь бор шаргал толгой, биетэй, хар ооч сахалтай. Далавч, сүүлний өд нь саарал өнгөтэй. Залуу ёл бүх бие нь барандуу зүстэй байх ба 5 жил болж байж бүрэн нас бие гүйцнэ. Ёл шувуу тэжээвэр нь 40 гаруй жил насладаг байна. == Үржил == 12-2 сарын дунд хүртэл үржлийн улирал бөгөөд 1-2 өндөг гаргадаг. 53-58 хоноод ангаахай гарч, үүрэндээ 106-130 хоног өсөж бойжно. <gallery> Image:Bartgeier Gypaetus barbatus front2 Richard Bartz.jpg| Image:Bartgeier Gypaetus barbatus closeup2 Richard Bartz.jpg| Image:Bartgeier Gypaetus barbatus closeup1 Richard Bartz.jpg| Зураг:Lammergeier.jpg|''Gypaetus barbatus'' File:Gypaète barbu MHNT.jpg|Gypaetus barbatus aureus File:Gypaetus barbatus hemachalanus MHNT.jpg|Gypaetus barbatus hemachalanus </gallery> == Цахим холбоос == {{commonscat|Gypaetus barbatus}} {{wikispecies|Gypaetus barbatus}} * [http://www.vulture-territory.com/bearded.html Vulture Territory Facts and Characteristics: Bearded Vulture] * [http://www.birdinginspain.com/free-downloads/icemen-and-lammingers-free-ch.pdf Read a story about the Lammergeier in northern Spain] * [http://www.ornithologiki.gr/en/lib/engypbar.htm The Bearded Vulture, ''Gypaetus barbatus''] * [https://web.archive.org/web/20121029071234/http://www.iberianature.com/material/lammergeyer.html The Lammergeier in Spain] * [https://web.archive.org/web/20190103175505/http://www.cam3001.com/SEITEN/GypaetusFr.html Cine and photo work about the Bearded Vulture in the Alps.] * [https://web.archive.org/web/20090903002608/http://www.recercaenaccio.cat/agaur_reac/AppJava/ca/projecte/061109-la-vida-del-tren/imatges.jsp Image gallery of Bearded Vulture in Catalan Pyrenees] {{DEFAULTSORT:Еол}} [[Ангилал:Харцгайнхан]] [[Ангилал:Махчин шувууд]] [[Ангилал:Монгол орны шувууд]] 0l7cla0i47qfq4il8w1wg913275vrqx 6 сарын 23 0 16407 860698 620522 2026-06-30T17:53:15Z Dostojewskij 30144 Зинедин Зидан ➯ [[Зинедин Зидан]] 860698 wikitext text/x-wiki {{Жилийн өдрүүд|6 сарын}} '''6 сарын 23''' нь [[Григорийн тоолол|Григорийн тооллын]] жилийн 174 дахь ([[өндөр жил]] бол 175 дэх) өдөр юм. Мөн он дуустал 191 өдөр үлдэж байна. == Үйл явдлууд == 1956: Гамаль Абдель Насер Египетийн Ерөнхийлөгчөөр сонгогджээ. 1993: Олон улсын олимпын хорооны тэргүүн Хуан Антонио Самаранчийн санаачилгаар Лозаннд Олимпын музей үүсгэн байгуулагдав. 1994: АНУ-д “Форрест Гамп” дэлгэцнээ гарчээ. 1998: Дэлхийд анх удаагаа хүний ​​тархины эсийг шилжүүлэн суулгав. 2016: Их Британийн иргэд бүх нийтийн санал хураалтаар тус улс Европын Холбооноос гарахыг сонгосон юм. == Энэ өдөр төрөгсөд == Австралийн жүжигчин Брайан Браун, Америкийн жүжигчин, Оскарын шагналт Фрэнсис Макдорманд, жүжигчин Сельма Блэр, Оросын дуучин Валерий Меладзе, Францын хөгжимчин, хөгжмийн зохиолч Ян Тьерсен, Францын хөл бөмбөгч [[Зинедин Зидан]], Патрик Виейра, Мексикийн дуучин Данна Паола == Энэ өдөр нас барагсад == <br /> == Тэмдэглэлт баярууд == НҮБ-ын Төрийн үйлчилгээний олон улсын өдөр. Эстонид өнөөдөр Ялалтын өдөр бол Никарагуа болон Польшид Аавуудын өдөр, Канадад Терроризмын хохирогчдыг дурсах үндэсний өдөр ---- {{Commonscat|23 June|6 сарын 23}} [[Ангилал:Өдөр|0623]] [[Ангилал:Зургаадугаар сарын өдөр|#23]] rpnn6nr27udbsn6mpp7lx0qcku30tfi Загвар:Инфобокс олон улсын хөлбөмбөгийн тэмцээн 10 17201 860733 827277 2026-06-30T23:05:27Z Enkhsaihan2005 64429 860733 wikitext text/x-wiki {{#invoke:инфобокс|infoboxTemplate | bodyclass = vcalendar | titleclass = summary | title = {{#if:{{{tourney_name|}}}|{{{year|}}} {{{tourney_name|}}} {{{yearr|}}} <includeonly>|{{PAGENAMEBASE}}</includeonly>}} | above = {{{other_titles|}}} | abovestyle = font-size: 100% | image = {{#invoke:InfoboxImage|InfoboxImage |image={{{image|}}} |size={{{image_size|{{{size|}}}}}} |sizedefault=frameless |upright={{{upright|1}}} |alt={{{alt|}}} |suppressplaceholder=yes}} | caption = {{{caption|}}} | header1 = {{#if:{{{country|}}}{{{city|}}}{{{num_teams|}}}{{{venues|}}}|Тэмцээний дэлгэрэнгүй}} | label2 = Зохион байгуулагч ор{{#if:{{{country2|}}}|нууд|он}} | data2 = {{#if:{{{country|}}}|{{{country}}}}}<!-- -->{{#if:{{{country2|}}}|<br />{{{country2|}}}}}<!-- -->{{#if:{{{country3|}}}|<br />{{{country3|}}}}}<!-- -->{{#if:{{{country4|}}}|<br />{{{country4|}}}}}<!-- -->{{#if:{{{country5|}}}|<br />{{{country5|}}}}}<!-- -->{{#if:{{{country6|}}}|<br />{{{country6|}}}}}<!-- -->{{#if:{{{country7|}}}|<br />{{{country7|}}}}}<!-- -->{{#if:{{{country8|}}}|<br />{{{country8|}}}}}<!-- -->{{#if:{{{country9|}}}|<br />{{{country9|}}}}}<!-- -->{{#if:{{{country10|}}}|<br />{{{country10|}}}}}<!-- -->{{#if:{{{country11|}}}|<br />{{{country11|}}}}}<!-- -->{{#if:{{{country12|}}}|<br />{{{country12|}}}}}<!-- -->{{#if:{{{country13|}}}|<br />{{{country13|}}}}}<!-- -->{{#if:{{{country14|}}}|<br />{{{country14|}}}}}<!-- -->{{#if:{{{country15|}}}|<br />{{{country15|}}}}} | label3 = Хот | data3 = {{{city|}}} | class3 = location | label4 = Огноо | data4 = {{{dates|}}} | label5 = Багийн тоо | data5 = {{{num_teams|}}}{{#if: {{{confederations|}}}|&nbsp;({{{confederations}}} холбооноос)}}{{#if: {{{sub-confederations|}}}|&nbsp;({{{sub-confederations}}} дэд-холбооноос)}}{{#if: {{{associations|}}}|&nbsp;({{{associations}}} холбооноос)}} | label6 = Цэнгэлдэх хүрээлэн | data6 = {{{venues|}}}{{#if:{{{cities|}}}|&nbsp;({{{cities}}} хотод)}} | header7 = {{#if:{{{champion|}}}{{{champion_other|}}}|Эцсийн дүн}} | label8 = {{#if:{{{American|}}}|Аварга|Аварга}} | data8 = {{#if:{{{champion|}}}|{{fb|{{{champion|}}}|{{{champion-flagvar|}}}|name={{{champion-name|}}}}}{{#if: {{{count|}}}|{{nowrap| ({{ordinal|{{{count}}}}} аварга)}} }}{{#if:{{{champion-note|}}}|{{{champion-note}}}}} }} | label9 = {{#if:{{{American|}}}|Аварга|Аварга}} | data9 = {{#if:{{{champion_other|}}}|{{{champion_other}}}{{#if: {{{count|}}}|{{nowrap| ({{ordinal|{{{count}}}}} аварга)}} }} }} | label10 = Дэд байр | data10 = {{#if:{{{second|}}}|{{fb|{{{second|}}}|{{{second-flagvar|}}}|name={{{second-name|}}}}}{{#if:{{{second-note|}}}|{{{second-note}}}}} }} | label11 = Дэд байр | data11 = {{#if:{{{second_other|}}}|{{{second_other|}}} }} | label12 = 3-р байр | data12 = {{#if:{{{third|}}}|{{fb|{{{third|}}}|{{{third-flagvar|}}}|name={{{third-name|}}}}}{{#if:{{{third-note|}}}|{{{third-note}}}}} }} | label13 = 3-р байр | data13 = {{#if:{{{third_other|}}}|{{{third_other|}}} }} | label14 = 4-р байр | data14 = {{#if:{{{fourth|}}}|{{fb|{{{fourth|}}}|{{{fourth-flagvar|}}}|name={{{fourth-name|}}}}}{{#if:{{{fourth-note|}}}|{{{fourth-note}}}}} }} | label15 = 4-р байр | data15 = {{#if:{{{fourth_other|}}}|{{{fourth_other|}}} }} | label16 = Promoted | data16 = {{#if:{{{promoted|}}}|{{{promoted|}}} }} | label17 = Relegated | data17 = {{#if:{{{relegated|}}}|{{{relegated|}}} }} | header18 = {{#if:{{{matches|}}}{{{goals|}}}{{{attendance|}}}{{{top_scorer|}}}{{{player|}}}|Тэмцээний статистик}} | label19 = Тоглолтын&nbsp;тоо | data19 = {{#if:{{{matches|}}}|{{formatnum:{{{matches}}}}}{{{matches_footnote|}}}}} | label20 = Гоолын тоо | data20 = {{#if:{{{goals|}}}|{{formatnum:{{{goals}}}}}{{#if:{{{matches|}}}|&nbsp;(тоглолт бүрт {{formatnum:{{#expr: {{{goals|0}}} / {{{matches|1}}} round 2}}}})}}{{{goals_footnote|}}}}} | label21 = Үзэгчдийн тоо | data21 = {{#if:{{{attendance|}}}|{{formatnum: {{{attendance|0}}}}}{{#if:{{{matches|}}}|&nbsp;(тоглолт бүрт {{formatnum: {{#expr: {{{attendance|0}}} / {{{matches|1}}} round 0}}}}) }} }} | label22 = Мэргэн бууч | data22 = {{{top_scorer|}}} | class22 = attendee | label23 = Шилдэг тоглогч | data23 = {{{player|}}} | class23 = attendee | label24 = Шилдэг залуу тоглогч | data24 = {{{young_player|}}} | class24 = attendee | label25 = Шилдэг [[Хаалгач (хөлбөмбөг)|хаалгач]] | data25 = {{{goalkeeper|}}} | class25 = attendee | label26 = Цэвэр тоглолтын шагнал | data26 = {{{fair_play|}}} | class26 = attendee | belowstyle = border-top:#bbb solid 1px | below = {{#if:{{{season_text|}}}|''{{{season_text|}}}'' {{clear}} }}{{#if:{{{prevseason|}}}|{{align|left|&larr; {{{prevseason|}}} }} | {{#if:{{{season_text|}}}|{{0|&larr; {{{nextseason|0000–00}}}}}}} }}{{#if:{{{nextseason|}}}|{{align|right|{{{nextseason|}}} &rarr; }} | {{#if:{{{season_text|}}}|{{0|{{{prevseason|0000–00}}} &rarr;}}}} }} {{#if:{{{prevseason2|}}}{{{nextseason2|}}}|{{clear}}{{#if:{{{season_text2|}}}|''{{{season_text2|}}}'' {{clear}} }}{{#if:{{{prevseason2|}}}|{{align|left|&larr; {{{prevseason2|}}} }} | {{#if:{{{season_text2|}}}|{{0|&larr; {{{nextseason2|0000–00}}}}}}} }}{{#if:{{{nextseason2|}}}|{{align|right|{{{nextseason2|}}} &rarr; }} | {{#if:{{{season_text|}}}|{{0|{{{prevseason2|0000–00}}} &rarr;}}}} }} }} {{#if:{{{updated|}}}|{{clear}}All statistics correct as of {{{updated}}}.}}{{#if:{{{extra information|}}}|{{clear}}{{{extra information}}}}} | decat = {{#if:{{{prevseason|}}}{{{nextseason|}}}|yes|no}} }}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using infobox international football competition with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Infobox international football competition]] with unknown parameter "_VALUE_"|ignoreblank=y| alt | American | associations | attendance | caption | champion | champion_other | champion-flagvar | champion-name | champion-note | cities | city | confederations | count | country | country10 | country11 | country12 | country13 | country14 | country15 | country2 | country3 | country4 | country5 | country6 | country7 | country8 | country9 | dates | extra information | fair_play | fourth | fourth_other | fourth-flagvar | fourth-name | fourth-note | goalkeeper | goals | goals_footnote | image | image_size | matches | matches_footnote | nextseason | nextseason2 | num_teams | other_titles | player | prevseason | prevseason2 | promoted | relegated | season_text | season_text2 | second | second_other | second-flagvar | second-name | second-note | size | sub-confederations | third | third_other | third-flagvar | third-name | third-note | top_scorer | tourney_name | updated | upright | venues | year | yearr | young_player }}<includeonly>{{Short description|Олон улсын хөлбөмбөгийн тэмцээн|2=noreplace}}</includeonly><noinclude>{{documentation}}</noinclude> 5gaa1urh5tzuw8l15bkfu0ygxnro000 Загвар:Гоол 10 17221 860770 442037 2026-07-01T03:23:59Z Enkhsaihan2005 64429 Хуудсыг '{{#invoke:Football event|goal}}<noinclude> {{documentation}} </noinclude>'-р сольж байна. 860770 wikitext text/x-wiki {{#invoke:Football event|goal}}<noinclude> {{documentation}} </noinclude> be4t1kiyzntve99iza68i9e56tvofkn Загвар:Ordinal 10 17223 860713 851496 2026-06-30T19:54:40Z Enkhsaihan2005 64429 860713 wikitext text/x-wiki {{SAFESUBST:<noinclude />#invoke:Ordinal|ordinal}}<noinclude> {{documentation}} </noinclude> 658r10ag7rv4b2nxz38rgs2wn4gljqn Загвар:Rp 10 18824 860758 142259 2026-07-01T02:39:50Z Enkhsaihan2005 64429 860758 wikitext text/x-wiki {{#if:{{{needed|}}}|{{page needed|date={{{date|}}}|reason={{{reason|}}}}}|{{r/superscript |prefix={{#switch:{{{style|}}}|AMA|Ama|ama=(|&#58;&hairsp;}} |suffix={{#switch:{{{style|}}}|AMA|Ama|ama=)|&hairsp;}} |pp={{#switch:{{{style|}}}|AMA|Ama|ama={{#if:{{{no-pp|{{{nopp|}}}}}}||{{#if:{{{pages|{{{pp|}}}}}}|pp|{{#if:{{{page|{{{p|}}}}}}|p}}}}}}}}<!-- p/pp is only used in superscript label, therefore it does not contain any qp params --> |leadin={{#switch:{{{quotation-pages|{{{quote-pages|{{{qpp|{{{quotation-page|{{{quote-page|{{{qp|{{{quotation-location|{{{quote-location|{{{quote-loc|{{{quote-at|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|pages|pp|page|p={{#if:{{{pages|{{{pp|}}}}}}|Pages|{{#if:{{{page|{{{p|}}}}}}|Page|{{#if:{{{location|{{{loc|{{{at|}}}}}}}}}|Location|Page&nbsp;/ location}}}}}}|{{#if:{{{quotation-pages|{{{quote-pages|{{{qpp|}}}}}}}}}|Pages|{{#if:{{{quotation-page|{{{quote-page|{{{qp|}}}}}}}}}|Page|{{#if:{{{quotation-location|{{{quote-location|{{{quote-loc|{{{quote-at|}}}}}}}}}}}}|Location|{{#if:{{{pages|{{{pp|}}}}}}|Pages|{{#if:{{{page|{{{p|}}}}}}|Page|{{#if:{{{location|{{{loc|{{{at|}}}}}}}}}|Location|Page&nbsp;/ location}}}}}}}}}}}}}}<!-- leadin is only used in tooltip --> |where={{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|{{{pp|{{{1|}}}}}}}}}}}|singular={{{page|{{{p|}}}}}}|location={{{location|{{{loc|{{{at|}}}}}}}}}|spacing=&#32;}}<!-- where must not include qp params --> |sup-where={{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|{{{pp|{{{1|}}}}}}}}}|&hairsp;}}|singular={{{page|{{{p|}}}}}}|location={{{location|{{{loc|{{{at|}}}}}}}}}|spacing=&hairsp;}}<!-- sup-where same as where, but with improved list spacing for superscript --> |quote-where={{#switch:{{{quotation-pages|{{{quote-pages|{{{qpp|{{{quotation-page|{{{quote-page|{{{qp|{{{quotation-location|{{{quote-location|{{{quote-loc|{{{quote-at|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|pages|pp|page|p={{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|{{{pp|{{{1|}}}}}}}}}}}|singular={{{page|{{{p|}}}}}}|location={{{location|{{{loc|{{{at|}}}}}}}}}|spacing=&#32;}}|{{R/where|plural={{#invoke:String2|hyphen2dash|{{{quotation-pages|{{{quote-pages|{{{qpp|}}}}}}}}}}}|singular={{{quotation-page|{{{quote-page|{{{qp|}}}}}}}}}|location={{{quotation-location|{{{quote-location|{{{quote-loc|{{{quote-at|}}}}}}}}}}}}|spacing=&#32;}}}}<!-- quote-where must not contain normal in-source-location params --> |quote={{{quotation|{{{quote|{{{q|}}}}}}}}} |language={{{quotation-language|{{{quote-language|{{{quotation-lang|{{{quote-lang|{{{ql|{{{language|{{{lang|{{{l|}}}}}}}}}}}}}}}}}}}}}}}} |translation={{{translation-quotation|{{{trans-quotation|{{{translation-quote|{{{trans-quote|{{{tq|{{{translation|{{{trans|{{{t|{{{xlat|}}}}}}}}}}}}}}}}}}}}}}}}}}} |wrap={{{wrap|}}} }}{{#switch:{{{wrap|}}}|yes|y|forced|f=&#8203;}}}}<noinclude><!-- Note: Please do not change the parameter names "at", "page", "p", "pages", "pp", "quote-page", "quote-pages", "trans-quote" , "no-pp" and "nopp" as they are also used by CS1/CS2 citation templates, "loc" is also used by SFN templates. --> {{documentation}} </noinclude> 1ad7j04p44x68pca4bu041co6am2b1w Төмөрийн улс 0 19373 860798 860361 2026-07-01T11:49:48Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860798 wikitext text/x-wiki {{Short description|Central Asian Turco-Mongol empire (1370–1507)}} {{Инфобокс түүхэн улс | native_name = {{lang|fa|{{Nastaliq|گورکانیان}}}}<br />''Гүрканиян'' | national_motto = <br />[[Persian language|Persian]]:{{lang|fa|{{Nastaliq|راستى رستى}}}}<br />''Rāstī rustī''<br />"In rectitude lies salvation" "зөвт байдалд аврал оршдог" | conventional_long_name = Төмөрийн эзэнт гүрэн | common_name = Төмөрийн | era = [[Дундад зууны сүүл үе]] | status = [[Эмират]] | government_type = [[Хэмжээгүй эрхт хаант засаг]] | area_km2 = | year_start = 1370 | date_start = | year_end = 1507 | event_pre = [[Доголон Төмөр|Төмөр]] [[Төмөрийн байлдан дагуулалт, довтолгоо|байлдан дагуулалтаа]] эхлүүлэв | date_pre = 1363 | event_start = Төмөрийн эзэнт гүрэн байгуулагдав | event1 = Баруун зүгийн тэлэлт эхлэв | date_event1 = 1380 | event2 = [[Анкарагийн тулалдаан]] | date_event2 = 7 сарын 20, 1402 | event3 = [[Самарканд]]ын уналт | date_event3 = 1505 | event_end = [[Херат]]ын уналт | event_post = [[Их Могол Улс|Моголын эзэнт гүрэн байгуулагдав]] | date_post = 1526 | image_coat = <!-- DO NOT REPLACE this documented "Three annulets" symbol with false, conjectural or original research flags of the Timurids, such as this one: https://upload.wikimedia.org/wikipedia/commons/archive/6/6c/20230329042531%21Timurid.svg , which is falsely claimed to be from the Catalan Atlas. See paragraph "Symbols of the state" hereunder for details -->Three annulets symbol of the Timurid Empire.png | coa_size = 100 | coat_alt = Гурван цагираг сүлд | symbol_type = [[Доголон Төмөр|Төмөр]]ийн "Гурван цагираг" [[тамга]] тэмдэг.<ref>Coinage of Timur with "Three annulets" symbol (1393-1405): [[File:Coinage of Timur with 3 annulets symbol. Shaykh abu-Ishaq (Kazirun) mint. Undated, circa AH 795-807 AD 1393-1405.jpg|70px]]</ref><ref>{{cite book |last1=Bloom |first1=Jonathan |last2=Blair |first2=Sheila S. |title=Grove Encyclopedia of Islamic Art & Architecture: Three-Volume Set |date=14 May 2009 |publisher=OUP USA |isbn=978-0-19-530991-1 |page=426 |url=https://books.google.com/books?id=un4WcfEASZwC&pg=PA426 |language=en| quote="Coinage issued by the Timurid dynasty (r. 1370-1506) comprised various silver coins and several coppers, most often anonymous, although some coppers struck in the name of Timur 1370–1405; here called amīr) have a tamghā of three annulets prominently on the reverse."}}</ref><ref>{{cite journal |last1=Kadoi |first1=Yuka |title=On the Timurid flag |journal=Beiträge zur islamischen Kunst und Archäologie |date=2010 |volume=2 |pages=144, 149, 159 Fig.5 |url=https://www.academia.edu/17410816}}</ref> | flag_border = no | image_map = Timurid Empire (greatest extent).svg | image_map_caption = [[Доголон Төмөр|Төмөр]]ийн үеийн газар нутаг | image_map_size = 300 | demonym = | p1 = Цагаадайн Улс | p2 = Суфи гүрэн | p3 = Жалайрын улс | p4 = Курт улс | p5 = Музаффарид | p6 = Сарбадар | p7 = Марашичууд | p8 = Афрасияб | p9 = Кара-Коюнлу | p10 = Гүржийн хаант улс | s1 = Бухарын хант улс | s2 = Сефевийн улс | s3 = Хивын ханлиг | s4 = Кара-Коюнлу | s5 = Ак-Коюнлу | s6 = Их Могол Улс | s7 = Гүржийн хаант улс | capital = {{plainlist| *[[Самарканд]] (1370–1405) *[[Херат]] (1405–1507)}} | common_languages = {{plainlist| *[[Перс хэл]] (албан ёсны, шүүх, дээд утга зохиол, лингва франка, засаг захиргаа)<ref> * Manz, Beatrice Forbes (1999). ''The Rise and Rule of Tamerlane''. [[Cambridge University Press]], p.109. {{ISBN|0-521-63384-2}}. {{google books|2xDm2DCPRKMC|Limited preview}}. [https://books.google.com/books?id=2xDm2DCPRKMC&pg=PA109 p.109]. "In almost all the territories which Temür incorporated into his realm Persian was the primary language of administration and literary culture. Thus the language of the settled '[[divan]]' was Persian." * B.F. Manz, W.M. Thackston, D.J. Roxburgh, L. Golombek, L. Komaroff, R.E. Darley-Doran. "Timurids" [[Encyclopaedia of Islam]] [[Brill Publishers]] 2007; "During the Timurid period, three languages, Persian, Turkish, and Arabic were in use. The major language of the period was Persian, the native language of the Tajik (Persian) component of society and the language of learning acquired by all literate and/or urban Turks. Persian served as the language of administration, history, belles lettres, and poetry." * {{cite web |url=http://www.iranicaonline.org/articles/central-asia-v|title=CENTRAL ASIA v. In the Mongol and Timurid Periodse|author=Bertold Spuler|publisher=[[Encyclopaedia Iranica]]|access-date=2017-09-14}} "Like his father, Olōğ Beg was entirely integrated into the Persian Islamic cultural circles, and during his reign Persian predominated as the language of high culture, a status that it retained in the region of Samarqand until the Russian revolution 1917&nbsp;... Ḥoseyn Bāyqarā encouraged the development of Persian literature and literary talent in every way possible&nbsp;... * Robert Devereux (ed.) "Muhakamat Al-Lughatain (Judgment of Two Languages)" Mir 'Ali Shir Nawāi; Leiden, [[E.J. Brill]] 1966: "Nawa'i also employs the curious argument that most Turks also spoke Persian but only a few Persians ever achieved fluency in Turkic. It is difficult to understand why he was impressed by this phenomenon, since the most obvious explanation is that Turks found it necessary, or at least advisable, to learn Persian – it was, after all, the official state language – while Persians saw no reason to bother learning which was, in their eyes, merely the uncivilized tongue of uncivilized nomadic tribesmen. * David J. Roxburgh. ''The Persian Album, 1400–1600: From Dispersal to Collection''. Yale University Press, 2005. pg 130: "Persian literature, especially poetry, occupied a central in the process of assimilation of Timurid elite to the Perso-Islamicate courtly culture, and so it is not surprising to find Baysanghur commissioned a new edition of Firdawsi's Shanama."</ref> *[[Цагаадайн хэл]] (угсаатны, утга зохиол)<ref name="homelanguage" /> * [[Араб хэл]] (шашин)<ref name="EI - Manz2" />}} | religion = ;{{nobold|Төрийн шашин}} :{{hlist|[[Суннит Ислам]]}} ;{{nobold|Бусад шашин}} :{{hlist|[[Арван хоёр шиизм]]|[[Исмаилизм]]|[[Зороастризм]]|[[Хиндү шашин|Хиндүизм]]|[[Хуруфизм]]|[[Дорнодын сүм|Несторианизм]]}} | currency = [[Танка (зоос)|Танка]] | title_leader = [[Төмөрийн династи|Эмир]] | leader1 = [[Доголон Төмөр|Төмөр]] (анхны) | leader2 = [[Бади аз-Заман Мирза|Бади аз-Заман]] (сүүлчийн) | year_leader1 = 1370–1405 | year_leader2 = 1506–1507 | stat_year1 = 1405 тоо.<ref>{{cite journal |last1=Turchin|first1=Peter|last2=Adams|first2=Jonathan M.|last3=Hall|first3=Thomas D | title = East-West Orientation of Historical Empires | journal = Journal of World-Systems Research|date=December 2006 |volume=12|issue=2 |page=222 |url =http://jwsr.pitt.edu/ojs/index.php/jwsr/article/view/369/381|access-date=2016-09-14 |issn= 1076-156X}}</ref><ref>{{cite journal|date=September 1997|title=Expansion and Contraction Patterns of Large Polities: Context for Russia|journal=[[International Studies Quarterly]]|volume=41|issue=3|at=p. 500|doi=10.1111/0020-8833.00053|author=Rein Taagepera|author-link=Rein Taagepera|jstor=2600793|url=http://www.escholarship.org/uc/item/3cn68807}}</ref> | stat_area1 = 4,400,000 }} [[Файл:Timurid Dynasty 821 - 873 (AH).png|thumb|250px|Төмөрийн эзэнт гүрэн хамгийн том нутагтай байх үеийн газрын зураг]] '''Төмөрийн эзэнт гүрэн''' бол XIV-XVI зууны үед Мавереннахр, [[Иран]], [[Өмнөд Кавказ|Өмнөд Кавказын]] бүс нутагт оршин тогтнож байсан улс юм. Энэ улсыг [[Монгол|Монголын]] [[Барулас]] овгийн эмир [[Доголон Төмөр|Төмөр]] байгуулжээ. Төмөрийн эзэнт гүрний хаад нь [[Өгэдэй хаан|Өгэдэй хааны]] угсааны Сюрьгатмишь, Махмуд нар байв. Эдгээр хаадыг [[Доголон Төмөр]] өргөмжилсөн бөгөөд ямар ч эрх мэдэлгүй бэлгэ тэмдгийн шинжтэй хаад байсан юм. Улсын бүх эрхийг Төмөр атгах бөгөөд эмир цолтойгоор улсаа удирдаж байлаа. Доголон Төмөрийн нас барсны дараа Төмөрийн эзэнт гүрэн эзлэгдсэн орнуудын ард түмний бослого, дотоодын тэмцлээс болж задран бутарчээ. XVI зууны эхэн үед [[Алтан Орд|Алтан ордны улсаас]] нүүж ирсэн узбекүүд Төмөрийн угсааныхныг бут цохисноор Төмөрийн эзэнт гүрэн бүрмөсөн мөхсөн болой. == Гарал үүсэл, угсаатны хамаарал == Төмөрийн эзэнт гүрний үүсэл нь [[Монгол үндэстэн|Монголын]] нүүдэлчин аймаг [[Барлас]]аас улбаатай бөгөөд тэд [[Чингис хаан]]ы армийн бүрэлдэхүүнд багтан тулалдаж явжээ.<ref>''"Timur"'', The Columbia Encyclopedia, Sixth Edition, 2001-05 Columbia University Press, ([http://www.bartleby.com/65/ti/Timur.html LINK])</ref><ref>"Consolidation & expansion of the Indo-Timurids", Encyclopedia Britannica, ([http://www.britannica.com/eb/article-26937/Islamic-world LINK])</ref> Монголчууд Төв Азийг эзэлсний дараа Барлас аймгийнхан одоогийн [[Узбекистан]]д суурьшиж нутгийн [[түрэг]]үүдтэй холилдсон тул Төмөрийн үед барласууд зарим талаар түрэгжсэн байв. Түүнчлэн Цагадайн улсын баруун хэсгийн [[Ислам]]ын шашинд орсон түрэг, монгол угсаатнууд Исламын шашин дэлгэрэхээс өмнө Төв Азид ноёрхож байсан [[Персийн нийгэм|Персийн соёлын]] нөлөөнд орсон байжээ.<ref name="Iranica2">B. Spuler, "Central Asia in the Mongol and Timurid periods", published in [[Encyclopædia Iranica]], Online Edition, 2006/7, ({{Webarchiv|url=http://www.iranica.com/newsite/search/searchpdf.isc?ReqStrPDFPath=/home/iranica/public_html/newsite/pdfarticles/v5_articles/central_asia/mongol_and_timurid_periods&OptStrLogFile=/home/iranica/public_html/newsite/logs/pdfdownload.html|wayback=20090224083111|text=LINK|archiv-bot=2024-02-08 23:20:46 InternetArchiveBot}}): ''"...&nbsp;Like his father, Olōğ Beg was entirely integrated into the Persian Islamic cultural circles, and during his reign Persian predominated as the language of high culture, a status that it retained in the region of Samarqand until the Russian revolution 1917 [...] Ḥoseyn Bāyqarā encouraged the development of Persian literature and literary talent in every way possible ..."''</ref>. Персийн утга зохиол нь Төмөрийн эзэнт гүрний элит хэсгийнхнийг Перс-Исламын соёлд ороход нь нөлөөлж байв.<ref>David J. Roxburgh. The Persian Album, 1400-1600: From Dispersal to Collection. Yale University Press, 2005. pg 130: "Persian literature, especially poetry, occupied a central in the process of assimilation of Timurid elite to the Perso-Islamicate courtly culture, and so it is not surprising to find Baysanghur commissioned a new edition of Firdawsi's Shanama</ref> Төмөрийн улсын ордны эмэгтэйчүүд монгол ёс заншилтай байсан ба Төмөр хааны үед албан хэрэгцээнд монгол, түрэг аль аль хэлийг ашигладаг, монгол бичгээр захиа бичин илгээдэг байв.<ref name="Майдар">Д.Майдар, "Чингис хаан ба Монголын их гүрэн" 1969</ref> Мавереннахрын монголчууд өөр угсаатны ёс заншилд орон монгол соёлоо гээж эхэлсэн боловч бүрмөсөн уусаагүй байв. Дундад зууны монгол эрчүүд гэзэг тавьдаг заншилтай байсан ба Төмөр хаан хүүгээ шийтгэхдээ гэзгийг нь тайрсан нь хүүгээ монголд үнэнч бус байсан гэж үзэж байсныг нь илэрхийлж байжээ.<ref name="Майдар"/> Төмөр хаан Чингис хааныг ихэд хүндлэн биширдэг байсан төдийгүй өөрийн бүх амьдрал, үйл хэргээ Чингисийн улсийн сүр хүчийг дахин сэргээн тогтоохын төлөө зориулжээ. Энэ нь саяхан байгуулагдаад бутарсан ИМУ-н сүр хүчийг хүмүүс хараахан мартаагүй мөн Төмөр өөрөө монголын барлас овгийн хүн байсантай холбоотой юм. Тэр Чингисийн зарлиг, ИМУ-н хууль цаазыг дээдлэн хүндэтгэж өөрийн улсад хэрэгжүүлж байв. Хожим Төмөрийн улсаас тасран байгуулагдсан [[Их Могол Улс]]ад монгол ёс заншлаа даган мөрдөхөө больсон бол Төмөр хааны хувьд лалын шашинд орсон ч монгол ёс заншлаа даган мөрдөж монгол гарлаараа бахархдаг байв. Бутралын үеийн Монгол улс, Төмөрийн улс хоёр найрсаг харилцаатай байжээ. [[Өлзийтөмөр хаан|Буняшир]] хаан болохоосоо өмнө Төмөр хааны ордонд байсан байдаг. Төмөрийн улсыг заримдаа монгол улс гэж бичсэн байдаг бол зарим тохиолдолд түрэг улс гэж бичсэн байдаг. [[Моголистан]], Төмөрийн зарим монголчуудыг 16-р зууны сүүл хүртэл монгол хэлээрээ ярьсан хэвээр байсан байж магадгүй гэж зарим эрдэмтэд таамагладаг. Эрдэмтэд Төмөрийн улсыг монголчуудын эсвэл түрэгүүдийн улс гэсэн зөрүүтэй байр суурь баримталдаг. Төмөрийн улс хэдийгээр монгол гаралтай улс ч 14-р зууны дунд үед [[Баруун Цагаадайн улс]]ын монголчууд буюу Мавереннахр дахь монголчууд нилээд түрэгжсэн байсан учир зарим эрдэмтэд энэ улсыг түрэгүүдийн улсад хамааруулдаг байна. == Байгуулагдсан нь == {{Гол|Доголон Төмөр}} Төмөр [[Мавереннахр]] буюу Трансоксиан (одоогийн Узбекистан, [[Тажикистан]], [[Туркменистан]]ы ихэнх хэсэг) болон [[Хорасан]]ы (одоогийн [[Иран]], [[Афганистан]]) ихэнх хэсгийг 1363 оноос эхлэн бусад ноёдтой хүч хавсран ([[Самарканд]]ийг 1366 онд, [[Балх]]ийг 1369 онд) мэдэлдээ оруулж, 1370 он гэхэд захирагчаар нь өргөмжлөгджээ. Албан ёсоор бол Монголын [[Цагадайн улс]]ын нэрээр үйл ажиллагаа явуулж байсан Төмөр Мавереннахр, [[Хорезм]]ыг дагаар оруулж, 1380 онд баруун тийш аян дайн хийв. 1389 онд Картидуудыг [[Херат]]аас үлдэн хөөж, 1382 оноос [[Персийн эзэнт гүрэн|Персийн]] нутаг руу түрж эхэлжээ ([[Исфахан]]ыг 1387 онд эзэлж, 1393 онд [[Музаффарид]]уудыг [[Шираз]]аас зайлуулж, [[Жалайрид]]уудаас [[Багдад]]ыг авсан). 1394/95 онд тэр [[Алтан Орд]] руу довтолж, [[Кавказ]]ад өөрийн засаглалыг тогтоон, улмаар 1398 онд одоогийн Пакистан, Энэтхэгийн нутаг дахь [[Мултан]], [[Дипалпур]]ыг дагаар оруулжээ. 1400/01 онд [[Алеппо]], [[Дамаск]], зүүн [[Анатолиа]]г эзлэн авч, 1401 онд Багдадыг сүйтгэж, [[Анкарагийн тулалдаан|1402 онд Османуудаас Анкараг булаан авав]]. Тэр Самаркандыг гол нийслэлээ болгосон бөгөөд түүний аян дайнаар ойролцоогоор 17 сая хүн үрэгдсэн гэдэг.<ref>[http://users.erols.com/mwhite28/warstat0.htm#Timur Selected Death Tolls: Timur Lenk (1369–1405)]</ref> 1506 онд Төмөрийн эзэнт гүрэн унасны дараа аавын талаасаа [[Доголон Төмөр|Төмөрийн]], эхийн талаасаа [[Чингис хаан]]ы удмын [[Бабур]] 1526 онд Афганистан, Энэтхэгт [[Их Монгол Улс|Моголын эзэнт гүрэн]]г байгуулсан түүхтэй. 17-р зуун гэхэд Моголын эзэнт гүрэн Энэтхэгийн ихэнх нутгийг хяналтдаа байлгаж байсан боловч 18-р зуунд хүч нь суларч Английн нөлөөнд орж эхэлжээ. 1857 онд [[II Бахадур Шах]] Энэтхэгийн бүх хүчийг нэгтгэж англичуудын эсрэг тулалдсан ч ялагдаж [[Бирм]] рүү цөлөгдсөнөөр Энэтхэгийн хойг бүхэлдээ [[Британийн эзэнт гүрэн|Британийн эзэнт гүрн]]ий мэдэлд орж Их Могол Улс бүрмөсөн мөхжээ. Төмөрийн эзэнт гүрний явуулсан дайн тулаануудын үр дүнд Персийн соёлын төв нь Самарканд, Херат болон хувирч, Төмөрийн эзэнт гүрний хүч чадлын билэг тэмдэг болон мандаж байв.<ref name="Columbia">{{cite encyclopedia | encyclopedia = The Columbia Encyclopedia | title = Timurids | url = http://www.bartleby.com/65/ti/Timurids.html | edition = Sixth | publisher = [[Columbia University]] | location = New York City |accessdate=2006-11-08}}</ref> == Соёл == Төмөрийн эзэнт гүрэн нь хэдийгээр Монголын<ref name="UNESCO">M.S. Asimov & [[Clifford Edmund Bosworth|C. E. Bosworth]], ''History of Civilizations of Central Asia'', [[UNESCO]] Regional Office, 1998, ISBN 92-3-103467-7, p. 320: ''"...&nbsp;One of his followers was [...] Timur of the Barlas tribe. This Mongol tribe had settled [...] in the valley of Kashka Darya, intermingling with the Turkish population, adopting their religion (Islam) and gradually giving up its own nomadic ways, like a number of other Mongol tribes in Transoxania ..."''</ref> Барлас овгоос гаралтай ч Туркестан, Хорасанд төвлөрсөн, түрэг, [[Персийн соёл]]ын нөлөөнд орсон<ref>[[:en:Muhakamat al-Lughatayn|Muhakamat al-Lughatayn]]</ref><ref name=Iranica2 /><ref name="Iranica">{{cite encyclopedia | last = Lehmann | first = F. | encyclopedia = [[Encyclopædia Iranica]] | title = Zaher ud-Din Babor&nbsp;— Founder of Mughal empire | url = http://www.iranica.com/newsite/search/searchpdf.isc?ReqStrPDFPath=/home/iranica/public_html/newsite/pdfarticles/v3_articles/babor_zahir-al-din_mohammad&OptStrLogFile=/home/iranica/public_html/newsite/logs/pdfdownload.html | accessdate = 2006-11-07 | edition = Online | publisher = [[Columbia University]] Center for Iranian (Persian) Studies | location = New York City | pages = 320–323 | quote = "...&nbsp;''His origin, milieu, training, and culture were steeped in Persian culture and so Babor was largely responsible for the fostering of this culture by his descendants, the Mughals of India, and for the expansion of Persian cultural influence in the Indian subcontinent, with brilliant literary, artistic, and historiographical results'' ..." }} {{Webarchiv|url=http://www.iranica.com/newsite/search/searchpdf.isc?ReqStrPDFPath=/home/iranica/public_html/newsite/pdfarticles/v3_articles/babor_zahir-al-din_mohammad&OptStrLogFile=/home/iranica/public_html/newsite/logs/pdfdownload.html |wayback=20071013213643 |text=Zaher ud-Din Babor — Founder of Mughal empire |archiv-bot=2026-07-01 11:49:47 InternetArchiveBot }}</ref>, [[Ислам]]ын шашинтай улс байжээ. == Эшлэл == {{Reflist}} == Гадаад холбоос == *[http://www.britannica.com/EBchecked/topic/596414/Timurid-dynasty#md-media-strip-tab-lists-content britannica.com] [[Ангилал:Афганистаны түүх]] [[Ангилал:Узбекистаны түүх]] [[Ангилал:Төмөрийн улс| ]] [[Ангилал:Исламын хант улс]] [[Ангилал:Төв Азийн түүх]] [[Ангилал:Перс]] [[Ангилал:1370 он]] 2yu92wi9a3qh6dttesjdrkwtpcpk6sx Загвар:Хөлбөмбөгийн ДАШТ 10 19441 860734 733426 2026-06-30T23:13:50Z Enkhsaihan2005 64429 860734 wikitext text/x-wiki {{Navbox | name = Хөлбөмбөгийн ДАШТ | title = [[Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|Хөлбөмбөгийн ДАШТ]] | state = {{{state|autocollapse}}} | basestyle = background:gold; | listclass = hlist | above = Fédération internationale de football association ([[Олон улсын хөлбөмбөгийн холбоо|ОУХБХ]]) | group1 = Тэмцээнүүд | list1 = * [[1930 оны хөлбөмбөгийн ДАШТ|Уругвай 1930]] * [[1934 оны хөлбөмбөгийн ДАШТ|Итали 1934]] * [[1938 оны хөлбөмбөгийн ДАШТ|Франц 1938]] * [[1950 оны хөлбөмбөгийн ДАШТ|Бразил 1950]] * [[1954 оны хөлбөмбөгийн ДАШТ|Швейцар 1954]] * [[1958 оны хөлбөмбөгийн ДАШТ|Швед 1958]] * [[1962 оны хөлбөмбөгийн ДАШТ|Чили 1962]] * [[1966 оны хөлбөмбөгийн ДАШТ|Англи 1966]] * [[1970 оны хөлбөмбөгийн ДАШТ|Мексик 1970]] * [[1974 оны хөлбөмбөгийн ДАШТ|Баруун Герман 1974]] * [[1978 оны хөлбөмбөгийн ДАШТ|Аргентин 1978]] * [[1982 оны хөлбөмбөгийн ДАШТ|Испани 1982]] * [[1986 оны хөлбөмбөгийн ДАШТ|Мексик 1986]] * [[1990 оны хөлбөмбөгийн ДАШТ|Итали 1990]] * [[1994 оны хөлбөмбөгийн ДАШТ|Америкийн Нэгдсэн Улс 1994]] * [[1998 оны хөлбөмбөгийн ДАШТ|Франц 1998]] * [[2002 оны хөлбөмбөгийн ДАШТ|Өмнөд Солонгос–Япон 2002]] * [[2006 оны хөлбөмбөгийн ДАШТ|Герман 2006]] * [[2010 оны хөлбөмбөгийн ДАШТ|Өмнөд Африк 2010]] * [[2014 оны хөлбөмбөгийн ДАШТ|Бразил 2014]] * [[2018 оны хөлбөмбөгийн ДАШТ|Орос 2018]] * [[2022 оны хөлбөмбөгийн ДАШТ|Катар 2022]] * ''[[2026 оны хөлбөмбөгийн ДАШТ|Канад–Мексик–Америкийн Нэгдсэн Улс 2026]]'' * ''[[2030 оны хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|2030]]'' * ''[[2034 оны хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|2034]]'' | group2 = [[Хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|Урьдчилсан шат]] | list2 = * {{color|grey|1930}}{{sup|1}} * [[1934 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1934]] * [[1938 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1938]] * [[1950 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1950]] * [[1954 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1954]] * [[1958 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1958]] * [[1962 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1962]] * [[1966 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1966]] * [[1970 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1970]] * [[1974 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1974]] * [[1978 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1978]] * [[1982 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1982]] * [[1986 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1986]] * [[1990 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1990]] * [[1994 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1994]] * [[1998 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|1998]] * [[2002 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2002]] * [[2006 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2006]] * [[2010 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2010]] * [[2014 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2014]] * [[2018 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2018]] * [[2022 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2022]] * ''[[2026 оны хөлбөмбөгийн ДАШТ-ий урьдчилсан шат|2026]]'' | group3 = [[Хөлбөмбөгийн ДАШТ-ий шигшээ тоглолтын жагсаалт|Шигшээ]] | list3 = * [[1930 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1930]] * [[1934 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1934]] * [[1938 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1938]] * [[Уругвай - Бразил (1950 оны хөлбөмбөгийн ДАШТ)|1950]]{{sup|2}} * [[1954 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1954]] * [[1958 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1958]] * [[1962 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1962]] * [[1966 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1966]] * [[1970 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1970]] * [[1974 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1974]] * [[1978 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1978]] * [[1982 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1982]] * [[1986 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1986]] * [[1990 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1990]] * [[1994 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1994]] * [[1998 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|1998]] * [[2002 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|2002]] * [[2006 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|2006]] * [[2010 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|2010]] * [[2014 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|2014]] * [[2018 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|2018]] * [[2022 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|2022]] | group4 = Багууд | list4 = * [[1930 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1930]] * [[1934 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1934]] * [[1938 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1938]] * [[1950 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1950]] * [[1954 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1954]] * [[1958 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1958]] * [[1962 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1962]] * [[1966 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1966]] * [[1970 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1970]] * [[1974 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1974]] * [[1978 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1978]] * [[1982 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1982]] * [[1986 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1986]] * [[1990 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1990]] * [[1994 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1994]] * [[1998 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|1998]] * [[2002 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|2002]] * [[2006 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|2006]] * [[2010 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|2010]] * [[2014 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|2014]] * [[2018 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|2018]] * [[2022 оны хөлбөмбөгийн ДАШТ-ий багуудын бүрэлдэхүүн|2022]] | group5 = Хэсгийн сугалаа | list5 = * [[1998 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|1998]] * [[2002 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|2002]] * [[2006 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|2006]] * [[2010 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|2010]] * [[2014 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|2014]] * [[2018 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|2018]] * [[2022 оны хөлбөмбөгийн ДАШТ-ий хэсгийн хуваарилалт|2022]] | group6 = Дамжуулагчид | list6 = * [[1998 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|1998]] * [[2002 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|2002]] * [[2006 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|2006]] * [[2010 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|2010]] * [[2014 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|2014]] * [[2018 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|2018]] * [[2022 оны хөлбөмбөгийн ДАШТ-ий шууд дамжуулалтын эрх|2022]] | group7 = [[Хөлбөмбөгийн ДАШТ-ий зохион байгуулагч улс|Тендер]] | list7 = * [[2014 оны хөлбөмбөгийн ДАШТ-ий тендер|2014]] * [[2018 ба 2022 оны хөлбөмбөгийн ДАШТ-ий тендер|2018]] * [[2018 ба 2022 оны хөлбөмбөгийн ДАШТ-ий тендер|2022]] * [[2026 оны хөлбөмбөгийн ДАШТ-ий тендер|2026]] * ''[[2030 оны хөлбөмбөгийн ДАШТ|2030]]'' | group8 = [[Хөлбөмбөгийн ДАШТ-ий шүүгчид|Албаны хүмүүс]] | list8 = * [[2010 оны ДАШТ-ий албаны хүмүүс|2010]] * [[2014 оны ДАШТ-ий албаны хүмүүс|2014]] * [[2018 оны ДАШТ-ий албаны хүмүүс|2018]] * [[2022 оны ДАШТ-ий албаны хүмүүс|2022]] | group9 = Үзүүлэлт | list9 = | group10 = [[Хөлбөмбөгийн ДАШТ дэх үндэсний багуудын оролцоо|Багуудын оролцоо]] | list10 = * [[Хөлбөмбөгийн ДАШТ дэх азийн улсууд|AFC]] * [[Хөлбөмбөгийн ДАШТ дэх африкын улсууд|CAF]] * [[Хөлбөмбөгийн ДАШТ дэх хойд, төв америк ба карибын улсууд|CONCACAF]] * [[Хөлбөмбөгийн ДАШТ дэх өмнөд америкийн улсууд|CONMEBOL]] * [[Хөлбөмбөгийн ДАШТ дэх океанийн улсууд|OFC]] * [[Хөлбөмбөгийн ДАШТ дэх европын улсууд|UEFA]] |belowclass = hlist |below = *{{sup|1}} There was no qualification for the 1930 World Cup as places were given by invitation only. *{{sup|2}} No final held; the article is about the decisive match of the final group stage. ---- * {{icon|category}} [[:Category:FIFA World Cup|Category]] * {{icon|commons}} [[:commons:Category:FIFA World Cup|Commons]] }} <noinclude> {{pp-template}} {{collapsible option}} [[Ангилал:Загвар:Хөтлөгч мөр Хөлбөмбөгийн ДАШТ|ДАШТ]] </noinclude> 6eux7deqco7ggish9kuuuiwdbrtd3jz Загвар:Football kit 10 22276 860762 386508 2026-07-01T02:49:02Z Enkhsaihan2005 64429 [[Загвар:Хөлбөмбөгийн өмсгөл]] руу чиглүүлэгдлээ 860762 wikitext text/x-wiki #ЧИГЛҮҮЛЭГ [[Загвар:Хөлбөмбөгийн өмсгөл]] 3uku32ubk10gxqdp45jnr6e7mlrp4p3 Гэрэл зураг 0 22326 860747 860310 2026-07-01T01:09:01Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860747 wikitext text/x-wiki [[Файл:Large format camera lens.jpg|thumb|right|Том форматтай камерын линз.]] '''Гэрэл зураг-'''гэрэл зургийн хальс эсвэл электрон зураг-мэдрэгч зэрэг [[цацаргалт]] мэдрэмтгий зүйлс дээрх цацаргалтыг буулгаж авах замаар зураг үүсгэх практик, шинжлэх ухаан бөгөөд урлаг юм. Линз нь ямар нэг обьектоос ялгарах эсвэл тухайн обьект дээр тусаад хугарсан гэрлийн цацрагийн фокусыг тааруулан, камерын дотор байрлах гэрэл мэдрэмтгий гадарга дээр бодит дүрс болгон буулгахад ашиглагддаг. Улмаар электрон дүрс мэдрэгч нь дүрсийг пикселийн (нягтрал) нарийвчлалаар буулган, боловсруулж дижитал файл хэлбэрээр хадгалдаг. Зураг, видео хэлбэрээр хадгалагдсан дижитал файлыг зургийн аппаратнаас шууд үзэх, компьютер лүү хуулах, дэлгэцээр харуулах буюу студид угааж, принтерээр хэвлэн ашиглаж болдог. Гэрэл зургийг шинжлэх ухаан, үйлдвэрлэл, бизнест өргөнөөр ашиглахын зэрэгцээ урлаг, уран бүтээл, харилцаа холбооны зорилгоор түгээмэл ашигладаг. Гэрэл зургийн ач холбогдол бол түүхэн баримт болдог гол онцлогтой юм. == Үгийн гарал зүй == Фотограф гэдэг үг нь Грекийн φωτός (''phōtos'') буюу гэрэл<ref>[http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%3A1999.04.0057%3Aentry%3Dfa%2Fos φάος], Henry George Liddell, Robert Scott, ''A Greek-English Lexicon'', on Perseus</ref> болон γραφή (''graphé'') буюу зураг<ref>[http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%3A1999.04.0057%3Aentry%3Dgrafh%2F γραφή], Henry George Liddell, Robert Scott, ''A Greek-English Lexicon'', on Perseus</ref> гэсэн хоёр үгний нийлбэр юм.<ref>Harper, Douglas. [http://www.etymonline.com/index.php?term=photograph "photograph"]. ''[[Online Etymology Dictionary]]''.</ref> == Түүх == === Анхны технологи === [[File:Camera obscura box.jpg|thumb|Зураг зурахад ашиглагддаг хайрцган аппарат]] Гэрэл зураг нь хэд хэдэн технологийн нийлбэр юм. Анхны гэрэл зураг гарахаас өмнө Хятадын философич Мо Ди болон Грекийн математикч [[Аристотель]], [[Евклид]] нар МЭӨ 4, 5-р зуунд хайрганы нүхээр гэрэл тусган зураг зурах камерны талаар дүрсэлсэн байдаг.<ref>Campbell, Jan (2005) ''[http://books.google.com/books?id=lOEqvkmSxhsC&pg=PA114 Film and cinema spectatorship: melodrama and mimesis]''. Polity. p. 114. [[:en:Special:BookSources/074562930X|ISBN 0-7456-2930-X]]</ref><ref>http://books.google.com/?id=MTXdplfiz-cC&pg=PA20</ref> Хүн төрөлхтний хөгжил дэвшлийн гайхамшгийн нэг болох гэрэл зургийн түүх эртний Арабын физикч, математикч, эмч, филисофич [[Ибн-Аль-Хайсам|Ибн-Аль-Хайсамын]] нэртэй салшгүй холбоотой. Дундад зууны Европт Альхазен хэмээн алдаршсан тэрээр 965 онд төрж 1039 онд өөд болсон ба тухайн үеийнхээ хамгийн өндөр боловсролыг эзэмшиж, гэрэл, гэрлийн туяаны тухай тодорхой бүх л мэдэгдэхүүнийг тусгасан оптикийн тухай шинжлэх ухааны өгүүллээ бичжээ. Тэр үед гэрэл зургийн талаар ямар ч ойлголт байхгүй байсан боловч чухам энэ эрдэмтэн гэрэл зургийн аппарат маягийн зүйл хийсэн нь өнөөгийн бидний сонирхлыг ихэд татдаг. Үүний тулд тэрээр жирийн 1 хайрцаг авч 1 талд нь цоолж нүх гаргаад түүнийхээ өмнө хэд хэдэн лаа асаажээ. Нүхний эсрэг талд цулгай дэлгэц буюу самбар байрлуулахад уг дэлгэц буюу самбар дээр лаануудын доош харсан дүрс гардаг болохыг нээжээ. Ийнхүү Ибн-Аль-Хайсам 200 жилийн дараа харанхуй каамер хэмээх нэр хүртсэн зүйлийг нээсэн хийгээд энэ нь түүний хийдэг ердийн туршилтуудын 1 байсан тул өөрийн нээлтэндээ төдийлөн ач холбогдол өгөлгүй орхисон бөгөөд Европ тив үүнийг 200 жилийн дараа олж мэджээ. === Дундад зуун<ref name=":0">http://jagaa.blogmn.net/21813/gerel-zurgiin-tuuhees.html</ref> === 1519 онд алдарт [[Леонардо да Винчи]] харанхуй камерийг шинжлэх ухааны ажиглалт хийхэд чухал төхөөрөмж гэж нэрлэсэн тэмдэглэл бичжээ. 1544 онд [[Нидерланд|Нидерландын]] математикч Хээма Фрийзиус түүний тусламжтайгаар нарны хиртэлтэнд анх ажиглалт хийж байсан түүхтэй. 16-р зууны дунд үед Италийн иргэн Жамбаттиссаделла Поорте харанхуй камерийн нүхэнд линз суулгах санаа төрсөн бөгөөд ингэснээр дүрсний чанарыг эрс сайжруулж, улам боловсронгуй болсон тул тэр дорхноо л аялагчид, зураачдын байнгын дагуул болжээ. Цаасан дээр гарсан оптик дүрсийг тэд үзэг харандаагаар дагуулан тодруулдаг байв. Шинжлэх ухааны лабораторит энэ нь өнөөдрийн гэрэл зургийн аппарат буюу туршлагыг бүртгэгч дуран байлаа. Астрономич Иохами Кээплэр суурин дээрээ эргэж, тал бүр тийш харах боломжтой, салхин тээрэмний хэмжээтэй харанхуй камерийг зохион бүтээв. Оросын эрдэмтэн [[Михаил Васильевич Ломоносов|Михаил Ломоносов]] лаборантууддаа, машинуудыг зурахад харанхуй камерийг байнга ашиглах шаардлага тавьдаг байв. Германы эрдэмтэн, физикч Крийстоф Шлайнэр харанхуй камерыг нар руу чиглүүлэв. Түүний дуран Кээплэрийн зөвлөснөөр 2 хэсэг цуглуулагч линзээс бүрдэж байснаараа [[Галилео Галилей|Галилео Галилейн]] дурангаас ялгарч байсан бөгөөд алсад буй зүйлүүдийн бодит дүрсийг дамжуулах боломжийг хангасан байна. Эрдэмтэд энэ камерийн тусламжтайгаар Галилейн нээсэн толбоноос гадна, гадаргуу дээр гарсан хаягдлууд тод ажиглагдаж буйг тогтоожээ. Үүнээс дахин 2 зууны дараа Францын одон орон судлаач, физикч [[Доминик Франсуа Жан Араго]] тэднийг дахин нээж “протуберац” ([[Герман хэл|герман]]. ''Protuberanzen'', лат. ''protubero'') хэмээн нэрлэжээ. Энэ үед эрдэмтэд бийр хэрэглэлгүй, зөвхөн гэрлээр зурах боломжийг шургуу судалж байлаа. Өөрөөр хэлбэл, дурангийн цуглуулж өгсөн дүрсийг бэхжүүлэх аргыг олох хэрэгтэй байв. Харанхуй камерийг гэрэл зургийн аппарат болгон хувиргах шаардлагатай байлаа. === 19-р зуун<ref name=":0" /> === 19-р зууны хамгийн гайхамшигтай бөгөөд ач холбогдолтой нээлтүүдийн нэг болох гэрэл зургийг Нийсэфор Ньепс (1765-1833) анхны харанхуй камерийг хийсэн. Тэр гэрлийн тусламжтайгаар сийлбэр хэвлэх хэв хийхийг мөрөөдөж, чулуун бараар хэвлэх аргатай нилээд нарийн танилцаж өөрийнхээ хийж буй зүйлээ гелиографи гэж нэрлэжээ. Мөн 1822 онд Парисын Маре гудамжинд Луи Жак Дагэр ([[Франц хэл|франц]]. ''Louis Jacques Mandé Daguerre'', 1787 —1851) “Диорама” хэмээх үзвэрийн газраа нээжээ. Тэрээр зургууд нь солигддог үзмэр хийсэн байна. Нимгэн, хагас тунгалаг даавуун дээр зурсан зургуудыг бүгдийг нь зэрэгцүүлэн сараалжуудаас зүүж байрлуулаад араас нь ээлжлэн гэрэлтүүлдэг байжээ. Үзэгчид гэгээн цагаан өдөр гэнэт шөнө болж хөгжмийн аялгуунд гоёмсог зураг харж байгаагаа гайхаж, шагшран магтаж байхад Дагэрт гэрлийн дүрсийг бэхжүүлэх аргыг олох санаа эргэлдсээр байв. Тэрээр тухайн үеийн бусад зураачдын адил харанхуй камер ашиглан зурдаг байсан бөгөөд оптикийг ч муугүй мэддэг байв. Ж.Дагэр францын зохион бүтээгч [[Жозеф Ньепс|Жозеф Нийсэфор Ньепс]] ([[Франц хэл|франц]]. ''Joseph Nicéphore Niépce''; 1765 —1833) тухай сонсоод түүнд захидал бичиж 1827 онд танилцаад 1829 онд хамтран ажиллаж, шинэчлэл хийхээр “Ноён Ньепсийн нээж ноён Дагэрийн боловсронгуй болгосон гелиографи” гэдэг нэртэй гэрээ байгуулжээ. Дагэр Ньепсийн олж харж чадаагүй хэв-барнаас хуулбарлах, байгаа байдлаар нь зураг авах 2-ын ялгааг ойлгож хөрөг зураг нь өнгөнүүдийн хувьд зөв, тод дамжуулахыг хамгаас илүү шаарддаг учир зураг авах хугацаа 5 хоромоос хэтрэх ёсгүй хэмээн үзэж йодоор боловсруулсан мөнгөөр бүрхсэн ялтас ашиглахыг санал болгожээ. Йодот мөнгө ашигласнаар орчин үеийн гэрэл зургийн аргад тун дөхөж ирсэн хэдий ч бүр 1818 онд Английн астрономч Жон Хээршэл йодот мөнгөний харлах процессыг тиосульфит зогсоодог болохыг нээснийг тэд мэдэж чадаагүй юм. Ньепсийг нас барсны дараа Даагэр йодот мөнгөөр богино хугацаанд позитив дүрс гаргаж бэхжүүлэх аргыг олж даагэреотип хэмээн нэрлэжээ. Энэ арга нь Ньепсийнхээс огт өөр арга байсан ч хамтын ажиллагааны гэрээ хүчин төгөлдөр хэвээр байсан тул дундынх болжээ. Даагэрийн нээсэн энэ арга маш энгийн бөгөөд түгээмэл байсан тул тэр дороо л нийтэд хүртээл болсон байна. Өөрийн дүрс-Даагэреотипийг харахыг хүсэгчид маш олон байсан ба тэдний хэрэгцээний хирээр харанхуй каамер, химийн бодисууд, дуран, мөнгөжүүлсэн ялтсуудыг үйлдвэрлэж эхлэв.Мөнгөн усны уураар дүрс тодруулах болон тиосульфитаар бэхжүүлэх аргыг ч Даагэр /Жооно Хээршэлийн нээснийг мэдэлгүйгээр/ нээжээ. Гэвч энэ бүгдийг Даагэр өөрөө санаачилсангүй, зөвхөн Ньепсийн санааг үргэлжлүүлж байж олж нээжээ. Гелиограф анх гарснаас хойш 13 жилийн дараа буюу 1839 оны 1-р сард Парисын ШУА-ийн хурал дээр нэрт эрдэмтэн, улс төрийн зүтгэлтэн Доминик-Франсуа Араго анх Луи Дагэр, Нийсэфор Ньепс нар хавтгай метал гадаргуу дээр объектуудын гэрлийн дүрсийг бэхжүүлэн авах боломжийг нээснийг илтгэжээ. Энэ үед Английн эрдэмтэн [[Уильям Тальбот|Уильям Фокс Тальбот]] ([[Англи хэл|англи]]. ''William Henry Fox Talbot''; 1800 —1877) харанхуй камер ашиглан дүрс буулгах процессыг сонирхож 1835 онд буюу ажиллаж эхэлснээсээ хойш 2 жилийн дараа, өөрийн байшин болон Лакокийн сүмийн зургийг авч чаджээ. Эдгээр зургийг 2 цагийн хугацаатай барил өгч авсан хэдий ч анхны, жинхэнэ гэрэл зургийн негативууд /энэ нэрийг Таальбот өгчээ/ байжээ. Гэвч Тальбот туршилтаа төдхөн орхисон байна. 1839 оны 1-р сарын сүүлчээр Уильям Тальбот Лондоны Эзэн хааны нийгэмлэгийн хурал дээр өөрийн нээсэн калотайпийн аргын тухай илтгэл тавьж гэрэл зургийг боловсронгуй болгох талаар ажиллаж эхэлсэн байна. Ингээд хэдхэн сарын дараа азот хүчлийн мөнгө бүхий хальсан дээр авдаг болсноор дүрсийг ердөө л 3 хоромд буулгах боломжтой болжээ. Таальбот өөрийн аргаа шууд гаргаж тавьсан бол дагэреотипийг гаргалгүйгээр мөхөөж чадах байсан ба нэгэнт их хүч хөрөнгө зарж бүтээсэн Даагэротипийг 10 жилийн дараа калотайп шахан гаргажээ. Хожим нь энэ арга эхлээд хуурай, дараа нь нойтон желатин ялтсуудад шахагдан өөрчлөгдсөн билээ. Ийнхүү хүн төрөлхтний олон чухал нээлтийн нэг болох гэрэл зураг урлагийн болон аж үйлдвэрийн шинэ салбар болон үүсэж хөгсөн байна. Хожим бромт мөнгө, хлорт мөнгө, йодот мөнгө зэрэг бодисуудаар гэрэл мэдрүүлэн, метол, эсвэл гидрохиноноор тодруулаад тиосульфат натригаар зогсоож төрөл бүрийн гадаргууд буулгадаг болсныг өнөөгийн бид хэрэглэж байна. Шинжлэх ухаан техникийн дэвшлийн эрин - өнөө үед тоон програмт зураг үүсэн хөгжиж байгаа нь зарим талаараа гэрэл зургийн ач холбогдлыг бууруулсан нь гэмт хэрэгтэн этгээдүүдийн бүртгэлээр ХIХ зууны сүүл үед баруун Европыг дагуулан шуугиулж байсан Бертильонаж буюу антропометрийн хэмжил зүйн арга ХХ зууны эхэнд дактилоскопихэмээх гарын мөрний ухаанд зайгаа тавин өгсөнтэй төстэй ч бодит байдлыг дүрслэх чадал, засвар хийх, хуурамчаар үйлдсэнийг тогтоох боломж өндрөөрөө урлаг, криминалистик зэрэг салбарт үнэлж баршгүй хэвээрээ байна. === Хар цагаан зураг === Бүх гэрэл зураг эхэндээ зөвхөн хар, цагаан өнгөтэй. Хар, цагаан зураг нь саарал болон цэнхэр, бор шаргал туяатай гардаг байсан. Одоо хэр нь камераар хар, цагаан зураг дарж болохоос гадна зөвхөн хар, цагаан зураг дардаг камер ч байдаг. Мөн зураг засварлах програмуудад хар, цагаан болгох үйлдлүүд байдаг. === Өнгөт зураг === 1903 онд авсан өнгөт зураг байдаг. Тухайн үед тусгай төхөөрөмж ашиглан, маш удаан хугацааны туршид зургийг бүтээж, хэвлэдэг байсан. Өнгөтөөр зураг авах боломжийг 1840 оны үеэс судалж эхэлсэн. Эхэн үед өнгөт зураг гэрэлд цохигдох, их хугацаа шаардах гэх мэт сул талтай байсан. 1855 онд физикч [[Жеймс Клерк Максвелл]] ([[Англи хэл|англи]]. ''James Clerk Maxwell''; 1831—1879) гурван үндсэн өнгийг тусгаарлах зарчмын талаар судалгаа гаргасан бөгөөд '''''1861''''' онд энэ зарчмын дагуу анхны өнгөт зургийг авсан. Максвелл улаан, ногоон, цэнхэр шүүлтүүр ашиглан 3 ширхэг хар, цагаан зураг авч, дараа нь нийлүүлэх замаар өнгөт зураг гаргаж авах санаа гаргажээ. 1860-аад оны сүүлээр Луйс Дукос ду Хаурон өнгөт зураг хэвлэх аргийг нээсэн. Улмаар хальс хийж зураг дарах камер бүтээгдэх болж 1935 он гэхэд Кодак өнгөт хальсыг нэвтрүүлсэн. Үүнтэй төстэй "''Agfacolor Neu"'' хальсыг Agfa компани 1936 онд бүтээжээ. 1963 онд Поларойд компани зураг дарсны дараа 1-2 минутын дотор хэвлэн гаргах камер гаргасан байна. 1995-2005 оны хооронд дижитал камер хэрэглээнд хүчтэй нэвтрэх болсон. === Дижитал гэрэл зураг === 1981 онд Японы [[Sony|"Sony"]] компани энгийн хүмүүс ашиглаж болох анхны хагас дижитал камерыг худалдаанд гаргасан. Мавика хэмээх энэхүү камер нь дүрсийг дискэнд хадгалдаг байсан бөгөөд дискэн дээр хадгалагдсан дүрсийг дэлгэцээр харах боломжтой байсан. 1991 онд Кодак анхны дижитал камер болох DCS 100-г гаргасан. Энэ камер өндөр үнэтэй байсан хэдий ч сэтгүүлч, мэргэжлийн гэрэл зурагчид өргөнөөр ашиглаж эхэлсэн байна. Дижитал камер нь электрон дүрс мэдрэгч ашиглан дүрсийг электрон дата болгон хадгалдаг бөгөөд өмнөх үеийн камеруудаас ялгаатай нь зураг угаах гэх мэт химийн процесс ашигладаггүй юм. Дижитал зургийг төрөл бүрийн янзалж, өөрчлөх боломжтой. Өнөөдөр дэлхий даяар дижитал камер болон ухаалаг гар утас ашиглан зураг авах болсон билээ. === Нийлэг гэрэл зураг === Нийлэг гэрэл зураг нь компьютер орчинд авах зураг бөгөөд зураг авалт нь бодитоор зураг авч байгаа мэт загварчлагдсан байдаг. Дижитал ертөнцөд дижитал зураг авалт хийх нь бодит ертөнцөд зураг авах хэмжээ, хязгаарыг давах боломжийг бий болгосон.<ref>{{cite conference|url = http://www.zhongart.com/marcol/premier/photoA_files/synthesis%20photography%20and%20architecture.html|title = Synthesis photography and architecture|last1 = Paux|first1 = Marc-Olivier|date = 1 February 2011|conference = [[Imagina]]|location = Monaco}}</ref> == Камерны түүхэн хөгжил == <!-- Images showing cameras typical for their time or cameras that were first of their kind (other suggestions for criterias?)--> <gallery widths="220" heights="180" perrow="5"> File:Studijskifotoaparat.JPG|19-р зууны 3 хөлтэй, студийн камер File:Box Camera.jpg|Чиглүүлээд зураг дарах [[хайрцган камер]], кино зураг авалтад ашиглагддаг анхны камер, c. 1910 File:No1-A Autographic Kodak Jr.jpg|Kodak-ийн хураадаг камер 1922 File:Leica-II-Camera-1932 cropped.jpg|[[Leica Camera|Leica-II]], [[135 мм]] кино зураг авалтын анхны камеруудын нэг, 1932 File:Contax-s.jpg|[[Contax]] S 1949&nbsp;– анхны [[олон талт призмт камер]] [[Single-lens reflex camera|SLR]] File:Polaroid Colorpack 80.jpg|Polaroid Colorpack 80 зураг хэвлэдэг камер, c 1975 File:Photography using Canon Digital IXUS 850 IS.jpg|[[Дижитал камер]], [[Canon Ixus]] загвар, c. 2000. File:Capas-d1.jpg|Nikon D1, анхны [[digital single-lens reflex camera|digital SLR]] сурвалжлага, спортын зураг авалтад ашиглагддаг, c. 2000 File:Phone photography.jpg|[[Ухаалаг утас]], c. 2010 </gallery> == Техникийн шинж чанар == Камер бол зураг авах хэрэгсэл бөгөөд дуу бичлэг хураах төхөөрөмж суулгаснаар видео бичлэг хийх буюу кино зураг авалт хийх боломжтой болсон. Дижитал сорон болон электрон соронзон бүхий санах ойтой.<ref>http://www.dpreview.com/learn/?/glossary/</ref> == Эшлэл == {{Reflist}} [[Ангилал:Гэрэл зураг| ]] [[Ангилал:Дүрслэх урлагийн төрөл]] [[Ангилал:Уран сайхны арга техник]] [[Ангилал:Хуулбарлах техник]] 5pyj00q6814qpoxzn4g7h56x53rq6j2 Илья Репин 0 24136 860750 859284 2026-07-01T01:52:30Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860750 wikitext text/x-wiki {{Инфобокс Урлагийнхан | name = Илья Репин | Img = REPIN portret REPIN.jpg | imagesize = 150px | caption = Өөрийн зурсан хөрөг, 1878 он ([[Санкт-Петербург]] дахь [[Оросын Үндэсний музей]]н сангаас). | Birth_name = Илья Ефимович Репин | Born = [[1844]] оны [[8 сарын 5]] (хуучин тооллоор [[7 сарын 24]] | birth_place = [[Оросын Хаант Улс]], [[Чугуев]]<br>(одоогийн [[Украйн]]) | Died = {{death date and age|1930|9|29|1844|8|5}} | death_place = [[Финланд]], [[Куоккала]]<br>(одоогийн [[Орос]]) | nationality = [[Оросын Хаант Улс]] | Occupation = [[Уран зураг|уран зураач]], [[Уран баримал|барималч]] | training = | movement = [[Реализм (урлаг)|Реализм]] | works = | patrons = | awards = }} '''Илья Ефимович Репин''' ({{lang-uk|Ілля Юхимович Рєпін}}, ''[[1844]] оны [[8 сарын 5|наймдугаар сарын 5]] (<small>хуучин тооллоор</small> [[7 сарын 24|долоодугаар сарын 24]] – [[1930]] оны [[9 сарын 29|есдүгээр сарын 29]]'') нь [[Орос]]ын<ref>[http://www.britannica.com/eb/article-9063225/Ilya-Yefimovich-Repin Ilya Yefimovich Repin – Britannica Online Encyclopedia]</ref> нэрт [[Уран зураг|уран зураач]], цээж зурагчин бөгөөд [[Передвижники]] буюу [[Реализм|реалист]] зураачдын бүлгэмийн гишүүн байв. == Намтар == И.Репин Украины [[Харьков муж|Харьков мужийн]] Чугуев хотод төржээ. Эцэг Ефим Васильевич (1804—1894) цэргийн албан хаагч байсан. Эх Татьяна Степановна бичиг үсэг тайлагдсан, идэвхтэй эмэгтэй байсан тул хүүхдүүдийнхээ боловсролд анхаарал тавьж, сурган хүмүүжүүлж, А.Пушкин, Ю.Лермонтов, Жуковский нарын бүтээлүүдийг уншиж өгөөд зогсохгүй тариачдын хүүхдүүд, насанд хүрэгчдийн сурдаг жижиг сургууль зохион байгуулж байжээ. Илья хүү эртнээс зураг зурах дур сонирхолтой болсон, 1855 онд түүнийг газарзүйн хэвлэлийн сургуульд явуулсан боловч 1857 онд сургууль нь хаагдаж Илья Репин бурхан зурдаг И.М.Бунаковын урланд оржээ. Репин тэндээ хурдан шилдэг нь болж, 16 настайдаа сүм хийд барих, сэргээн засварлах чиглэлээр ажилладаг артельд уригдан орж сүүлдээ бие даан ажиллаж эхэлсэн байна. 1863 онд И.Репин Санкт -Петербург хотод очиж Урлагийн академид элсэхээр шийджээ. "Би шууд ороогүй, харин оройн урлагийн сургуульд сурсны дараа шийдсэн" гэж дурсаж байжээ. Гэхдээ 1863 оноос тэрээр Академийн оюутан болсон (1871 он хүртэл). И.Крамской, В.Поленов нар түүнтэй ойртон нөхөрлөсөн байна. 8 жилийн турш тэрээр Академийн том алтан медаль зэрэг хэд хэдэн шагнал хүртэсэн ажээ. 1873-1876 онуудад Илья Репин гадаадад амьдарч [[Испани]], [[Итали]] орноор аялж, Францын [[Парис]]<nowiki/>т суурьшиж, нутгийн импрессионистуудтай уулзаж, ялангуяа [[Клод Моне]]-д дурлажээ. Чухамдаа Парис хотод тэрээр академич цол хүртсэн, мөн шүүмжлэлд өртөж байсан "Садко" зургаа зуржээ. 1877-1882 онуудад зураач Москвад амьдарч, аялагчдын холбооны идэвхтэй гишүүн байжээ. Яг энэ үед тэрээр "Царевна София" зургийг зурж, хамгийн сайн сурагч [[Валентин Серов]]<nowiki/>той хамтран ажиллаж эхэлсэн юм. Үүний зэрэгцээ зураач хэдхэн хоногийн дараа нас барсан хөгжмийн зохиолч [[Модест Мусоргский|М.Мусоргский]]<nowiki/>н хөргийг зуржээ. Энэхүү бүтээл нь шүүмжлэгчдийг гайхшруулсан байдаг. 1883-1900 онуудад зураач [[Санкт-Петербург]] хотод амьдарсан. Энэ үеэр тэрээр хамгийн гайхалтай бүтээлүүдээ бичжээ: "Аймшигтай Иван ба түүний хүү Иван", "Тэд хүлээж байсангүй", "Казакууд ...", "Төрийн зөвлөлийн ойн уулзалт" ([[III Александр]] хааны захиалгаар). Хэсэг хугацаанд [[Александр Бенуа|А.Бенуа]], [[Сергей Дягилев|С.Дягилев]] нарын нөлөөнд автсан И.Репин "Урлагийн ертөнц" -ийн гишүүн болжээ. 1894 оноос хойш тэрээр Урлагийн академид багшилж байв. Зураачийн анхны эхнэр нь түүний найзын дүү Вера Шевцова байв. Гэрлэлт амжилтгүй болж 15 жилийн дараа хосууд салж, хүүхдүүдийг "хувааж": томчуудыг аав нь авч, бага нь ээжтэйгээ үлджээ. И.Репин хүүхдүүдэд маш их хайртай байсан бөгөөд ихэвчлэн гэр бүлийн хөрөг зурдаг байв. Зураачийн хоёр дахь эхнэр нь Финляндын Пената (Куоккала) өнөөгийн оросын "Репино" тосгонд амьдарч байсан зохиолч Наталья Борисовна Нордман байв. Нордманыг "сонин ааштай" гэдгээрээ алдартай байсан ч гэрлэлт их сайхан байсан. Зохиолч К.Чуковский түүний талаар тийм ч таатай ханддаггүй байв (зохиолч нь зураачийн сайн найз байсан бөгөөд 1925 онд ЗХУ руу нүүхийг зөвлөсөн байв). 1914 онд Илья Репин ганцаараа үлдэж дахиж хэзээ ч гэрлээгүй ажээ. 1918 онд [[Финланд]] тусгаар тогтнож [[Куоккала]] оросын нутаг биш болж Репин Орос нутгаас тусгаарлагдсан байна. Орос руу буцаах гэж найз нөхөд хүүхдүүд нь оролдсон боловч тэрээр өөрөө нас өндөр болсон гээд буцах сонирхолгүй байжээ. Зураач 1930 оны 9-р сарын 29-нд Пенаты (Куоккала буюу 1948 оноос хойш оросын "Репино" ) тосгонд нас баржээ. Тэнд нь оршуулсан байна. Тэрээр амьдралынхаа эцэс хүртэл оюун санаагаа цэвэр байлгаж, ажиллахыг хичээж ирсэн гэдэг. ==Амьдрал ба уран бүтээл== [[File:Kurskaya korennaya.jpg|thumb|right|300px|''Курскт Гэлэн айчилж буй нь'', 1880–83 ([[Москва]], [[Третьяковын уран зургийн галерей]]).]] [[File:Repin Cossacks.jpg|thumb|left|300px|''[[Туркийн Султан хаанд илгээх захидал]]'', 1880–91 (Оросын Үндэсний музей).]] {{clear}} ==Зургийн цомог== <gallery perrow="4" widths="160" heights="190"> Файл:REPIN Ivan Terrible&Ivan.jpg|''[[IV Иван|Догшин Иван]] хүү Ивантайгаа [[1581]] оны [[11 сарын 16|арваннэгдүгээр сарын 16-ны]] Баасан гаригт'', 1870–1873 ([[Москва]], [[Третьяковын уран зургийн галерей]]) Файл:Ilia Efimovich Repin (1844-1930) - Volga Boatmen (1870-1873).jpg|''[[Ижил мөрний барлагууд]]'', 1870–73 ([[Санкт-Петербург]], [[Оросын Үндэсний музей]]) Файл:Sadko.jpg|''[[Садко]] усан доорхи хаант улсад зочилсон нь'', 1876 (Оросын Үндэсний музей) Файл:Ilja Jefimowitsch Repin 002.jpg|''Алим ба навчис'', 1879 (Оросын Үндэсний музей) Файл:Ilja Jefimowitsch Repin 001.jpg|Үдэшлэг, 1883 Файл:Grand Duke's bride by Repin.jpg|Гүнгийн сүйт бүсгүй, 1885 Файл:Ilya Efimovich Repin (1844-1930) - Portrait of Leo Tolstoy (1887).jpg|[[Лев Толстой]]н хөрөг, 1887 Файл:Ilja Jefimowitsch Repin - Saint Nicholas of Myra saves three innocents from death.jpg|[[Мира]]гийн [[Гэгээн Николай]] [[Ликия]]д 1889 Файл:Medeleeff by repin.jpg|[[Дмитрий Менделеев]]ийн хөрөг Файл:Ilja Jefimowitsch Repin 004.jpg|[[Лев Толстой]]н хөрөг, 1893 Файл:Zhirkiewicz1894.jpg|Зохиолч [[Александр Жиркевич]]ийн хөрөг, 1894 Файл:Wedding of Nicholas II and Alexandra Feodorovna by Ilja Repin (1894, Russian museum).jpg|[[Николай II|Николай]] болон [[Александра Фёдоровна]] нарын хурим, 1894 Файл:Repin state council2.jpg|1900 оны Төрийн зөвлөлийн ёслол хүндэтгэлийн хурал Файл:Modest Músorgski, por Iliá Repin.jpg|Хөгжимийн зохиолч [[Модест Мусоргский]] Файл:Rubinstein repin.jpg|[[Антон Рубинштейн]] Файл:RepinPaintersDaughter.jpg|Зураачийн охин Файл:Pobedonostsev by repin.jpg|[[Константин Победоносцев]] (эскиз) Файл:Sophia Alekseyevna, by Ilya Repin.jpg|[[Софья Алексеевна]] Файл:Fet by Repin.jpg|[[Афанасий Фет]] Файл:Ilja Jefimowitsch Repin - Portrait of Vladimir Stasov.jpg|[[Владимир Стасов]] Файл:Ilja Jefimowitsch Repin - Portrait of Pavel Mikhaïlovitch Trétiakov.jpg|[[Павел Михайлович Третьяков]] Файл:Pisemsky by Repin.jpg|[[Алексей Писемский]] Файл:Pushkin derzhavin.jpg|[[Александр Сергеевич Пушкин|Пушкин]] [[Гавриил Державин|Державины]] өмнө шүлгээ уншиж буй нь (1911) Файл:Repin 17October.jpg|''[[Аравдугаар сарын тунхаг бичиг|1905 оны 10 сарын 17]]'', 1906–1911 Файл:Nicolas II of Russia by Iliya Repin.jpg|alt=II Николай|Эзэн хаан [[II Николай]] (эскиз) Файл:Archdeacon by Repin.jpg|''[[Протодиакон]]'', 1877 (Третьяковын уран зургийн галерей) Файл:Ilya Repin - Portrait of Mykola Murashko.jpg|Профессор Ивановын хөрөг, 1882 Файл:Tolstoy by Repin 1901.jpg|[[Лев Толстой|Толстойн]] тариачин хувцастай хөрөг, 1901 Файл:Radov by Repin.jpg|"[[Мужик]]ийн харц" (1877), И.Ф. Радовын хөрөг — уран бүтээлчийн өвөг эцэг. </gallery> ==Эшлэл== {{Reflist}} ==Нэмэлтээр уншиж болох== *[https://web.archive.org/web/20120105140744/http://smallbay.ru/repin.html Илья Репин. Уран зураг болон намтар] *[https://web.archive.org/web/20120102023302/http://www.ilyarepin.org.ru/ Репин Илья Ефимович] *[https://web.archive.org/web/20080929081748/http://repin.chuguev.net/ Репиний ажил амьдралын талаар В.А. К. Шишановын туурвиснаар] *[https://web.archive.org/web/20080929081748/http://repin.chuguev.net/ В.А. К. Шишанов: РЕПИН ба БЕЛАРУСЬ] *[https://web.archive.org/web/20080929081748/http://repin.chuguev.net/ И.Е. Репиний нэрэмжит уран зургийн музей (Чугуев хотын)] *[https://web.archive.org/web/20090111181252/http://oiru.archeologia.ru/phorum/read.php?15,5626,5626 Валерий Шишанов ЗДРАВНЁВО: 1917 оны аравдугаар сарын дараа] *[http://sttp.ru/master33.html Волга мөрний онгоц чирэгчид (1870–1873)] *[http://the100.ru/en/painter/page1196.html Агуу уран зураач – Илья Репин] ==Намтар== *{{cite book|title=Russia on Canvas: Ilya Repin|last=Parker|first=Fan|coauthors=Stephen Jan Parker|year=1980|publisher=Pennsylvania State University Press|location=|isbn=0271002522}} Repeats the standard Soviet interpretation of Repin's life and work. *{{cite book|title=Ilya Repin: Painting Graphic Arts|last=Sternin|first=Grigory|year=1985|publisher=[[Auroras]]|location=[[Saint Petersburg|Leningrad]]}} Standard Soviet treatment, but well illustrated. *{{cite book|title=Ilya Repin and the World of Russian Art|last=Valkenier|first=Elizabeth Kridl|year=1990|publisher=[[Columbia University Press]]|location=[[New York City|New York]]|isbn=0231069642}} Critical non-Soviet treatment with much fresh information, but geared primarily toward academics. *{{cite book|title=Art d'Ukraine|last=Marcadé|first=Valentine|year=1990|publisher=L'Age d'Homme|location=[[Lausanne]]|isbn=978-2825100318}} *Jackson, David, ''The Russian Vision: The Art of Ilya Repin'' (Schoten, Belgium, 2006?). *Karageorgevich, Prince Bojidar, "Professor Repin," in the Magazine of Art, xxiii. p.&nbsp;783 (1899) ==Холбоос== {{Commonscat|Ilya Yefimovich Repin|Илья Ефимович Репин}} {{Commonscat|Paintings by Ilya Yefimovich Repin|Илья Ефимович Репиний зурсан уран зургууд}} *[https://web.archive.org/web/20200218185529/http://www.ilyarepin.org/ IlyaRepin.org] Илья Репин 102 уран бүтээл *[https://web.archive.org/web/20150502142446/http://www.abcgallery.com/R/repin/repin.html Ольгагийн уран зургийн галерейд Илья Репин] *[http://www.russianartgallery.org/famous/repin.htm Оросын уран зургийн галерей дахь Репиний бүтээлүүд] *[[:ru:Музей-усадьба И. Е. Репина "Здравнево"|Repin "Zdrawneva" Manor House-Museum in Ruba, Bielarus.]] *[https://web.archive.org/web/20070927014550/http://www.russianmuseums.info/M267 Repin "Penaty" Estate in Repino/Kuokkala, Russia, currently a museum] *[https://web.archive.org/web/20080929081748/http://repin.chuguev.net/ Украйны Чугуев хот дахь Репиний гэр музей] *[https://web.archive.org/web/20060826174727/http://arthistory.heindorffhus.dk/frame-Repin.htm Илья Ефимович Репиний зурагтай шуудангийн марк] *{{Find a Grave|2989}} {{DEFAULTSORT:Репин, Илья Ефимович}} [[Ангилал:Оросын уран зураач]] [[Ангилал:Украины уран зураач]] [[Ангилал:Санкт-Петербургийн уран бүтээлч]] [[Ангилал:Реализмын уран зураач]] [[Ангилал:Хүндэт легионы гишүүн]] [[Ангилал:Оросууд]] [[Ангилал:1844 онд төрсөн]] [[Ангилал:1930 онд өнгөрсөн]] 3ju5zoses4iwym3c8jmfw2u0gkbepjd Атеизм 0 24173 860744 860294 2026-07-01T00:35:05Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860744 wikitext text/x-wiki [[Файл:Ephesians 2,12 - Greek atheos.jpg|thumb|right|250px| ''atheoi'' буюу αθεοι гэсэн "бурхангүй хүмүүс" хэмээх Грек үг]] '''Атеизм''' буюу '''Шашингүйн үзэл''' гэж бурхан орших явдалд итгэхгүй байх үзэл.<ref name=Nielsen-EB/> Илүү давчуу байдлаар тайлбарлавал атеизм гэдэг нь [[бурхан]] тэнгэр байхгүй хэмээх үзэл юм.<ref name=RoweRoutledge/><ref name=oxdicphil/> Өргөнөөр тайлбарлавал атеизм бол ямар нэгэн бурхан тэнгэр байдаг эсэхэд үл итгэх явдал билээ.<ref name=oxdicphil/><ref name=religioustolerance/><ref>{{cite encyclopedia |url=http://oxforddictionaries.com/definition/atheism |encyclopedia=Oxford Dictionaries |title=atheism |publisher=Oxford University Press |accessdate=2012-04-09 }}</ref> Атеизмийн эсрэг<ref name=reldef/><ref name=OED-theism /> болох [[Тейзм]] гэдэг нь ядаж нэг бурхан оршдогт итгэх явдал.<ref name=OED-theism>{{cite book |title=Oxford English Dictionary |edition=2nd |year=1989 |quote=Belief in a deity, or deities, as opposed to atheism}} </ref><ref> {{cite web |url=http://www.merriam-webster.com/dictionary/theism |title=Merriam-Webster Online Dictionary |quote=belief in the existence of a god or gods | accessdate=2011-04-09}}</ref> Атеизмийн үзэлтэй хүнийг Атеист гэнэ. Атеизм хэмээх үг нь Грек хэлний ἄθεος (''atheos'') буюу "бурхангүй" хэмээх үгнээс гаралтай бөгөөд үүнийг бүхэл нийгмээрээ бурхан тэнгэрт тахин шүтэх үзлийг эсэргүүцдэг хүмүүсийг тодорхойлдог, доош нь хийсэн утгатай үг байжээ. Чөлөөт үзэл баримтлал, эргэлзээт лавлагаа дэлгэрч, шашны шүүмжлэл ихэссэнээр тус үгийг хэрэглэх тохиолдол багасаж эхэлжээ. <ref name=KArmstrong>{{cite book |last=Armstrong |first=Karen |authorlink=Karen Armstrong |title=A History of God |year=1999 |publisher=London: Vintage |isbn=0-09-927367-5}} </ref> Атеистууд нь ер бусын зүйлтэй холбоотойгоор тайлбарладаг зүйлд эргэлзээтэй ханддаг бөгөөд баттай бодит үзэл баримтлалыг энэ тэргүүнд тавьдаг хүмүүс байдаг. Атеизм нь олонход ямар нэгэн бурхан тэнгэрт итгэхгүй байхыг зөвлөдөг. Атеизмийг дэмжигч маргаанууд нь гүн ухаан, нийгэм, түүх зэрэг олон олон шинжлэх ухаанаас гаралтай. Зарим атеистууд нь төрийг шашнаас тусгаарлах үзэлтэй<ref name=honderich/><ref> Fales, Evan. "Naturalism and Physicalism", in {{harvnb|Martin|2007|pp=122–131}}. </ref> байдаг ч хүмүүсийн дунд баримталдаг үзэл, философиуд нь ялгарах жишээтэй. Атеизм нь шашинг бодвол дэлхий ертөнцийг илүү хялбараар тайлбарладаг хэмээн олонх атеистууд хэлдэг бөгөөд ийм учраас атеизм нь бурхан байхгүйг батлах бус, эсрэгээр нь шашин нь бурхан байгаа гэдгийг тайлбарлах үүрэгтэй хэмээн үздэг.<ref>{{harvnb|Stenger|2007|pp=17–18}}, citing {{cite book|last=Parsons|first=Keith M.|title=God and the Burden of Proof: Plantinga, Swinburne, and the Analytical Defense of Theism|year=1989|location=Amherst, New York|publisher=Prometheus Books|isbn=978-0879755515}}</ref> Зарим шашин шүтлэгт атеизмийн дүр төрхүүд илэрдэг. Үүнд, [[Жайнизм]], [[Буддизм]], [[Хиндүизм]], [[Паган]] хөдөлгөөнүүд<ref name="Neopaganism">{{cite book|author=Carol S. Matthews|url=http://books.google.com/?id=RfGhUW8RdUIC&pg=PA194&dq=neopaganism+atheism#v=onepage&q&f=false|title=A New Vision A New Heart A Renewed Call - Volume Two|publisher=William Carey Library|quote=Although Neo-Pagans share common commitments to nature and spirit there is a diversity of beliefs and practices. Some are atheists, others are polytheists (several gods exists), some are pantheists (all is God) and others are panentheists (all is in God).|date=19 October 2009|isbn=9780878083640}} </ref> (Викка гэх мэт<ref name="Wicca">{{cite book|author=Carol S. Matthews|url=http://books.google.com/?id=stQQJlV9FT8C&pg=PA115&dq=neopaganism+atheism#v=onepage&q&f=false|title=New Religions|publisher=Chelsea House Publishers|quote=There is no universal worldview that all Neo-Pagans/Wiccans hold. One online information source indicates that depending on how the term ''God'' is defined, Neo-Pagans might be classified as monotheists, duotheists (two gods), polytheists, pantheists, or atheists.|date=19 October 2009|isbn=9780791080962}} </ref>), бурхангүй шашнууд хамаарагдана. Жайнизм болоод Буддизмийн зарим хэлбэрүүд нь бурханд итгэхийг санал болгодоггүй<ref>{{cite book |url=http://books.google.com.vc/books?id=Jb0rCQD9NcoC&printsec=frontcover#v=onepage&q=atheism&f=false |last=Kedar |first=Nath Tiwari |year=1997 |title=Comparative Religion |publisher=[[Motilal Banarsidass]] |isbn=81-208-0293-4 |page=50}} </ref> байхад Хиндүизм нь атеизмийг хүчинтэйд тооцдог ч дагаж мөрдөхөд хэцүү гэдэг.<ref>{{Cite book | last = Chakravarti| first = Sitansu| title = Hinduism, a way of life| publisher = Motilal Banarsidass Publ.| year = 1991| page = 71| url = http://books.google.com/?id=J_-rASTgw8wC&pg=PA71| isbn = 978-81-208-0899-7|quote = According to Hinduism, the path of the atheist is very difficult to follow in matters of spirituality, though it is a valid one. |accessdate=2011-04-09}} </ref> Атейзмийг тодорхойлогч шалгуурууд нь хоорондоо зөрчилддөг тул өнөө үед дэлхий дээрх Атейстуудын тоог тогтоох нь тийм ч амар биш юм.<ref name="Martin2007">{{cite book|last=Zuckerman|first=Phil|editor=Martin, Michael T|title=The Cambridge companion to atheism|year=2007|publisher=Cambridge University Press|location=Cambridge, England|isbn=0-521-84270-0|page=56|url=http://books.google.com/books?id=tAeFipOVx4MC&pg=PA56|accessdate=2011-04-09}} </ref> Нэгэн тооцоогоор дэлхийн хүн амын 2.3% нь атеистууд, 11.9% нь шашин шүтдэггүй гэсэн дүн гарчээ.<ref name="Britannica demographics">{{cite web |url=http://search.eb.com/eb/article-9432620 |title=Worldwide Adherents of All Religions by Six Continental Areas, Mid-2005 |publisher=Encyclopædia Britannica |year=2005 |accessdate=2007-04-15}} * 2.3% Atheists: Persons professing atheism, skepticism, disbelief, or irreligion, including the militantly antireligious (opposed to all religion). * 11.9% Nonreligious: Persons professing no religion, nonbelievers, agnostics, freethinkers, uninterested, or dereligionized secularists indifferent to all religion but not militantly so. </ref> Өөр нэг судалгаанаас харахад өөрсдийгөө атейст хэмээн тодорхойлсон хүмүүс нь барууныхны дунд хамгийн өндөр хувийг эзэлдэг, тухайлбал: [[Америкийн Нэгдсэн Улс|АНУ]]-4 %, [[Итали]]-7%, [[Испани]]-11%, [[Их Британи]]-17%, [[Герман]]-20%, [[Франц]]-32% байдаг байна.<ref name="Harris">{{cite web |url=http://www.harrisinteractive.com/news/allnewsbydate.asp?NewsID=1131 |title=Religious Views and Beliefs Vary Greatly by Country, According to the Latest Financial Times/Harris Poll |publisher=Financial Times/Harris Interactive |date=2006-12-20 | accessdate=2011-04-09}} </ref> Харин [[Монгол улс]]ад 2010 онд хийсэн хүн амын тооллогоор нийт хүн амын 38.6% нь шашин шүтдэггүй гэсэн дүн гарчээ.<ref>[http://toollogo2010.mn/doc/Statistic_undsen_ur_dun.pdf 2010 оны Хүн амын тооллого, Үндсэн дүн]</ref> == Үгний гарал болоод хэрэглээ == Эртний Грек хэлэнд ''atheos'' (ἄθεος) нь "бурхангүй" хэмээх утгатай тэмдэг нэр байв. Энэ үгийг анх бурханы эсрэг, сүсэггүй хэмээх шүүмжлэлийн байдлаар хэрэглэж байжээ. МЭӨ 5-р зуунд энэ үг нь илүү утга төгөлдөршиж бурхантай харилцаа холбоог тасалсан, бурхныг үгүйсгэсэн хэмээх утгатай болов. ἀσεβής (''asebēs'') хэмээх үгийг өөрийн бурхныг үл шүтэж эсэргүүцдэг ч бусад бурхныг шүтдэг хүмүүст оноох болов. Сонгодог бичвэрүүдийн орчин үеийн хөрвүүлгээр ''atheos''-ийг "atheistic" буюу "атеист тал руугаа" гэж орчуулах нь бий. [[Цицеро]] нь тус үгийг латин хэлнээ ''atheos'' гэж хөрвүүлжээ. Анхны [[Христийн шашин]]тнууд, [[Эртний Грекийн шашин]]д итгэгчид нар тус үгийг нөгөөдөө оноож доромжилдог байжээ. Атеист (atheist) хэмээх үг нь англи хэлнээ Атеизм хэмээх үгнээс өмнө гарч ирсэн бөгөөд анх 1566, 1571 онд хэрэглэгдэж байв. Бурхан шашин үл шүтэх хэмээх утгаар Атеист хэмээх нэршлийг хамгийн эртний үедээ 1577 оны үед хэрэглэж байжээ. Түүнтэй холбоотой үгс, нэршлүүд нь хожим бий болжээ: деист - 1621 онд, теист - 1662 онд, [[деизм]] - 1675 онд, [[теизм]] - 1678 онд. Тухайн үедээ деизм, деист хэмээх үгс нь одоогийнхоо тодорхойлолтоор явж байсан бол теизм хэмээх үг нь сүүлдээ деизмээс ялгарах болжээ. Карен Армстронг бичихдээ 16 болон 17-р зууны үед атеист хэмээх үг нь зөвхөн доромжлол байдлаар хэрэглэгддэг байсан - хэн ч өөрийгөө атеист хэмээхгүй байх байсан гэжээ. 17-р зууны дунд үед бурханд итгэхгүй байх нь боломжгүй зүйл хэмээн үздэг байв. 18-р зууны сүүл үед Европт ''Атеизм''-г анх өөртөө олгогч үзэл хэмээн үзэх болов - үүнд, монотеист Авраамийн бурханд (Христ, Лал, Жүдизмийн бурхан) итгэхгүй байх явдлыг. 20-р зуунд даяаршил бий болсноор тус үгийг бүхий л бурханд итгэхгүй байх явдалд хэрэглэх болсон. Зарим Атеистууд "Атеизм" хэмээх үг нь хэрэгцээгүй хэмээн тайлбарладаг. Сэм Харис ''Letter to a Christian Nation'' номондоо: <blockquote>''Атеизм'' хэмээх үг нь угтаа оршин тогтнох ёсгүй. Атеизм нь ердөө л ямар нэг учир шалтгаангүй шашны үзлийн эсрэг гаргадаг ухаалаг хүмүүсийн дуу авиа юм.</blockquote> === Эерэг, сөрөг гэх === Философчид тухайлахад Антони Флю болон Майкл Мартин нар эерэг Атеизм-ийг сөрөг Атеизм-тай (сул дорой зөөлөн) анх эерэгцүүлэн гаргаж иржээ. Эерэг Атеизм гэдэг бол бурхан гэж байдаггүй гэх үзлийг хүлээн зөвшөөрсөн үзэл баримтлал юм. Сөрөг Атеизм нь non-theism-ийн бүхий л хэлбэрүүдийг өөртөө багтаадаг. Энэ ангиллийн дагуу хэн ч эерэг ба сөрөг Атеист биш юм. Сул дорой ба хүчтэй Атеизм нь харьцангуй сүүлийн үеийнх ба эерэг ба сөрөг Атеизм нь өмнө нь үүссэн ба тэдгээрийг философи, уран зохиол болон католик өршөөлд хэрэглэгдэж байв. Энэхүү нэршлийн доор ихэнх үл мэдэгчдийг сөрөг Атейзмууд хэмээн нэрлэж байлаа. Мартины үед тухайлахад үл мэдэгчид нь сөрөг Атеизмыг баталдаг ихэнх үл мэдэгчид нь Атеизмын талаас үзэл бодлоо илэрхийлдэг ба энэ нь theism(физм)-ээс илүү харьцуулж үздэг байна. Бурхан байхгүй хэмээх үзэл нь заримдаа итгэл үнэмшилээ хаяхад хүргэдэг. === Практик атейзм === Практик буюу прагматик атеизмд бас анатизм ч гэж нэрлэгддэг хувь үзэл санаатнууд /хүмүүс/ нь хэрвээ бурхан гэж байгаагүй бол мөн байгалийн хуулийг ангилахгүйгээр тайлбарлах байсан гэдэг. Бурхан байгаа эсэх нь тодорхойгүй гэвч шаардлаггүй болон огт хэрэгцээгүй мэтээр төсөөлөгддөг гэвч бурхад хүний амьдралын зорилгыг тодорхойлохгүй бидэнд өдөр тутмын амьдралд нөлөөлөхгүй юм. Практик атеизмын хэлбэр нь шинжлэх ухааны харилцаа хамааралтай далд хамааралтай, энэхүү шинжлэх ухааны утга хамаарал нь байгалын ухаан юм. Натурал философийн шинжлэх ухааны аргад үндэслэн батлах /нотлох/ эсвэл шууд хүлээн зөвшөөрч түүнд бүрэн итгэж үнэмших явдал байлаа. Практик атеизм нь дараах хэлбэртэй байна. *Шашны оновчгүй байдал – бурханд итгэх нь хүний зан, ёс суртахуун, шашны зан үйл болон бусад ямар нэгэн үйл явдалд нөлөөлөхгүй. *Бурхан шашны аливаа зан үйлүүд нь оюун ухааны бөгөөд практик үйл хэргүүдээс ангид байх. *Ялгаагүй байх- бурхан шашны асуудлуудын сонирхолд нөлөөлөхгүй байх. *Бурхан шашин үл шүтэх үзэл санаанаас ангид байх. === Онолын атеизм === Онолын атейзм нь бурхан байдаг гэх үзэлтэй зарчмын хувьд гарч ирсэн Үүнд:Паскалийн Вагерийн маргааны хариулт нь байдаг. Үнэндээ Онолын атеизм бол үндсэндээ онтологик болон физик онотологик юм. == Ишлэл == {{Reflist|3 |refs= <ref name=Nielsen-EB> *{{Cite encyclopedia |first=Kai |last=Nielsen |authorlink=Kai Nielsen (philosopher) |encyclopedia=[[Encyclopædia Britannica]] |title=Atheism |url=http://www.britannica.com/EBchecked/topic/40634/atheism |year=2011 |quote=Instead of saying that an atheist is someone who believes that it is false or probably false that there is a God, a more adequate characterization of atheism consists in the more complex claim that to be an atheist is to be someone who rejects belief in God for the following reasons...: for an anthropomorphic God, the atheist rejects belief in God because it is false or probably false that there is a God; for a nonanthropomorphic God... because the concept of such a God is either meaningless, unintelligible, contradictory, incomprehensible, or incoherent; for the God portrayed by some modern or contemporary theologians or philosophers... because the concept of God in question is such that it merely masks an atheistic substance—e.g., "God" is just another name for love, or ... a symbolic term for moral ideals. |accessdate=2011-12-06 |ref=harv}} *{{Cite encyclopedia |title=Atheism |first=Paul |last=Edwards |authorlink=Paul Edwards (philosopher) |publisher=MacMillan Reference USA (Gale)|editor=Donald M. Borchert |origyear=1967 |year=2005 |edition=2nd |encyclopedia=[[Encyclopedia of Philosophy|The Encyclopedia of Philosophy]] |volume=Vol. 1 |page=359 |isbn=9780028657806 |quote=On our definition, an 'atheist' is a person who rejects belief in God, regardless of whether or not his reason for the rejection is the claim that 'God exists' expresses a false proposition. People frequently adopt an attitude of rejection toward a position for reasons other than that it is a false proposition. It is common among contemporary philosophers, and indeed it was not uncommon in earlier centuries, to reject positions on the ground that they are meaningless. Sometimes, too, a theory is rejected on such grounds as that it is sterile or redundant or capricious, and there are many other considerations which in certain contexts are generally agreed to constitute good grounds for rejecting an assertion. |ref=harv}}(page 175 in 1967 edition) </ref><ref name=RoweRoutledge> {{cite encyclopedia |url=http://books.google.com/?id=lnuwFH_M5o0C&pg=PA530&lpg=PA530&dq=atheism+routledge#v=onepage&q=atheism%20routledge&f=false |first=William L. |last=Rowe |authorlink=William L. Rowe |encyclopedia=[[Routledge Encyclopedia of Philosophy]] |title=Atheism |year=1998 |editor=Edward Craig |isbn=9780415073103 |publisher=Taylor & Francis |quote=As commonly understood, atheism is the position that affirms the nonexistence of God. So an atheist is someone who disbelieves in God, whereas a theist is someone who believes in God. Another meaning of "atheism" is simply nonbelief in the existence of God, rather than positive belief in the nonexistence of God. ...an atheist, in the broader sense of the term, is someone who disbelieves in every form of deity, not just the God of traditional Western theology. |accessdate=2011-04-09 |ref=harv}} </ref> <!-- ТҮР ЗУУР ТАВЬСАН!!!!!! <ref name=agnosticism-contrast> *{{cite web|title = Atheism | url=http://www.merriam-webster.com/concise/atheism?show=0&t=1323944845|work=Encyclopædia Britannica Concise|publisher=Merriam Webster|accessdate=2011-12-15 | quote = Critique and denial of metaphysical beliefs in God or divine beings. Unlike agnosticism, which leaves open the question of whether there is a God, atheism is a positive denial. It is rooted in an array of philosophical systems.}} *{{cite book|last=Zuckerman|first=edited by Phil|title=Atheism and secularity|year=2010|publisher=Praeger|location=Santa Barbara, Calif. [u.a.]|isbn=9780313351839 | quote = A major source of these biases is the lack of clear definitions. Atheism and secularity are defined in opposition to religion, with atheism (the rejection of theism) often perceived as an extreme form of secularism (the decline of religious influence over society). But atheism is a narrow term referring to a specific belief (that there is no god), whereas secularism has various meanings, including a range of attitudes (such as religious indifference, doubt, agnosticism, and atheism) as as behaviors (such as lack of regular church attendance or disregard for traditional religious morality). }} *{{Cite encyclopedia |first=Kai |last=Nielsen |authorlink=Kai Nielsen (philosopher) |encyclopedia=[[Encyclopædia Britannica]] |title=Atheism |url=http://www.britannica.com/EBchecked/topic/40634/atheism |year=2011 |quote=atheism, in general, the critique and denial of metaphysical beliefs in God or spiritual beings. As such, it is usually distinguished from theism, which affirms the reality of the divine and often seeks to demonstrate its existence. Atheism is also distinguished from agnosticism, which leaves open the question whether there is a god or not, professing to find the questions unanswered or unanswerable. |accessdate=2011-12-06 |ref=harv}} *{{cite web |year=1911 |url=http://www.1911encyclopedia.org/Atheism |title=Atheism |work=Encyclopædia Britannica | accessdate=2011-04-09 | quote = But dogmatic atheism is rare compared with the sceptical type, which is identical with agnosticism in so far as it denies the capacity of the mind of man to form any conception of God, but is different from it in so far as the agnostic merely holds his judgment in suspense, though, in practice, agnosticism is apt to result in an attitude towards religion which is hardly distinguishable from a passive and unaggressive atheism.}} </ref> --> <ref name=honderich> Honderich, Ted (Ed.) (1995). "Humanism". ''The Oxford Companion to Philosophy''. Oxford University Press. p 376. ISBN 0-19-866132-0. </ref><ref name=religioustolerance> [[Religioustolerance.org]]'s short article on [http://www.religioustolerance.org/atheist4.htm Definitions of the term "Atheism"] suggests that there is no consensus on the definition of the term. Most dictionaries (see the OneLook query for [http://www.onelook.com/?w=atheism&ls=a "atheism"]) first list one of the more narrow definitions. * {{Cite book |url=http://www.ditext.com/runes/a.html |title=Dictionary of Philosophy |first=Dagobert D.(editor) |last=Runes |authorlink=Dagobert D. Runes |year=1942 edition |publisher=Littlefield, Adams & Co. Philosophical Library |location=New Jersey |isbn=0-06-463461-2 |quote=(a) the belief that there is no God; (b) Some philosophers have been called "atheistic" because they have not held to a belief in a personal God. Atheism in this sense means "not theistic". The former meaning of the term is a literal rendering. The latter meaning is a less rigorous use of the term though widely current in the history of thought |accessdate=2011-04-09}} – entry by [[Vergilius Ferm]] </ref><ref name=oxdicphil> {{cite encyclopedia |editor=Simon Blackburn |encyclopedia=The Oxford Dictionary of Philosophy |title=atheism |url=http://www.oxfordreference.com/views/ENTRY.html?subview=Main&entry=t98.e278 |accessdate=2011-12-05 |edition=2008 |year=2008 |publisher=Oxford University Press |location=Oxford |quote= Either the lack of belief that there exists a god, or the belief that there exists none. Sometimes thought itself to be more dogmatic than mere agnosticism, although atheists retort that everyone is an atheist about most gods, so they merely advance one step further.}}<!--Same in 2005 edition: http://books.google.com/books?id=WHILCw0hDA4C&pg=PA27&dq=%22atheism%22#v=onepage&q=%22atheism%22&f=false --> </ref><ref name=reldef>{{cite web |url=http://www.as.ua.edu/rel/aboutreldefinitions.html |title=Definitions: Atheism |publisher=Department of Religious Studies, University of Alabama |accessdate=2011-04-09 |archive-date=2011-06-07 |archive-url=https://web.archive.org/web/20110607093325/http://www.as.ua.edu/rel/aboutreldefinitions.html |url-status=dead }}</ref> }} [[Ангилал:Атеизм| ]] q9rghfsb83rcgvk5jvw53459u6xo2vm Хээрийн боршувуу 0 24395 860784 642281 2026-07-01T09:52:04Z AirplaneTowardsTheSky 103525 860784 wikitext text/x-wiki {{Taxobox | name = Хээрийн боршувуу | status_ref = | image = Tree Sparrow Japan Flip.jpg | image_width = 240px | image_caption = | regnum = [[Амьтан]] | phylum = [[Хөвчтөн]] | classis = [[Шувуу|Жигүүртэн]] | ordo = [[Боршувуутан]] | subordo = [[Дуучшувуу|Дуучшувууныхан]] | familia = [[Гоошувууныхан]] | genus = [[Боршувуу]] | species = Хээрийн боршувуу | binomial = ''Passer montanus'' | binomial_authority = ([[Карл Линней]], 1758) }} [[Файл:Passer montanus -Japan -front-8.jpg|thumbnail]] Хээрийн бор шувуу (Латин: Passer montanus) нь бор шувуутны баг, бор шувууны овогт багтдаг шувуу бөгөөд шилүүсгэн хүрэн титэм, шилэн хүзүү болон цулгуй цагаан хацар дээрх хар толбоороо ялгарна. Эрэгчин, эмэгчин нь ижил зүстэй бөгөөд залуу шувууд нь нас бие гүйцсэн шувуудтай харьцуулахад арай бүдэг өнгөтэй байдаг. Энэхүү бор шувуу нь ЕвроАзийн сэрүүн бүс болон Зүүн өмнөд Азийн ихэнх нутгаар үрждэг бөгөөд Америкийн уугуул хээрийн бор шувуунаас ялгахын тулд "Евразийн хээрийн бор шувуу" буюу "Герман бор шувуу" гэж нэрлэдэг. Хэд хэдэн салбар зүйл бүртгэгдсэн байдаг ч энэ шувууны гадаад төрх нь өргөн уудам тархалтын бүс нутагтаасаа шалтгаалж өөрчлөгдөх нь ховор. == Зургийн цомог == <gallery mode="packed" heights="140"> File:Tree-Sparrow-2009-16-02.jpg|''P. m. montanus'' File:Eurasian Tree Sparrow Passer montanus Nathang Valley Sikkim India 03.11.2014.jpg|''P. m. tibetanus'' File:Passer montanus malaccensis(1).JPG|''P. m. malaccensis'' File:Eurasian Treesparrow Khonoma Nagaland India 05.11.2016.jpg|''P. m. hepaticus'' </gallery> == Цахим холбоос == {{Commonscat|Passer montanus|Хээрийн боршувуу (''Passer montanus'')}} {{Wikispecies|Passer montanus|Хээрийн боршувуу}} [[Ангилал:Боршувуу]] [[Ангилал:Евразийн шувууд]] 2gffybycmdsl39c0se2todwxjwyqsqg 860785 860784 2026-07-01T09:55:44Z AirplaneTowardsTheSky 103525 Added links 860785 wikitext text/x-wiki {{Taxobox | name = Хээрийн боршувуу | status_ref = | image = Tree Sparrow Japan Flip.jpg | image_width = 240px | image_caption = | regnum = [[Амьтан]] | phylum = [[Хөвчтөн]] | classis = [[Шувуу|Жигүүртэн]] | ordo = [[Боршувуутан]] | subordo = [[Дуучшувуу|Дуучшувууныхан]] | familia = [[Гоошувууныхан]] | genus = [[Боршувуу]] | species = Хээрийн боршувуу | binomial = ''Passer montanus'' | binomial_authority = ([[Карл Линней]], 1758) }} [[Файл:Passer montanus -Japan -front-8.jpg|thumbnail]] Хээрийн бор шувуу (Латин: Passer montanus) нь бор шувуутны баг<ref> https://mn.wikipedia.org/wiki/%D0%91%D0%BE%D1%80%D1%88%D1%83%D0%B2%D1%83%D1%83%D1%82%D0%B0%D0%BD?wprov=sfti1 </ref>, бор шувууны овогт багтдаг шувуу бөгөөд шилүүсгэн хүрэн титэм, шилэн хүзүү болон цулгуй цагаан хацар дээрх хар толбоороо ялгарна. Эрэгчин, эмэгчин нь ижил зүстэй бөгөөд залуу шувууд нь нас бие гүйцсэн шувуудтай харьцуулахад арай бүдэг өнгөтэй байдаг. Энэхүү бор шувуу нь ЕвроАзийн сэрүүн бүс болон Зүүн өмнөд Азийн ихэнх нутгаар үрждэг бөгөөд Америкийн уугуул хээрийн бор шувуунаас ялгахын тулд "Евразийн хээрийн бор шувуу" буюу "Герман бор шувуу" гэж нэрлэдэг. Хэд хэдэн салбар зүйл бүртгэгдсэн байдаг ч энэ шувууны гадаад төрх нь өргөн уудам тархалтын бүс нутагтаасаа шалтгаалж өөрчлөгдөх нь ховор. == Зургийн цомог == <gallery mode="packed" heights="140"> File:Tree-Sparrow-2009-16-02.jpg|''P. m. montanus'' File:Eurasian Tree Sparrow Passer montanus Nathang Valley Sikkim India 03.11.2014.jpg|''P. m. tibetanus'' File:Passer montanus malaccensis(1).JPG|''P. m. malaccensis'' File:Eurasian Treesparrow Khonoma Nagaland India 05.11.2016.jpg|''P. m. hepaticus'' </gallery> == Цахим холбоос == {{Commonscat|Passer montanus|Хээрийн боршувуу (''Passer montanus'')}} {{Wikispecies|Passer montanus|Хээрийн боршувуу}} [[Ангилал:Боршувуу]] [[Ангилал:Евразийн шувууд]] cc7ap4halnjos4gvifiibct25u4fdcx 860786 860785 2026-07-01T09:58:08Z AirplaneTowardsTheSky 103525 Fixed typo 860786 wikitext text/x-wiki {{Taxobox | name = Хээрийн боршувуу | status_ref = | image = Tree Sparrow Japan Flip.jpg | image_width = 240px | image_caption = | regnum = [[Амьтан]] | phylum = [[Хөвчтөн]] | classis = [[Шувуу|Жигүүртэн]] | ordo = [[Боршувуутан]] | subordo = [[Дуучшувуу|Дуучшувууныхан]] | familia = [[Гоошувууныхан]] | genus = [[Боршувуу]] | species = Хээрийн боршувуу | binomial = ''Passer montanus'' | binomial_authority = ([[Карл Линней]], 1758) }} [[Файл:Passer montanus -Japan -front-8.jpg|thumbnail]] Хээрийн бор шувуу (Латин: Passer montanus) нь бор шувуутны баг, бор шувууны овогт багтдаг шувуу бөгөөд шилүүсгэн хүрэн титэм, шилэн хүзүү болон цулгуй цагаан хацар дээрх хар толбоороо ялгарна. Эрэгчин, эмэгчин нь ижил зүстэй бөгөөд залуу шувууд нь нас бие гүйцсэн шувуудтай харьцуулахад арай бүдэг өнгөтэй байдаг. Энэхүү бор шувуу нь ЕвроАзийн сэрүүн бүс болон Зүүн өмнөд Азийн ихэнх нутгаар үрждэг бөгөөд Америкийн уугуул хээрийн бор шувуунаас ялгахын тулд "Евразийн хээрийн бор шувуу" буюу "Герман бор шувуу" гэж нэрлэдэг. Хэд хэдэн салбар зүйл бүртгэгдсэн байдаг ч энэ шувууны гадаад төрх нь өргөн уудам тархалтын бүс нутагтаасаа шалтгаалж өөрчлөгдөх нь ховор. == Зургийн цомог == <gallery mode="packed" heights="140"> File:Tree-Sparrow-2009-16-02.jpg|''P. m. montanus'' File:Eurasian Tree Sparrow Passer montanus Nathang Valley Sikkim India 03.11.2014.jpg|''P. m. tibetanus'' File:Passer montanus malaccensis(1).JPG|''P. m. malaccensis'' File:Eurasian Treesparrow Khonoma Nagaland India 05.11.2016.jpg|''P. m. hepaticus'' </gallery> == Цахим холбоос == {{Commonscat|Passer montanus|Хээрийн боршувуу (''Passer montanus'')}} {{Wikispecies|Passer montanus|Хээрийн боршувуу}} [[Ангилал:Боршувуу]] [[Ангилал:Евразийн шувууд]] 2gffybycmdsl39c0se2todwxjwyqsqg 860787 860786 2026-07-01T10:03:41Z AirplaneTowardsTheSky 103525 Added links 860787 wikitext text/x-wiki {{Taxobox | name = Хээрийн боршувуу | status_ref = | image = Tree Sparrow Japan Flip.jpg | image_width = 240px | image_caption = | regnum = [[Амьтан]] | phylum = [[Хөвчтөн]] | classis = [[Шувуу|Жигүүртэн]] | ordo = [[Боршувуутан]] | subordo = [[Дуучшувуу|Дуучшувууныхан]] | familia = [[Гоошувууныхан]] | genus = [[Боршувуу]] | species = Хээрийн боршувуу | binomial = ''Passer montanus'' | binomial_authority = ([[Карл Линней]], 1758) }} [[Файл:Passer montanus -Japan -front-8.jpg|thumbnail]] Хээрийн бор шувуу (Латин: Passer montanus) нь [[w : %D0%91%D0%BE%D1%80%D1%88%D1%83%D0%B2%D1%83%D1%83%D1%82%D0%B0%D0%BD?wprov=sfti1# | бор шувуутны баг]], бор шувууны овогт багтдаг шувуу бөгөөд шилүүсгэн хүрэн титэм, шилэн хүзүү болон цулгуй цагаан хацар дээрх хар толбоороо ялгарна. Эрэгчин, эмэгчин нь ижил зүстэй бөгөөд залуу шувууд нь нас бие гүйцсэн шувуудтай харьцуулахад арай бүдэг өнгөтэй байдаг. Энэхүү бор шувуу нь ЕвроАзийн сэрүүн бүс болон Зүүн өмнөд Азийн ихэнх нутгаар үрждэг бөгөөд Америкийн уугуул хээрийн бор шувуунаас ялгахын тулд "Евразийн хээрийн бор шувуу" буюу "Герман бор шувуу" гэж нэрлэдэг. Хэд хэдэн салбар зүйл бүртгэгдсэн байдаг ч энэ шувууны гадаад төрх нь өргөн уудам тархалтын бүс нутагтаасаа шалтгаалж өөрчлөгдөх нь ховор. == Зургийн цомог == <gallery mode="packed" heights="140"> File:Tree-Sparrow-2009-16-02.jpg|''P. m. montanus'' File:Eurasian Tree Sparrow Passer montanus Nathang Valley Sikkim India 03.11.2014.jpg|''P. m. tibetanus'' File:Passer montanus malaccensis(1).JPG|''P. m. malaccensis'' File:Eurasian Treesparrow Khonoma Nagaland India 05.11.2016.jpg|''P. m. hepaticus'' </gallery> == Цахим холбоос == {{Commonscat|Passer montanus|Хээрийн боршувуу (''Passer montanus'')}} {{Wikispecies|Passer montanus|Хээрийн боршувуу}} [[Ангилал:Боршувуу]] [[Ангилал:Евразийн шувууд]] pd9ymcdbpru8izxrwtst696o2ugspyv 860788 860787 2026-07-01T10:04:46Z AirplaneTowardsTheSky 103525 Added links 860788 wikitext text/x-wiki {{Taxobox | name = Хээрийн боршувуу | status_ref = | image = Tree Sparrow Japan Flip.jpg | image_width = 240px | image_caption = | regnum = [[Амьтан]] | phylum = [[Хөвчтөн]] | classis = [[Шувуу|Жигүүртэн]] | ordo = [[Боршувуутан]] | subordo = [[Дуучшувуу|Дуучшувууныхан]] | familia = [[Гоошувууныхан]] | genus = [[Боршувуу]] | species = Хээрийн боршувуу | binomial = ''Passer montanus'' | binomial_authority = ([[Карл Линней]], 1758) }} [[Файл:Passer montanus -Japan -front-8.jpg|thumbnail]] Хээрийн бор шувуу (Латин: Passer montanus) нь [[w : Боршувуутан | бор шувуутны баг]], бор шувууны овогт багтдаг шувуу бөгөөд шилүүсгэн хүрэн титэм, шилэн хүзүү болон цулгуй цагаан хацар дээрх хар толбоороо ялгарна. Эрэгчин, эмэгчин нь ижил зүстэй бөгөөд залуу шувууд нь нас бие гүйцсэн шувуудтай харьцуулахад арай бүдэг өнгөтэй байдаг. Энэхүү бор шувуу нь ЕвроАзийн сэрүүн бүс болон Зүүн өмнөд Азийн ихэнх нутгаар үрждэг бөгөөд Америкийн уугуул хээрийн бор шувуунаас ялгахын тулд "Евразийн хээрийн бор шувуу" буюу "Герман бор шувуу" гэж нэрлэдэг. Хэд хэдэн салбар зүйл бүртгэгдсэн байдаг ч энэ шувууны гадаад төрх нь өргөн уудам тархалтын бүс нутагтаасаа шалтгаалж өөрчлөгдөх нь ховор. == Зургийн цомог == <gallery mode="packed" heights="140"> File:Tree-Sparrow-2009-16-02.jpg|''P. m. montanus'' File:Eurasian Tree Sparrow Passer montanus Nathang Valley Sikkim India 03.11.2014.jpg|''P. m. tibetanus'' File:Passer montanus malaccensis(1).JPG|''P. m. malaccensis'' File:Eurasian Treesparrow Khonoma Nagaland India 05.11.2016.jpg|''P. m. hepaticus'' </gallery> == Цахим холбоос == {{Commonscat|Passer montanus|Хээрийн боршувуу (''Passer montanus'')}} {{Wikispecies|Passer montanus|Хээрийн боршувуу}} [[Ангилал:Боршувуу]] [[Ангилал:Евразийн шувууд]] e8632rj25bg7o9crhu7uxusae5atj3r Сэлэнгэ аймаг 0 26341 860699 830583 2026-06-30T18:46:37Z Mongolgpt 95994 860699 wikitext text/x-wiki {{Short description|Монголын аймаг}} {{Инфобокс суурин | name = Сэлэнгэ аймаг | native_name = {{MongolUnicode|ᠰᠡᠯᠡᠩᠭᠡ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = Selenga.jpg | image_alt = | image_caption = [[Сэлэнгэ мөрөн]] | image_flag = Mn flag selenge aimag 1999.svg | flag_alt = | flag_border = no | image_seal = | seal_alt = | image_shield = Mn coa selenge aimag 1999.svg | shield_alt = | nickname = | motto = | image_map = Selenge in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|49|45|N|106|30|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{flag|Монгол}} | established_title = Байгуулагдсан | established_date = {{Start date|1934}} | founder = | seat_type = Нийслэл | seat = [[Сүхбаатар (хот)|Сүхбаатар]] | government_footnotes = | leader_party = | leader_title = | leader_name = gjha | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 41152.63 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = | elevation_m = | population_footnotes = | population_total = {{decrease}} 103,831 | population_as_of = 2025 | population_density_km2 = auto | population_demonym = | population_note = | timezone1 = UTC+8 | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = as | postal_code = | area_code_type = | area_code = +976 (0)136 | registration_plate_type = | registration_plate = СЭ_ | iso_code = MN-049 | website = {{URL|selenge.gov.mn}} | footnotes = }} '''Сэлэнгэ''' ([[Монгол бичиг|монгол бичгээр]]: {{MongolUnicode|ᠰᠡᠯᠡᠩᠭᠡ ᠠᠢᠢᠮᠠᠭ}}, ''сэлэнггэ'') — [[Монгол улс]]ын [[аймаг]]. [[1921 оны ардын хувьсгал]]ын өлгий нутаг болсон бөгөөд [[1934]] онд байгуулагджээ. == Газар зүй == [[Зураг:Selenga.jpg|thumb|[[Сэлэнгэ мөрөн]]]] Сэлэнгэ аймаг нь Монгол улсын хойд хэсэгт [[Орхон Сэлэнгийн сав газар|Орхон Сэлэнгийн сав]]ын дунд зэргийн уулс бүхий нутгийг эзлэн оршино. Аймгийн нутгийн баруун хойд хэсгээр [[Юрийн хурдас]], өмнөд хэсгээр нь [[герциний боржин]], зүүн хэсэгт нь [[гүний боржин]] тархжээ. Аймгийн нутагт [[нүүрс]] (Улаантолгой, Шарын гол), [[төмөр]] (Төмөртэй, Төмөртолгой), [[алт]] (Ноёд,Их Алтат, Бугант, Бороо, Заамар, Ноён уул, Толгойт) болон [[барилгын материал]]ын баялаг бий. [[Сэлэнгэ мөрөн|Сэлэнгэ]], [[Орхон гол|Орхон]], [[Хараа гол|Хараа]], [[Ерөө гол|Ерөө]] зэрэг манай орны том [[гол мөрөн|гол мөрд]] урсана. Сэлэнгэ мөрнөөр [[усан онгоц]] явна. Цагааннуур суманд [[Цагааннуур]] нуур бий. [[Ерөө рашаан|Ерөө]], [[Товхонханы рашаан|Товхонханы]], [[Хондын Могойн рашаан|Хондын Могойн]] зэрэг рашаан бий. Нутгийн ихэнх хэсэгт уулын хар шороон хөрс, гол мөрдийн хөндийн хагшаа хурдаст хөрс тархжээ.Мөн Мандал суманд Монгол оронд ургадаг эмийн ургамлын 80% нь ургадаг. == Амьтан ургамал == Нутгийн уулархаг хэсгээр (42%), [[ой хөвч тайга]], бусад хэсгээр [[бэлчээрийн ургамал]], гол мөрдийн хөндийгөөр [[шугуй]] ургажээ. [[Ойн амьтан|Ойн]] ба [[хээрийн амьтан|хээрийн амьтад]] тархсан. == Аж үйлдвэр == Сэлэнгэ аймаг нь [[газар тариалан]] голлон хөгжүүлсэн аймаг юм. Манай орны газар тариалангийн талбайн үлэмж хэсэг энэ аймгийн нутагт Орхон Сэлэнгийн савд төвлөрсөн юм. Улсын үр тарианы 40 орчим хувийг үйлдвэрлэдэг, 570,000 гаруй малтай. Сэлэнгэ аймагт [[мод боловсруулалт|мод боловсруулах]], [[гурил]]ын, [[хүнс]]ний, [[спирт бал бурам]]ын үйлдвэр, вагон засварын газар бий. Сүхбаатар хот нь [[төмөєр зам|төмөр]] ба [[авто зам]]ын гол зангилаа нутаг бөгөөд манай хилийн байнгын чухал гарцын нэг юм. == Сумд == [[Зураг:Mongolia Selenge sum map.png|thumb|250px|Сумдын газрын зураг]] [[Зураг:Amarbayasgalant Khiid 531183590 1e34c7c396 o.jpg|thumb|[[Амарбаясгалант хийд]]]] {| class="wikitable sortable" style="text-align: center;" |+ |- ! rowspan=2|№ ! rowspan=2|Сум<br/>(хотыг тодоор) ! colspan=5|Суурин хүн амын тооцоо ! rowspan=2|Талбай<br>(км²)<ref name="site">Official site of the Selenge aimag{{Webarchiv|url=http://www.selenge.mn/soums_info.htm |wayback=20071118095515 |text=Archive copy |archiv-bot=2023-09-26 18:27:28 InternetArchiveBot }}</ref> ! rowspan=2|Нягт.<br>(2011) |- !2000 !2004 !2008 !2011<ref name="стат2011">Сэлэнгэ аймгийн статистикийн хэлтэс. [http://web.nso.mn/portal/indexc.php?v=18&m=25&s=1&id=567 ХҮН АМЫН ТОО, СУМДААР /2008-2011 ОН/]{{Dead link|date=Аравдугаар сар 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> !2022 |- |1|| [[Алтанбулаг сум (Сэлэнгэ)|Алтанбулаг]] ||3,489||3,783 ||4,545|| 5,117||4,680|| 2100.30 км²||2.44 |- |2|| [[Баруунбүрэн сум |Баруунбүрэн]] ||2,939||2,430 ||2,702||2,874||3,091||2814.54 км² ||1.02 |- |3|| [[Баянгол сум (Сэлэнгэ)|Баянгол]] ||5,391||4,264 ||5,028||5,629||5,702||1976.28 км² ||2.85 |- |4|| [[Ерөө сум|Ерөө]] || 6,077||5,531 ||5,792||6,400||7,078||8203.51 км² ||0.78 |- |5|| [[Жавхлант сум|Жавхлант]] || 1,767||1,838 || 1,827||2,029||2,037||1189.70 км²||1.71 |- |6|| [[Зүүнбүрэн сум|Зүүнбүрэн]] || 2,507||2,373 ||2,468||2,708||2,977||1204.94 км² ||2.25 |- |7|| [[Мандал сум|Мандал]] || 23,964||22,864 ||23,646||25,329||26,877||4843.73 км² ||5.23 |- |8|| [[Орхон сум (Сэлэнгэ)|Орхон]] ||2,817||2,106 ||2,165||2,283||2,253||1306.27 км² ||1.75 |- |9|| [[Орхонтуул сум|Орхонтуул]] ||3,760||3,398 ||2,952||3,684||3,799||2940.83 км² ||1.25 |- |10|| [[Сант сум (Сэлэнгэ)|Сант]] ||2,062||2,033 ||2,056|| 2,260||2,138||1387.06 км²||1.63 |- |11|| [[Сайхан сум (Сэлэнгэ)|Сайхан]] ||8,737||8,282 ||8,285||8,648||9,284||1311.87 км² ||6.59 |- |12|| '''[[Сүхбаатар хот|Сүхбаатар]]''' || 22,374||20,025 ||19,626||22,958|| 21,962 ||45.35 км² ||506.24 |- |13|| [[Түшиг сум|Түшиг]] || 1,899||1,608 ||1,420||1,647||1,910||2492.82 км² ||0.66 |- |14|| [[Хүдэр сум|Хүдэр]] ||1,799||1,838 ||2,078||2,229||2,889||2838.65 км² ||0.79 |- |15|| [[Хушаат сум|Хушаат]] || 1,406||1,946 ||1,585||1,809||2,082||2010.15 км² ||0.90 |- |16|| [[Цагааннуур сум (Сэлэнгэ)|Цагааннуур]] || 4,153||3,919 ||4,257||4,344||5,088||3814.72 км² ||1.14 |- |17|| [[Шаамар сум|Шаамар]] || 4,809||3,783 ||4,158||3,750||4,052||671.91 км² ||5.58 |- style="background: #f0f0f0;" | colspan=2| Аймгийн дүн || 99,950|| 92,021||94,590||103,698 || 107,899 ||41,152.63 км²||2.52 |- |} ЗХУ-д өрнөсөн перестройка буюу өөрчлөн байгуулалтын нөлөө 1980-аад оны дунд үеэс Монгол оронд нэвтэрч, төр засгийн үйл ажиллагааг шүүмжилсэн үгс үе үе сонсогдох болжээ. Энэ байдал аажмаар хүрээгээ тэлсээр Сэлэнгэ аймагт 1987 онд анхны ардчилсан холбоо байгуулагдаж. Нороврагчаа-Сэлэнгэ аймгийн дүрслэх урлагийн салбарын эрхлэгч, Мэндбаяр-Бумцэндийн нэрэмжит 1-р 10 жилийн сургуулийн шугам зургийн багш, Төмөрбаатар/мангар төмрөө хочит/Сэлэнгэ аймгийн цагдан сэргийлэх газрын цагдаа, Энхболд жижиг– аймгийн ҮЭХ-ны ажилчин залуучуудын хэлтсийн зааварлагч П.Баяраа-аймгийн МХЗЭ-ийн хорооны Үзэл суртлын хэлтсийн эрхлэгч болон бусад нөхөд байсан Тэр үед Сэлэнгэ аймгийн МХЗЭ-ийн хорооны 1-р нарийн бичгийн дарга Р.Нямсүрэн,2-р нарийн бичгийн дарга Тогтохням,Санхүү хэлтсийн эрхлэгч Бор, Ажилчин залуучуудын хэлтсийн эрхлэгч Алаксандр нар ажиллаж байсан бөгөөд Сэлэнгийн долигоо чуулгын шинэ байр ашиглалтанд орж бүх сумдын урлагийн үзлэг зохион байгуулагдан чуулгад уран сайханчдаа сонгон авч байсан . Сэлэнгэ аймгийн ардчилсан холбоо байгуулах анхны цугларалтаа Сэлэнгийн долигоо чуулгын байранd нууцаар зохион байгуулах ажлыг ажил үүргийн хувьд аймгийн залуучуудын эвлэлийн хорооны үзэл суртлын хэлтсийн эрхлэгч П.Баяраа, ҮЭ хорооны ажилчин залуучуудын зааварлагч Энхболд нарт оногдож бид хоёр чуулгын жижүүртэй хуйвалдан арын хаалгаар орж тайзан дээр хөшигний ард ардчилсан холбооны гишүүд тангараг өргөж ажил үүргийн хуваар гаргаж цэнхэр өнгөөр радаторлаж бор цаасан дугтуйтай тангаргийн бичиг ажлын удирдамжаа авч байв. УБ-аас С.Зориг хотын МХЗЭ хорооны зааварлагч, Р.Гончигдорж МУИС-ийн багш нар ирж уулзаж санал бодлоо солилцон цаашдын хийх ажлаа ярилцаж байсан билээ. Сэлэнгэ аймгийн ардчилсан холбооны анхны зохицуулагчаар Сэлэнгэ аймгийн дүрслэх урлаг,урчуудын эвлийн хорооны салбарын эрхлэгч, Нороврагчаа сонгогдон ажиллаж байсан нь ардчилсан холбооны анхны зохицуулагч удирдагч юм. ==Эх сурвалж== {{reflist}} ==Цахим холбоос== {{Commons|Category:Selenge Aimag|Сэлэнгэ аймгийн зураг}} * [http://selenge.gov.mn/ Сэлэнгэ аймгийн албан ёсны цахим хуудас] {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Сэлэнгийн сумууд}} [[Ангилал:Сэлэнгэ аймаг| ]] [[Ангилал:Монголын аймаг]] 3ldlxuydidkkypi3woqcqqo2gzpjmbr Загвар:Dr 10 27732 860708 386465 2026-06-30T19:46:27Z Enkhsaihan2005 64429 860708 wikitext text/x-wiki <includeonly>{{dr-make|{{dr-logno|{{dr-yr|{{{3}}}|{{{1}}}}}|{{{4|0}}}|{{{2}}}}}|{{{2}}}|{{{5|}}}}}</includeonly><noinclude> {{documentation}} </noinclude> 49x15rxrydlwobb5gmn4tzmdw52dqh0 Загвар:Dr-make 10 27733 860709 386466 2026-06-30T19:47:17Z Enkhsaihan2005 64429 860709 wikitext text/x-wiki <includeonly>{{#switch:{{{2}}} |y={{#switch:{{#expr:{{{1}}}<-729}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<1001}}{{#expr:{{{1}}}<2038}} |1111={{drep |1={{#expr:1-{{{1}}}}} |2={{{3|}}}b }} |0111={{drep |1={{#expr:1-{{{1}}}}} |2=y{{{3|}}}b }} |0011={{drep |1={{{1}}} |2=y{{#ifexpr:{{{1}}}<10|n|}}{{{3|}}}{{#switch:{{{3}}}|a|ya|sa|ysa|na|nsa=p}} }} |0001={{drep |1={{{1}}} |2=y{{{3|}}} }} |0000={{drep |1={{{1}}} |2={{{3|}}} }} }} |d={{#switch:{{{1}}} |10|20|30|40|50|60|70|80|90|100|110|120|130|140|150|160|170|180<!-- no |190|200 since [[1900s (decade)]] redirects to [[1900s]] and [[2000s (decade)]] to [[2000s]] after [[Talk:1900s#Requested move 22 February 2023]] -->= {{drep |1={{{1}}}0s |2=y{{{3|}}} |3={{{1}}}0s (decade)}} |-11|-21|-31|-41|-51|-61|-71|-81|-91|-101|-111|-121|-131|-141|-151|-161|-171|= {{drep |1={{#expr:-{{{1}}}-1}}0s |2=y{{{3|}}}bd |3={{#expr:-{{{1}}}-1}}0s}} |{{#switch:{{#expr:{{{1}}}<-180}}{{#expr:{{{1}}}<-1 }}{{#expr:{{{1}}}<0}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<204}} |11111={{drep |1={{#expr:-1-{{{1}}}}}0s |2={{{3|}}}b }} |01111={{drep |1={{#expr:-1-{{{1}}}}}0s |2=y{{{3|}}}b }} |00111={{drep |1=0s |2=y{{{3|}}}b }} |00011={{drep |1=0s |2=y{{{3|}}} }} |00001={{drep |1={{{1}}}0s |2=y{{{3|}}} }} |00000={{drep |1={{{1}}}0s |2={{{3|}}} }} }} }} |c={{#switch:{{#expr:{{{1}}}<-39}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<22}} |111={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;century |2={{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} century}} |011={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;century |2=y{{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} century}} |001={{drep |1={{ordinal|{{{1}}}}}&nbsp;century |2=y{{{3|}}} |3={{ordinal|{{{1}}}}} century}} |000={{drep |1={{ordinal|{{{1}}}}}&nbsp;century |2={{{3|}}} |3={{ordinal|{{{1}}}}} century}} }} |m={{#switch:{{#expr:{{{1}}}<-14}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<4}} |111={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;millennium |2={{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} millennium}} |011={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;millennium |2=y{{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} millennium}} |001={{drep |1={{ordinal|{{{1}}}}}&nbsp;millennium |2=y{{{3|}}} |3={{ordinal|{{{1}}}}} millennium}} |000={{drep |1={{ordinal|{{{1}}}}} millennium |2={{{3|}}} |3={{ordinal|{{{1}}}}} millennium}} }} |#default={{error|[[Template:Dr-make]] parameter {{param|2}} must be y, d, c, or m}} }}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> 7s12k27xmowyj30fzk4jjjlb6gl5z30 860715 860709 2026-06-30T19:59:40Z Enkhsaihan2005 64429 860715 wikitext text/x-wiki <includeonly>{{#switch:{{{2}}} |y={{#switch:{{#expr:{{{1}}}<-729}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<1001}}{{#expr:{{{1}}}<2038}} |1111={{drep |1={{#expr:1-{{{1}}}}} |2={{{3|}}}b }} |0111={{drep |1={{#expr:1-{{{1}}}}} |2=y{{{3|}}}b }} |0011={{drep |1={{{1}}} |2=y{{#ifexpr:{{{1}}}<10|n|}}{{{3|}}}{{#switch:{{{3}}}|a|ya|sa|ysa|na|nsa=p}} }} |0001={{drep |1={{{1}}} |2=y{{{3|}}} }} |0000={{drep |1={{{1}}} |2={{{3|}}} }} }} |d={{#switch:{{{1}}} |10|20|30|40|50|60|70|80|90|100|110|120|130|140|150|160|170|180<!-- no |190|200 since [[1900s (decade)]] redirects to [[1900s]] and [[2000s (decade)]] to [[2000s]] after [[Talk:1900s#Requested move 22 February 2023]] -->= {{drep |1={{{1}}}0s |2=y{{{3|}}} |3={{{1}}}0s (decade)}} |-11|-21|-31|-41|-51|-61|-71|-81|-91|-101|-111|-121|-131|-141|-151|-161|-171|= {{drep |1={{#expr:-{{{1}}}-1}}0s |2=y{{{3|}}}bd |3={{#expr:-{{{1}}}-1}}0s}} |{{#switch:{{#expr:{{{1}}}<-180}}{{#expr:{{{1}}}<-1 }}{{#expr:{{{1}}}<0}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<204}} |11111={{drep |1={{#expr:-1-{{{1}}}}}0-д он |2={{{3|}}}b }} |01111={{drep |1={{#expr:-1-{{{1}}}}}0-д он |2=y{{{3|}}}b }} |00111={{drep |1=0-д он |2=y{{{3|}}}b }} |00011={{drep |1=0-д он |2=y{{{3|}}} }} |00001={{drep |1={{{1}}}0-д он |2=y{{{3|}}} }} |00000={{drep |1={{{1}}}0-д он |2={{{3|}}} }} }} }} |c={{#switch:{{#expr:{{{1}}}<-39}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<22}} |111={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;century |2={{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} century}} |011={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;century |2=y{{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} century}} |001={{drep |1={{ordinal|{{{1}}}}}&nbsp;century |2=y{{{3|}}} |3={{ordinal|{{{1}}}}} century}} |000={{drep |1={{ordinal|{{{1}}}}}&nbsp;century |2={{{3|}}} |3={{ordinal|{{{1}}}}} century}} }} |m={{#switch:{{#expr:{{{1}}}<-14}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<4}} |111={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;millennium |2={{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} millennium}} |011={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;millennium |2=y{{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} millennium}} |001={{drep |1={{ordinal|{{{1}}}}}&nbsp;millennium |2=y{{{3|}}} |3={{ordinal|{{{1}}}}} millennium}} |000={{drep |1={{ordinal|{{{1}}}}} millennium |2={{{3|}}} |3={{ordinal|{{{1}}}}} millennium}} }} |#default={{error|[[Template:Dr-make]] parameter {{param|2}} must be y, d, c, or m}} }}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> 880hm37uitdxjrctzqmnzhlx6vonkw9 860716 860715 2026-06-30T20:00:30Z Enkhsaihan2005 64429 860716 wikitext text/x-wiki <includeonly>{{#switch:{{{2}}} |y={{#switch:{{#expr:{{{1}}}<-729}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<1001}}{{#expr:{{{1}}}<2038}} |1111={{drep |1={{#expr:1-{{{1}}}}} |2={{{3|}}}b }} |0111={{drep |1={{#expr:1-{{{1}}}}} |2=y{{{3|}}}b }} |0011={{drep |1={{{1}}} |2=y{{#ifexpr:{{{1}}}<10|n|}}{{{3|}}}{{#switch:{{{3}}}|a|ya|sa|ysa|na|nsa=p}} }} |0001={{drep |1={{{1}}} |2=y{{{3|}}} }} |0000={{drep |1={{{1}}} |2={{{3|}}} }} }} |d={{#switch:{{{1}}} |10|20|30|40|50|60|70|80|90|100|110|120|130|140|150|160|170|180<!-- no |190|200 since [[1900s (decade)]] redirects to [[1900s]] and [[2000s (decade)]] to [[2000s]] after [[Talk:1900s#Requested move 22 February 2023]] -->= {{drep |1={{{1}}}0s |2=y{{{3|}}} |3={{{1}}}0s (decade)}} |-11|-21|-31|-41|-51|-61|-71|-81|-91|-101|-111|-121|-131|-141|-151|-161|-171|= {{drep |1={{#expr:-{{{1}}}-1}}0s |2=y{{{3|}}}bd |3={{#expr:-{{{1}}}-1}}0s}} |{{#switch:{{#expr:{{{1}}}<-180}}{{#expr:{{{1}}}<-1 }}{{#expr:{{{1}}}<0}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<204}} |11111={{drep |1={{#expr:-1-{{{1}}}}}0-д он |2={{{3|}}}b }} |01111={{drep |1={{#expr:-1-{{{1}}}}}0-д он |2=y{{{3|}}}b }} |00111={{drep |1=0-д он |2=y{{{3|}}}b }} |00011={{drep |1=0-д он |2=y{{{3|}}} }} |00001={{drep |1={{{1}}}0-д он |2=y{{{3|}}} }} |00000={{drep |1={{{1}}}0-д он |2={{{3|}}} }} }} }} |c={{#switch:{{#expr:{{{1}}}<-39}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<22}} |111={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;зуун |2={{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} зуун}} |011={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;зуун |2=y{{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} зуун}} |001={{drep |1={{ordinal|{{{1}}}}}&nbsp;зуун |2=y{{{3|}}} |3={{ordinal|{{{1}}}}} зуун}} |000={{drep |1={{ordinal|{{{1}}}}}&nbsp;зуун |2={{{3|}}} |3={{ordinal|{{{1}}}}} зуун}} }} |m={{#switch:{{#expr:{{{1}}}<-14}}{{#expr:{{{1}}}<1}}{{#expr:{{{1}}}<4}} |111={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;мянган |2={{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} мянган}} |011={{drep |1={{ordinal|{{#expr: 1-{{{1}}}}}}}&nbsp;мянган |2=y{{{3|}}}b |3={{ordinal|{{#expr: 1-{{{1}}}}}}} мянган}} |001={{drep |1={{ordinal|{{{1}}}}}&nbsp;мянган |2=y{{{3|}}} |3={{ordinal|{{{1}}}}} мянган}} |000={{drep |1={{ordinal|{{{1}}}}} мянган |2={{{3|}}} |3={{ordinal|{{{1}}}}} мянган}} }} |#default={{error|[[Template:Dr-make]] parameter {{param|2}} must be y, d, c, or m}} }}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> srlzj042379gz0cof873jiz0li56pq6 Мюнхений хядлага 0 30270 860792 797723 2026-07-01T10:20:48Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860792 wikitext text/x-wiki [[Зураг:MunichIsraeliOlympicFront.jpg|thumb|right|Хэрэг болсон байр]] [[Баруун Герман]]ы [[Бавари]] мужийн [[Мюнхен]] хотод зохиогдсон [[Мюнхений олимп|1972 оны зуны олимпын]] үеэр [[Палестин]]ы [[Хар есдүгээр сар (бүлэг)|Хар есдүгээр сар]] бүлгийнхэн [[Израйль|Израйлийн]] тамирчин, дасгалжуулагч 11 хүнийг барьцаалж, улмаар бүгд амь үрэгдсэн (мөн Германы цагдаагийн нэг албан хаагч амь алдсан) эмгэнэлт явдлыг '''Мюнхений хядлага''' ({{lang-en|Munich massacre}}) гэдэг. Барьцаалагчид Израйлийн шоронд хоригдож байсан 234 хоригдол<ref>{{citation|first=Simon |last=Reeve|url=http://www.independent.co.uk/news/world/europe/olympics-massacre-munich--the-real-story-524011.html |title=Olympics Massacre: Munich – The real story|publisher=The Independent|date=22 January 2006|accessdate=3 March 2012}}</ref>, мөн Германы шоронд хоригдож байсан, тус улсын [[Улаан Армийн Фракц]]ыг үндэслэгчдийг ([[Андреас Баадер]], [[Улрике Майнхоф]]) нарыг суллах шаардлага тавьж байв<ref>{{cite web|url=http://www.jewishpress.com/news/baffled-bob-costas-to-call-own-minute-of-silence-during-olympic-broadcast-for-slain-israeli-team/2012/07/22/0/?print|title="Baffled" Bob Costas to Call Own Minute of Silence During Olympic Broadcast for Slain Israeli Team|publisher=The Jewish Press|date=22 July 2012|accessdate=23 July 2012|author=Fleisher, Malkah|archive-date=3 Гуравдугаар сар 2016|archive-url=https://web.archive.org/web/20160303180416/http://www.jewishpress.com/news/baffled-bob-costas-to-call-own-minute-of-silence-during-olympic-broadcast-for-slain-israeli-team/2012/07/22/0/?print|url-status=dead}}</ref>. Тэд уг ажиллагаагаа 1948 онд [[Хагана]] буюу Британийн ивээл дэх Палестины парламентын шийдвэрээр цөлөгдсөн Христ итгэлт арабчуудын 2 тосгоны нэрээр "[[Икрит]] ба [[Кафр Бир'им|Бирам]]" хэмээн нэрлэж байв<ref>{{cite book|url=http://books.google.fr/books?id=4LAXixXUu5wC&pg=RA1-PA224&lpg=RA1-PA224&dq=ikrit+biram+%22black+september%22&source=bl&ots=6BB_-iVF_A&sig=_arYUHd4xV0KTyZhc9HMr5tK4Uo&hl=fr&ei=2wVAS5OxGtK7lAfXoYCUBw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CAsQ6AEwATgU#v=onepage&q=ikrit%20biram%20%22black%20september%22&f=false|title=Terrorism: A Global Scourge&nbsp;– Google Livres |publisher=Books.google|accessdate=7 June 2010}}</ref>. ==Шалтгаан сэдэл== “Олон улсын олимпын хороо Палестин улсыг спортын их наадамд оролцох хїсэлтээ илэрхийлсний хариуд татгалзсан гэдгийг бид долоодугаар сарын 13-ны єглєє Ром хотод байхдаа мэдээд энэ санааг сэдсэн билээ. Палестин гэж улс энэ дэлхий дээр байхгїй гэсэн хариуг тэгэхэд єгсєн юм. За, яахав. Тэгвэл бид ийм улс дэлхий дээр байдаг гэдгийг хүн тєрєлхтєнд харуулаад орхиё л доо гэж би хэлсэн. Барууны улс, орнууд тэр үед Палестин гэдэг улс огт байхгїй мэтээр ярьж байлаа. Тэгвэл бид олимпын тоглолтыг үзэж суугаа 500 сая хүнд тийм улс байдаг юм шүү гэдгийг харуулахыг зорьсон” гэж тэрхүү барьцаалалтыг зохион байгуулагчдын нэг Дауд хожим дурсчээ.<ref>{{Cite web |url=http://www.wikimon.mn/content/35521.shtml#sthash.maVXdi7Y.dpuf |title=Archive copy |access-date=2014-04-24 |archive-date=2012-10-09 |archive-url=https://web.archive.org/web/20121009045554/http://www.wikimon.mn/content/35521.shtml#sthash.maVXdi7Y.dpuf |url-status=dead }}</ref>. ==Түүх== [[Палестин]]ы [[Хар есдүгээр сар (бүлэг)|Хар есдүгээр сар]]ын 11 гишүүн олимпын тосгонд нууцаар нэвтрэн [[Израйль|Израйлийн]] [[тамирчин]], [[дасгалжуулагч]] 11 хүнийг байрлаж байсан байранд нь барьцаалсан байна. Барьцаалагч нар изриалийн тамирчдыг барьцаалснаа зарлан [[Израил]] ба [[ХБНГУ]]-ын [[шорон]]д хоригдож байгаа [[палестины хоригдлууд]]ыг суллах шаардлага тавьсан байна. [[Баруун Германы цагдаа]] болон [[тусгай хүчнийхэн]] [[барьцаалагч]] нарын байсан байрыг бүслэн хаасан байна. Энэ үед [[Изриалийн нууц алба]] болох [[Моссад]] [[алан хядагч]], барьцаалагидтай тэмцэх тусгай бүлгийг байшинд нэвтрүүлэн [[тусгай ажиллагаа]] явуулахыг [[Баруун Герман]]ы талд санал болгожээ. Гэвч баруун Германы тал саналд татгалзсан хариу өгч барьцаалагч нарын шаардлагыг биелүүлэхгүй байх шийдвэр гарган өөрийн тусгай хүчний хүчээр [[барьцаалуулагч]] нарыг чөлөөлөх шийдвэр гаргасан байна. [[Чөлөөлөх ажиллагаа]]ны үед 11 барьцаалагчийн 8-ийг устган 3-ыг баривчилсан бөгөөд барьцаалуулагч нарыг амьдаар нь аварч чадаагүй ба тусгайн 1 ажилтан амь үрэгдэн хохирчээ. Ерөнхийдөө [[аврах ажиллагаа]] бүрэн бүтэлгүйтэж дууссан нь Баруун Германы тусгай хүчний бэлтгэл маш хангалтгүй муу байсныг харуулсан байна. Халдлага үйлдэгсэд хотхонд нэвтрэхдээ Германы [[Неонацизм|нео-Нацистуудаас]] туслалцаа авсан гэдэг<ref>{{citation|first1=Gunther |last1=Latsch|first2=Klaus|last2=Wiegrefe|title=Files Reveal Neo-Nazis Helped Palestinian Terrorists|date=18 June 2012|url=http://www.spiegel.de/international/germany/files-show-neo-nazis-helped-palestinian-terrorists-in-munich-1972-massacre-a-839467.html|publisher=Spiegel Online}}</ref>. Амжилтгүй болсон аврах оролдлогын үеэр Хар есдүгээр сарын 8 гишүүний 5 нь цагдаагийнхний суманд өртөж алагдсан. Амьд үлдсэн 3 барьцаалагч баривчлагдсан ч Хар есдүгээр сарынхан [[Люфтханза]]гийн онгоцыг барьцаалсан хэрэг гарч, тэрхүү гурван алан хядагчийг Баруун Германы тал суллахаас өөр аргагүй болсон түүхтэй. ==Сургамж== Энэхүү эмгэнэлт явдлаас сургамж авсан Изриаль үүнээс хойш [[алан хядагч барьцаалагч]] нартай хэзээ ч [[тохиролцоо]] хийхгүй харин ийм үйлдэл бүхэнд түүнийг зохион байгуулсан алан хядагч нарыг устгах болохоо албан ёсоор мэдэгдэсэн байна. Изриаль Моссадын тусгай хүчний бэлтгэлийг сайжруулан алан хядагч нартай тэмцэн [[өшөө авах тусгай хэсгийг]] маш нууцаар зохион байгуулссан байна. Үүнээс хойш [[Палестиныг чөлөөлөх байгууллага]] болон бусад [[Арабын салан тусгаарлах байгууллагууд]]ын эсрэг тэд нарын удирдагч, барьцаалалтыг зохион байгуулагч, оролцогч нарыг аль ч улсын нутаг дэвсгэрт байсан хамаагүй устгах үйл ажиллагаануудыг хийж эхэлжээ. [[Палестин]]ы тал Изриалийн талд олон улсын түвшинд шахалт учруулах зорилгоор [[Изриалын иргэний агаарын нисэх компаниуд]]ын [[онгоц]]уудыг удаа дараалан барьцаалж эхэлсэн байна. Үүний хариуд Изриалийн Моссад түүнийг зохион байгуулагч нарыг [[Иордан]], [[Египит]], [[Ливи]], [[Франц]], [[Швед]] болон бусад улсуудад алах олон удаагийн тусгай ажиллагаануудыг нууцаар зохион байгуулжээ. Эдгээрийг тухайн улсын эрх баригч нарт мэдэгдэлгүй [[хуурамч бичиг баримт]] ашиглан зохион байгуулж байсан нь тухайн аллагыг мөрдөн шалгалтаар илрэн түүнд оролцогч нарын заримыг баривчилсан нь [[дэлхий]] даяар ихээхэн шуугиан тарьжээ. Түүнчилэн Моссад Шведэд аллага хийхдээ тус улсын иргэн болсон энгийн [[иргэн]]ийг алан хядагчтай андууран устгасан нь бүүр байдлыг хүндрүүлсэн ба [[Канад]] болон бусад улсууд өөрийнх нь [[гадаад паспорт]]ууд яагаад изриалийн иргэдэд хуурамчаар олгогдсон байсан тухай албан ёсны асуулгыг [[Изриалийн Гадаад явдлын яам]]анд албан ёсоор тавьсан байна. == Хохирогчид == ;барьцаацлуулалтын эхэнд буудуулсан * [[Moshe Weinberg]], бөхийн дасгалжуулагч * [[Yossef Romano]], хүндийн өргөгч ;нисдэг тэрэгний зүүн талд буудуулж ба грантанд өртсөн :Тэд нарыг суух команд өгсөн байна: * [[Ze'ev Friedman]], хүндийн өргөгч * [[David Mark Berger|David Berger]], хүндийн өргөгч * [[Yakov Springer]], хүндийн өргөлтийн шүүгч * [[Eliezer Halfin]], бөх ;нисдэг тэрэгний баруун талд буудуулсан :Тэд нарыг суух команд өгсөн байна: * [[Yossef Gutfreund]], бөхийн туслах * [[Kehat Shorr]], буудлагын дасгалжуулагч * [[Mark Slavin]], бөх * [[Andre Spitzer]], дасгалжулагч * [[Amitzur Shapira]], дасгалжуулагч ;агаараар дайрах үед буудуулсан * Anton Fliegerbauer, германы цагдаагийн офицер ;германы цгадаа нарт буудуулсан палестинчууд * [[Luttif Afif]] ("Issa") * Yusuf Nazzal ("Tony") * Afif Ahmed Hamid ("Paolo") * Khalid Jamal ("Salah") * Ahmed Chic Thaa ("Abu Halla") ==Эшлэл== {{Reflist}} [[Ангилал:Террорист халдлага]] [[Ангилал:Мюнхен]] [[Ангилал:20-р зууны Израилын түүх]] [[Ангилал:Герман дахь эрүүгийн хэрэг]] [[Ангилал:Аллага]] [[Ангилал:Герман-Израилын харилцаа]] [[Ангилал:1972 оны эрүүгийн хэрэг]] [[Ангилал:1972 оны улс төр]] [[Ангилал:1972 оны зөрчилдөөн]] 2hc4dtpk1rbay4hw4iemxzze5th7qux Говь-Алтай аймаг 0 31113 860701 828209 2026-06-30T18:50:13Z Mongolgpt 95994 860701 wikitext text/x-wiki {{Short description|Монголын аймаг}} {{Инфобокс суурин | name = Говь-Алтай аймаг | native_name = {{MongolUnicode|ᠭᠣᠪᠢ}}{{MongolUnicode|ᠠᠯᠲᠠᠢ}}{{MongolUnicode|ᠠᠶᠢᠮᠠᠭ}} | native_name_lang = mn | settlement_type = [[Монгол Улсын аймгууд|Аймаг]] | image_skyline = Sutai Mount, Altai Mountains. - panoramio.jpg | image_alt = | image_caption = Говь-Алтай аймгийн баруун хэсэгт оршдог Сутай уул | image_flag = Mn flag govi-altai aimag 2011.svg | flag_alt = | image_seal = | seal_alt = | image_shield = Mn coa govi-altai aimag 2011.svg | shield_alt = | nickname = | motto = | image_map = Govi-Altai in Mongolia.svg | map_alt = | map_caption = | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{coord|45|30|N|95|30|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Улс | subdivision_name = {{flag|Монгол}} | established_title = Байгуулагдсан | established_date = 1940 | founder = | seat_type = Нийслэл | seat =[[Алтай (хот)|Алтай хот]] | government_footnotes = | leader_party = | leader_title = | leader_name = | unit_pref = Metric<!-- or US or UK --> | area_footnotes = | area_total_km2 = 141447.67 | area_land_km2 = | area_water_km2 = | area_water_percent = | area_note = | elevation_footnotes = | elevation_max_m = 3802 | population_footnotes = | population_total = {{decrease}} 56,091 | population_as_of = 2025 | population_density_km2 = auto | population_demonym = | population_note = | demographics_type2 = ДНБ | demographics2_footnotes = <ref>{{Cite web|last=|first=|date=|title=GROSS DOMESTIC PRODUCT, by region, aimags and the Capital|url=https://www.1212.mn/en/statistic/statcate/573052/table-view/DT_NSO_0500_007V1|archive-url=https://web.archive.org/web/20240408140558/https://www.1212.mn/en/statistic/statcate/573052/table-view/DT_NSO_0500_007V1|archive-date=2024-04-08|access-date=2023-12-06|publisher=Mongolian Statistical Information Service|website=www.1212.mn|url-status=dead}}</ref> | demographics2_title1 = Нийт | demographics2_info1 = [[Төгрөг|MNT]] 486 тэрбум <br />[[Америк доллар|US$]] 0.1 тэрбум (2023) | demographics2_title2 = Нэг хүнд ноогдох | demographics2_info2 = MNT 8,494,883 <br />US$ 2,490 (2023) | timezone1 = [[UTC+7]] | utc_offset1 = | timezone1_DST = | utc_offset1_DST = | postal_code_type = | postal_code = | area_code_type = | area_code = +976 (0)148 | registration_plate = ГА_ | iso_code = MN-065 | website = {{URL|http://www.govi-altai.gov.mn/}} | footnotes = }} '''Говь-Алтай''' ([[Монгол бичиг|монгол бичгээр]] {{mongolUnicode|ᠭᠣᠪᠢ ᠠᠯᠲᠠᠢ|h}} – ''гоби-алтаи'') нь [[Монгол улс]]ын баруун өмнөд хэсэгт орших аймаг юм. Аймгийн төв нь [[Алтай хот|Алтай]]. Говь-Алтай аймаг нь 141.4 мянган хавтгай дөрвөлжин км газар нутагтай, хойд талаараа [[Завхан аймаг]], зүүн талаараа [[Баянхонгор аймаг]], өмнө талаараа 360 км [[Хятад|БНХАУ]], баруун талаараа [[Ховд аймаг|Ховд аймагтай]] хиллэж, аймгийн төв нь Улаанбаатар хотоос 1037 км зайд оршдог. ==Түүхэн тойм== Түүхийн хуудас сөхвөл ар Халхын 4 аймгийн нэг, Засагт хан аймгийн нэршил [[Ардын хувьсгал]] ялсны дараахан буюу 1923-1924 онд тэр үеийн аймаг хошуудын нэрийг газар усны нэрээр өөрчлөхөд [[Хан тайшир уулын аймаг]] хэмээсэн ба (гол хошууг нь ч мөн нэрээр нэрлэж) түүнд одоогийн Говь-Алтай аймгаас гадна, Увс аймгийн Өндөрхангай, Зүүнхангай, Зүүнговь сумд, Ховдын Зэрэг, Дарви сумд, Баянхонгорын Байдрагаас баруун хойших Баацагаан, Бууцагаан, Баян-Өндөр, Шинэжинст зэрэг сумд, мөн Завхан аймгийн нэлээд хэдэн сум харьяалагдаж байсныг түүхийн олон эх сурвалжид дурдсан байна. 1931 онд олон аймаг байгуулахад Алтай, 1934 оны эцэсээр Завхан аймагтай нийлээд, дараа нь 1940 оны шинэчилсэн өөрчлөлтөөр одоогийн Говь-Алтай аймаг болж төвхнөжээ. == Газар зүй == Говь-Алтай аймаг нь Монголын баруун өмнөд хэсэгт орших бөгөөд нутгийн дундуур нь Монгол [[Алтайн нуруу]] баруун хойноос зүүн урагшаа чиглэлтэй оршино. Аймгийн хамгийн өндөр мөнх цаст [[Сутай хайрхан]] уул далайн түвшнээс дээш 4090 метр өндөр бөгөөд [[Аж Богдын нуруу|Аж богд]] (3802 м), [[Бурхан буудай уул|Бурхан буудай]] (3765 м), [[Алагхайрхан|Алаг хайрхан]] (3738 м), [[Хасагт хайрхан]] (3578 м), Бүс хайрхан (3393 м), Буга хайрхан зэрэг байгалийн үзэсгэлэнт өндөр уулс оршино. Мөн Шарга, Бигэр, Хүйс зэрэг томоохон хотгоруудад нь [[кайнозойн үе|кайнозойн]] хурдас тархсан бөгөөд уулархаг нь [[кембрийн үе|Кембрийн]] ба Кембрийн өмнөх суурь чулуулагтай юм. [[Чулуун нүүрс]] (Зээгт), үнэт чулуу (Алтан худаг), барилгын материал зэрэг ашигт малтмал бий. Аймгийн нутгийн хойд захаар [[Завхан гол]] урсах бөгөөд Зүйл, Сагсай зэрэг адагтаа ширгэдэг гол горхи бий. Мөн [[Ихэс нуур|Ихэс]], [[Шаргын цагаан нуур|Шаргын цагаан]], [[Тонхил нуур|Тонхил]] зэрэг нуурууд бий. Хөнхөр зуслан, Улаанхайрхан, Аргалант зэрэг рашаан ус бий. Говь-Алтай аймаг нутаг дэвсгэрийнхээ хэмжээгээр улсдаа 2-рт орно. == Хүн ам == Хүн ам, орон сууцны 2020 оны ээлжит тооллогын дүнгээр Говь-Алтай аймгийн харьяат хүн 57.7 мянга байгаа нь 2010-2020 оны хооронд буюу 10 жилийн хугацаанд 3.9 мянган хүнээр өсжээ. Хүн амын 49.8 хувь нь эрэгтэйчүүд, 50.2 хувь нь эмэгтэйчүүд байна. Говь-Алтай аймгийн харьяат хүн амын 99.3 хувийг халхчууд эзэлж, өмнөх тооллогын үеийнхээс 0.7 пунктээр өссөн байна. Мөн [[Захчин]]-0.2, [[Дөрвөд]]-0.1, [[Казахууд|Казах]]-0.1, [[Баяд]]-0.1, [[Торгууд]]-0.1 болон бусад үндэстэн 0.2 хувийг тус тус эзэлж байна. 2020 оны хүн амын тооллогоор тоологдсон 16.1 мянган өрхийн 33.1 хувь нь суурин газарт, 66.9 хувь нь хөдөөд амьдарч байна. == Амьтан ургамал == Алтайн өвөр хэсгээр цөлийн бор саарал, хөрс, ууландаа уулын нугын ба уулын хүрэн хөрстэй, нутгийн хойд хэсгээр хүрэн хөрстэй, Алтайн өврөөр говийн ургамалтай, ууландаа уулын хээр, хойд хэсгээрээ хээрийн ургамал тархжээ. Аймгийн нутагт дэлхийд нэн ховордсон [[бөхөн]], [[хулан]], [[хавтгай]], [[мазаалай]] болон бусад олон төрлийн амьтад амьдардаг. Аймгийн хэмжээгээр 2 сая гаруй малтай бөгөөд малын олонх нь [[хонь]], [[ямаа]] юм. == Эдийн засаг == Хятад улс руу гарах [[Бургастайн боомт]] Алтай суманд бий. ==Аймгийн бэлгэ тэмдэг== === Аймгийн сүлд === Аймгийн сүлд нь ариун цагаан өнгийн бадам цэцэг суурьтай, төгсгөлгүй үргэлжлэн дэлгэрэх түмэн наст хээгээр хөвөөлсөн, мөнх тэнгэрийг бэлгэдсэн дугариг хөх дэвсгэртэй байна. Сүлдний төв хэсэгт ан амьтнаар баялгийг бэлгэдэн дүүлж байгаа угалз, говь-хангай, өндөр сүрлэг уулсыг харуулсан ногоон шар дэвсгэр, мөнх цаст уулын зураг, дэлхийн даяаршил, мэдээллийн технологийг бэлгэдсэн долгионыг дүрсэлсэн байна. Сүлдний хүрээний магнайн хэсэгт шинжлэх ухаан боловсролыг дээдэлсэн дэлгэсэн номын дүрсэн дээр Монгол улсын тусгаар тогтнол, бүрэн эрхт байдал, цог хийморийг илтгэсэн алтан соёмбыг залж, доод хэсэгт аж үйлдвэр, газар тариаланг илтгэсэн хүрд араа, тариан түрүүг тус тус дүрсэлнэ. Сүлдний доод хэсгийг "Говь-Алтай" гэсэн бичигтэй туузаар ороосон байна. Аймгийн сүлдийг үйлдэх, дүрслэхдээ түүний хэмжээнээс үл хамааран Үндсэн хуульд хавсаргасан Монгол улсын сүлдний эх загварт заасан тэг, харьцааг чанд баримтална. === Далбаа === Говь-Алтай аймгийн далбаа нь шар хөх хосолсон өнгөтэй байна. Далбааны доод хэсэгт гурав хуваасны нэгийн хэмжээтэй говийг бэлгэдсэн шар өнгөтэй, дээд хэсэгт мөнх тэнгэрийг бэлгэдсэн хөх дэвсгэр дээр аймгийн сүлдийг байрлуулсан байна. Далбааны ишин талд сүлдийг байрлуулсан байна. Далбааны өргөн, урт нь 1х2-ын харьцаатай байна. === Сүлд дуу === '''[[Зулай цагаан Алтай (дуу)|Зулай цагаан Алтай]]''' ''/Үг: З.Гүнсэн, Ая: Ч.Сангидорж/'' :Үүрийн таван жингээр Сараан саатуулж мөнгөрсөн :Үдшийн бүрий тасартал Нараа наадуулж алтарсан :Зулай цагаан Алтайгаа би :Зүүдэлж сэрдэг нь юуных вэ ::Аяа Алтай минь, Алтай минь ::Азаар заяасан нутаг аа ::Тэвэрч таныгаа даахгvй ч гэлээ ::Тээж явдаг шүү сэтгэлдээ :Дэлгэр зуны улиралд Цэцгээ дэвсэж харуулдсан :Дэнжийн цагаан гэртээ Ээж минь хүүгээ хүлээсэн :Зулай цагаан Алтайгаа би :Зvvдэлж сэрдэг нь учиртай ::Аяа Алтай минь, Алтай минь ::Азаар заяасан нутаг аа ::Тэвэрч таныгаа даахгүй ч гэлээ ::Тээж явдаг шүү сэтгэлдээ :Заяа түвшин түмнийхээ Итгэл болж сүндэрлэсэн :Санаа цагаан ардынхаа Сэтгэл болж мөнхөрсөн :Зулай цагаан Алтайгаа би :Зүүдэлж сэрдэг нь аргагүй == Алдартнууд == Говь-Алтай аймаг нь Монгол Улсын генерал цолтон хамгийн олон төрсөн аймгийн нэг юм. Мөн шинэ үеийн дүрслэх урлагийн анхдагч [[Марзан Шарав‎|Балдуугийн Шарав]], Монгол Улсын Ерөнхий сайд асан [[Пунцагийн Жасрай]] болон Монгол Улсын баатар [[Магсарын Жанчив]], [[Дүгэрийн Гуулин]], [[Ванчинжавын Шарав]], төрийн хошой шагналт нэрт зохиолч [[Чадраабалын Лодойдамба]], Зохиолч судлаач [[Лодонгийн Түдэв]], Соёлын Гавьяат Зүтгэлтэн, зохиолч, яруу найрагч, сэтгүүлч Дагшинжавын Лхагвасүрэн, Монгол Улсын гавьяат хуульч, хурандаа генерал [[Жарантайн Авхиа]], Монгол Улсын Батлан хамгаалахын сайд [[Шагалын Жадамбаа]], Монгол Улсын гавьяат тамирчин [[Нанзадын Бүргэдаа]], Монгол Улсын Ардын эмч [[Навааны Жамбал]], Монгол Улсын гавьяат эмч, академич, доктор, профессор [[Бямбажавын Рагчаа]], гавьяат эмч Машбалжирын Ганбаатар, Гавьяат эмч [[Бундангийн Болдсайхан]], Монгол улсын гавьяат эмч [[Чогсомын Содномпил]], Монгол Улсын гавьяат багш, академич, төрийн шагналт доктор професор [[Дарийн Содномдорж]], Монгол Улсын Хуулийн салбарын алтан үеийнхний нэг гавьяат хуульч [[Буяндэлгэрийн Санжмятав]], Монгол Улсад худалдаа, нийтийн хоолны салбарыг хөгжүүлэхэд үнэтэй хувь нэмэр оруулсан анхдагчдын нэг [[Дан-Аажавын Пунцаг]], Монгол Улсын гавьяат жүжигчин [[Гончигийн Ундармаа]], дипломатч, доктор профессор [[Чоёгийн Даваадаш]], Үндэсний бөхийн улсын Дархан аварга [[Шаравын Батсуурь]], улсын гарди [[Нямдоржийн Ганбаатар]], [[Жанцангийн Бат-Эрдэнэ]], улсын заан [[Рэгжийбуугийн Давааням]], [[Баттулгын Соронзонболд]] нар энэ нутгийн бахархал мөн. ==Сонирхолтой баримтууд== *Говь-Алтай аймгийн төв [[Алтай (хот)|Алтай хот]] нь д.т.д 2181м-ийн өндөрт оршдог. *Говь-Алтай аймаг нь Монголын бүх бүс нутгийг багтаасан цорын ганц аймаг юм. Тодруулбал [[говь]], хангай, [[Тал газар|тал]], уулс гээд Монголын бүхий л байгаль орчны хэв шинжийг энэ аймагт харж болно. == Сумд == [[Файл:Mongolia Govi-Altai sum map.png|thumb|right|240 px|Сумд]] * [[Алтай сум (Говь-Алтай)|Алтай сум]] * [[Баян-Уул сум (Говь-Алтай)|Баян-Уул сум]] * [[Бигэр сум]] * [[Бугат сум (Говь-Алтай)|Бугат сум]] * [[Дарви сум (Говь-Алтай)|Дарви сум]] * [[Дэлгэр сум]] * [[Есөнбулаг сум]] * [[Жаргалан сум]] * [[Тайшир сум]] * [[Тонхил сум]] * [[Төгрөг сум (Говь-Алтай)|Төгрөг сум]] * [[Халиун сум]] * [[Хөхморьт сум]] * [[Цогт сум]] * [[Цээл сум (Говь-Алтай)|Цээл сум]] * [[Чандмань сум (Говь-Алтай)|Чандмань сум]] * [[Шарга сум]] * [[Эрдэнэ сум (Говь-Алтай)|Эрдэнэ сум]] ==Цахим холбоос== {{Commons|Category:Govi-Altai Aimag|Говь-Алтай аймаг}} * [http://www.govi-altai.gov.mn/ Говь-Алтай аймгийн албан ёсны цахим хуудас] ==Эшлэл== {{Reflist}} {{Хөтлөгч мөр Монголын аймаг}} {{Хөтлөгч мөр Говь-Алтайн сумууд}} [[Ангилал:Говь-Алтай аймаг| ]] [[Ангилал:Монголын аймаг]] [[Ангилал:Хөдөлмөрийн Гавьяаны Улаан Тугийн одон шагналтан (Монгол)|!]] 0cl0uv0hedb7t1cnn44uvi1cl88sitw Ваймарын Бүгд Найрамдах Улс 0 34774 860745 860304 2026-07-01T00:56:29Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860745 wikitext text/x-wiki {{Short description|1918-1933 онуудад Герман улс}} {{Инфобокс улс | native_name = {{lang|de|Deutsches Reich}}<!-- Do not replace with Weimar Republic as this parameter is for the OFFICIAL name. --> | conventional_long_name = Германы Эзэнт Гүрэн<!-- Do not replace with Weimar Republic as that is the COMMON NAME whereas this parameter is for the official name. --> | common_name = Ваймарын Бүгд Найрамдах | p1 = Германы эзэнт гүрэн | flag_p1 = Flag of Germany (1867–1918).svg | s1 = Нацист Герман | flag_s1 = Flag of Germany (1933–1935).svg | image_flag = Flag of Germany (3-2 aspect ratio).svg | flag_type = [[Германы далбаа#Ваймарын Бүгд Найрамдах Улс (1918–1933)|Далбаа]]<br>(1919–1933) | image_coat = Wappen Deutsches Reich (Weimarer Republik).svg | coa_size = 80 | symbol_type = [[Ваймарын Бүгд Найрамдах Улсын сүлд|Сүлд]]<br>(1919–1928) | national_anthem = {{lang|de|[[Das Lied der Deutschen]]}}<br />"Германчуудын дуу"<br /> (1922 оноос)<ref name="faz-20120904">{{cite news |access-date=2022-08-04 |first=Винфрид |last=Клайн |date=2012-09-14 |publisher=Frankfurter Allgemeine Zeitung |title=Wer sind wir, und was wollen wir dazu singen? |url=https://www.faz.net/aktuell/feuilleton/geisteswissenschaften/vom-deutschlandlied-zur-nationalhymne-wer-sind-wir-und-was-wollen-wir-dazu-singen-11878854.html |website=FAZ.NET}}<!-- auto-translated from German by Module:CS1 translator --></ref><br> <div style="display:inline-block;margin-top:0.4em;">{{center|[[File:Deutschlandlied (old recording).oga]]}}</div> | image_map = Weimar Republic 1930.svg | map_width = 250px | image_map_caption = Ваймарын Бүгд Найрамдах Улс 1930 онд | image_map2 = Karte des Deutschen Reiches, Weimarer Republik-Drittes Reich 1919–1937.svg | image_map2_caption = [[Ваймарын Бүгд Найрамдах Улсын засаг захиргааны хуваарь|Герман улсууд]] 1925 онд | population_density_km2 = 133.129 | capital = [[Берлин]] | coordinates = {{Coord|52|31|N|13|23|E|type:city}} | largest_city = capital | official_languages = [[Стандарт Герман хэл|Герман]] | common_languages = {{hidden|'''Албан бус:'''|[[Доод Герман хэл|Доод Герман]], [[Польш хэл|Польш]], [[Лимбург хэл|Лимбург]], [[Фриз хэлнүүд|Фриз]], [[Идиш хэл|Идиш]], [[Дани хэл|Дани]], [[Сорб хэл|Сорб]], [[Синти Цыган хэл|Синти]], [[Литва хэл]]|style=font-size:100%;padding:0.25em 0 0; |headerstyle=text-align:left;font-weight:normal;}} | religion = 1925 оны тоолого:<ref>{{Webarchiv|url=http://germanhistorydocs.ghi-dc.org/pdf/eng/JEW_RELIGIONZUGEHTABELLE_ENG.pdf |wayback=20160809154418 |text=Volume 6. Weimar Germany, 1918/19–1933 Population by Religious Denomination (1910–1939) |archiv-bot=2026-05-24 03:22:21 InternetArchiveBot }} {{Webarchive|url=https://web.archive.org/web/20160809154418/http://germanhistorydocs.ghi-dc.org/pdf/eng/JEW_RELIGIONZUGEHTABELLE_ENG.pdf |date=9 August 2016 }} Sozialgeschichtliches Arbeitsbuch, Volume III, Materialien zur Statistik des Deutschen Reiches 1914–1945, edited by Dietmar Petzina, Werner Abelshauser and Anselm Faust. Munich: Verlag C. H. Beck, 1978, p. 31. Translation: Fred Reuss.</ref>{{plainlist| * 64.1% [[Протестант]] ([[Лютеран]], [[Кальвинизм]], [[Нэгдсэн сүм|Нэгдсэн]]) * 32.4% [[Ромын Католик]] * 0.9% [[Герман дахь еврейчүүдийн түүх|Еврей]] * 2.6% Бусад}} | demonym = Германчууд | government_type = Холбооны [[Холимог засаглалын систем|хагас-ерөнхийлөгчийн бүгд найрамдах улс]] * [[Ардын Төлөөлөгчдийн зөвлөл|түр засгийн газар]] {{small|(1918 оны 11 сарын 10-наас 1919 оны 2 сарын 13 хүртэл)}} * ерөнхийлөгчийн [[зарлигаар засаглал]] {{small|(1930–1933)}} | title_leader = [[Германы ерөнхийлөгч (1919–1945)|Ерөнхийлөгч]] | year_leader1 = 1919–1925 | leader1 = [[Фридрих Эберт]] | year_leader2 = 1925–1933 | leader2 = [[Паул фон Хинденбург]] | title_deputy = [[Германы канцлер#Ваймарын Бүгд Найрамдах Улс (1919–1933)|Канцлер]] | year_deputy1 = 1918 (анхны) | deputy1 = [[Friedrich Ebert]] | year_deputy2 = 1933 (сүүлийн) | deputy2 = [[Адольф Хитлер]] | era = [[Дайны хоорондын үе]] | event_start = [[Германд бүгд найрамдах улсын тунхаглал|Тунхаглав]] | date_start = 11 сарын 9, | year_start = 1918 | event1 = [[Ваймарын Үндсэн хууль|Үндсэн хууль]] | date_event1 = 8 сарын 11, 1919 | event2 = [[Үндэстнүүдийн Лиг]]т элссэн | date_event2 = 9 сарын 8, 1926 | event3 = [[Ваймарын Бүгд Найрамдах Улсын Ерөнхийлөгчийн засгийн газрууд|Зарлигаар засаглаж]] эхлэв | date_event3 = 3 сарын 29, 1930<ref name="Adam-2005"/> | event4 = [[Адольф Хитлер|Хитлер]] [[Адольф Хитлерийн эрх мэдэлд хүрэлт#Хяналтыг булаан авсан (1931–1933)|тангараг өргөв]] | date_event4 = 1 сарын 30, 1933 | event5 = [[Рейхстагийн галын зарлиг]] | date_event5 = 2 сарын 28, 1933 | event_end = [[1933 оны Онцгой эрх мэдлийн тухай хууль|Онцгой эрх мэдлийн тухай хууль]] | date_end = 3 сарын 23, | year_end = 1933<ref>{{cite encyclopedia |url=http://blogs.britannica.com/2007/03/the-reichstag-fire-and-the-enabling-act/ |title=The Reichstag Fire and the Enabling Act of March 23, 1933 |first=Уильям Л. |last=Хош |date=2007-03-23 |encyclopedia=[[Britannica.com|Britannica]] Blog |language=en-US |access-date=2026-03-03 |archive-date=2019-03-11 |archive-url=https://web.archive.org/web/20190311083054/http://blogs.britannica.com/2007/03/the-reichstag-fire-and-the-enabling-act/ |url-status=dead }} {{Webarchiv|url=http://blogs.britannica.com/2007/03/the-reichstag-fire-and-the-enabling-act/ |wayback=20190311083054 |text=The Reichstag Fire and the Enabling Act of March 23, 1933 |archiv-bot=2026-07-01 00:56:29 InternetArchiveBot }}</ref><ref>{{cite web |url=http://www.dw.com/en/the-law-that-enabled-hitlers-dictatorship/a-16689839 |title=The law that 'enabled' Hitler's dictatorship |date=2013-03-23 |website=[[DW.com]] |language=en |access-date=2026-03-03 |archive-date=2019-09-07 |archive-url=https://web.archive.org/web/20190907195649/https://www.dw.com/en/the-law-that-enabled-hitlers-dictatorship/a-16689839 |url-status=live }}</ref><ref>{{cite book |title=Republic to Reich: A History of Germany 1918–1945 |last=Мэйсон |first=К. Ж. |publisher=McGraw-Hill}}</ref> | legislature = [[Хоёр танхимт]] | house1 = [[Рейхсрат (Герман)|Рейхсрат]] ''(де-факто)'' | type_house1 = [[Дээд танхим]] | house2 = [[Рейхстаг (Ваймарын Бүгд Найрамдах Улс)|Рейхстаг]] | type_house2 = [[Доод танхим]] | stat_year1 = 1925 | stat_area1 = 468787 | ref_area1 = <ref name="Wahlen in der Weimarer Republik">{{cite web |url=http://www.gonschior.de/weimar/Deutschland/index.htm |title=Das Deutsche Reich im Überblick |work=Wahlen in der Weimarer Republik |access-date=2026-03-03 |archive-date=2019-11-21 |archive-url=https://web.archive.org/web/20191121115812/http://www.gonschior.de/weimar/Deutschland/index.htm |url-status=live }}</ref> | stat_pop1 = 62,411,000 | ref_pop1 = <ref name="Wahlen in der Weimarer Republik" /> | currency = {{Unbulleted list|1919–23 [[Цаасан марк|"Цаасан марк" (ℳ)]] |1923–24 [[Рентенмарк]] (RM) |1924–33 [[Райхсмарк|Райхсмарк (ℛℳ)]]}} | today = {{plainlist| * [[Герман]] * [[Польш]] * [[Орос]]{{efn|[[Калининград муж]]}} * [[Литва]]{{efn|[[Клайпеда хошуу|Клайпеда]] ба [[Таураге хошуу]]ны хэсэг}} *[[Нидерланд]]{{efn|[[Дуйвелсберг]]}}}} }} '''Ваймарын Бүгд Найрамдах Улс''' ({{lang-de|Weimarer Republik}}) бол 1919 онд [[Германы Хаант Улс]]ын дараа байгуулагдсан [[парламентын ардчилсан]] засаглалтай [[холбооны бүгд найрамдах]] улс юм. Энэ улс 1933 онд [[Адольф Хитлер]] засгийн эрхэнд гарч Райхсканцлер болсоноор дуусгавар болсон байна. [[Ваймар]] нь энэхүү бүгд найрамдах улсыг байгуулах Үндсэн хуулийн чуулган болсон хотын нэр юм. == Цахим холбоос == {{Commonscat|Weimar Republic|Ваймарын Бүгд Найрамдах Улс}} * {{DNB-Portal|4065109-5|TEXT=Ном зүй:}} * Arnulf Scriba: [http://www.dhm.de/lemo/html/weimar/ Die Weimarer Republik] == Эх сурвалж == === Тэмдэглэл === {{Notelist}} === Эшлэл === {{reflist}} [[Ангилал:Ваймарын Бүгд Найрамдах Улс| ]] [[Ангилал:20-р зууны Германы түүx]] [[Ангилал:1919 онд байгуулагдсан]] s5ls5xb1b50eqtmo5tk1y1jgsztig8u Саятан хот 0 37784 860796 859335 2026-07-01T11:22:52Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860796 wikitext text/x-wiki {{multiple image | align = right | direction = vertical | width = 250 | image1 = UlaanBaatar-2009.jpg | caption1 = Монголын ганц саятан хот [[Улаанбаатар]] | image2 = Tour Eiffel, École militaire, Champ-de-Mars, Palais de Chaillot, La Défense - 03.jpg | caption2 = Францын ганц саятан хот [[Парис]] | image3 = Road junction @ Sitnyakovo blvd, Sofia.jpg | caption3 = Болгарын ганц саятан хот [[Софи]] | image4 = Kaohsiung Skyline 2020.jpg | caption4 = Тайванийн [[Гаошюн]] | image5 = City bowl.jpg | caption5 = ӨАБНУ-ын тавын нэг [[Кейптаун]] | image6 = Melbourne Skyline from Rialto Equirectangular Crop - Nov 2008.jpg | caption6 = Австралийн хэдийн нэг [[Мельбурн]] | image7 = 26 - New York - Octobre 2008.jpg | caption7 = Америкийн [[Нью-Йорк]] | image8 = Busan View.jpg | caption8 = Өмнөд Солонгосын [[Пүсань]] | image9 = Belo Horizonte (2).jpg | caption9 = Бразилын [[Белу-Оризонти]] }} '''Саятан хот''' гэж [[сая]]ас их [[хүн ам]]тай [[хот]]ыг хэлнэ. ==Улс улсын саятан хотууд== {| class="wikitable" ! № !! Улс, орон !! Саятан хотын тоо !! Саятан хотууд |- |1 |[[Хятад]] |53-61<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-54 |title=Города Китая |access-date=2013-12-04 |archive-date=2013-05-30 |archive-url=https://web.archive.org/web/20130530234956/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-54 |url-status=dead }}</ref><ref>[http://www.citypopulation.de/China-UA.html Главные города Китая]</ref>-ээс 199<ref>199 [[Городской округ (КНР)|городских округов Китая]] (без учёта [[Тайвань|Тайваня]]), то есть города с подчинёнными им окружными территориями.</ref><ref>{{Cite web |url=http://www.international.ucla.edu/eas/statistics/chinacty.htm |title=This list includes China’s 99 cities with populations over one million as of the 1990 national census. United Nations Statistics Division. |access-date=2013-12-04 |archive-date=2009-06-27 |archive-url=https://web.archive.org/web/20090627050117/http://www.international.ucla.edu/eas/statistics/chinacty.htm |url-status=dead }}</ref> |[[Шанхай]], [[Бээжин]], [[Гуанжоу]], [[Харбин]], [[Хонконг]], [[Шэньжэнь]], [[Чунчин]], [[Өрөмч]], [[Ухань]], [[Ланьжоу]], [[Бугат хот|Бугат]], [[Шинин]], [[Хөфэй]], [[Гуйян]], [[Мүгдэн]], [[Далянь]], [[Ляньюньган]], [[Фужоу]], [[Сямынь]], [[Хуанши]], [[Чанша]], [[Шаоян]], [[Шижяжуан]], [[Таншань]], [[Чиньхуандао]], [[Ханьдань]], [[Чэндэ]], [[Хаалган]], [[Дачин]], [[Хэган]], [[Жямусы]], [[Чичихар]], [[Жэнжоу]], [[Аньян]], [[Кайфэн]], [[Пуян]], [[Наньян]], [[Пиндиншань]], [[Лоян]], [[Синьсян]], [[Синьян]], [[Гирин хот|Гирин]], [[Чанчунь]], [[Наньчан]], [[Наньжин]], [[Уси]], [[Чанжоу]], [[Сужоу]], [[Янжоу]], [[Янчэн]], [[Сюйчжоу]], [[Тайжоу]], [[Вэньжоу]], [[Нинбо]], [[Ханжоу]], [[Жинань]], [[Чиндао]], [[Жижао]], [[Тайань]], [[Яньтай]], [[Зыбо]], [[Тайюань]], [[Датун]], [[Линьфынь]], [[Шиань]], [[Хуайань]], [[Суцянь]], [[Лицзян]], [[Куньмин]], [[Хөх хот]], [[Люжоу]], [[Наньнин]], [[Тяньжинь]], [[Фуян]], [[Иян]], [[Юэян]], [[Хайкоу]], [[Хуайбэй]], [[Хуайнань]], [[Шаогуань]], [[Фошань]], [[Дунгуань]], [[Шаньтоу]], [[Чжаньцзян]], [[Чжуншань]], [[Чжухай]], [[Инкоу]], [[Ляоян]], [[Фүшинь]], [[Фушунь]], [[Бэньси]], [[Аньшань]], [[Гуанъюань]], [[Наньчун]], [[Чэньжоу]], [[Чэндү]], [[Дэян]], [[Зыгун]], [[Паньжихуа]], [[Эжоу]], [[Ичан]], [[Мяньян]], [[Линьи]], [[Жэньзян]], [[Ибинь]], [[Уху]], [[Вэйфан]], [[Баодин]], [[Баози]], [[Хэзэ]], [[Шанжао]], [[Дунъин]], [[Ляочэн]], [[Божоу]], [[Хэнъян]], [[Путянь]] |- |2 |[[Энэтхэг]] |54<ref>[http://www.citypopulation.de/India-Agglo.html Главные города Индии]</ref> |[[Мумбай]], [[Дели]], [[Калькутта]], [[Ченнай]], [[Бангалор]], [[Хайдарабад]], [[Ахмадабад]], [[Пуна]], [[Сурат]], [[Жайпур]], [[Канпур]], [[Лакхнау]], [[Нагпур]], [[Газиабад]], [[Индаур]], [[Коямпуттур]], [[Кочин]], [[Патна]], [[Каликут]], [[Бхопал]], [[Триссур]], [[Вадодара]], [[Агра]], [[Вишакхапатнам]], [[Малаппурам]], [[Тируванантапурам]], [[Каннур]], [[Лудхияна]], [[Нашик]], [[Вижаявада]], [[Мадурай]], [[Варанаси]], [[Мирут]], [[Фаридабад]], [[Ражкот]], [[Жамшедпур]], [[Шринагар]], [[Жабалпур]], [[Асансол]], [[Васаи-Вирар]], [[Аллахабад]], [[Дханбад]], [[Кальян]], [[Аурангабад]], [[Амритсар]], [[Жодхпур]], [[Ранчи]], [[Райпур]], [[Коллам]], [[Гвалиор]], [[Бхилаи]], [[Чандигарх]], [[Тируччираппалли]], [[Кота]] |- |3 |[[Орос]] |15<ref>[http://www.citypopulation.de/Russia-Cities.html Главные города России]</ref><ref>{{Cite web |url=http://www.gks.ru/free_doc/2006/b06_13/04-14.htm |title=Список городов России с населением более 1 млн человек на сайте Госкомстата |access-date=2007-02-08 |archive-date=2007-02-08 |archive-url=https://web.archive.org/web/20070208043245/http://www.gks.ru/free_doc/2006/b06_13/04-14.htm |url-status=live }}</ref> |[[Москва]]<ref>[http://www.mos.ru/wps/portal/WebContent?rubricId=15408 Мониторинг — 2009 год. Демография.]</ref>, [[Санкт-Петербург]]<ref>[http://www.gks.ru/free_doc/2009/demo/popul09.htm ОЦЕНКА ЧИСЛЕННОСТИ ПОСТОЯННОГО НАСЕЛЕНИЯ на 1 января 2009 года]</ref>, [[Новосибирск]], [[Екатеринбург]], [[Доод Новгород]], [[Самар хот|Самар]], [[Казань]], [[Омск]], [[Челябинск]], [[Уфа]], [[Донын Ростов]], [[Волгоград]], [[Пермь]], [[Красноярск]] <ref>[http://www.kommersant.ru/doc.aspx?fromsearch=9c4bcf27-2354-471f-ad4b-b4ef58b01462&docsid=1336947 Население Волгограда — 2010 год]</ref>,[[Воронеж]] |- |4 |[[Бразил]] |14<ref>[http://www.citypopulation.de/Brazil-Cities.html Главные города Бразилии]</ref><ref>[http://www.ibge.gov.br/english/estatistica/populacao/estimativa2009/estimativa.shtm Бразильская оценка численности населения на 1 июля 2009 года]</ref> — 15<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&geo=-39&srt=pnan&col=abcdefghinoq&msz=1500 |title=Города Бразилии |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531020955/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&geo=-39&srt=pnan&col=abcdefghinoq&msz=1500 |url-status=dead }}</ref> |[[Сан-Паулу]], [[Рио-де-Жанейро]], [[Салвадор (Баия)|Салвадор]], [[Белу-Оризонти]], [[Форталеза]], [[Бразилиа]], [[Куритиба]], [[Манаус]], [[Ресифи]], [[Белен (Пара)|Белен]], [[Порту-Алегри]], [[Гояния]], [[Гуарульюс]], [[Кампинас]], [[Сан-Гонсалу (Рио-де-Жанейро)|Сан-Гонсалу]] |- |5 |[[Индонез]] |11<ref>[http://www.citypopulation.de/Indonesia.html Главные города Индонезии]</ref>—13<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-101 |title=Города Индонезии |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531015436/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-101 |url-status=dead }}</ref> |[[Жакарта]], [[Сурабая]], [[Баньдун]], [[Медан]], [[Бекаси]], [[Тангеран]], [[Семаран]], [[Депок]], [[Палембан]], [[Макасар]], [[Тангеран-Селатан]], [[Батам]], [[Богор]] |- |6 |[[Япон]] |12<ref>[http://www.citypopulation.de/Japan-Cities.html Главные города Японии]</ref><ref>[http://www.nationsonline.org/oneworld/japan_cities.htm United Nations Statistics Division — Citydata, December 2002]</ref> |[[Токио]], [[Ёкохама]], [[Осака]], [[Нагоя]], [[Саппоро]], [[Кобе]], [[Киото]], [[Фүкүока]], [[Кавасаки (хот)|Кавасаки]], [[Сайтама]], [[Хирошима]], [[Сэндай]] |- |7 |[[Нигери]] |3<ref>[http://www.citypopulation.de/Nigeria.html Главные города Нигерии]</ref>-11<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-158 |title=Города Нигерии |access-date=2013-12-04 |archive-date=2013-05-23 |archive-url=https://web.archive.org/web/20130523064649/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-158 |url-status=dead }}</ref> |[[Лагос]], [[Кано (Нигерия)|Кано]], [[Ибадан]]; [[Бенин-Сити]], [[Порт-Харкорт]], [[Кадуна]], [[Аба (город)|Аба]], [[Абуджа]], [[Майдугури]], [[Илорин]], [[Варри]] |- |8 |[[Мексик]] |10<ref>[http://www.citypopulation.de/Mexico-Cities.html Главные города Мексики]</ref><ref>{{Cite web |url=http://en.allexperts.com/e/l/li/list_of_cities_in_mexico.htm |title=List of cities in Mexico at allexperts.com |access-date=2013-12-04 |archive-date=2010-01-11 |archive-url=https://web.archive.org/web/20100111063818/http://en.allexperts.com/e/l/li/list_of_cities_in_mexico.htm |url-status=dead }}</ref> |[[Мехико]], [[Гвадалахара]], [[Монтеррей]], [[Пуэбла-де-Сарагоса]], [[Чиуауа]], [[Сьюдад-Хуарес]], [[Тихуана]], [[Леон (Гуанахуато)|Леон]], [[Несауалькойотль]], [[Запопан]] |- |9 |[[БНСУ]] |10<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-119 |title=Города Южной Кореи |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531024259/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-119 |url-status=dead }}</ref><ref>[http://www.citypopulation.de/KoreaSouth-Mun.html Главные города Республики Корея]</ref> |[[Сөүл]], [[Пүсань]], [[Инчон]], [[Тэгү]], [[Тэжонь]], [[Куанжү]], [[Чанвонь]], [[Сүвонь]], [[Үлсань]], [[Соннам]] |- |10 |[[АНУ]] |9<ref>[http://www.citypopulation.de/USA-Cities.html Главные города США]</ref><ref name=PopEstMSA>{{cite web|url=http://hawaii.gov/dbedt/info/census/popestimate/2008_MSA_Hawaii/CBSA_EST2008_05.pdf|format=PDF|title=Table 5. Estimates of Population Change for Metropolitan Statistical Areas and Rankings: July 1, 2007 to July 1, 2008|work=2008 Population Estimates|publisher=U.S. Census Bureau|date=2009-03-19|accessdate=2009-10-11|deadlink=404|archiveurl=http://www.webcitation.org/5lpvuJzkG|archivedate=2009-12-07}}</ref> |[[Нью-Йорк]], [[Лос-Анжелес]], [[Чикаго]], [[Хьюстон]], [[Финикс]], [[Филадельфия]], [[Сан-Антонио]], [[Даллас]], [[Сан-Диего]] |- |11 |[[Пакистан]] |9<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-172 |title=Города Пакистана |access-date=2013-12-04 |archive-date=2013-05-22 |archive-url=https://web.archive.org/web/20130522193405/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&geo=-172&srt=pnan&col=abcdefghinoq&msz=1500 |url-status=dead }}</ref><ref>{{cite web|url=http://concise.britannica.com/ebc/article-9374991/Peshawar|title=Peshawar|publisher=Encyclopaedia Britannica|accessdate=2008-01-14|archiveurl=https://web.archive.org/web/20060601064231/http://concise.britannica.com/ebc/article-9374991/Peshawar|archivedate=2006-06-01|url-status=dead}}</ref><ref>[http://www.citypopulation.de/Pakistan-100T.html Главные города Пакистана]</ref> |[[Карачи]], [[Лахор]], [[Фейсалабад]], [[Равалпинди]], [[Хайдарабад]], [[Мултан]], [[Гужранвала]], [[Пешавар]], [[Исламабад]] |- |12 |[[Иран]] |8<ref>[http://www.citypopulation.de/Iran50T.html Главные города Ирана]</ref><ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-106 |title=Города Ирана |access-date=2013-02-10 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531011703/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-106 |url-status=dead }}</ref> |[[Тегеран]], [[Мешхед]], [[Кереж]], [[Тебриз]], [[Шираз]], [[Исфахан]], [[Кум хот|Кум]], [[Ахваз]] |- |13 |[[Турк]] |6<ref>[http://www.citypopulation.de/Turkey-C50.html Главные города Турции]</ref> |[[Стамбул]], [[Анкара]], [[Измир]], [[Бурса]], [[Адана]], [[Газиантеп]] |- |14 |[[Австрали]] |5<ref>[http://www.citypopulation.de/Australia-UC.html Главные города Австралии]</ref><ref name="3218.0">{{Cite web|publisher=Australian Bureau of Statistics|title=3218.0 - Regional Population Growth, Australia, 2007-08|url=http://www.abs.gov.au/AUSSTATS/abs@.nsf/DetailsPage/3218.02007-08?OpenDocument|archiveurl=https://web.archive.org/web/20131025002106/http://www.abs.gov.au/AUSSTATS/abs@.nsf/DetailsPage/3218.02007-08?OpenDocument|archivedate=2013-10-25|access-date=2013-12-04|url-status=dead}}</ref> |[[Сидней]], [[Мельбурн]], [[Брисбен]], [[Перт]], [[Аделаид]] |- |15 |[[Өмнөд Африкийн Бүгд Найрамдах Улс]] |5<ref>[http://www.citypopulation.de/SouthAfrica-UA.html Главные города ЮАР]</ref> |[[Йоханнесбург]], [[Кейптаун]], [[Претори]], [[Дурбан]], [[Соуэто]] |- |16 |[[Бангладеш]] |5<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-29 |title=Города Бангладеш |access-date=2011-08-26 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531012316/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-29 |url-status=dead }}</ref> |[[Дакка]], [[Читтагонг]], [[Нараянганж]], [[Кхулна]], [[Газипур]] |- |17 |[[Египет]] |4<ref>[http://www.citypopulation.de/Egypt.html Главные города Египта]</ref> |[[Каир]], [[Александр хот|Александр]], [[Гиза]], [[Шубра-Эль-Хейма]] |- |18 |[[Колумби]] |4<ref>[http://www.citypopulation.de/Colombia.html Главные города Колумбии]</ref> |[[Богота]], [[Барранкилья]], [[Кали хот|Кали]], [[Медельин]] |- |19 |[[Канад]] |4<ref>[http://www.citypopulation.de/Canada-UA.html Главные города Канады]</ref><ref>{{Cite web |url=http://www.canada-city.ca/ |title=Canada and Canadian Cities |access-date=2013-12-04 |archive-date=2013-12-11 |archive-url=https://web.archive.org/web/20131211072758/http://canada-city.ca/ |url-status=dead }}</ref> |[[Торонто]], [[Монреаль]]<ref>[http://recherche.ville.montreal.qc.ca/eng/?c_18467=on&t=0&s=&q=population 1 812 723 жителей Монреаля 2001]{{Dead link|date=Есдүгээр сар 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>, [[Калгари]], [[Оттава]] |- |20 |[[Венесуэл]] |4<ref>[http://www.citypopulation.de/Venezuela.html Главные города Венесуэлы]</ref> |[[Каракас]], [[Маракайбо хот|Маракайбо]], [[Валенси (Венесуэл)|Валенси]], [[Баркисимето]] |- |21 |[[Филиппин]] |4<ref>[http://www.census.gov.ph/data/publications/PIF2008_final.pdf Philippines in Figures 2008, National Statistics Office of the Philippines]</ref><ref>[http://www.census.gov.ph/data/sectordata/2007/province.pdf Population and Annual Growth Rates by Region, Province, and Highly Urbanized City: Population Censuses 1995, 2000, and 2007]</ref> |[[Манил]], [[Кесон]], [[Калоокан]], [[Давао]] |- |22 |[[Саудын Араб]] |4<ref>[http://www.citypopulation.de/SaudiArabia.html Главные города Саудовской Аравии]</ref><ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-185 |title=Города Сауди Аравии |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531002125/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-185 |url-status=dead }}</ref> |[[Эр-Рияд]], [[Жидда]], [[Мекка]], [[Медина]] |- |23 |[[Герман]] |4<ref>[http://www.citypopulation.de/Deutschland-Cities.html Главные города Германии]</ref> |[[Берлин]], [[Мюнхен]], [[Хамбург]], [[Кёльн]] |- |24 |[[Ирак]] |4<ref>[http://www.citypopulation.de/Iraq.html Главные города Ирака]</ref><ref>[http://www.globalsecurity.org/military/world/iraq/city.htm Iraq — Major Cities]</ref> |[[Багдад]], [[Мосул]], [[Басра]], [[Эрбиль]] |- |25 |[[Бүгд Найрамдах Ардчилсан Конго Улс|БНАКУ]] |3<ref>[http://www.citypopulation.de/CongoDemRep.html Главные города Демократической Республики Конго]</ref>-4<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-46 |title=Города ДРК (Конго) |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531022759/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-46 |url-status=dead }}</ref> |[[Киншаса]], [[Лубумбаши]], [[Мбужи-Майи]], [[Кананга хот|Кананга]] |- |26 |[[Марокко]] |3<ref>[http://www.citypopulation.de/Morocco.html Главные города Марокко]</ref>-4<ref name="Марок."/> |[[Касабланка]], [[Рабат]], [[Марракеш]]<ref name=popu>{{cite web|url=http://www.hcp.ma/pubData/Demographie/RGPH/Populationlegale(1).pdf|title=Recensement Général De La Population Et De L'Habitat De 2004|accessdate=2009-03-27|format=|work=hcp.ma|archiveurl=https://web.archive.org/web/20081118143316/http://www.hcp.ma/pubData/Demographie/RGPH/Populationlegale(1).pdf|archivedate=2008-11-18|url-status=dead}}</ref>, [[Фес]]<ref name="Марок.">{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-134 |title=Города Марокко |access-date=2012-08-06 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531021033/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-134 |url-status=dead }}</ref> |- |27 |[[Украин]] |3<ref name="stat2013">{{Webarchiv|url=http://ukrstat.org/uk/druk/publicat/kat_u/2013/sb/06_13/sb_nnas_2012.zip |wayback=20131101091637 |text=Численность населения Украины по состоянию на 1 января 2013 г. |archiv-bot=2023-10-27 04:21:57 InternetArchiveBot }} с оценками численности наличного населения по регионам, районам, горсоветам и городским населённым пунктам на 1 января 2011, 2012 и 2013 гг. // {{Webarchiv|url=http://ukrstat.org/uk/menu/publikac.htm |wayback=20200228041157 |text=Публикации Укрстата |archiv-bot=2023-10-24 13:12:40 InternetArchiveBot }}</ref><ref>[http://www.citypopulation.de/Ukraine-Cities.html Главные города Украины]</ref> |[[Киев]], [[Харьков]], [[Одесса]]<ref name="stat2013"/> |- |28 |[[Аргентин]] |3<ref>[http://www.citypopulation.de/Argentina.html Главные города Аргентины]</ref><ref>[http://www.indec.mecon.ar/nuevaweb/cuadros/2/estimaciones-serie34.pdf INDEC: estimaciones de población]</ref> |[[Буэнос-Айрес]], [[Кордова (город, Аргентина)|Кордова]], [[Росарио]] |- |29 |[[Тайвань]]<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-218 |title=Города Тайваня |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531014834/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-218 |url-status=dead }}</ref><ref>[[Китайская Республика]] — [[частично признанное государство]]</ref> |3<ref>{{Из|Кругосвет|ссылка=http://slovari.yandex.ru/dict/krugosvet/article/2/25/1002327.htm}}</ref> |[[Тайбэй]], [[Гаошюн]], [[Тайжун]]<ref>Согласно [[Административное деление Китайской Народной Республики|административно-территориальному делению]] [[Китайская Народная Республика|Китайской Народной Республики]] [[Тайбэй]] расположен в [[Провинция (КНР)|провинции]] [[Тайвань (провинция Китайской Народной Республики)|Тайвань]] [[Китайская Народная Республика|Китайской Народной Республики]]</ref> |- |30 |[[Их Британи]] |2<ref>[http://www.citypopulation.de/UK-Cities.html Главные города Великобритании]</ref> |[[Лондон]], [[Бирмингем]]<ref>{{Cite web |url=http://www.statistics.gov.uk/downloads/theme_population/Mid_2008_UK_England_%26_Wales_Scotland_and_Northern_Ireland_27_08_09.zip |title=Население Бирмингема с statistics.gov.uk |access-date=2013-12-04 |archive-date=2009-09-05 |archive-url=http://webarchive.nationalarchives.gov.uk/20090905213356/http://www.statistics.gov.uk/downloads/theme_population/Mid_2008_UK_England_&_Wales_Scotland_and_Northern_Ireland_27_08_09.zip |url-status=dead }}</ref> |- |31 |[[Вьетнам]] |2<ref>[http://www.citypopulation.de/Vietnam.html Главные города Вьетнама]</ref> |[[Ханой]], [[Хошимин]] |- |32 |[[Испани]] |2<ref>[http://www.citypopulation.de/Spain-Cities.html Главные города Испании]</ref> |[[Мадрид]], [[Барселон]] |- |33 |[[Итали]] |2<ref>[http://www.citypopulation.de/Italy-Cities.html Главные города Италии]</ref> |[[Ром]], [[Милан]] |- |34 |[[Сири]] |2<ref>[http://www.citypopulation.de/Syria.html Главные города Сирии]</ref> |[[Дамаск]], [[Халеб]] |- |35 |[[Эквадор]] |2<ref>[http://www.citypopulation.de/Ecuador.html Главные города Эквадора]</ref> |[[Кито]], [[Гуаякиль]] |- |36 |[[Гана]] |2<ref>[http://www.citypopulation.de/Ghana.html Главные города Ганы]</ref> |[[Аккра]], [[Кумаси]] |- |37 |[[Камерун]] |2<ref>[http://www.citypopulation.de/Cameroon.html Главные города Камеруна]</ref> |[[Дуала (город)|Дуала]], [[Яунде]] |- |38 |[[Судан]] |2<ref>[http://www.citypopulation.de/Sudan.html Главные города Судана]</ref> |[[Хартум]], [[Омдурман]] |- |39 |[[Боливи]] |1<ref>[http://www.citypopulation.de/Bolivia.html Главные города Боливии]</ref>-2<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-38 |title=Города Боливии |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531012847/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-38 |url-status=dead }}</ref> |[[Санта-Крус-де-ла-Сьерра]], [[Эль-Альто]] |- |40 |[[Мьянмар]] |1<ref>[http://www.citypopulation.de/Myanmar.html Главные города Мьянмы]</ref>-2<ref>{{Cite web |url=http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-141 |title=Города Мьянмы |access-date=2013-12-04 |archive-date=2013-05-31 |archive-url=https://web.archive.org/web/20130531003407/http://world-gazetteer.com/wg.php?x=&men=gcis&lng=en&des=wg&srt=pnan&col=abcdefghinoq&msz=1500&geo=-141 |url-status=dead }}</ref> |[[Янгон]], [[Мандалай]] |- |41 |[[Кени]] |1<ref>[http://www.citypopulation.de/Kenya.html Главные города Кении]</ref> |[[Найроби]] |- |42 |[[Арабын Нэгдсэн Эмират Улс|АНЭУ]] |1<ref>[http://www.citypopulation.de/UAE.html Главные города ОАЭ]</ref> |[[Дубай хот|Дубай]] |- |43 |[[Тайланд]] |1<ref>[http://www.citypopulation.de/Thailand.html Главные города Таиланда]</ref> |[[Бангкок]] |- |44 |[[Сингапур]] |1<ref>[http://www.citypopulation.de/Singapore.html Главный город Сингапура]</ref> |[[Сингапур]] |- |45 |[[Серби]] |1<ref>[http://www.citypopulation.de/Serbia.html Главные города Сербии]</ref> |[[Белград]] |- |46 |[[Зимбабве]] |1<ref>[http://www.citypopulation.de/Zimbabwe.html Главные города Зимбабве]</ref> |[[Хараре]] |- |47 |[[Йемен]] |1<ref>[http://www.citypopulation.de/Yemen.html Главные города Йемена]</ref> |[[Сана]] |- |48 |[[Мозамбик]] |1<ref>[http://www.citypopulation.de/Mocambique.html Главные города Мозамбика]</ref> |[[Мапуту]] |- |49 |[[Австри]] |1<ref>[http://www.citypopulation.de/Oesterreich-Cities.html Главные города Австрии]</ref> |[[Вена]] |- |50 |[[Либери]] |1<ref>[http://www.citypopulation.de/Liberia.html Главные города Либерии]</ref> |[[Монрови]] |- |51 |[[Малайз]] |1<ref>[http://www.citypopulation.de/Malaysia.html Главные города Малайзии]</ref> |[[Куала-Лумпур]] |- |52 |[[Гвиней]] |1<ref>[http://www.citypopulation.de/Guinea.html Главные города Гвинеи]</ref> |[[Конакри хот|Конакри]] |- |53 |[[Шинэ Зеланд]] |1<ref>{{Cite web |url=http://www.nzherald.co.nz/nz/news/article.cfm?c_id=1&objectid=10517584 |title=Auckland’s population rose to about 1,417,000. |access-date=2013-12-04 |archive-date=2012-03-19 |archive-url=https://web.archive.org/web/20120319213835/http://www.nzherald.co.nz/nz/news/article.cfm?c_id=1&objectid=10517584 |url-status=dead }}</ref> |[[Окленд (Шинэ Зеланд)|Окленд]] |- |54 |[[Хондурас]] |1<ref>{{Cite web |url=http://www.tourcentroamerica.com/honduras/ver_destino.aspx?codigo=6 |title=Население Тегусигальпы |access-date=2013-12-04 |archive-date=2010-11-19 |archive-url=https://web.archive.org/web/20101119054647/http://www.tourcentroamerica.com/honduras/ver_destino.aspx?codigo=6 |url-status=dead }}</ref> |[[Тегусигальпа]] |- |55 |[[Гватемал]] |1<ref>{{Cite web |url=http://www.guatemalainns.com/guatemala_facts.php |title=Главные города Гватемалы |access-date=2013-12-04 |archive-date=2013-10-10 |archive-url=https://web.archive.org/web/20131010013816/http://guatemalainns.com/guatemala_facts.php |url-status=dead }}</ref> |[[Гватемала (город)|Гватемала]] |- |56 |[[Кот-д'Ивуар]] |1<ref>[http://www.citypopulation.de/CotedIvoire.html Главные города Кот-д'Ивуар]</ref> |[[Абижан]] |- |57 |[[Бүгд Найрамдах Конго Улс|БНКонУ]] |1<ref>[http://www.citypopulation.de/Congo.html Главные города Республики Конго]</ref> |[[Браззавиль]] |- |58 |[[Никарагуа]] |1<ref>[http://www.managua.gob.ni/index.php?s=2001 Datos Generales de Managua]</ref> |[[Манагуа]] |- |59 |[[Камбож]] |1<ref>[http://www.citypopulation.de/Cambodia.html Главные города Камбоджи]</ref> |[[Пномпень]] |- |60 |[[Уругвай]] |1<ref>[http://www.citypopulation.de/Uruguay.html Главные города Уругвая]</ref> |[[Монтевидео]] |- |61 |[[Буркина Фасо]] |1<ref>[http://www.citypopulation.de/BurkinaFaso.html Главные города Буркина Фасо]</ref> |[[Уагадугу]] |- |62 |[[Болгар]] |1<ref>[http://www.citypopulation.de/Bulgaria-Cities.html Главные города Болгарии]</ref> |[[Софи]] |- |63 |[[Ливан]] |1<ref>[http://www.nationsencyclopedia.com/Asia-and-Oceania/Lebanon-POPULATION.html Население Бейрута]</ref> |[[Бейрут]] |- |64 |[[Мадагаскар]] |1<ref>[http://www.citypopulation.de/Madagascar.html Главные города Мадагаскара]</ref> |[[Антананариву]] |- |65 |[[Чили]] |1<ref>[http://www.citypopulation.de/Chile.html Главные города Чили]</ref> |[[Сантьяго]] |- |66 |[[Этиоп]] |1<ref>[http://www.citypopulation.de/Ethiopia.html Главные города Эфиопии]</ref><ref>{{Cite web |url=http://tripster.ru/locations/Ethiopia/Addis%20Ababa/ |title=Аддис-Абеба на tripster.ru |access-date=2013-12-04 |archive-date=2011-04-23 |archive-url=https://web.archive.org/web/20110423181824/http://tripster.ru/locations/Ethiopia/Addis%20Ababa/ |url-status=dead }}</ref> |[[Аддис Абеба]] |- |67 |[[Мали]] |1<ref>[http://www.citypopulation.de/Mali.html Главные города Мали]</ref> |[[Бамако]] |- |68 |[[Ангол]] |1<ref>[http://www.who.int/cholera/countries/Angola%20country%20profile%202007.pdf 2007 год]</ref> |[[Луанда]] |- |69 |[[Хаити]] |1<ref>[http://geographie-ville-en-guerre.blogspot.com/2008/08/port-au-prince-la-capitale-dun-pays.html Port-au-Prince : la capitale d’un pays]</ref><ref>{{Cite web |url=http://www.miamigov.com/mic/pages/SisterCities/PortauPrince.asp |title=Sister Cities Port-au-Prince&Miami |access-date=2013-12-04 |archive-date=2008-08-29 |archive-url=https://web.archive.org/web/20080829104618/http://www.miamigov.com/mic/pages/SisterCities/PortauPrince.asp |url-status=dead }}</ref> |[[Порт-о-Пренс]] |- |70 |[[Куба]] |1<ref>[http://www.citypopulation.de/Cuba.html Главные города Кубы]</ref> |[[Хавана]] |- |71 |[[Сомали]] |1<ref>[http://www.citypopulation.de/Somalia.html Главные города Сомали]</ref> |[[Могадишо]] |- |72 |[[Доминикан]] |1<ref>[http://www.citypopulation.de/DomRep.html Главные города Доминиканской республики]</ref> |[[Санто-Доминго]] |- |73 |[[Сенегал]] |1<ref>[http://www.citypopulation.de/Senegal.html Главные города Сенегала]</ref> |[[Дакар]] |- |74 |[[Перу]] |1<ref>[http://www.citypopulation.de/Peru-Agglo.html Главные города Перу]</ref> |[[Лима]] |- |75 |[[Танзани]] |1<ref>[http://www.citypopulation.de/Tanzania.html Главные города Танзании]</ref> |[[Дар-эс-Салам]] |- |76 |[[Замби]] |1<ref>[http://www.citypopulation.de/Zambia.html Главные города Танзании]</ref> |[[Лусака]] |- |77 |[[Уганда]] |1<ref>[http://www.citypopulation.de/Uganda.html Главные города Уганды]</ref> |[[Кампала]] |- |78 |[[Ливи]] |1<ref>[http://www.citypopulation.de/Libya.html Главные города Ливии]</ref> |[[Триполи, Ливи|Триполи]] |- |79 |[[Алжир]] |1<ref>[http://www.citypopulation.de/Algeria.html#Stadt_gross Главные города Алжира]</ref> |[[Алжир хот|Алжир]] |- |80 |[[БНАСАУ]] |1<ref>[http://www.citypopulation.de/KoreaNorth.html Главные города Северной Кореи]</ref> |[[Пхеньян]] |- |81 |[[Йордан]] |1<ref>[http://www.citypopulation.de/Jordan.html Главные города Иордании]</ref> |[[Амман]] |- |82 |[[Беларусь]] |1<ref>[http://www.citypopulation.de/Belarus.html Главные города Белоруссии]</ref><ref>[http://www.minsk.gov.by/news/13.02.2009/5/13499/ru Минский горисполком]</ref> |[[Минск]] |- |83 |[[Румын]] |1<ref>[http://www.citypopulation.de/Romania.html Главные города Румынии]</ref> |[[Бухарест]] |- |84 |[[Польш]] |1<ref>[http://www.citypopulation.de/Poland-Cities.html Главные города Польши]</ref> |[[Варшав]] |- |85 |[[Чех]] |1<ref>[http://www.citypopulation.de/CzechRep-Cities.html Главные города Чехии]</ref> |[[Прага]] |- |86 |[[Унгар]] |1<ref>[http://www.citypopulation.de/Hungary-Cities.html Главные города Венгрии]</ref> |[[Будапешт]] |- |87 |[[Грек]] |1<ref>[http://www.citypopulation.de/Greece-Agglo.html Главные города Греции]</ref> |[[Афин]] |- |88 |[[Азербайжан]] |1<ref>[http://www.citypopulation.de/Azerbaijan.html Главные города Азербайджана]</ref> |[[Баку]] |- |89 |[[Армени]] |1<ref>[http://www.citypopulation.de/Armenia.html Главные города Армении]</ref> |[[Ереван]] |- |90 |[[Гүрж]] |1<ref>[http://www.citypopulation.de/Georgia.html Главные города Грузии]</ref> |[[Тбилиси]] |- |91 |[[Афганистан]] |1<ref>[http://www.citypopulation.de/Afghanistan.html Главные города Афганистана]</ref> |[[Кабул]] |- |92 |[[Узбекистан]] |1<ref>[http://www.citypopulation.de/Uzbekistan.html Главные города Узбекистана]</ref> |[[Ташкент]] |- |93 |[[Казахстан]] |1<ref>[http://www.citypopulation.de/Kazakhstan.html Главные города Казахстана]</ref> |[[Алма-Ата]]<ref>{{Cite web |url=http://www.gramota.ru/spravka/docs/16_9 |title=Распоряжение администрации Президента Российской Федерации № 1495 «О написании названий государств — бывших республик СССР и их столиц» |access-date=2013-12-04 |archive-date=2012-02-12 |archive-url=https://web.archive.org/web/20120212213058/http://www.gramota.ru/spravka/docs/16_9 |url-status=dead }}</ref> |- |94 |[[Монгол]] |1<ref>[http://www.citypopulation.de/Mongolia.html Главные города Монголии]</ref> |[[Улаанбаатар]] |- |95 |[[Франц]] |1<ref>[http://www.citypopulation.de/France-Cities.html Главные города Франции]</ref> |[[Парис]] |- |} ==Лавлах бичиг== {{лавлах холбоос|3}} [[Ангилал:Саятан хот| ]] [[Ангилал:Хотын хэлбэр]] 7qaajsnx8i5ntyxkyx0bd522gs7otde Дижикстрагийн алгоритм 0 38026 860748 860312 2026-07-01T01:17:45Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860748 wikitext text/x-wiki [[Файл:Dijkstra Animation.gif|thumb|right]] '''Дижикстрагийн алгоритм''', Dijkstra –ийн алгоритмыг 1956 онд Нидерландын компьютерын эрдэмтэн судлаач Edsger Dijkstra үүсгэн томъёолсон ба 1959 онд нийтлүүлсэн. Графийн хайлтийн алгоритм бөгөөд нэг эхтэй богино замын бодлогыг шийдвэрлэдэг. Графийн ирмэгүүд нь сөрөг биш утгатай нэг эхтэй богино замын бодлогыг шийдсэн бөгөөд хамгийн богино замын модыг гаргаж өгдөг. Энэ алгоритм нь хамгийн бага замыг олохдоо эхний цэгээс графын зангилаа бүрээр дайрдаг. Алгоритм нь нэг зангилаанаас өөр нэг зангилаа очих хамгийн богино замыг олохоор ажиллах ба хамгийн дөт замыг олмогц програм зогсоно. Жишээлбэл: Дижикстрагийн алгоритм нь нэг хотоос өөр нэг хотруу холбосон эхлэлийн цэг болон төгсгөлийн цэгийн хоорондох зай хамгийн богино байхаар тооцон олдог. Улмаар , хамгийн эхний богино зам бол сүлжээний шугамын протоколуудад өргөн ашигладаг, тухайлбал IS-IS ба OSPF(нээлттэй хамгийн эхний богино зам) юм. Дижикстрагийн анхны алгоритмийн бага эрэмбийг олох дараалалд O(|V2|) –ийг хэрэглэдэггүй. V нь координатын босоо тэнхлэг дэх тоо. Энэ алгоритмын санааг Leyzorek бас дэвшүүлж байсан. Бага эрэмбэтэй дараалал дээр суурилсан Fibonacci-ийн овоолго байдлаар O(|E|+|V|log|V|) томёонд хэрэгжүүлсэн. E- эрмэгийн тоо Энэ нь шинж тэмдэггүй ,сөрөг биш утгагай, нэг эхтэй ,богино замаа хамгийн хурдан мэдэх алгоритм юм. == 1.Алгоритм == [[Image:Dijkstras progress animation.gif|thumb|Illustration of Dijkstra's algorithm search for finding path from a start node (lower left, red) to a goal node (upper right, green) in a [[robotics|robot]] [[motion planning]] problem. Open nodes represent the "tentative" set. Filled nodes are visited ones, with color representing the distance: the greener, the farther. Nodes in all the different directions are explored uniformly, appearing as a more-or-less circular [[wavefront]] as Dijkstra's algorithm uses a [[consistent heuristic|heuristic]] identically equal to 0.]] Бид одоо анхны гэж нэрлэгдсэн зангилаанаас эхэлнэ. Заннгилааны зайг Y үсгээр тэмдэглэнэ. Анхны зангилаанаас Y хүртэлхийг зай гэдэг. Дижикстрагийн алгоритмаар зарим анхдагч зайн утгуудыг оноож өгдөг, алхам алхмаар сайжруулдаг. 1. Эхлээд бүх зангилаандаа анхны утгыг олгоно: Тэр нь манай анхны зангилаанаас бусад зангилаанд тодорхойгүй буюу тэг гэдэг утга өгнө. 2. Анхдагч зангилааг тухайн зангилаа болгож авна. Бүх зангилааг агуулсан зочлоогүй зангилаануудын олонлогыг үүсгэнэ. 3. Тухайн зангилааны хувьд хөрш зангилаануудад анхааран тэдрээрийг урьдчилан бодож тооцоолно. Одоогийн а зангилаа 6-ийн урттай гэж тэмдэглэгдсэн, түүний b хөрш зангилаатай холбогдсон ирмэгийн урт нь 2 бол b хүртэлх урт нь (6+2=8) болно. Хэрэв энэ зай нь өмнө b хүртэлх урьдчилсан зайнаас бага бол түүнийг дарж бичнэ. Шалгаж үзсэн ч гэсэн (зочилсон ) гэж тэмдэглээгүй бол тэр зангилаа зочлоогүй олонлогт байсаар байна. 4. Тухайн зангилааны бүх хөршүүдийг авч үзсэний дараа тухайн зангилааг зочилсон гэж тэмдэглээд зочлоогүй олонлогоос хасна. Зочилсон зангилааг дахин хэзээ ч шалгахгүй. 5. Хэрвээ очих ёстой эцсийн зангилааг зочилсон гэж тэмдэглэсэн бол (2 зангилааны хоорондох зам) тодорхойлогдсон, хэрэв зочлоогүй олонлог дахь зангилаануудын урьдчилсан хамгийн бага зай нь тодорхойгүй бол (төлөвлөгдсөн нэвтрэлт дууссан эсвэл анхны зангилаа болон үндсэн зочлоогүй зангилааны хооронд холбоо байхгүй байна). Тэгээд алгоритм дуусна. 6. Хамгийн бага урьдчилсан зайтай зочлоогүй зангилааг шинэ тухайн зангилаа болгоод 3-р алхам руу буцаана. == Тайлбар/description/ == :Та хотын газрын зургаас нэг газарт хүрэх хамгийн богино замыг олохын тулд анх эхлэх газар болон явах замаа тодорхойлох хэрэгтэй. Явах замаа тодорхойлохдоо: эхлэх цэгээс очих газар хүртлээ шулуунаар холбоно. Үүнийг хязгааргүй орон зайд ашиглах боломжгүй гэхдээ очоогүй газруудаа хаяглалгүй үлдээдэг.... == Ажиллах, гүйцэтгэх хугацаа == Дижикстрагын алгоритмын дээд хугацааг тооцоолохдоо төгсгөлийн тоо/E/ ба оройн тоо/V/ дүрсэлж болох ба функцээр илэрхийлэхэд |E|, |V| гэж тэмдэглэдэг. Ямарч oройн Q олонлогийн явах хугацаа О(|E|*dkq + |V|*emq) dkq ба emq нь хамгийн цөөн үйлдэл ба бага хугацаа зарах үйлдлүүд юм. Хамгиин хялбар Дижикстрагын алгоритмын хэрэглээ бол Q-г жирийн хэлхээтэй жагсаалт эсвэл цуваанд хадгалж, хамгийн бага хугацааг гаргах бол Q дэх оройнуудаас шугаман хайлт хийх юм. Энэ тохиолдолд явах хугацаа О(|E|+|V|^2)=O(|V|^2). Сийрэг граф-д Дижисктрагын алгоритмыг холбоост листэнд хийж хоёртын модны хайлт, хоёртын овоолго эсвэл фибонакын овоолгын анхдагч дарааллаар ашиглаж хамгийн бага хугацаа олохыг хурдан болгож алгоритмаа үр дүнтэйгээр шийдвэрлэсэн. Хоёртын модны хайлт эсвэл , хоёртын овоолго хэрэглэж хугацааг О((|E|+|V|)log|V|) олно. Энэ нь O(|E|log|V|)-ээр граф холбоостой үед дийлэгддэг. Энгийн хоёртын овоолго дээр О(|V|)хугацааг хэмнэхийн тулд oрой болгоны заагчийг овоолгын заагчтай хамт санах хэрэгтэй (бас анхны дараалал Q өөрчлөгдөхөд хугацаа хоцрогдолгүй байх ). Тэгэхлээр зөвхөн O(lov|V|)цаг авна. Фибонакын овоолго үүнийг O(|E|+|V|log|V|) болгож сайжруулна. Чиглэл нь тодорхой бус график зурган дээр хамгийн богино замыг шугаман хугацаанд олох боломжтой, оройнуудыг хамгийн богино хугацаанд бага зам туулхаар тооцоолон бодохдоо математикийн дүрмийн боловсруулалтыг ашигладаг. ==Тэмдэглэл== {{reflist}} == Эшлэл == * {{cite journal | authorlink = Edsger W. Dijkstra | first1 = E. W. | last1 = Dijkstra | url = http://www-m3.ma.tum.de/twiki/pub/MN0506/WebHome/dijkstra.pdf | title = A note on two problems in connexion with graphs | journal = Numerische Mathematik | volume = 1 | year = 1959 | pages = 269–271 | ref = harv | doi = 10.1007/BF01386390 | access-date = 2013-12-06 | archive-date = 2020-01-23 | archive-url = https://web.archive.org/web/20200123110037/http://www-m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.pdf | url-status = dead }} * {{cite book | author1-link = Thomas H. Cormen | first1 = Thomas H. | last1 = Cormen | author2-link = Charles E. Leiserson | first2 = Charles E. | last2 = Leiserson | author3-link = Ronald L. Rivest | first3 = Ronald L. | last3 = Rivest | author4-link = Clifford Stein | first4 = Clifford | last4 = Stein | title = [[Introduction to Algorithms]] | edition = Second | publisher = [[MIT Press]] and [[McGraw–Hill]] | year = 2001 | isbn = 0-262-03293-7 | chapter = Section 24.3: Dijkstra's algorithm | pages = 595–601}} * {{cite conference|first1=Michael Lawrence|last1=Fredman|authorlink1=Michael Fredman|first2=Robert E.|last2=Tarjan|authorlink2=Robert Tarjan|title=Fibonacci heaps and their uses in improved network optimization algorithms|conference=25th Annual Symposium on Foundations of Computer Science|year=1984|publisher=[[IEEE]]|pages=338&ndash;346|url=http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1984.715934|ref=harv|doi=10.1109/SFCS.1984.715934}} {{Webarchiv|url=http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1984.715934 |wayback=20121011090757 |text=Fibonacci heaps and their uses in improved network optimization algorithms |archiv-bot=2026-07-01 01:17:44 InternetArchiveBot }} * {{cite journal|first1=Michael Lawrence|last1=Fredman|authorlink1=Michael Fredman|first2=Robert E.|last2=Tarjan|authorlink2=Robert Tarjan|title=Fibonacci heaps and their uses in improved network optimization algorithms|journal=Journal of the Association for Computing Machinery|volume=34|year=1987|pages=596&ndash;615|url=http://portal.acm.org/citation.cfm?id=28874|ref=harv|doi=10.1145/28869.28874|issue=3}} * {{cite journal | first1 = F. Benjamin | last1 = Zhan | first2 = Charles E. | last2 = Noon | month =February | year = 1998 | title = Shortest Path Algorithms: An Evaluation Using Real Road Networks | journal = [[Transportation Science]] | volume = 32 | issue = 1 | pages = 65–73 | doi = 10.1287/trsc.32.1.65}} * {{cite book|first1=M.|last1=Leyzorek|first2=R. S.|last2=Gray|first3=A. A.|last3=Johnson|first4=W. C.|last4=Ladew|first5=S. R.|last5=Meaker, Jr.|first6=R. M.|last6=Petry|first7=R. N.|last7=Seitz|title=Investigation of Model Techniques &mdash; First Annual Report &mdash; 6 June 1956 &mdash; 1 July 1957 &mdash; A Study of Model Techniques for Communication Systems|publisher=Case Institute of Technology|location=Cleveland, Ohio|year=1957|ref=harv}} * {{cite journal|first1=D.E.|last1=[[Donald_Knuth|Knuth]]|title=A Generalization of Dijkstra's Algorithm|journal=[[Information Processing Letters]]|volume=6|number=1|pages=1–5|year=1977}} == Холбоос == {{linkfarm|date=September 2012}} {{Commons category|Dijkstra's algorithm}} * C/C++ ** [https://github.com/xtaci/algorithms/blob/master/include/dijkstra.h Dijkstra's Algorithm in C++] ** [http://www.boost.org/doc/libs/1_43_0/libs/graph/doc/dijkstra_shortest_paths.html Implementation in Boost C++ library] ** [https://web.archive.org/web/20141231054104/http://www.rawbytes.com/dijkstras-algorithm-in-c/ Dijkstra's Algorithm in C Programming Language] * Java ** [http://www.dgp.toronto.edu/people/JamesStewart/270/9798s/Laffra/DijkstraApplet.html Applet by Carla Laffra of Pace University] ** [https://web.archive.org/web/20200217212029/http://students.ceid.upatras.gr/~papagel/english/java_docs/minDijk.htm Visualization of Dijkstra's Algorithm] ** [https://web.archive.org/web/20070927234553/http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/Dijkstra.shtml Shortest Path Problem: Dijkstra's Algorithm] ** [http://www.unf.edu/~wkloster/foundations/DijkstraApplet/DijkstraApplet.htm Dijkstra's Algorithm Applet] ** [http://code.google.com/p/annas/ Open Source Java Graph package with implementation of Dijkstra's Algorithm] ** [https://web.archive.org/web/20150307205448/http://www.stackframe.com/software/PathFinder A Java library for path finding with Dijkstra's Algorithm and example Applet] ** [https://github.com/graphhopper/graphhopper/tree/90879ad05c4dfedf0390d44525065f727b043357/core/src/main/java/com/graphhopper/routing Dijkstra's algorithm as bidirectional version in Java] * C#/.Net ** [https://web.archive.org/web/20081202152613/http://www.codeproject.com/KB/recipes/ShortestPathCalculation.aspx Dijkstra's Algorithm in C#] ** [https://web.archive.org/web/20111229201146/http://www.codeproject.com/KB/recipes/FastHeapDijkstra.aspx Fast Priority Queue Implementation of Dijkstra's Algorithm in C#] ** [https://web.archive.org/web/20180121140629/http://quickgraph.codeplex.com/ QuickGraph, Graph Data Structures and Algorithms for .NET] * [https://web.archive.org/web/20141220002741/http://optlab-server.sce.carleton.ca/POAnimations2007/DijkstrasAlgo.html Dijkstra's Algorithm Simulation] * [http://purl.umn.edu/107247 Oral history interview with Edsger W. Dijkstra], [[Charles Babbage Institute]] University of Minnesota, Minneapolis. * [http://www.cs.sunysb.edu/~skiena/combinatorica/animations/dijkstra.html Animation of Dijkstra's algorithm] * [http://bonsaicode.wordpress.com/2011/01/04/programming-praxis-dijkstra’s-algorithm/ Haskell implementation of Dijkstra's Algorithm] on Bonsai code * [http://hansolav.net/sql/graphs.html Implementation in T-SQL] * [https://web.archive.org/web/20121218050306/http://www.mathworks.com/matlabcentral/fileexchange/20025-advanced-dijkstras-minimum-path-algorithm A MATLAB program for Dijkstra's algorithm] * [https://web.archive.org/web/20140116200833/http://www.turb0js.com/a/Dijkstra%27s_Algorithm Step through Dijkstra's Algorithm in an online JavaScript Debugger] [[Ангилал:Оновчлолын алгоритм]] [[Ангилал:Граф хайлтын алгоритм]] [[Ангилал:Routing]] [[Ангилал:Аялал ба маршрутын төлөвлөлт]] eiftf3isbeaivbyr5dtjkq1szs62n8i 1864 он 0 40451 860719 657902 2026-06-30T20:11:15Z Enkhsaihan2005 64429 860719 wikitext text/x-wiki {{Year nav|1864}} {{Он бусад хуанлид|year=1864}} [[File:1864 erstuermung-der-dueppeler-schanzen-deutsch-daenischer-krieg.jpg|thumb|350px|right|[[Фрийдрих Карл фон Прусс (1828-1885)|Фрийдрих Карл фон Прусс]] [[Герман-Данийн дайн]]аар [[Дюббөлийн бэхлэлт]] рүү довтолж буй нь]] == Энэ онд төрөгсөд == == Энэ онд нас барагсад == == Гадаад холбоос == {{commonscat|1864}} [[Ангилал:1864 он| ]] [[Ангилал:Он (19-р зуун)|#]] ma6vub8y29gjrundtag25qp6nsrhhwp 860720 860719 2026-06-30T20:11:49Z ~2026-37553-31 105641 Family Guy - Rewritten. (TM) 860720 wikitext text/x-wiki = Famly Guy = {{pp-semi|small=yes}} {{Use dmy dates|date=April 2012}} {{Infobox television | show_name = Famly Guy | image = [[File:Family guy.png|250px]] | caption = peter doing a epic fail | genre = Comdey, random, chicken, cutaway | creator = Seth Macfarlan (i think) | country = america i guess | language = english (mostly) | first_aired = sometime in the 90s | last_aired = still happening somehow | status = yes }} '''Famly Guy''' is a televison show about a guy named '''Peetah Griffin''' who is fat and yells alot and does random things for no reason exept it becomes a cutaway gag. It was made by some dude called Seth MacFarlane or McFarlin or somthing. It is basicly about a family living in the city of Quahog (not to be confuzed with a clam because it kinda is one). The show is famous for making jokes about literly everything ever invented. If you can think of it they probably made a joke about it. Unless they didnt. == Plot == The plot changes every episdoe because continuity is for nerds. Most episdoes start with somebody saying something normal and then Peter goes: <blockquote> "this is worse then that time i __________" </blockquote> then the show forgets what it was talking about for like 3 minuits. After that everyone pretends nothing happend. == Charecters == === Peter Griffen === Peter is a fat guy. This is his main personality. He also laughs like: <pre> hehehehehehehehehehehehehehehehehehehehehehe </pre> Peter has won many awards for falling down stairs, fighting chickens and being asked to leave public places. === Lois === Lois is Peter's wife and spends 95% of the show saying "Peter!" in a disapointed voice because Peter has accidently destroyed Rhode Island again. === Chris === Chris is the son. He is kinda just there. Sometimes a monkey yells at him from a closet because television. === Meg === Meg is a punching bag that somehow became a person. Whenever she talks everyone tells her to shut up. <big>'''Shut up Meg.'''</big> This joke has happened about 90000000 times and scientists still dont know why. === Stewie === Stewie is a baby with a football shaped head who wants to take over the world because he skipped nap time one day. He also invented: * Time machines * Lasers * Clones * Whatever the writers need this week === Brian === Brian is a dog. No seriously. He drives cars, writes books nobody reads, drinks martinis, argues on the internet before twitter was cool, and somehow pays taxes despite being a dog. == Running gags == Family Guy is powered by running gags. Without them the show would collapse into a singularity. === Chicken fights === Sometimes Peter sees a giant chicken. Nobody knows why. Nobody asks. Then they destroy approximatly 48 city blocks while dramatic music plays. === Conway Twitty === Sometimes the show just plays a whole Conway Twitty song because they had like 4 minutes to fill. Critics called this "lazy." Fans called this "wait are they seriously still doing this" === Kool Aid Man === OH YEAH wall gone. === Herbert === An old man who says things that make everyone go "uhhhhhhh." === Evil Monkey === A monkey lives in Chris's closet. He points. Thats it. Everyone is scared anyway. == Cutaway gags == The cutaway gag is an advanced scientific comedy device. Example: <blockquote> Peter: "This is almost as bad as that time i became king of the moon." '''Cutaway''' * Peter is now king of the moon. * Cleveland is somehow there. * A dinosaur appears. * Somebody explodes. * Back to the original scene. Nobody ever mentions it again. </blockquote> == Receptoin == The show recieved many reviews. Some people said: *"this is hillarious" Other people said: *"what did i just watch" Both opinions are considered correct. == Controvercy == Family Guy has caused approximatly 900 different controversys. Reasons include: * Existing * Television * Jokes * More jokes * That one joke * The OTHER one joke * Peter falling on his knee for seventeen years == Scientific accurcy == Experts have confirmed that Family Guy is not a reliable source of: * History * Biology * Physics * Geography * Economics * Parenting advice * Dogs driving cars == Legacy == Family Guy has become one of the most quoteable shows on the internet. Common quotes include: * "Freakin sweet." * "Shut up Meg." * "Road House." * "Giggity." Wait thats the wrong guy but close enough. == Trivia == * Peter has broken almost every bone in his body and is mostly okay somehow. * Stewie is either evil or nice depending on the writter. * Brian has died at least once but got better because television magic. * Cleveland left the show then came back because spinoffs are hard. * Every celebrity in america has either appeared on Family Guy or been made into a weird joke. * The laws of physics are optional. * The laws of common sense are also optional. * The giant chicken probably has property damage insurance. == See also == * [[The Simpsons]] (yellow) * [[American Dad!]] (less chickens) * [[South Park]] (more yelling) * [[Television]] (contains television) * [[Chicken]] (important) == References == {{Reflist}} == External links == * [http://www.familyguy.example totally real website] * [http://www.internet.example internet] {{DEFAULTSORT:Famly Guy}} [[Category:Televison]] [[Category:Funny things]] [[Category:Amercan cartoons]] [[Category:Shows with babies]] [[Category:Shows with dogs]] [[Category:Shows where things explode]] [[Category:Peetah]] 2134ks5u6qnyt3ocvmc9cf6nt644mul 860721 860720 2026-06-30T20:12:15Z Tenshi Hinanawi 99456 [[Special:Contributions/~2026-37553-31|~2026-37553-31]] ([[User talk:~2026-37553-31|яриа]])-н хийсэн засваруудыг [[User:Enkhsaihan2005|Enkhsaihan2005]]-ий хийсэн сүүлийн засварт буцаан шилжүүллээ. 860719 wikitext text/x-wiki {{Year nav|1864}} {{Он бусад хуанлид|year=1864}} [[File:1864 erstuermung-der-dueppeler-schanzen-deutsch-daenischer-krieg.jpg|thumb|350px|right|[[Фрийдрих Карл фон Прусс (1828-1885)|Фрийдрих Карл фон Прусс]] [[Герман-Данийн дайн]]аар [[Дюббөлийн бэхлэлт]] рүү довтолж буй нь]] == Энэ онд төрөгсөд == == Энэ онд нас барагсад == == Гадаад холбоос == {{commonscat|1864}} [[Ангилал:1864 он| ]] [[Ангилал:Он (19-р зуун)|#]] ma6vub8y29gjrundtag25qp6nsrhhwp 1867 он 0 40471 860718 499468 2026-06-30T20:09:56Z Enkhsaihan2005 64429 860718 wikitext text/x-wiki {{Year nav|1867}} {{Он бусад хуанлид|year=1867}} == Энэ онд болсон үйл явдлууд == == Энэ онд төрөгсөд == == Энэ онд нас барагсад == == Гадаад холбоос == {{commonscat|1867}} [[Ангилал:1867 он| ]] [[Ангилал:Он (19-р зуун)|#]] 4oce8nrybxel2xao8hnsb7r4y126nq1 Европын Цөмийн Судалгааны Байгууллага 0 41391 860749 860502 2026-07-01T01:27:48Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860749 wikitext text/x-wiki {{Short description|Европын эгэл физикийн судалгааны төв}} {{Инфобокс байгууллага | native_name = {{lang|fr|Organisation européenne pour la recherche nucléaire}} | native_name_lang = fr | logo = [[file:CERN logo badge.svg|160px]] | image = CERN-aerial 1.jpg | caption = ЕЦСБ-ын гол оффис | map = CERN member states.svg | formation = {{start date and age|df=yes|1954|9|29}}<ref name="Gillies2018">{{cite book|author=James Gillies|title=CERN and the Higgs Boson: The Global Quest for the Building Blocks of Reality|url=https://books.google.com/books?id=0etmDwAAQBAJ|year=2018|publisher=Icon Books Ltd.|isbn=978-1-78578-393-7}}</ref> | headquarters = [[Мерен]], Женев, Швейцар<br />{{Coord|46|14|03|N|6|03|10|E|region:CH-GE_type:landmark|display=title,inline}} | leader_title = Зөвлөлийн Ерөнхийлөгч | leader_name = Костас Фудас<ref>{{cite web|title=Professor Costas Fountas elected as next President of the CERN Council|url=https://home.cern/news/press-release/cern/professor-costas-fountas-elected-next-president-cern-council|website=CERN|access-date=2026-06-29|date=2024-09-30|archive-date=2025-05-23|archive-url=https://web.archive.org/web/20250523080736/https://home.cern/news/press-release/cern/professor-costas-fountas-elected-next-president-cern-council|url-status=dead}}</ref> | leader_title2 = [[ЕЦСБ-ын ерөнхий захирлын жагсаалт|Ерөнхий захирал]] | leader_name2 = [[Марк Томсон (физикч)|Марк Томсон]]<ref>{{Cite journal |last=Кастельвекки |first=Давиде |date=2024-11-07 |title=New CERN chief pledges to forge ahead with $17-billion supercollider |url=https://www.nature.com/articles/d41586-024-03666-x |journal=Nature |language=en |doi=10.1038/d41586-024-03666-x}}</ref> | name = Европын Цөмийн Судалгааны Байгууллага | map_caption = Бүрэн гишүүнчлэлтэй улс орнууд | num_members = {{Collapsible list | title = Бүрэн гишүүн (25): | [[Австри]] | [[Бельги]] | [[Болгар]] | [[Герман]] | [[Грек]] | [[Дани]] | [[Израил]] | [[Испани]] | [[Итали]] | [[Нидерланд]] | [[Норвеги]] | [[Нэгдсэн Хаант Улс]] | [[Польш]] | [[Португал]] | [[Румын]] | [[Серби]] | [[Словак]] | [[Словени]] | [[Унгар]] | [[Финланд]] | [[Франц]] | [[Чех]] | [[Швед]] | [[Швейцар]] | [[Эстони]] }}{{Collapsible list | title = Холбоотой гишүүд (11): | [[Бразил]] | [[Ирланд]] | [[Кипр]] | [[Латви]] | [[Литва]] | [[Пакистан]] | [[Турк]] | [[Украин]] | [[Хорват]] | [[Чили]] | [[Энэтхэг]] }} | languages = [[Англи хэл|Англи]], [[Франц хэл|Франц]] | budget = 1515 сая [[Швейцар франк|CHF]]<ref>{{cite web |title=Final Budget of the Organization for the seventy-second financial year 2026 |url=https://cds.cern.ch/record/2951321/files/English.pdf |website=CERN |access-date=2026-06-29}}</ref> | budget_year = 2026 | website = {{ofurl}} }} [[Image:Cern-accelerator-complex.svg|thumb|300px|CERN-ий цөмийн хурдасгуурын газрын зураг]] [[Image:Location Large Hadron Collider.PNG|thumb|CERN ба цөмийн хурдасгуурын байрлал]] {{Double image|right|First Web Server.jpg|250|Ciscosystemsrouteratcern.jpg|203|Энэ NEXT компьютер хамгийн анхны [[World Wide Web]]-ийн серверийг инженер [[Тим Бернерс-Ли]] CERN-д ажиллуулсан юм.|Энэ Сиско рүүтер нь хамгийн анхны IP рүүтэр болно.{{Citation needed|reason=Because this Cisco router was implemented in 1987 and BBN had earlier IP routers in the UK, this caption needs support.|date=July 2012}}}} '''Европын Цөмийн Судалгааны Байгууллага''' ({{lang-en|European Organization for Nuclear Research}}, {{lang-fr|Organisation européenne pour la recherche nucléaire}}, товч. '''CERN''') нь [[Швейцар]]ын [[Женев]]ийн хойд хэсэгт байрладаг (46°14′3″N 6°3′19″E), 1954 онд нээгдсэн дэлхийн хамгийн том эгэл физикийн лаборатори юм. Европын нийт 20 орны гишүүнчлэлтэй. Тус төв нь 2400 үндсэн ба 1500 хагас цагийн ажилтан, 10000 орчим түр зочлогч эрдэмтэн, инженерийн ажиллагсадтай, нийт 113 улсын 608 их сургууль, судалгааны төвүүдтэй хамтран ажилладаг. CERN-ий гол ач холбогдол нь хамгийн том [[цөмийн хурдасгуур]]ыг ажиллуулж, хэт энергийн физикийн судалгаанд гол дэд бүтэц болж, ингэснээрээ өмнө нь боломжгүй байсан хэд хэдэн томоохон туршилтыг хийж, шинжлэх ухааныг урагшлуулах алхмыг хийсэн юм. Энд 1989 онд [[World Wide Web]] (WWW)-ийг инженер [[Тим Бернерс-Ли]] анх нээж, интернэтийн хөгжлийг шинэ түвшинд гаргасан. 2012 онд олон улсын физикчид тус төвийн цөмийн хурдасгуур дээр [[Хигсийн босон (цөмийн физик)|Хигсийн босон]]ыг баталж, физикийн шинжлэх ухааны шинэ хуудсыг нээсэн билээ. ==Бичлэг== # [http://www.youtube.com/user/CERNTV/videos CERN-ий видео сан] # [http://www.youtube.com/watch?v=u8C2Un6Gjhk CERN-ий цөмийн хурдасгуур] # [http://www.youtube.com/watch?v=nY9xeff_gKE CERN-ий цөмийн хурдасгуур] # [http://www.youtube.com/watch?v=e_vgS4TaDRA CERN-д Хигсийн босоныг хайсан нь] == Цахим холбоос == {{Wiktionary}} {{Commonscat|CERN}} * [http://home.cern/ Албан ёсны цахим хуудас] [[Ангилал:ЕЦСБ| ]] [[Ангилал:Физикийн судалгааны байгууламж]] [[Ангилал:Европын байгууллага]] [[Ангилал:Швейцарын шинжлэх ухааны байгууллага]] [[Ангилал:Женевийн боловсрол]] [[Ангилал:Женев дэх олон улсын байгууллага]] [[Ангилал:Женев кантоны барилга байгууламж]] [[Ангилал:Товчилсон үг]] op4oumw1axcuj8tstmvcr2jfwspvx8c Адмир Мехмеди 0 43887 860742 846682 2026-07-01T00:06:55Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860742 wikitext text/x-wiki {{Хөлбөмбөгчин 2 |нэр = Адмир Мехмеди |зураг = Admir Mehmedi sign to Antalyaspor 20220114 2.jpg |хэмжээ = 225px |тайлбар = Адмир Мехмеди 2022 онд |мэндэлсэн огноо = 1991 оны 3 сарын 16 |мэндэлсэн газар = [[Холбооны Бүгд Найрамдах Социалист Югослав Улс|ХБНСЮУ]], [[Гостивар]] |иргэншил = {{Далбаа Швейцари|15px}} [[Швейцар]] <br />{{Далбаа Македон|20px}} [[Македон]] |өндөр = 183 |жин = 76 |байрлал = [[довтлогч (хөлбөмбөг)|довтлогч]] |одоогийн баг = {{Далбаа Герман|20px}} [[Байер 04 (хөлбөмбөгийн баг)|Байер 04]] |дугаар = |залуучуудын багууд = {{хөлбөмбөгийн замнал |1999—2000|{{Далбаа Швейцари|15px}} [[Беллинцона (хөлбөмбөгийн баг)|Беллинцона]]| |2000—2006|{{Далбаа Швейцари|15px}} [[Винтертур (хөлбөмбөгийн баг)|Винтертур]]| |2006—2008|{{Далбаа Швейцари|15px}} [[Цюрих (хөлбөмбөгийн баг)|Цюрих]]|}} |багууд = {{хөлбөмбөгийн замнал |2008—2011|{{Далбаа Швейцари|15px}} [[Цюрих (хөлбөмбөгийн баг)|Цюрих]]|83 (19) |2012—2014|{{flag icon|Украин|20px}} [[Динамо Киев]]|25 (1) |2013—2014|{{аренда}}{{Далбаа Герман|20px}} [[Фрайбург (хөлбөмбөгийн баг)|Фрайбург]]|32 (12) |2014—2015|{{Далбаа Герман|20px}} [[Фрайбург (хөлбөмбөгийн баг)|Фрайбург]]|28 (4) |2015—одоо|{{Далбаа Герман|20px}} [[Байер 04 (хөлбөмбөгийн баг)|Байер 04]]|0 (0)}} |шигшээ = {{хөлбөмбөгийн замнал |2008—2010|{{Далбаа Швейцари|15px}} Швейцар (17-)|16 (5) |2008—2010|{{Далбаа Швейцари|15px}} Швейцар (19-)|26 (11) |2011|{{Далбаа Швейцари|15px}} Швейцар (21-)|9 (6) |2011—одоо|{{Далбаа Швейцари|15px}} [[Швейцарын хөлбөмбөгийн шигшээ|Швейцари]]|25 (2) |2012|{{Далбаа Швейцари|15px}} Швейцар (олимп.)|3 (1) }} |сүүлд шинэчилсэн = 2015 оны 5 сарын 17 |сүүлд шинэчилсэн (шигшээ) = 2014 оны 9 сарын 8 }} '''Адмир Мехмеди''' ({{lang-de|Admir Mehmedi}}; [[1991]] оны [[3 сарын 16|гуравдугаар сарын 16]], [[Холбооны Бүгд Найрамдах Социалист Югослав Улс|Югослав]], [[Гостивар]]) — [[Швейцар]], [[Македон]]ы [[хөлбөмбөг]]чин, [[Герман]]ы «[[Байер 04 (хөлбөмбөгийн баг)|Байер 04]]» болон [[Швейцарын хөлбөмбөгийн шигшээ|Швейцарын шигшээн]] довтлогч. ==Замнал== «[[Цюрих (хөлбөмбөгийн баг)|Цюрихт]]» танигдсан Мехмедид [[2012]] оны нэгдүгээр сард [[Сандерленд (хөлбөмбөгийн баг)|Сандерленд]],<ref name = "Dailymail">{{cite news | url = http://www.dailymail.co.uk/sport/football/article-2061526/Liverpool-join-Sunderland-race-Admir-Mehmedi.html | title = Liverpool to rival Sunderland for young Zurich striker Mehmedi in January | publisher = [[Daily Mail]] | date = | accessdate = 5 September 2013 }}</ref> «[[Ливерпүүл (хөлбөмбөгийн баг)|Ливерпүүл]]» болон «[[Фрайбург (хөлбөмбөгийн баг)|Фрайбургаас]]» санал тавьсан ч «[[Динамо Киев|Динамо Киевтэй]]» тохиролцон [[2012]] оны [[1 сарын 13|нэгдүгээр сарын 13-нд]] таван жилээр гэрээлжээ. [[2014]] оны [[5 сарын 26|тавдугаар сарын 26-нд]] «[[Фрайбург (хөлбөмбөгийн баг)|Фрайбург]]» түүнийг 6 сая [[евро]]гоор элсүүлсэн.<ref>{{cite news|title=Transfer news: Freiburg make Admir Mehmedi's loan move from Dynamo Kiev permanent|url=http://www1.skysports.com/football/news/16414/9327019/transfer-news-freiburg-make-admir-mehmedis-loan-move-from-dynamo-kiev-permanent|accessdate=15 June 2014|work=[[Sky Sports News]]|date=26 May 2014}}</ref> «Фрайбург» лигээс улирахад Мехмед «Байерний» саналыг зөвшөөрч, [[2015]] оны [[6 сарын 11|зургадугаар сарын 11-нд]] элсчээ.<ref>{{cite web|title=Bayer 04 verpflichtet Schweizer Admir Mehmedi|url=http://www.bayer04.de/B04-DEU/de/_site_index.aspx|publisher=Bayer Leverkusen|accessdate=11 June 2015}}</ref> ==Шигшээ== Мехмеди [[Швейцарын хөлбөмбөгийн шигшээ|Швейцарын шигшээд]] анх [[2012 оны хөлбөмбөгийн ЕАШТ|2012]] оны [[Хөлбөмбөгийн ЕАШТ|ЕАШТ-ий]] сонгонд [[Английн хөлбөмбөгийн шигшээ|Англитай]] тоглоход сэлгээнээс гараалсан бол [[Германы хөлбөмбөгийн шигшээ|Германтай]] тоглоход ('''5''':3) гоолдсон байдаг.<ref name = "Sports Mole">{{cite news | url = http://www.sportsmole.co.uk/football/germany/news/mehmedi-a-step-in-the-right-direction_28784.html | title = Admir Mehmedi: 'A step in the right direction' | publisher = Sports Mole | date = | accessdate = 5 September 2013 }}</ref> [[2014]] оны [[6 сарын 15|зургаадугаар сарын 15-нд]] [[2014 оны хөлбөмбөгийн ДАШТ|2014]] оны [[Хөлбөмбөгийн ДАШТ|ДАШТ-д]] [[Эквадорын хөлбөмбөгийн шигшээ|Эквадортой]] тоглоход ('''2''':1) Мехмеди гоолдсон.<ref>{{cite news|title=Switzerland 2-1 Ecuador|url=http://www.bbc.co.uk/sport/0/football/25285085|accessdate=15 June 2014|work=[[BBC Sport]]|date=15 June 2014}}</ref> ==Амжилт== * [[Швейцарийн хөлбөмбөгийн лиг|Швейцарийн аварга]] '''(1)''': 2008/09 * Швейцарийн лигийн мөнгөн медаль '''(1)''': 2010/11 * [[Украин хөлбөмбөгийн лиг|Украины аварга]] '''(1)''': 2011/12 * Украины лигийн хүрэл медаль (1): 2012/13 == Лавлах холбоос == {{лавлах холбоос}} == Гадны холбоос == * [https://web.archive.org/web/20120323082145/http://www.igang3.ch/dbfcz/spieler.php?spieler_id=2626 Үзүүлэлт] {{ref-de}} * {{transfermarkt|admir-mehmedi|66058}} {{Belgium-footy-bio-stub}} {{Байер 04 багийн бүрэлдэхүүн}} {{2012 оны олимпт Швейцарийн хөлбөмбөгийн шигшээ}} {{2014 оны ДАШТ-д Швейцарийн хөлбөмбөгийн шигшээ}} [[Ангилал:2012 оны зуны олимпод оролцогч]] [[Ангилал:Швейцарын шигшээ багийн хөлбөмбөгчин]] [[Ангилал:Хөлбөмбөгийн довтлогч]] [[Ангилал:Цюрих багийн тоглогч]] [[Ангилал:Динамо Киев багийн тоглогч]] [[Ангилал:Фрайбург багийн тоглогч]] [[Ангилал:Швейцарчууд]] [[Ангилал:1991 онд төрсөн]] skfdenuogpwh5d6yu4xb2so00jhkgfk Уитни Хьюстон 0 53837 860799 785678 2026-07-01T11:52:27Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860799 wikitext text/x-wiki {{Инфобокс хувь хүн | нэр = Уитни Элизабет Хьюстон | зураг = Whitney Houston Welcome Home Heroes 1 cropped.jpg | зурагны_дэвсгэр_тайлбар = Уитни Хьюстон | төрсөн_огноо = {{birth date|1963|8|9|df=y}} | төрсөн_газар = [[АНУ]], [[Нью-Жерси]], [[Нью-Арк]] | жинхэнэ_нэр = | нас_барсан_огноо = {{death date and age|2012|2|11|1963|8|9|df=y}} | нас_барсан_газар = [[АНУ]], [[Калифорни]], [[Беверли Хиллз]] | үхлийн_шалтгаан = мансууруулах бодист хордсон | оршуулсан_газар = АНУ, Нью-Жерси, Уестфильд, [[Фэйрвью оршуулга]] | Мэргэжил = дуучин, жүжигчин, киноны продьюсер, дуу бичлэгийн продьюсер, загвар өмсөгч | нөхөр = [[Бобби Браун]] | хүүхэд = [[Бобби Кристина Браун]] | эцэг_эх = Жон Рассель Хьюстон, том = [[Сисси Хьюстон]] | вэбсайт = {{URL|whitneyhouston.com}}}} '''Уитни Элизабет Хьюстон''' ({{lang-en|Whitney Elizabeth Houston }}, 1963 оны Наймдугаар сарын 9 &nbsp;– 2012 оны Хоёрдугаар сарын 11) Америкийн дуучин, жүжигчин, загвар өмсөгч, продьюсер. Түүнийг [[Гиннесийн дэлхийн дээд амжилтын ном]]д Бүх цаг үеийн түүхэн дэх хамгийн их шагнал хүртсэн эмэгтэй уран бүтээлч гэсэн төрөлд 2009 онд бүртгэжээ. Хьюстон поп урлагийн түүхэнд хамгийн их ашиг олсон уран бүтээлчийн нэг бөгөөд замналынхаа туршид нийт 170 сая цомгоо дэлхийн зах зээлд борлуулсан юм. Тэрээр студийн 6 цомог, Зул сарын баярын нэг цомог, киноны сайундтрак бүхий гурван цомог худалдаанд гаргаж, тэдгээр нь очир эрдэнэ, мульти-платинум, платинум, алтан цомгийн гэрчилгээг хүртэж байжээ. Хьюстоны дуулсан "[[How Will I Know]]" дууны клип MTV сувгаар цацагдсанаас хойш олон орны хөгжмийн жагсаалтад тэргүүн эгнээнд бичигдэж, улмаар олон хар арьст эмэгтэй уран бүтээлчдийг араасаа дагуулсан юм. Биллбордын шилдэг 100 дууны жагсаалтад долоон удаа тэргүүн байранд бичигдсэн. Биллборд сэтгүүлийн оны хамгийн сүүлийн жагсаалтанд шилдэг цомгийн төрөлд хоёр удаа тэргүүн эгнээнд бичигдсэн анхны эмэгтэй. 1985 түүний гаргасан хамгийн анхны цомог болох ''[[Whitney Houston (album)|Whitney Houston]]'' цомог нь хөгжмийн урлагийн түүхэнд хамгийн их борлогдсон дебют цомог болон мөнхөрсөн юм. Алдарт ''[[Rolling Stone]]'' сэтгүүл түүний анхны цомгийг бүх цаг үеийн 500 шилдэг цомгийн жагсаалтад 254-рт эрэмбэлсэн байна. Харин түүний хоёр дахь цомог болох ''[[Whitney]]'' нь Биллбордын шилдэг 200 цомгийн жагсаалтын тэргүүн эгнээнд бичигдэж байсан юм. 1992 онд дэлгэцнээ амилсан [[Бие хамгаалагч]] кино бол гол дүрд тоглосон түүний анхны кино юм. Тус киноны албан ёсны дуу гэгдэх "[[I Will Always Love You (Whitney Houston version)|I Will Always Love You]]" буюу "Чамайг үргэлжид хайрлана" дуу нь маш их борлуулалт ашиг олж чадсан, тус дуу багтсан цомог нь 1994 оны Гремммигийн наадмын жилийн шилдэг цомог төрөлд ялалт байгуулсан билээ. ''[[Бие хамгаалагч]]'' киноны дуунаас бүтсэн цомгийг анх удаагаа [[Nielsen SoundScan]] систем ашиглан бүтээсэн юм. Тус цомог бүх цаг үеийн хамгийн шилдэг 500 цомгийн жагсаалтанд 4-рт эрэмбэлэгдсэн юм. Түүнийг нэр алдарт хүргэсэн ''Бие хамгаалагч'' киноны дараа 1995 онд [[Амьсгаа даран хүлээнэ]], 1996 онд [[Номлогчийн эхнэр]] зэрэг киноны гол дүрийг бүтээсэн байна. Тус киноны албан ёсны дуунууд багтсан цомог нь бүх цаг үеийн хамгийн их борлуулалттай шашны агуулга бүхий цомог болон мөнхөрсөн билээ. 2012 оны Хоёрдугаар сарын 11-ны өдөр Уитни Хьюстоны цогцос [[Беверли Хиллс]] дэх [[Беверли Хиллс Хилтон]] зочид буудлын зочны өрөөнөөс олдсон. Хэргийн мөрдөгчид түүнийг хар тамхи хэтрүүлэн хэрэглэсний улмаас ваннандаа живж нас барсан гэж тогтоосон бөгөөд зүрх нь ачааллаа дийлээгүй гэж оношложээ. Түүний нас барсан тухай мэдээлэл хормын дотор дэлхийн өнцөг булан бүрт хүрч, 2012 оны Греммийн хөгжмийн наадмыг зохион байгуулах хороо тус наадмыг Уитни Хьюстоны гэгээн дурсгалд зориулахаар болсон юм. ==Амьдрал, замнал== ===1963-1984: Хүүхэд нас, Замналын эхэн үе=== Ирээдүйд алдартай дуучин болох ерөөлтэй Уитни Хьюстон 1963 оны наймдугаар сарын 9-ны өдөр [[Нью-Жерси]] мужийн [[Ньюарк]] хотноо дундажаас дээд давхаргын гэр бүлд төржээ. Түүний аав болох бага Жон Рассел Хьюстон армийн алба хаагч байсан бөгөөд хожим нь энтертеймэнт продьюсер болсон юм. Харин түүний ээжийг [[Эмили ''Сисси'' Хьюстон]] гэдэг оршин суугаа мужийнхаа хамгийн алдартай сүмийн дууч байсан юм. Түүний ээж одоо ч амьд сэрүүн, уран бүтээлээ туурвисаар байна. Хьюстоны том ах нь мөн адил дуучин, харин түүний удаах ах нь сагсанбөмбөгийн тамирчин Гари Гарланд юм. Одоо тэрээр замналаа нэгэнт өндөрлүүлжээ. Хэдийгээр түүний эцэг, эх нь хоёулаа Африк Америк гаралтай ч уугуул америкчууд болон Голланд удмын цустай ажээ. Хьюстоны загалмайлсан ээж нь АНУ-ын алдарт уран бүтээлч [[Арета Франклин]]-ий үеэл бөгөөд 8-9 настай байхад нь Аретагийн дуу бичлэгийн студид анх дагуулан орж байсан гэдэг. 1967 онд Ньюарк хотод томоохон бослого хөдөлгөөн гарсаны улмаас гэр бүл нь өөр хот руу нүүхээс аргагүйд хүрч Нью-Жерси мужийн [[Зүүн Оранж]] дүүрэгт шилжин суурьшжээ. Тэр үед алдарт дуучин маань 4-хөн настай байлаа. Уитни Хьюстон 11 нас хүрэх жилээ өсч төрсөн Ньюарк хотынхоо New Hope Baptist сүмийн багачуудын найрал дууг гоцлох болж, улмаар төгөлдөр хуур ч тоглож сурчээ. Тус сүмийн баримт бичигт тэмдэглэснээр тэрээр "Guide Me, O Thou Great Jehovah" дууг анх удаа гоцлосон байна. Хьюстон бага ангиа Гэгээн Доминикийн академид өнгөрүүлсэн бол ахлах сургуулиа Нью-Жерси мужийн [[Колдуэлл]]-ийн охидын Католик сургуульд өнгөрүүлжээ. Энэ сургуульд суралцаж байхдаа тэрээр сайн найзаа олсон бөгөөд түүнийг Робин Кроуфорд гэдэг байлаа. Хьюстон түүнийг бага эгч гэж дуудах дуртай байсан гэдэг. Сургуульд байхад нь Хьюстоны ээж дуулах урлагт дурлуулж, улмаар дуучны уран чадварыг нэмэгдүүлэхэд шаардлагатай болгоныг зааж, сургаж байжээ. Тухайн үеийн алдартай уран бүтээлчид гэгдэх [[Чака Хан]], [[Глейдис Найт]], [[Роберта Флак]] нарын дуу, дуулах ур чадвар ирээдүйн алдарт дуучинд үлгэр дуурайл болж байсан гэдэг. Түүний өсвөр нас бусад хүүхдийнхээс огт өөрөөр өрнөж байлаа. Католик сүмийн дэгийг зөрчиж тэрээр ээжтэйгээ хамт шөнийн клубуудэд дуулдаг байжээ. 1977 онд Хьюстон 14 настай байхдаа орон нутгийн шилдэг хамтлаг гэгдэх Майкл Загерын хамтлагтай тоглолтонд оролцож, тайзны арын дуучдын бүрэлдэхүүнд багтаж байсан бол дараа жил нь буюу 1978 онд өөрийн шүтээн Чака Ханын хит сингл "I'm Every Woman" дууны хоолойг хийж мөрөөдөлөө бага зэрэг биелүүлсэн юм. Хожим нь тэрээр энэ дуугаа алдарт "Бие Хамгаалагч" киноны дуунаас бүрдсэн тусгай цомогт багтаасан билээ. 1980-аад оны эхээр [[Карнеги Холл]]-д ээжтэйгээ хамт дуулж байхад нь нэгэн алдартай гэрэл зурагчин харсанаар загвар өмсөх гараа нь тавигджээ. Тэрээр тухайн үеийн өсвөр настнуудын хамгийн алдартай сэтгүүл гэгдэх [[Seventeen]] сэтгүүлийн нүүр хуудсанд тавигдаж байсан түүхтэй. Өсвөр насны өхөөрдөм охиныг бусад нэр алдартай сэтгүүлүүд ч зүгээр өнгөрөөсөнгүй. Алдарт [[Glamour]], [[Cosmopolitan]] сэтгүүлд ч хэд, хэд гараад амжжээ. Түүнээс гадна телевизийн хэд, хэдэн сурталчилгаанд ч тоглосон байна. Загварын олон агентлагууд түүний сонирхож, загварын тайзнаа гарах дараагийн том од гэж дүгнэж байлаа. Тэдний дүгнэж байсанд Хьюстон дуртай байсан ч дуулах, дуучин болох хүсэл мөрөөдлийг нь унтрааж чадаагүй юм. Тухайн цаг үедээ алдартай хамтлаг дуучдын аялан тоглолтонд хамт явах дуучид сонгон шалгаруулах нэгэн төсөлд Хью Лопер хэмээх дуучны "memories" буюу "Дурсамж" дууг өөрийн хувилбараар дуулсан нь Роберт Кристгау гэх алдартай продьюсерийн анхаарлыг татжээ. Улмаар 1983 онд алдартай уран бүтээлч Пол Жабаратай нэгэн цомогт хамтран ажиллахаар болж Колумбиа Студид өнжих болжээ. Хьюстон 1980-аад оны эхээр хэд, хэдэн дуу бичлэгийн студийн удирдлагуудыг таних болж нөгөөдүүл нь ч дуулуулах сонирхолтой байсан боловч ээж нь түүнийг сургуулиа төгсч, боловсрол эзэмших ёстой гэж үзэн гэрээ байгуулаагүй байна. Гэсэн хэдий ч тэрээр дуулахаа зогсоохгүйгээр үл барам ээжийнхээ эсэргүүцлийг сөрөн байж шөнийн клубуудэд дуулахад нь хамт явж, хамтдаа ч дуулдаг байжээ. Энэ мэтчилэн дуулж явахад нь Нью-Йорк хотын нэгэн клубт [[Ариста]] дуу бичлэгийн студийн тэргүүн Клайв Девис харж биширсэн гэдэг. Девис түүний авьяасыг зүгээр л шөнийн клубт өндөрлөхийг үл тэвчиж улмаар [[Мерв Гриффинийн Шоу]]-нд оролцуулан, шууд нэвтрүүлгийн үеэр дуулах боломжийг олгосон байна. Төд удалгүй Ариста студи түүнтэй гэрээ байгуулсан боловч бие даасан цомогон дээр ажиллаж чадахгүй л байлаа. Хэдийгээр Девис түүний цомгийг гаргахыг хүсч байсан ч бусад продюсерүүд хэний ч мэдэхгүй дуучинг амжилт олно гэдэгт итгэхгүй байсан юм. Девисээс бусад продюсерүүд Хьюстоныг хэн нэгэн алдартай уран бүтээлчтэй хамтран уран бүтээл хийх ёстой гэж үзэж байжээ. Удалгүй продьюсерүүд Тедди Пендэрграсстай холбогдон түүний "Хайрын хэлэмж" цомогт нь багтсан [[Hold Me]] дууг нь хамтран дуулсан юм. 1984 онд залуухан Хьюстон уран бүтээлийн амжилтын үр шимийг анхлан амсч, түүний хамтран дуулсан дуу Биллбордын шилдэг R&B дууны жагсаалтын 5-рт эрэмбэлэгдсэн байна. ===1985-1986: Бахдам авьяас танигдаж эхлэв=== Хөгжмийн салбарын нэр хүнд бүхий [[Майкл Массер]], [[Жермейн Жаксон]], [[Нарада Майкл Уолтэн]] нарыг багтаа оруулсан Уитни Хьюстон 1985 оны 2-р сард өөрийн анхны цомгоо [[Уитни Хьюстон]] нэртэйгээр худалдаанд гаргажээ. Түүний эхний цомог олон алдартай хэвлэлүүдийн анхаарлыг татсан юм. Тухайлбал, алдарт Роллинг Стоне сэтгүүл "Энэ жил сонссон хамгийн бахдам шинэ дуу хоолой байлаа" гэж дүгнэсэн бол Нью-Йорк Таймс сонин "Хоолойны цар хүрээ, бахдам авьяасаараа тэрээр нэгэн хэвийн хөгжмийн ертөнцийг доргиочихлоо" гэж дүгнэж байжээ. Ариста дуу бичлэгийн студи түүний анхны цомгийг АНУ-д өөр дуутайгаар, Европын орнуудад өөр дуутайгаар, Их Британид өөр дуутайгаар гаргасан нь маркетингийн бас нэгэн онцлох алхам байсан юм. Европын орнуудад цомогтоо орсон [[All at Once]] дууг түрүүнд нь хүргэсэн нь Голландын хөгжмийн чартын мега хит болсон бол АНУ, Их Британид "Someone for Me" гэх хурдан хэмнэлтэй дуу нь хит болж байлаа. АНУ-д түүнийг сайн уран бүтээлч гэдгийг эхний цомогт нь багтсан "You Give Good Love" гэх баллад дуу нь батлан харуулж чадсан юм. Цомог АНУ-ын Биллбордын шилдэг цомгийн жагсаалтад 3-р байр, шилдэг R&B цомгийн жагсаалтад 1-рт, Европын томоохон жагсаалтуудад эхний 10 байрт эрэмбэлэгджээ. Эхний цомогоо үзэгчдэд их хэмжээгээр түгээхийн тулд Америкийн томоохон шөнийн клубуудээр сурталчилж, телевизийн шоунуудад ч оролцож байлаа. Цомгийн дараагийн дуу болох "Saving All My Love for You" дуу нь хөгжмийн зах зээлээр дэлхийд тэргүүлэгч [[Их Британи]], АНУ-ын жагсаалтын тэргүүн байрт зэрэг жагсч томоохон жагсаалтад тэргүүн байранд бичигдсэн анхны дуу нь болжээ. Цомгийг олонд таниулах ажлын хүрээнд америкийн нэр хүнд бүхий дуучин гэгдэх Жеззи Осборнын аялан тоглолтыг Уитни Хьюстон нээдэг байлаа. Сурталчилгаатай байсан ч эсвэл сурталчилаагүй байсан ч энэ цомог түүнийг ямархан хэмжээний цартай хоолойтой, дуучин бэ гэдгийг дэлхий нийтэд таниулж чадсан юм. АНУ-ын хөгжмийн жагсаалтанд "How Will I Know" дуу нь тэргүүлснээр түүний гурав дахь дуу нь нутагтаа тэргүүлсэн тохиолдол болсон билээ. Түүний эхний цомог АНУ болон далайн чанадад түүний нэрийг цуурайтуулж, [[MTV]] хөгжмийн сувгийн хамгийн эрэлттэй хар арьст эмэгтэй дуучин болгосон юм. 1986 онд түүний эхний цомог Биллбордын шилдэг цомгийн жагсаалтыг 14 долоо хоног тасралтгүй тэргүүлж, бас нэгэн шинэ амжилт тогтоов. Түүний дебют цомгийн хамгийн сүүлийн дуу болох "Greatest Love of All" хөгжмийн жагсаалтын бүх л төрлөөр шинэ амжилт тогтоон, жилийн эцсийн шилдэг дууны жагсаалтанд тэргүүлснээр энэ алдарыг хүртсэн анхны эмэгтэй уран бүтээлч болгосон билээ. Мөн түүнчлэн энэ дуу нь сүүлийн 50 жилийн хамгийн шилдэг 500 дууны жагсаалтанд бүртгэгдсэн юм. Тэрээр анхны дэлхийг тойрсон аялан тоглолтоо энэ дуугаараа нэрлэсэн нь ийм учиртай ч байж болох билээ. Дэлхийн хөгжмийн түүхэнд анхны цомог олон сая хувиар борлогдох нь цөөн. Тэгвэл Нью-Аркаас гаралтай энэ бүсгүйн анхны цомог дэлхий даяар 25 сая хувь борлогдсон юм. 1986 оны [[Греммийн хөгжмийн наадам]]-д тэрээр жилийн шилдэг цомог, жилийн шилдэг поп дуу, шилдэг шинэ уран бүтээлч гэсэн 3 төрөлд нэр дэвшиж, бүгдийг нь авч чадсан билээ. Мөн түүнчлэн Греммийн наадмын шууд дамжуулалтын үеэр "Saving All My Love for You" дуугаа дуулсан үзүүлбэрийг телевизийн салбарын шилдгийг шалгаруулдаг [[Эммигийн наадам]] шилдэг телевизийн хувийн үзүүлбэр гэсэн төрөлд шалгаруулсан юм. Түүний эхний цомгийн шагнал үүгээр дуусахгүй. [[Америкийн хөгжмийн наадам]], [[MTV Видьео наадам]] тус бүрээс 7 шагнал хүртсэн билээ. Алдарт Роллинг Стоне сэтгүүл түүний анхны цомгийг бүх цаг үеийн шилдэг 500 цомогт багтаасан бол Рок'н Роллийн алдарын танхим түүний цомгийг мөнхлөх шийдвэрийг гаргаж байлаа. АНУ-ын [[USA Today]] сонин сүүлийн 25 жилийн түүхэн дэх хөгжмийн ертөнцийн 25 үйл явдалд түүний анхны цомог худалдаанд гарсаныг онцгойлон шалгаруулж, түүний алдарыг улам мандуулсан юм. Түүний энэхүү аугаа замнал араасаа [[Жанет Жаксон]], [[Анита Бейкр]] нарын олон алдартанг дагуулж, хаалгыг нь онгойлгож өгсөн билээ. ===1987-1991: Тэр бол Уитни=== 1987 оны Зургаадугаар сард хүсч хүлээсэн хоёр дахь цомог нь ''[[Уитни (album)|Уитни]]'' нэртэйгээр худалдаанд гарав. Энэ цомогт түүний хуучин хамтрагчид болох Массер, Кашиф, Уолден нараас гадна [[Желлибийн Бенитез|Желлибин Бенитез]] ажиллажээ. Олонх урлаг судлаач, шүүмжлэгч нар түүний хоёр дахь цомгийг эхний цомогтой адилхан болсон гэж дүгнэдэг. Тухайлбал алдарт ''[[Роллинг Стоне]]'' сэтгүүл "Хэдийгээр түүнд халгиж, цалгисан их авьяас бий ч түүнийгээ энэ удаад урьдынхаа дөвийлгөж чадсангүй" гэж бичиж байсан удаатай. Гэсэн хэдий ч энэ цомог борлуулалтаараа муугүй амжилт гаргаж, багагүй хэмжээний ашиг орлого цуглуулж чадсан билээ. Тус цомог худалдаанд гарсан эхний долоо хоногтоо АНУ-ын хөгжмийн алдарт Биллборд сэтгүүл эрхлэн гаргадаг шилдэг 200 цомгийн жагаалтад тэргүүн байрыг эзлэсэн юм. Ингэснээр тэрээр тус хөгжмийн жагсаалтад шинээр худалдаанд гаргасан цомог нь эхний долоо хоногтоо жагсаалтыг тэргүүлж чадсан анхны эмэгтэй уран бүтээлч болгосон билээ. Их Британид ч мөн адил түүний хоёр дахь цомог борлуулалтаараа тэргүүлж байлаа. Тус цомгийн хоёр дахь сингл болох "Би хэн нэгэнтэй бүжиглэмээр байна" дуу нь төрөлх АНУ-д ч төдийгүй Их Британи, Герман, Австрали зэрэг дэлхийн өндөр хөгжилтэй олон орнуудад шуугиан тарьж, хит дуу болсон юм. Үүгээр ч зогсохгүй тус цомогт багтсан "Бидэнд юу ч үгүй", "Уярам", "Миний зүрх сэтгэл эвдэрсэн байна" дуунууд Биллборд сэтгүүлийн шилдэг 100 дууны жагсаалтыг 7 долоо хоног дараалан тэргүүлж, алдарт [[The Beatles]], [[Bee Gees]] хамтлагын 6 долоо хоног нэг цомгийн дуу нь дараалан тэргүүлсэн гэх амжилтыг эвдэж чадсан байна. Зөвхөн нэг цомогт орсон дөрвөн дуу нь жагсаалтыг тэргүүлсэн цорын ганц эмэгтэй дуучин бол Уитни Хьюстон юм. Энэхүү цомрог нь Платинум цомгийн өргөмжлөлийг 9 удаа хүртэж, зөвхөн АНУ-ын зах зээлд 9 сая хувь борлогдсон бол дэлхий дахинаа нийт 20 сая хувь борлогдсон билээ. 1988 оны [[Греммигийн 30 дахь удаагийн ёслол]]-д Хьюстон 3 төрөлд нэр дэвшиж "Би хэн нэгэнтэй бүжиглэмээр байна" дуугаараа "Шилдэг эмэгтэй дуучин" төрөлд ялалт байгуулсан юм. Мөн түүнчлэн Америкийн хөгжмийн наадам, Сөүл Трейн Мюзик наадмын шагналыг ч авсан байна. Түүний хоёр дахь цомог дэлхий даяар шуугиан тарьж, борлуулалтын бахдам амжилт гаргаж байх тэр цаг үед алдарт дуучин маань дэлхийг тойрох аялан тоглолтоо ч үргэлжлүүлж байлаа. Түүний шинэ цомог итгэмээргүй амжилт дагуулж байх хооронд тэрээр дэлхийг тойрсон аялан тоглолтоо аль хэдийнэ эхлүүлэхээр төлөвлөсөн байсан юм. Бүтэн жилийн туршид үргэлжилсэн түүний энэхүү аялан тоглолт хөгжмийн урлагийн түүхэнд хамгийн их ашиг олсон тоглолтоор гарцаагүй нэрлэгддэг билээ. Түүний энэхүү тоглолт дэлхийн 60 гаруй орноос нийт 212 сая ам.долларыг цуглуулж чадсан юм. 1988 онд алдарт [[Форбс (сэтгүүл)|Форбс]] сэтгүүл түүнийг хамгийн өндөр орлоготой алдартнуудын гуравдугаар байранд жагсаажээ. Түүний урд хөгжмийн ертөнцийн домог [[Фредди Меркюри]], телевизийн цувралын од [[Билл Косби]] нар л жагсч байсан билээ. Өмнөд Африкад арьс өнгөөр ялгаварлан гадуурхах үзэл буюу апартейд хүчтэй өрнөж, дэлхий даяараа уг үзлийг зэмлэн буруушааж эхлэхэд алдарт дуучин маань апартейдийн эсрэг дуу хоолойгоо өргөж, [[Нелсон Мандела]]-г дэмжиж байгаа гэдгээ олон нийтэд зарлаж байлаа. 1988 оны Зургаадугаар сарын 11-ны өдөр Европ аялан тоглолтоо Их Британийн нийслэл Лондон хотноо үргэлжлүүлж байхдаа тэрээр уг үзэл бодлоо нээлттэй илэрхийлж байсан юм. Тухайн үед алдарт [[Уэмбли]] цэнгэлдэх хүрээлэнд тоглож байхдаа Нелсон Манделагийн 70 насны төрсөн өдрийг тэмдэглэж, шүтэн бишрэгчдийнхээ хамтаар түүнд хүндэтгэл үзүүлсэн билээ. Уитни Хьюстон уг тоглолтынхоо үеэр олсон 1 сая долларыг апартейдийн эсрэг дэлхийн хөдөлгөөнд хандивласан юм. Алдар нэр, ашиг орлого нь өсч байсан тэрээр олсон мөнгөө нийгмийн сайн сайханд зориулдаг байлаа. Тухайн үедээ "Хар арьст хүүхдүүдийн коллежийн сан"-д 4-5 сая ам.доллар хандивласан гэсэн мэдээ бий. Өмнөд Солонгосын Сөүл хотноо 1988 онд зохиогдсон зуны олимпын 24-р наадмыг АНУ-ын алдарт [[NBC]] телевиз шууд дамжуулахаар болж, шууд дамжуулалтын нээлтийг Уитни Хьюстон дуучны "Нэг л хором" дуугаар хийж байсан юм. Түүний энэхүү уран бүтээл зөвхөн Европ, Америк даяар төдийгүй Ази тивийн улсуудад амжилт дагуулсан билээ. 1989 онд алдарт дуучин маань дэлхий даяар туйлийн хүнд хэцүү амьдралд аж төрж байгаа хүүхдүүдэд туслах, боловсролыг нь дэмжих зорилгоор Хүүхдийн төлөөх Хьюстоны санг байгуулж байгаагаа албан ёсоор зарласан юм. Олсон орлого, гаргасан амжилтаараа эхний хоёр цомгоороо л дэлхийд танигдсан тэрээр буяны үйлсэд оролцож, энэхүү үйлсдээ алдарт [[Майкл Жексон]]-ыг ч нэгтгэж чадсан юм. 1990 оны 11-р сард ихээхэн амжилт дагуулсан цомгоо гаргаснаас хойш 3 жилийн дараа түүний бие даасан гурав дахь цомог нь "Би өнөө орой чинийх" нэртэйгээр худалдаанд гарлаа. Түүний энэхүү цомогт хөгжмийн ертөнцийн бренд гэгдэх [[Л.А.Рийд]], [[Стиви Уондер]], [[Лютер Вандросс]] нар хамтран ажилласан байна. Хьюстоны гаргасан дуунууд хит болдогын жамаар түүний шинэ цомгийн 6 дуу Биллбордийн шилдэг 100 дууны жагсаалтад эхний 10-т бичигдсэн юм. Эдгээрээс "Би өнөө орой чинийх", "Бүх эрчүүд надад хэрэгтэй" зэрэг хоёр дуу тус жагсаалтыг тэргүүлсэн юм. Түүний бие даасан гурав дахь цомог дэлхий дахинаа нийт 12 сая хувь борлогдсон билээ. 1990 онд АНУ-ын ерөнхийлөгч Х.В.Буш "Залуу манлайлал"-ын хөтөлбөр боловсруулж Цагаан ордоны Дугуй танхимд бага хурал зохион байгуулахдаа Уитни Хьюстонг зочноор тусгайлан урьсан юм. Тус бага хурлын дараа Хьюстон ерөнхийлөгчтэй бүтэн 90 минутын туршид хүүхэд, залуусын эрх, ажиллах орчин нөхцөлийн талаар зөвлөлдсөн гэдэг. [[File:Whitney Houston Welcome Heroes 7 cropped.JPEG|left|thumb|upright|1991 онд Виржиниа мужид болсон "Баатруудаа тавтай морил" концертын үеэр]] 1991 оны Нэгдүгээр сарын 27-ны өдөр Америкийн хөлбөмбөгийн лигийн аварга шалгаруулах Супер боулын төлөөх 25 дахь шигшээ тоглолтын нээлтэнд Уитни Хьюстон АНУ-ын төрийн дуулал дуулсан нь хэвлэл, мэдээллээр нэг шуугиан тарьж орхив. Түүнийг олонх сэтгүүлчид ам барьсан гэж шүүмжилж байлаа. Хожим нь түүний хэвлэлийн төлөөлөгч "Хьюстон тайзан дээр гарахад зохион байгуулагчдын зүгээс бидэнд техникийн асуудал байгаа гэж мэдэгдсэн. Тийм учраас хуран чуулсан үзэгчдээ хүндэлж ийм шийдэл гаргахаас өөр арга байгаагүй" гэсэн нь олон нийтийн зүгээс хүчтэй шүүмжлэл дагуулав. Ингэснээр түүний дуулсан төрийн дуулал олон нийтэд хүрч АНУ-ын хөгжмийн жагсаалтын эхний 20-т бичигдсэн нь АНУ-ын төрийн дуулал 1968 онд хөгжмийн жагсаалтанд бичигдэж байснаас хойшхи анхны тохиолдол байсан юм. Хэдийгээр ам барьсан гэх шуугиан олон нийтэд тархсан ч Америкийн хөлбөмбөгийн аварга шалгаруулах Супер Боулийн тэмцээний үеэр дуулсан хамгийн гайхалтай 25 үзүүлбэрийн нэгт түүний энэ хувилбар бичигдсэн байдаг юм. Олонх урлаг судлаач, шүүмжлэгч нар АНУ-ын төрийн дуулалын хамгийн гайхалтай хувилбарыг Хьюстон дуулсан гэдэгтэй маргадаггүй билээ. Алдарт дуучны ам барьсан тухай шуугиан АНУ даяар тархаж байх үед далайн чанадад Персийн булангийн дайн ид өрнөж байлаа. Тус дайнд оролцсон АНУ-ын дайчид эх орондоо ирэх өдрийг тохиолдуулан Виржиниа мужийн Норфолк дахь Тэнгисийн цэргийн баазад Уитни Хьюстон ашгийн бус ямар ч тасалбаргүй "Баатруудаа тавтай морил" концертыг зохион байгуулсан нь хэвлэлээр дэгдээд байсан шуугианыг ор үндэсгүй алга болгосон юм. Түүний тоглолтыг алдарт [[HBO]] суваг телевизээр цацсан нь тус сувгийн түүхэн дэх хамгийн олон хүн үзсэн контент болсон билээ. ===1992-1994: Гэр бүлээ зохиов, ''Бие хамгаалагч'' хүртээл болов=== 1980-аад онд алдарт дуучин маань Америкийн үндэсний хөлбөмбөгийн од Рэндалл Каннингэм болон жүжигчин [[Эдди Мөрфи]] нартай болзож байлаа. Гэвч эд нартай гэр бүлийн харьцаа зохиогоогүй бөгөөд 1989 оны Сөүл Трейн хөгжмийн наадмын үеэр R&B дуучин Бобби Браунтай танилцаж, улмаар гэр бүл болсон билээ. Тэд гурван жил үерхэж, улмаар 1992 оны Долоодугаар сарын 18-ны өдөр хуримаа хийсэн юм. Хуримаа хийснээсээ хойш жил хүрэхгүй хугацааны дараа 1993 оны гуравдугаар сарын 4-ний өдөр хосууд маань охинтой болж, улмаар Кристина Браун гэх нэр хайрлажээ. Хосууд өөр хүүхэд төрүүлээгүй юм. Түүний нөхөр Бобби Браун нь хэрэг төвөгт орооцолдож, ихэнх хугацаагаа торны цаана өнгөрөөж байлаа. Алдарт дуучин маань зөвхөн дуу дуулаад зогсохгүй жүжиглэх урлагт татагдаж байсан юм. Тухайн үедээ найруулагч Спайк Лийтэй клипний зураг авалтын үеэр танилцаж, Спайк Ли түүнийг алдарт жүжигчин [[Роберт де Ниро]]-той танилцуулсан байна. Түүний кинонд тоглох мөрөөдөл 1992 онд биелсэн юм. Тухайн жилдээ нэр алдар нь мандаж эхлээд байсан жүжигчин [[Кевин Костнер]]-той хамт [[Бие хамгаалагч]] кинонд тоглож, үзэгчдийн хүртээл болгосон билээ. Хэдийгээр энэ кино АНУ төдийгүй олон улсад итгэмээргүй хэмжээний ашиг олж чадсан ч шүүмжлэгчид, урлаг судлаачдын хараалыг барж байлаа. Тухайн үед [[Вашингтон Пост]] сонинд "Хьюстон дуулж чаддаг, түүнийгээ ч нотолсон. Гэвч кинонд тоглох нь түүний хувьд маш илүүц хэрэг. Энэ киног Кевин Костнер л аваад гарчихлаа" гэж бичиж байсан удаатай. Тухайн жилийнхээ хамгийн муу киног шалгаруулдаг [[Алтан Бөөрөлзгөнө]] наадамд Хьюстон хамгийн муу эмэгтэй жүжигчин төрөлд нэр дэвшсэн нь олон шүүмжлэлийн илэрхийлэл болсон билээ. Олон шүүмжлэл өрнөж байсан ч тухайн үед "Бие хамгаалагч" киноны тасалбар өсч байсан гэдэг. "Бие хамгаалагч" кино олон улсаас нийт 410 сая ам.доллар олсон юм. Киноны хувьд шүүмжлэгчид муулахын дээдээр муулж байсан ч киноны дуутай хэн ч маргаж чадаагүй билээ. Уитни Хьюстон "Бие Хамгаалагч" кинондоо зориулж 6 дуу гаргасан бөгөөд тус дуунуудыг багтаасан "Бие Хамгаалагч" нэртэй дууны цомог гаргасан юм. Энэ нь уран сайхны киноны дууг багтаасан хамгийн их амжилт дагуулсан цомгийн нэг болсон билээ. Тухайн үедээ алдарт Роллин Стоне сэтгүүлд "Хөгжмийн хувьд маш амттай, хамгийн гол нь одоогийн нэгэн хэвийн хөгжимд чамин шигтгээ болж чаджээ" гэж дүгнэж байсан удаатай. Дээрх дуунуудаас [[Чамайг Үргэлжид Хайрлана]] дуу нь смаш хит болж чадсан юм. 1974 онд алдарт дуучин [[Долли Партон]]-ы гаргаж байсан дууг өөрийнхөөрөө шинэчилж дуулсан нь жинхэнэ хувилбараасаа илүү болж чадсан байна. Биллбордын шилдэг 100 дууны жагсаалтыг тус дуу 14 долоо хоног, R&B дууны жагсаалтыг 11 долоо хоног тэргүүлж бас нэгэн амжилтыг эвдэж байлаа. АНУ-ын хөгжмийн урлагийн түүхэнд эмэгтэй дуучин түүн шиг зөвхөн нэг дуугаа 22 сая хувь борлуулж байгаагүй юм. Тус цомог дэлхий даяар нийт 44 сая хувь борлогдсон нь жилийнхээ хамгийн өндөр борлуулалттай цомог болсон юм. 1994 оны Греммигийн наадам чухамдаа түүнийх болсон гэхэд хилсдэхгүй. Жилийн шилдэг дуу, шилдэг цомог гэсэн гол таван шагналын хоёр нь түүнийх болсон төдийгүй, Биллборд хөгжмийн наадмаас 11, Сөүл Трейн хөгжмийн наадмаас 3, Дэлхийн хөгжмийн наадмаас 5, Брит Мюзик наадмын зэрэг олон арван шагнал түүнийх болсон юм. Мөн түүнчлэн "Бие Хамгаалагч" нэртэй дэлхийг тойрсон аялан тоглолт зохион байгуулсан нь ашиг орлогын хувьд чамгүй амжилт дагуулжээ. 1994 оны 10-р сард итгэмээргүй амжилттай байсан түүнийг Цагаан ордоноос хүндэтгэлийн зоогонд урьж, Өмнөд Африкийн ерөнхийлөгч Нелсон Манделатай уулзах боломжийг олгожээ. Тус уулзалтын дараа Өмнөд Африкийн ерөнхийлөгчийн урилгаар тус улсад 3 тоглолт зохион байгуулсан бөгөөд нийт 200 мянган хүн үзэж сонирхсон байдаг. ===1995-1997: Кино урлагийн он жилүүд=== 1995 онд түүний дараагийн дэлгэцийн бүтээл [[Манан арилахыг хүлээнэ]] нэртэйгээр дэлгэцнээ амилсан юм. Африк-Америк гаралтай дөрвөн эмэгтэйн харилцаа, нийгмээс ирж байгаа сорилт шалгуурын тухай харуулсан тус кино 81 сая ам.долларын ашиг олсон байдаг. Урлаг судлаач, кино шүүмжлэгчид түүний тоглолтыг "Бие Хамгаалагч"-аасаа дээрдсэн гэж үзсэн ч мэргэжлийн жүжигчдийн энд хүрч чадахгүй гэж дүгнэсээр байлаа. Уитни Хьюстон киноныхоо дуунуудыг багтаасан цомог хийхдээ тун гаргууд байлаа. Энэ удаагийн киноныхоо цомогт олон арван алдартай уран бүтээлчийг татан оролцуулж, продюсерээр нь "Babyface"-ыг сонгосон нь гарцаагүй зөв сонголтын нэг байсан юм. Түүний цомогт [[Арета Франклин]], [[Мэри Ж.Блайж]], Бренди, [[Тони Брекстон]], Петти ЛаБеллэ нар гар бие оролцжээ. Тус цомог худалдаанд гарсан эхний долоо хоногтоо 7 сая хувь борлогдсон нь бас нэг өвөрмөц амжилт байлаа. 1996 онд алдарт дуучин маань бас нэг кинонд гол дүрийг бүтээж амжив. Энэ удаад тэрээр [[Номлогчийн Эхнэр]] кинонд, орон нутгийн сүмийн пасторын эхнэрийн дүрээр үзэгчидтэй уулзжээ. Энэ киног 1948 онд дэлгэцнээ гарсан Санваартны эхнэр нэртэй киноноос сэдэвлэн, дахин дэлгэцнээ амилуулсан юм. Алдарт дуучин энэ удаад Холливудын өөр нэгэн од [[Дензел Вашингтон]]-той хамтран тоглосон байна. Энэ кинонд тоглосныхоо төлөө Уитни Хьюстон 10 сая ам.долларыг халаасласан нь тухайн жилийнхээ хамгийн их ашиг орлоготой хар арьст эмэгтэй жүжигчний нэг болгосон юм. Тус кино нийт 50 сая ам.долларын ашиг олжээ. Хьюстон энэ удаад киноныхоо нэрээр нэрлэсэн 6 дуу бүхий цомог гаргаж, Жиоржиа мужийн найралтай дуучидтай хамтран ажилласан юм. Дан сүмийн найрал дуу, гоцлол дуунаас бүрдэх тус цомгийн "Хоёр биендээ итгэнэ", "Алхам алхмаар" дуу нь хит болж, цомог бүхэлдээ 6 сая хувь борлогджээ. Мөн түүнчлэн хамгийн олон хувь борлогдсон сүмийн дүү бүхий цомгоор тус цомгийг нэрлэдэг билээ. 1997 онд Дебра Мартин Чейзтэй хамтран телевизийн мюзикл хийхээр болов. Тэд Рожерс Хаммерстейн нарын 1957 онд олны хүртээл болгосон "Үнсгэлжин" мюзиклийг дахин хийхээр болжээ. Тус мюзиклд Бренди, [[Вүүпи Голдберг]], Жейсон Александр, Бернадетт Питерс нартай хамтран тоглосон юм. ABC телевизээр цацагдсан уг мюзиклийг 60 сая хүн үзсэн нь тус телевизийн түүхэнд хамгийн их хүн үзсэн контент болон түүхэнд мөнхөрчээ. Тухайн жилдээ телевизийн урлагийн Эммигийн шагнал гардуулах ёслолоос 2 төрөлд ялалт байгуулсан юм. Хьюстон тус мюзиклд бүтээсэн дүрээрээ Оскарын наадмын шилдэг эмэгтэй жүжигчний шагналд анх удаа нэр дэвшсэн хэдий ч ялалт байгуулж чадаагүй билээ. Дараа жил нь тэрээр өөрийн шүтээн болох Арета Франклин, [[Дайана Росс]], Дион Уорвик нартай хамтран HBO телевизийн сувгаар гурван цуврал тоглолт зохион байгуулж, тус тоглолтоос олсон орлогын тодорхой хувь болох 300 мянган ам.долларыг АНУ-ын хүүхдийг ивээх санд хандивлажээ. === 1998-2000: Хөгжмийн урлаг түүнийг санажээ === 1990-ээд оны дундаас эхлэн кино урлагт хүч үзсэн алдарт дуучин маань найман жилийн дараа цомгийн ажилдаа орлоо. Тэрээр 1998 оны 11-р сард "My Love is Your Love" (Миний хайр бол чамайг хайрласан хайр) цомогоо худалдаанд гаргалаа. Мэдээж хэрэг түүний энэ цомогт өмнөх алдартай хит дуунуудыг санагдуулам, олон уянгалаг дуунууд багтсан байлаа. Худалдаанд гарсан эхний долоо хоногтоо алдарт Биллбордын шилдэг 200 цомгын жагсаалтын 13-рт бичигджээ. Түүний энэ цомог регги, торч, хип хоп, урбан денс зэрэг хөгжмийн төрөл бүрийн урсгал чиглэлийг багтаасан хөгжимлөг цомог болсон юм. 1998 оны сүүл 2000-аад оны эхэнд түүний энэ цомгийн дуунууд дэлхийн хит болж байлаа. Тухайлбал алдарт дуучин Мерайа Керитэй хамтран дуулсан "When You Believe" дуу нь Их Британийн хөгжмийн жагсаалтын дөрөвдүгээрт, Биллбордын жагсаалтын 15-рт бичигдсэн байдаг. Энэ дууг "Египетийн хунтайж" киноны албан ёсны дуу болгон ашигласан бөгөөд тус оныхоо "Киноны шилдэг дуу" төрөлд Оскарын наадамд ялалт байгуулсан юм. Үүнээс гадна тухайн үедээ нэр хүнд нь ид мандаад байсан Фейт Иванс, Келли Прайс нартай хамтран дуулсан "Heartbreak Hotel" дуу нь Биллбордын жагсаалтын хоёрдугаарт, Их Британийн хөгжмийн жагсаалтын 25-рт жагсаж 1999 оны МТВ хөгжмийн наадмын "Шилдэг R&B клип" төрөлд ялалт байгуулсан байдаг. Энэ цомогт орсон "It's not Right but It's Okay" дуу нь түүнд Греммийн хөгжмийн наадмын шилдэг эмэгтэй R&B дуучин гэх шагналыг авирсан юм. Энэхүү дуу нь дангаараа 3 сая хувь борлогджээ. Олон хит дуутай энэ цомог зөвхөн АНУ-д 4 сая хувь борлогдож платинум цомгыг 4 удаа хүртсэн бол дэлхий дахинаа 11 сая хувь борлогдсон юм. Хөгжмийн урлагийн томоохон сэтгүүлүүд түүнийг хэлэхийн дээдээр магтаж байлаа. Тухайлбал Роллинг Стонес сэтгүүлд "Түүний хоолойн цар хүрээ зүйрлэшгүй юм" гэж байсан бол Виллаж Войс сэтгүүлд "Уитнигийн хоолой бусад дуучидтай харьцуулашгүй юм" гэж магтаж байсан юм. Тэрээр урьд жилүүдэд шинэ цомгийнхоо нэрээр аялан тоглолт зохион байгуулдаг байсан. Тэгвэл энэ удаад ч тэрээр уламжлалаа дагаж "My Love is Your Love" аялан тоглолтоо дэлхий даяар хийсэн юм. Мэдээж түүний аялан тоглолт тухайн жилийнхээ хамгийн их ашиг олсон тоглолтоор нэрлэгдсэн. 1999 оны 11-р сард шинэ зууны босгон дээр ирэхэд түүнийг Америкийн хөгжмийн зохиолчдын холбоо Зууны хамгийн их орлоготой R&B дуучин болгож, батламж гардуулсан билээ. 2000 оны Тавдугаар сар. Тэрээр "Whitney: Greatest Hits" цомгоо худалдаанд гаргав. Өнгөрсөн жилүүдэд хийсэн шилдэг уран бүтээлүүдээ багтаасан энэ цомог дабль буюу хосолмол байдлаар сонсогчдын гар дээр очсон юм. Энэ цомог АНУ-д тавдугаарт жагссан бол Их Британи тэргүүтэй 10 улсад тэргүүн эгнээнд жагсч түүнийг хөгжмийн урлагийн хатан хаан гэдгийг баталсан билээ. Хэдийгээр энэ цомог нь өмнөх уран бүтээлүүдийг багтаасан дурсамж хэлбэртэй боловч хэд, хэдэн шинэ дуу багтсан байдаг. Тухайлбал Энрике Иглесиастай хамтарсан "Could I Have This Kiss Forever", Жорж Майклтай хамтарсан "If I Told You That" дуунууд нь олны анхаарлыг татаж, жагсаалтын тэргүүн эгнээнд жагссан юм. Мэдээж түүний цомог хамгийн их хувь борлогдсон. Зөвхөн АНУ-д л гэхэд 3 сая хувь, дэлхий даяар 10 сая хувь борлогдсон гэх баримт бий. === 2000-2005: Зан чанарын өөрчлөлт-Амьдралын тэмцэл === Хьюстон анх гарч ирж байхдаа "сайн охины" дүртэй байсан. 1980-1990 хүртэл бүх хүн түүнийг "сайн охин" гэж харж байлаа. Гэтэл 1990-ээд оны сүүлээс эхлэн түүний зан чанар өөрчлөгдөж эхэллээ. Мэдээж хэрэг амьдрал мэдэхгүй охиноос үзэл бодол нь тогтсон, чамгүй орлоготой болсон тэрээр урьдынхаасаа илүүтэйгээр хэл аманд өртөх болжээ. Жин ихэд алдах болсон тэрээр ихэнх тоглолтуудаа ядаргаанаас болж хойшлуулж байлаа. Чухам энэ үеэс эхлэн хэвлэл мэдээллийн хэрэгслүүд түүнийг хар тамхинд донтсон талаар зогсоо зайгүй мэдээлж байсан юм. 2000 оны нэгдүгээр сарын 11-ны өдөр Хавай мужийн нисэх онгоцны буудалд түүний цүнхнээс савласан хар тамхи илрүүлж, баривчлав. Гэхдээ энэ хэргийг цааш нь газар авхуулалгүйгээр шаардсан торгуулийг төлөөд суллагдаж байжээ. Энэ хэргээс ердөө хоёр сарын дараа түүнийг "Рок'н Роллын алдарын танхим"-д мөнхлөв. Алдарын танхимд орсоныхоо дараа тоглолтынхоо үеэр өнгө алдсан нь олны анхаарлын төвд орлоо. Чухам үүнээс шалтгаалан тэрээр төлөвлөгдсөн тоглолтуудаа продьюсерийн шаардлагын дагуу цуцлахаас аргагүйд хүрчээ. Хар тамхи хэрэглэх болсон, хэтэрхий ууртай болсон зэрэг нь түүний олон саяар тоологдох орлогыг "урвуулж" орхилоо. Ихэнх продьюсерүүд түүнтэй хамтран ажиллахаас зүрхшээж байсан. Үүнээс болж ихэд шаналах болсон тэрээр Оскарын наадмын ёслолын ажиллагааны үеэр "Over the Rainbow" дууг дуулах байсан ч тэс өөр дуу дуулж орхив. Энэ нь дайран дээр давс нэмж орхилоо. Ямарсайндаа Вашингтон Пост сонин "Энэ хүүхэн бидний мэдэх сайн хоолойтой, гайхалтай дуучин эмэгтэй мөн үү. Түүнийг юу ингэтлээ сүйдэлж орхив оо" гэж шүүрс алдаж байхав. Энэ том алдааны дараа урлагийн тавцанд олон жил хамтран ажилласан, журмын нөхөр нь болох Робин Кроуфорд ажлаа өөрийн хүсэлтээр өгчээ. Ариста/БМЖ дуу бичлэгийн студитэй 2001 оны наймдугаар сард хамтын ажиллагааны маш өндөр үнэтэй гэрээ байгуулав. Тухайн үедээ түүний байгуулсан 100 сая ам.долларын гэрээ зарим дуучдын зөвхөн мөрөөдөж болох л мөнгөн дүн байсан. Мэдээж тэрээр энэ гэрээний хүрээнд зургаан цомог гарган, цомог амжилттай болвол урамшуулал хүртэх заалтыг гэрээнд тусгажээ. Дэлхий дахиныг гайхшралд оруулж, айдаст автуулсан 9-р сарын 11-ний халдлагын үеэр тэрээр "АНУ-ын төрийн дуулал"-ыг өөрийн хувилбараар дуулж сингл байдлаар худалдаанд гаргасан нь зовлон туссан Америкийн ард түмэнд гайхалтай сэтгэлийн дэм болов. Түүний энэ сингл Биллбордын жагсаалтын зургаадугаар байранд бичигдсэн юм. Синглийн борлуулсан бүх орлогыг 9-р сарын 11-нд хохирсон гал сөнөөгчдийн сан, Хохирогсдын холбоонд очсон билээ. Хьюстон аав Жон Хьюстон Ариста Рекордсыг гэрээнд заагдсан мөнгөн дүнгээ гүйцэд төлөөгүй гэж үзэн шүүхэд зарга мэдүүлэв. Нас өндөр тэрээр охиныхоо төлөө хангалттай явсан ч шүүх түүний хэргийг хэзээ ч авч хэлэлцээгүй билээ. Охиных нь азгүйтэл, Аристагын нүүр буруулалтад шаналсан тэрээр 2003 оны хоёрдугаар сард насан эцэслэсэн билээ. Шүүхээр заргалдсан явдалд ихээхэн бухимдсан Аристагын эзэд Уитниг гэрээнд заагдсан үүргээ биелүүлж, цомгын ажилдаа ханцуй шамлан орохыг анхаарууллаа. Гэрээ байгуулагдсанаас хойш Уитни цомог гаргаагүй байсан юм. Хар тамхи, сэтгэл гутрал, дуулиан шуугианы бай болоод байсан Уитни Хьюстон удаан хүлээлгэсэн цомгоо "Just Whitney" гэсэн даруухан нэрээр гаргав. Түүний цомогт нөхөр нь болох Бобби Браун, Мисси Эллиотт нар хамтран ажилласан юм. Хэл амны бай болж, олон алдаа дутагдал гарсан ч Америкчууд түүнийг санасан байлаа. Худалдаанд гарсан эхний долоо хоногтоо Биллбордын шилдэг 200 цомгын жагсаалтын есдүгээрт жагсчээ. Шинэ цомогт орсон дөрвөн дуу нь хит болж, цомог нь АНУ-д 3 сая хувь борлогдсон байдаг. 2003 оны 12-р сард тэрээр зулсарын баярт зориулсан цомгийг анх удаагаа худалдаанд гаргав. "One Wish: The Holiday Album" гэж нэрлэсэн энэ цомогт тэрээр олон нийтийн хүртээл болсон эртний дуунуудыг сэргээж, өөрийнхөөрөө дуулж олонд хүргэсэн юм. Гэхдээ түүний өмнөх цомгууд шиг олон сая хувь борлогдоогүй энэ цомог 800 мянган хувь борлогдсон тооцоо бий. 2004 онд АНУ-ын Засгийн газар Ойрхи дорнодтой ойртох үүднээс бодлогоор зарим нэг уран бүтээлчидтэй гэрээ хийсний дотор Уитни Хьюстон багтаж байсан юм. Тэрээр 2004 онд Ойрхи Дорнод, Ази, ОХУ-д аялан тоглолт зохион байгуулсан юм. Хэл ам таталж байдаг түүний нөхөр ч энэ хугацаанд амжилттай байлаа. 2004 оны эхээр Бобби Браун өөрийн нэрээр нэрлэгдсэн телевизийн хөтөлбөртэй болов. Түүний энэ нэвтрүүлэг 2005 оны дунд хүртэл үзэгчдийн хүртээл болсон билээ. Гэхдээ шүүмжлэгчид түүний нөхөрт таагүй хандаж байлаа. Холливуд Репортер сэтгүүлд "Телевизийн салбарын гутамшиг гэж үүнийг нэрлэнэ. Цагаа олоогүй хошигнол, хэтэрхий олон хэлэх хараалын үг, эв хавгүй хөдөлгөөн. Тэр эхнэрийнхээ нэр хүндийг унагаахаас өөр зүйл хийсэнгүй" гэж бичиж байсан удаатай. Шүүмжлэгчдийн хараалыг идсэн энэ нэвтрүүлэг албан ёсоор цуцлагдах хүртлээ үзэгчдийнхээ тоогоор АНУ-даа тэргүүлж байсныг дурьдах нь зүйтэй болов уу. === 2006-2012: Урлагийн тайзнаа эргэн ирэв === Ойрхи Дорнод, Ази, ОХУ-д хийсэн аялалн тоглолтынхоо дараа тэрээр хоёр жилийн туршид цомог гаргалгүй амралтын байдалтай өнгөрөөсөн юм. Гэвч нөхөртэйгөө маргалдах болж, хэвлэлүүдийн бас нэг өгөөш болоодхов. 2007 оны хоёрдугаар сарын 1-нд алдарт дуучин маань шүүхэд салах өргөдлөө өгсөнөөр маргаан улам олны анхаарлын төвд оров. Шүүхэд өгсөнөөс гурван сарын дараа Калифорни мужийн Оранж тойргийн шүүх түүний хүсэлтийг хүлээн зөвшөөрчээ. Түүний нөхөр Бобби Браун алдарт дуучнаас 1,9 сая ам.долларыг нэхэмжилсэн ч шүүх хүсэлтийг нь хүлээн зөвшөөрөөгүй билээ. 2007 оны аравдугаар сард түүний студийн ээлжит цомог "The Ultimate Collection" нэртэйгээр гадаад зах зээлд гарсан юм. АНУ-д борлуулаагүй уг цомогт түүний өмнөх хит дуунууд багтсан билээ. 2009 оны есдүгээр сард тэрээр долоон жилийн туршид анх удаа ярилцлаг өгөв. Опра Уинфригийн шоунд оролцохдоо тэрээр "...Миний нөхөр байсан Бобби Браун анх надад марихуаныг санал болгож байлаа. Бид хамтдаа л татдаг байсан. Бие хамгаалагч кинонд тоглох үеэс л хар тамхи хэрэглэж эхэлсэн. Асар их хэмжээний ашиг орлого, оддын өвчин намайг сохолчихсон хэрэг. Бүр охиноо гэдсэнд байхад хүртэл хэрэглэж байсан. Би хар тамхигүйгээр өөрийгөө төсөөлөхөө болисон. Би өнгөрсөн хугацаанд өөрийгөө алдсаар байлаа..." гэж ярьж байлаа. Удаан хүлээлгэсэн түүний шинэ цомог 2009 оны наймдугаар сард "I Look to You" нэртэйгээр худалдаанд гарав. Цомог худалдаанд гарсан эхний өдөрөө 350 мянган хувь борлогдож, Биллбордын шилдэг 200 цомгийн жагсаалтыг тэргүүлж эхлэв. Тус цомгын "I Look to You", "Million Dollar Bill" дуунууд нь цомгийн хамгийн алдартай, хит дуу болсон юм. 1987 оноос хойш анх удаа түүний цомог Биллбордын жагсаалтыг тэргүүлсэн нь одоо л Уитни эргэж ирэх нь гэсэн итгэлийг фенүүдэд нь төрүүлсэн нь гарцаагүй. Европчууд түүнийг дахин хүндэтгэж эхлэв. Герман, Итали, Франчууд түүний талаар нэвтрүүлгүүдийг цацаж, тухайн үедээ амжилт олоод байсан Их Британийн "The X Factor" реалити шоу хүртэл түүнийг зочин шүүгчээр ажиллуулж байлаа. Хэдийгээр түүний цомог европ даяар гайгүй амжилттай явж байсан ч эртнээс өөнтөгч зантай Британийн хэвлэлүүд түүний талаар дуугүй өнгөрсөнгүй. "Ядуу", "Гонгиносон", "аймшигтай" гэсэн үгсээр түүний цомгийг, түүнийг ч дарж байсан. Тоглолтынх нь үеэр ч "тайзнаасаа бууж хар тамхиа тат" гэж хашхирч байсан удаатай. 2010 оны нэгдүгээр сард "Whitney Houston - The Deluxe Anniversary Edition" гэж тусгай цомогоо худалдаанд гаргасан нь өмнөх цомгууд шиг их амжилт дагуулаагүй ч шүтэн бишрэгчдийнх нь хувьд гайхалтай гэнэтийн бэлэг байлаа. Өнгөрсөн 10 жилийн хугацаанд дэлхийг тойрсон аялалн тоглолт хийгээгүй тэрээр 2010 онд дэлхийг тойрсон аялан тоглолт хийхээр болж, бэлтгэл ажилтаа оржээ. Гэтэл дэлхий дахин түүнээс аль хэдийнэ нүүр буруулсан байлаа. Зарим улсууд бүр тоглолт хийлгэхээс татгалзаж, түүний тоглолтыг зохион байгуулах продьюсер ч олдсонгүй. Зөвшөөрсөн зарим улсад тоглолтоо зохион байгуулсан ч хоолой цуцаж, солгойрч байснаас болоод үзэгчид нь орхин гарч байлаа. Гэхдээ мэргэжлийн урлагийн байгууллагууд түүнийг мартсангүй. BET Awards, Echo Awards, Grammy түүнийг хүндэтгэлийн шагналаар шагнав. 2010 оны 11-р сард түүний шинэ цомог гарах гэж байгаа талаар Их Британийн "The Mirror" сонин мэдээлэв. Шинэ цомогт нь will.i.am ч хамтран ажиллана гэж шуугиж байлаа. 2011 онд тэрээр өөрийн муу зуршилаасаа салахын тулд олон янзын сэргээн засах хөтөлбөрт хамрагдаж, олон нийтийг мансууралх бодис, архинд донтолтоос хамгаалах үйлсэд гар бие оролцож байв. Шинэ цомогын талаар шуугиж байсан ч үзэгчдэд очихгүй байсан тэр цаг үед хуучин цаг үеийг нь санагдуулам нэгэн санал ирсэн нь кинонд тоглох санал байлаа. Гэрэлтэж байсан цаг үеийг нь санагалзуулж байгаа мэт энэ киноны нэр "Sparkle" байсаг юм. Энэ киног Холливудын алдарт TriStar Pictures бүтээж, "Америкийн шүтээн" нэвтрүүлэгээс төрөн гарсан шинэ од Жордин Спаркс энэ кинонд түүнтэй хамт тоглосон билээ. Шинэ кино 2012 оны Наймдугаар сарын 17-ны өдөр үзэгчдийн хүртээл болж 24 сая ам.доллорын орлого олсон юм. Кино багийнхан түүнд чамлахааргүй хэмжээний цалин хөлс олгосон ч яг хэдий хэр хэмжээний цалин өгсөн нь олон нийтэд ил болоогүй үлдсэн билээ. == Хьюстон бурхан болов == 2012 оны хоёрдугаар сарын 9-нд Уитни Хьюстон, Бренди, Моника нарын дуучин Клайв Дейвисийн хамтаар Греммийн наадын ёслолын ажиллагааны өмнөх үдэшлэгт оролцохоор Беверли Хиллс дэх Беверли Хилтон зочид буудалд оржээ. У.Хьюстон энэ өдөр хамгийн сүүлийн удаа Холливудын тайзнаа гарч "Jesus Loves Me" дууг дуулсан юм. Үүнээс хойш яг хоёр өдрийн дараа ваннанд живсэн байдалтай олдсон Уитни Хьюстоныг Беверли Хилтон зочид буудлын 434-р өрөөнөөс олсон юм. Шөнийн 03:30 минутад тус зочид буудлын түргэн тусламжийн эмч нар 434-р өрөөнд орж Уитни Хьюстонг сэргээх гэж хэд, хэдэн удаа хүчдэлд цохиулсан ч сэргэхгүй байсаар 03:55 минутад нас барсаныг тогтоожээ. Тухайн үедээ түүний үхлийн шалтгааныг тогтоож чадсангүй. Өглөө нь хэргийн газарт үзлэг хийсэн орон нутгийн цагдаа нар гэмт хэргийн ямар нэгэн шинжгүй гэж мэдэгдлээ. Таалал болсоноос хойш 11 өдрийн дараа буюу 2012 оны гуравдугаар сарын 22-ны өдөр Лос Анжелес хотын хэргийн газрын шинжилгээний хорооноос түүний үхлийн шалтгааныг "хар тамхи хэтрүүлэн хэрэглэсний улмаас зүрх хэт ачаалалд орж, хаагдсан" гэж тогтоов. Мөн түүнчлэн түүний цогцосноос их хэмжээний мансууруулах бодис илэрсэн болохыг мэдэгдлээ. Зүрх нь хаагдсаны дараа ваннандаа живсэн учир гэмт хэргийн сэдэл байхгүй гэж тогтоожээ. 2012 оны хоёрдугаар сарын 18-ны өдөр түүний төрсөн хот Нью-Жерси мужийн Ньюарк хотын "New Hope" баптист сүмд түүнийг эцсийн замд нь үдэв. Оршуулах ёслолд зөвхөн урилга бүхий хүмүүс л оролцсон гэдэг. Оршуулгын ёслол хоёр цагаар төлөвлөгдсөн байсан ч сунжирч дөрвөн цаг үргэлжилжээ. Оршуулах ёслол алдарт дуучин Стиви Уондер, Алиша Кийс, ЧеЧе Уайнанс, Ким Бөррэлл, Р.Келли нар оролцож, эцсийн замыг нь дуугаар ариулсан юм. Мөн түүнчлэн Хьюстоны продьюсер Клайв Дейвис, жүжигчин Кевин Костнер, хөгжмийн найруулагч Рики Майнор, үеэл Дайонне Уорвик, түүний хувийн бие хамгаалагч Рей Уатсон, Арета Франклин нар оролцсон байна. Хэдийгээр түүний нөхөр Бобби Браунд оршуулах ёслолын урилга илгээсэн ч оршуулах ёслол эхэлсэний дараа хоцорч иржээ. Түүнийг хоёрдугаар сарын 19-ний өдөр Нью-Жерси мужийн Уэстфилд хотын Фейрвью оршуулгын газарт, эцэг Жон Рассель Хьюстоны хажууд хөдөөлүүлсэн юм. === Хьюстонг санан дурсав === Хьюстоны амьсгал хураасан өдөр буюу 2012 оны хоёрдугаар сарын 11-ний орой болсон Греммийн наадмын ёслолын ажиллагааны өмнөх үдэшлэг бүхэлдээ түүний дурсгалыг хүндэтгэж, түүний дуунуудыг эгшиглүүлсэн байна. Тус үдэшлэгт оролцож байсан алдарт дуучин Тони Беннэт "Эхлээд Майкл Жексон, дараа нь Эми Уайнхаус, тэгээд гайхалтай Хьюстон. Бүгд тэнгэрийн оронд одчихлоо. Түүн шиг чадвартай дуучинтай би 80 хол наслахдаа таарч байсангүй" гэж дурссан байдаг. Үдэшлэгт оролцож байсан өөр нэгэн од болох Шарон Осборн "Би үдэшлэгт оролцохоор иртэл маш том уй гашууд автчихлаа. Би түүнийг нас барсан гэдэгт итгэж өгөхгүй байна. Уг нь тэр ингэж төгсөх учиргүй байсан юм. Ямар нэгэн зүйл буруугаар эргэчихсэн байх" гэж дурсаж байжээ. === Хьюстоны гэгээн дурсгалд === Алдарт дуучныг санан дурссан олон арван алдартнууд байсан. Арга ч үгүй юм. Өөрийн цаг үеэ эзэгнэж байсан Уитни Хьюстон таалал төгсөхөд тэд санан дурсахгүй бол чухам хэн санан дурсах вэ... Алдрарт дуучин Долли Партон "Миний дууг надаас илүү дуулж, үзэгч, сонсогчдод хүргэсэнд би түүнд сэтгэл зүрхнийхээ гүнээс баярлаж явдаг. Би түүнийг үргэлж хайрласаар, санан дурссаар байх болно" Алдарт дуучин Арета Франклин "Тэр үнэхээр итгэмээргүй хоолойн цар хүрээтэй, гайхалтай авьяастай нэгэн байсан. Би түүний хоолойг дахиж сонсох, зурагтаар түүнийг харж чадахгүй болсондоо итгэж өгөхгүй байна" Алдарт хөтлөгч Опра Уинфри "Тэр миний уулзаж байсан хамгийн гайхалтай хүн. Бас их гэнэн цайлган нэгэн. Түүнийг буруу хүмүүс, буруу зүгт эргүүлээгүй бол тэр өдийд бидний дунд байх байлаа" Дуучин Марайя Керри "Итгэмээргүй юм. Би түүнээс үлгэр дуурайл авдаг байсан шүү дээ. Би түүн шиг болохыг л мөрөөддөг" Үүнээс гадна CNN, MSNBC, Fox News сувгийн мэдээллийн хөтөлбөрт алдарт дуучныг санан дурссан мэдээгээр дүүрэн байлаа. Тэд бүгд түүний үхлийн талаар маш урт телевизийн хөтөлбөр явуулж, бүх төрлийн байр суурийг тусгаж чадсан юм. Saturday Night Live шоуныхан нэвтрүүлгийн дугаараа Уитни Хьюстоны дурсгалд зориулж, түүний 1996 онд оролцож байсан нэвтрүүлгийг үзэгчдэд хүргэжээ. Хөгжмийн MTV, VH-1 сувгууд хоёрдугаар сарын 12-ны өдөр түүний уран бүтээлийг тасралтгүй цацсан юм. Хөгжмийн ертөнцийн ноён оргил гэгдэх 54 дэх удаагийн Греммийн ёслол бүхэлдээ Уитни Хьюстонд зориулагдсан байлаа. Олон одод түүний дурсгалыг хүндэтгэн, өөрийнх нь дууг өөрсдийнхөө өвөрмөц хувилбараар хүмүүст хүргэсэн юм. Нью-Жерси мужийн амбан захирагч Крис Кристи хоёрдугаар сарын 21-нд Нью-Жерси мужийн далбайг хагас бөхийлгөх шийдвэр гаргаж, тэр өдрийг түүний дурсгалыг хүндэтгэх өдөр болгон зарлажээ. 2012 оны хоёрдугаар сарын 26-ны өдөр зохион байгуулагдсан 84 дэх удаагийн [[Оскарын шагнал]] гардуулах ёслолын ажиллагааны дундуур Уитни Хьюстоны дурсгалыг хүндэтгэж, түүний тоглож байсан кино, оролцож байсан нэвтрүүлгүүдийг эвлүүлсэн бяцхан монтажийг үзэгчдэд хүргэсэн юм. == Хьюстоны дуулах өв соёл == === Дуу хоолой === Мэргэжлийн үүднээс хэлбэл Уитни Хьюстоны хоолой бол меццо-сопрано хоолой юм. Олон мэргэжилтнүүд түүний дуулах ур чадварыг өндрөөр үнэлж, дүгнэсэн нь бий. MTV суваг дэлхийн хөгжмийн ертөнцийн 22 гайхамшигт хоолойг шалгаруулахад Уитни Хьюстон гуравдугаар байрт бичигдэж байв. Online Magazine COVE's цахим хуудас Поп урлагын түүхэн дэх 100 шилдэг дуу хоолойг тодруулахад авах ёстой 50 онооноос 48.5 оноо авч зургаадугаар байрт жагсаж байв. Алдарт Нью-Йорк Таймс сонины урлаг судлаач, хөгжмийн шүүмжлэгч Жон Парелес "Түүний хоолой бол мөнхийн хоолой юм. Тэр зөвхөн дунд төвшинд л дуулахад гайхалтай өнгө гаргадаг. Дуулах ур чадвар маш өндөртэй дуучин бол тэр" гэж нэгэн өгүүлэлдээ бичиж байлаа. Харин тус сонины өөр нэгэн шүүмжлэгч болон Жон Карамарика "Түүний хоолой маш хүчтэй бөгөөд цэвэр. Тийм учраас дуу болгон нь хүмүүст хүрдэг. Ур чадвар маш өндөр учир түүнийг хэдэн цаг дуулуулсан ч хоолой нь ер цуцахгүй" гэж бичиж байлаа. Холливудын хамгийн алдартай сонин болох Лос-Анжелес Таймс сонины шүүмжлэгч Анн Пауэрс "20-р зууны поп урлагийн ертөнцөд тэрээр өөрийн гайхалтай дуу хоолойгоор хэн ч нурааж, давж гарч чадахааргүй сүрлэг хөшөө дурсгалаа босгочихсон. Түүний маш гайхалтай, чанга бөгөөд цэвэрхэн меццо-сопрано хоолойтой хэн ч гүйцэж очихгүй" гэж бичиж байсан удаатай. Английн алдарт BBC агентлагийн хөгжмийн сэтгүүлийн хөгжмийн шинжээч Лорен Льютт "Түүний хамгийн алдартай дуу болох I Will Always Love You дууны эхний зургаан секундэд энэ дууны бүх утга учир, түүний дуу хоолой, цаашид өгүүлэх өгүүлэмжийн ямар гайхалтайг ойлгож болно. Ийм чадвартай дуучин тийм ч олон төрдөггүй юм" гэж бичиж байв. Хөгжмийн урлагийн алдартай сэтгүүл болох Rolling Stone бүх цаг үеийн хамгийн шилдэг 100 дуучинг шалгаруулж, улмаар 34-р байрт Уитни Хьюстон бичигдэж байсан юм. "Түүний хоолойн цар хүрээ, дуулах арга барил нь хүний сэтгэлийн утасыг хөндөж чаддаг. Хөгжмийн урлагт тийм чадвартай дуучин цоохон байдаг юм шүү" гэж Rolling Stone сэтгүүл дурсгалын өгүүлэлдээ бичжээ. Түүний хоолойн цар хүрээ, ур чадвар өндөр байсан учир 1990-ээд оны эхээр Рок'н Роллийн алдарын танхим, Хөгжмийн зохиолчдын алдарын танхимд мөнхөлсөн байдаг. Түүн шиг ид дуулах насандаа хөгжмийн хоёр томоохон алдарын танхимд нэгэн зэрэг мөнхөрсөн хүн өөр байхгүй билээ. === Хөгжмийн урлаг дахь түүний нөлөө === 1980-аад оны дунд Майкл Жексоны нэр алдар мандан бадарч, түүний үр нөлөөгөөр арьс өнгөний үзэл бага ч атугай арилж, олон арван хар арьстануудыг араасаа дагуулсан юм. Харин Уитни Хьюстон бол хар арьст эмэгтэй дуучдад алдарын замыг засч өгсөн нэгэн. Хэдийгээр Майкл Жексон өмнө нь мандан бадарч байсан ч хар арьст эмэгтэй дуучид төдийлөн мандан бадарч, амжилт олж чаддаггүй байлаа. Алдарт Time сэтгүүлийн сэтгүүлч Ричард Корлисс "Тэр Майкл Жексонтой зэрэг мандсан од байлаа. Хөгжмийн урлагт үзүүлсэн тэдний үр нөлөөг юутай ч харьцуулашгүй. Хэрвээ тэд байгаагүй бол одоо бидний мэдэх олон арван хар арьст дуучин од болохгүй байсан байж мэдэх юм" гэж бичиж байжээ. Мэдээж хэрэг энэ бол яах аргагүй цор ганц үнэн билээ. Одоо бидний мэдэх алдарт дуучид Мерайя Керригээс Рианна хүртэлх олон арван дуучид түүнээс үлгэр жишээ авсанаа дурссан байдаг. Тэдний нэрсийг жагсаавал Мерайя Керри, Тони Брекстон, ЛеАнн Раймс, Сиара, Ашанти, Анийка, Женнифер Хадсон, Ариана Гранде нар Хьюстонг хүндлэн биширсэн сэтгэгдэлээ олноос нуудаггүй билээ. Алдарт дуучин Алиша Кийс түүний талаар дурсахдаа "Би түүнээс үлгэр дуурайл авдаг байсан. Бага байхдаа түүнийг их дуурайдаг байлаа. Бяцхан охины зүрхийг тэр эзэмдэж, урам зориг өгсөн юм шүү дээ" гэсэн бол Женнифер Хадсон "Дуулна гэдэг, дууг амилуулна гэдэг ойлголтыг тэр надад суулгаж өгсөн, хадаг бариагүй багш маань юм" гэж дурссан байдаг. Их Британийн X Factor цувралаас төрөн гарсан од болох Леона Льюс дурсахдаа "Би дараагийн Уитни Хьюстон байхын тулд хичээх хэрэгтэй гэж аль жаахан байхдаа л бодож эхэлсэн. Одоо хэр нь би түүнээс үлгэр дуурайл авсаар байна" гэсэн байдаг. Мери Ж.Блайж түүнийг дурсахдаа "Тэр бол хөгжмийн урлагт хөл тавих гэж байгаа маш олон хар арьстай охидод үүд хаалга нээж өгсөн нэгэн. Магадгүй зөвхөн хар арьстан ч гэлтгүй бүх дэлхийд түүний үр нөлөө их байгаа байх" гэж VH-1 сувагт өгсөн ярилцлагадаа онцолж байжээ. === Бахдам замнал === Түүнийг Гиннесийн дэлхийн дээд амжилтын номонд хамгийн олон шагнал авсан эмэгтэй уран бүтээлч хэмээн тодорхойлж, дээд амжилтийн номондоо мөнхөлсөн байдаг. Түүний шагналуудыг дурьдвал Эммигийн наадмын хоёр, Греммийн наадмын зургаа, Биллборд хөгжмийн наадмын 30, Америкийн хөгжмийн наадмын 22 бусад жижиг шагнал нийлээд түүний нийт авсан шагнал 415-д хүрдэг. Түүнээс гадна Америкийн хөгжмийн наадмын түүхэнд хамгийн олон удаа шагнал авсан эмэгтэй уран бүтээлч нь Уитни Хьюстон билээ. Дэлхийн хөгжмийн наадмын түүхэнд нэг удаагийн шагнал гардуулах ёслолоос хамгийн олон буюу 5 удаагийн шагнал авсан цорын ганц уран бүтээлч нь тэр юм. Хөгжмийн нэвтрүүлгээр дагнасан VH1 суваг 2003 оны тавдугаар сард "Видео клипний цаг үе эхэлснээс хойш хамгийн алдартай эмэгтэй дуучин" гэж нэрлэжээ. Түүний араас Мадонна, Жанет Жексон нар бичигджээ. Хөгжмийн урлагийн түүхэнд төрөн гарсан 200 шүтээнийг шалгаруулахад 116-р байрт У.Хьюстон жагсчээ. Биллборд сэтгүүл 2008 онд "Бүх цаг үеийн хамгийн шилдэг дуучин"-г шалгаруулахад есдүгээр байрт бичигдсэн байдаг. Тус сэтгүүл 2010 оны 11-р сард "Сүүлийн 25 жилд төрөн гарсан алдартай 50 r&b/хип хоп дуучин"-г шалгаруулахад гуравдугаар байрт бичигдэж байжээ. Уитни Хьюстоны гаргасан хамгийн анхны цомог нь Rolling Stone сэтгүүлээс гаргасан "Бүх цаг үеийн хамгийн шилдэг 500 цомог" жагсаалт, Рок'н Роллийн алдарын танхимаас тодруулдаг хамгийн шилдэг 200 цомгийн жагсаалтад хамт багтсан бий. Алдарт Биллборд сэтгүүл 2004 онд Хөгжмийн урлагийн түүхэнд тохиолдсон онцлох 110 үйл явдалд түүний эхний цомог худалдаанд гарсаныг онцлон дурдсан байдаг. Түүнийг амьд ахуй цаг үед буюу 2001 онд Нью-Жерси мужийн Зүүн Оранж дүүргийн Франклин сургуулийн дуулах урлагийн ангийг Уитни Хьюстоны нэрэмжит болгожээ. Мөн тэр онд BET наадмын зохион байгуулах комисс түүнд алдар хүндэтгэлийн шагналыг гардуулсан юм. Дэлхийн хөгжмийн урлагт хамгийн их ашиг орлоготой дуучин бол Уитни Хьюстон. Тэрээр дэлхий даяар 170-200 сая дуу, цомогоо борлуулж байлаа. Таныг үүнийг уншиж байх хооронд энэ тоо нэмэгдсээр байна гэж бодохоор бүр ч гайхалтай. Зөвхөн АНУ-ын зах зээлд тэрээр 55 сая цомог борлуулсан нь Америкийн зах зээлд 4-т орох үзүүлэлт юм. АНУ-ын Луйзана мужийн Грамблиний их сургуулийн Хүмүүнлэгийн ухааны сургуулийн "Хүндэт доктор"-ын цол хэргэм хүртжээ. 2013 онд түүнийг Нью-Жерси мужийн хамгийн алдартай хүний нэгээр нэрлэж, алдарын танхимд мөнхжүүлсэн байдаг. === Түүнд зориулсан кино === Бафтагын шагналт алдарт найруулагч Кевин МакДональд түүний амьдрал уран бүтээл, тэмцэл, үхэл зэргийг харуулсан "Уитни" нэртэй баримтат кино хийх болсоноо албан ёсоор зарлав. Төлөвлөгөө ёсоор түүний найруулсан баримтат кино энэ жил буюу 2017 онд дэлгэцнээ амилах учиртай. Энэ кинонд түүний хувийн архивт багтсан видео болон аудио бичлэгүүдийг нийлүүлж, олон нийтэд огт дэлгэгдэж байгаагүй баримтуудыг ашиглах юм. Түүнээс гадны хөгжмийн урлагийн томоохон зүтгэлтнүүд, түүнтэй олон жил хамтарч ажилласан продьюсер Клайв Дейвис нарын ярилцлага энэ кинонд багтжээ. == Гаргаж байсан цомогууд == * Whitney Houston (1985) * Whitney (1987) * I'm Your Baby Tonight (1990) * My Love is Your Love (1998) * Just Whitney... (2002) * One Wish: The Holiday Album (2003) * I Look to You (2009) == Тоглосон кино == * The Bodyguard (1992) киноны Рейчл Марроны дүр * Waiting to Exhale (1995) киноны Саванна Жексоны дүр * The Preachers's Wife (1996) киноны Жулиа Биггсийн дүр * Rodgers & Hammerstein's Cinderella (1997) киноны Гэгээн загалмайлсан эхийн дүр * Nora's Hair Salon (2004) * The Last Days of Left Eye (2007) * Sparkle (2012) киноны Эммагын дүр * CrazySexyCool: The TLC Story (2013) Түүний тухай өгүүлэх баримтат нэвтрүүлэг * Whitney (2017) Түүний тухай өгүүлэх бүрэн хэмжээний баримтат кино ==Цахим хуудас== {{Commonscat}} * [https://web.archive.org/web/20160111154613/http://whitney-info.com/ Уитни Хьюстон- The Voice ("Дуу хоолой")] * [http://www.whitneyhouston.com/ Америк дахь Sony-ийн албан ёсны цомог үйлдвэрлэгчийн цахим хуудас] === Ашигласан эх сурвалж === 1. Африк гаралтай америкчуудын нэвтэрхий толь, 1896 оноос одоог хүртэл: 21-р зууны арьс өнгөөр ялгаварлан гадуурхах үзэл. Оксфордын их сургууль; 2009 он. ISBN 978-0-19-516779-5. 459–461 хуудас 2. Добужискис, Алекс (2009 оны 9-р сарын 15). "Уитни Хьюстон хар тамхи хэрэглэхээ больсон гэж мэдэгдэв". Ройтерс агентлаг 3. Салливан, Каролин (2012 2-р сарын 12). "Эмгэнэл: Уитни Хьюстон". The Guardian сонин. 4. 1986 оны MTV Video Music Awards наадмын ялагчид!. Биллборд сэтгүүл. October 11, 1986, дугаар 98, 41-р тал 5. Soul хөгжмийн түүх, 2007 оны 10-р сарын 18, VH1 хөгжмийн суваг 6. Уитни Хьюстоны намтар. 2006 он. AllMusic цахим хуудас 7. Уитни Хьюстон халдлагад өртөөгүй гэж ммэргэжилтнүүд мэдэгдэв. Лос-Анжелес Таймс сонин, 2012 оны 4-р сарын 5. 8. Поп урлагийн супер од Уитни Хьюстон 48 насандаа өөд болов. Нью-Йорк Таймс сонин. 2012 оны 2-р сарын 11. 9. АНУ-ын хамгийн нөлөө бүхий хар арьст эмэгтэйчүүд: VNR AG; 1996. ISBN 978-0-8103-9177-2. 304–305-р хуудас. 10. Уитни Хьюстоны талаар таны мэдэхгүй 10 зүйл. ABC сувгийн цахим хуудас. 2012 оны 2-р сарын 16. 11. Уитни Хьюстон од болох замаа заслаа. Жонсон хэвлэлийн компани; 1985 оны 8-р сарын 26. 59-р хуудас 12. Уитни Хьюстон. Челси Хаус хэвлэлийн компани; 1998 оны 1-р сар. ISBN 978-0-7910-4456-8. 21-р хуудас. 13. Хөлөг онгоц. Жонсон хэвлэлийн компани; 1986 оны 2-р сарын 17. 59-р хуудас 14. Вайб. Вайб Медиа групп; 2007 оны 6-р сар. 78-р хуудас. 15. Веннер, Жан.С (1993.6.10); "Уитни Хьюстон: Уналт, Алдаа", Роллинг Стөүн сэтгүүл 16. Биллбордын тэргүүн байрын хитүүд. Рендом Хаус Дижитал компани; 2003.10.01. ISBN 978-0-8230-7677-2. 629 дэх тал. 17. Дуучин Уитни Хьюстоны загвар өмсөгчийн амжилт. Жонсон хэвлэлийн компани; 1990.07.16. 32-р тал 18. Од болох урт зам. Биллборд сэтгүүл. 1986.12-р сар 19. Уитни Хьюстоны талаарх шүүмж; 1985.06.06. 20. Дэлхий даяар алдарт хүрсэн Уитни Хьюстоны амжилт. Нильсен Бизнес Медиа компани; 1985.06.08. 54-р хуудас 21. Өнгөрсөн 25 жилийн хугацаанд хөгжмийн ертөнцөд тохиосон чухал үйл явдлууд. USA Today сонин. 2007.06.18 22. "Анита Бейкр: 80-аад оны хамгийн хүчтэй хар арьст эмэгтэй дуучид". Сан Франциско Кроникл. 1987.02.01. [[Ангилал:Уитни Хьюстон| ]] [[Ангилал:АНУ-ын поп дуучин]] [[Ангилал:АНУ-ын кино жүжигчин]] [[Ангилал:АНУ-ын хөгжимчин]] [[Ангилал:Орчин үеийн ритм энд блюз дуучин‎]] [[Ангилал:Грэммийн шагналтан]] [[Ангилал:Америкчууд]] [[Ангилал:1963 онд төрсөн]] [[Ангилал:2012 онд өнгөрсөн]] 5qugg7tta1me5wfujxrvuramwyy5jtl Басалаварми 0 57874 860693 700316 2026-06-30T14:36:48Z ~2026-35682-50 105430 860693 wikitext text/x-wiki '''Басалаварми'''<ref>Түүний нэрийг сүүлийн үеийн монголын түүхийн номонд Важраварми гэж бичих тохиолдол байдаг</ref> нь [[хиад боржигин]] овгийн [[Хубилай хаан|Хубилай хааны]] тавдугаар хүү [[Хөхэчи|Хөхэчи вангийн]] удам. Тэрээр [[Лян ван]] цолд өргөмжлөгдөж, [[Юньнань нутгийн син жун шу шэн|Юньнань мужийг]] удаан хугацаанд сахин суусан. 1363 онд [[Улаан алчууртны бослого|улаан алчууртны бослогын]] толгойлогчдын нэгэн [[Мин Юйжэнь]] хэмээгч нь [[Сычуань муж|Сычуань]], [[Чунчин|Чунцин]] орчмын нутагт ноёрхлоо тогтоож, эзэлсэн газар нутагтаа [[Мин Шя улс|Да Шя]] улсыг байгуулаад, улам даварч Юньнань мужийг эзлэхээр өөрийнхөө армийг гурван чиглэлээр илгээсэнд, Басалаварми ван Жиньма уулыг бэхлэн сууж эсэргүүцэн тэмцжээ. 1364 онд Юньнанийн монгол, хятад цэргийг удирдан Мин Юйжэнийн армийг бут ниргэж, Юньнаниас хөөж, зарим газрыг эргүүлэн авчээ. 1368 онд [[Юань Улс|Монголын ноёрхол]] Хятад оронд эцэс болсон үеэс эхлээд 1382 онд ялагдах хүртлээ тус газар цугларсан монгол, асуд, хятад цэргийн хүчээр хянаж байжээ. 1381-1382 онд [[Мин улс|Мин улсын]] [[Жу Юань Жан|Хүньу хааны]] '''Фу Юудэ''', [[Лань Ю]], [[Му Ин]] зэргийн их жанждаар удирдуулсан их цэрэгт ялагдаж, 1382 оны 1 сарын 6-ний шөнө амиа хорлосон. Ингэснээр [[Юньнань муж|Юньнань мужийн]] нутаг түүхэндээ анх удаагаа Хятадын захиргаанд орсон. ==Гэр бүл== * Хуланц эцэг:[[Хубилай хаан]] * Элэнц эцэг:[[Юньнань ван]] [[Хөхэчи]] * Өвөг эцэг:'''[[Эсэнтөмөр ван]]''' * Эцэг:'''[[Бор ван]]''' * Үр хүүхэд:'''[[Агай]]''' ([[Дали]]<nowiki/>гийн [[Дуань Дөгүн]] ноёны эхнэр, алдарт шүлэгч эмэгтэй гэгддэг) == Эшлэл == [[Ангилал:13-р эсвэл 14-р зуунд төрсөн]] [[Ангилал:1382 онд өнгөрсөн]] [[Ангилал:Боржигин]] [[Ангилал:Жагсаалт (Юань улсын ван)]] 17wl2ngslveur8qugjjzri3y0p4edj6 Цогт хунтайж 0 62584 860696 854706 2026-06-30T15:01:45Z ~2026-37515-81 105640 /* Хатад, хүүхэд */ 860696 wikitext text/x-wiki [[File:Tsogtiin tsagaan baishin.JPG|thumb|right|300px|[[Булган]] аймгийн [[Дашинчилэн сум|Дашинчилэн]] сумын нутагт орших Цогтын цагаан байшингийн балгас]] '''Цогт хунтайж''' гэж алдаршсан '''Түмэнхэн''' (1581–1637) нь [[Халх]]ын тэргүүлэх язгууртаны нэг байв. Тэрбээр Монголын шашин оюун санаа, бүтээн байгуулалтад төдийгүй улс төрд гүнзгий тод ул мөр үлдээжээ. Эриехэй мэргэн ханы үед Хунтайж болжээ. Цогт тайж амьдралынхаа ихэнхийг [[Туул гол]]ын орчимд төвлөрч сууж өнгөрөөсөн бөгөөд Гарма урсгалын сүм дуган бариулж, ном эрдмийг дэлгэрүүлэх үйлсэд хүчин зүтгэж байв. 1601 онд бариулсан Цогтын цагаан байшингийн балгас өнөө үеийг хүртэл үлдэж хоцорчээ. == Түүхэн намтар == Цахар харьяаны зарим монгол отгууд [[Лигдэн хаан|Лигдэн хаантай]] зөрчилдөж Өмнөд монголоос Халхад ирээд Далай жононг дэмжиж, улмаар түүнийг "хан" цолтой болгоно хэмээн шахжээ. Далай жонон тэдний саналыг Түшээт ханд хэлж, өөрөө ч хан зэрэгт дэвших хүсэлтэйгээ илэрхийлэв. Өрнөж буй улс төрийн үйл явцыг Түшээт хан Гомбодорж болгоомжтой авч үзээд арга буюу Далай жононд Сэцэн хан цол зөвшөөрөв. Энэ явдалд дургүйцсэн Цогт тайж Халхын ноёдтой эвдрэлцэх болжээ. Учир нь, тэрбээр Далай жононгоос дээгүүр зиндаа буюу Түшээт ханы дараа орох (Халхын зүүн гарын хоёр дахь ноён) язгууртан, мөн Халхын зүүн гарын тэргүүлэгчдээс хамгийн ахмад нь байв. Улс төрийн энэ мэт зөрчлөөс болж Цогт тайж Халхаас шахагдсаар Төвөдийн зүгт орших [[Дээд монголчууд|Хөхнуурын]] зүг цэрэг, ардаа авч дүрвэн нүүжээ. Тэрээр [[Төвөдийн Буддизм]]ын [[Гармапа]] урсгал-ыг дэмжиж Амдо (одоогийн [[Хөхнуур]]) хүртэл довтлоод тэндээ хэдэн жил "хаан" гэгдэж суув. Тэрээр Төвөд уруу довтлохдоо Их Монгол Улсын [[Лигдэн хаан]]-тай хүч хавсрахаар хэлэлцсэн байсан боловч Лигдэн хаан 1634 онд Цогттой нийлж амжилгүй нас эцэслэв. Гэвч Цогт давшилтаа үргэлжлүүлэн, мөн онд [[Хөхнуур]]ын [[Түмэд]]-үүдийг цохиж, тэнд төвлөрөн суужээ. Тэгээд улааны шашныхны хүсэлтээр хүү Арслангаа 1635 онд Төвөд рүү цэрэг удирдуулж явуулсан байна. Гэвч Арслан [[5-р Далай лам]]тай уулзаж, шарын шашин нь бурханы шашны урсгалуудаас хамгийн шинэлэг дээд ном болохыг ойлгож дагасан төдийгүй үүний үрээр аавынхаа холбоотнуудыг эргэж довтолсон тул Цогт хүүгээ цаазлахыг тушаажээ. Арслан тайж тушаал ёсоор алагдав. Хөхнуурын нутгийг Цогт хаан хэмээн эзлэн сууснаар халх, өвөр монгол, ойрад зэрэг бүх монголчуудын Лхаст (Төвөдөд) хүрэх, мөргөх замыг хяналтдаа байлгах болов. Үүнд, [[Шарын шашин|Гэлүгпа]] урсгал (Шарын шашин)-ыг дэмжигч монголчууд дургүйцэж, Хошуудын Төр Байхтай тохирч Цогтод цэрэглэхийг тохирсоноор 1636 онд Ойрадын баруун гарын цэргүүд Төвөдөд нэвтэрч, мөн үүнд Халхаас баруун гарын жононгийн цэргүүд оролцсоноор 1637 оны шийдвэрлэх тулаан болов. Энэ тулаанаар Цогтын цэрэг ялагдаж, өөрөө алуулжээ. Цогтыг дарахад хамссанаар Халх, Ойрадын харилцаа сайжирч 1640 онд Цогтын асуудлыг шийдэх ба хариас хамтарч сэргийлэх асуудлаар анх Монгол-Ойрадын цааз байгуулав. Цааз байгуулж тохиролцоод Цогтын эзэмшил нутгийг Хошуудад үлдээж, Төр байхыг Гүш хаан хэмээн өргөснөөр Алтайн өвөрт ойрадууд бие даан буцаж суух болсон төдийгүй Гүш хан бээр Төвөдийг эрхшээх нөхцөл тохироо бүрдэв. Үүгээр Ойрад хүчирхэгжих эх тавигдав. Ихэнхдээ, Эрчисийн адгаар (Өнөөгийн зүүн хойд Казак ба Баруун өмнөд Сибирьт) Монголоос зайлан сууж, салан тусгаарлахыг эрмэлзэж ирсэн ойрадууд энэ дайны дараа Алтайн өвөрт (өнөөгийн Шинжаанд) бүхэлдээ эргэж суурьших боломжтой болжээ. Улс төрийн энэ үйл явц нь Халх, Ойрадын харилцаанд ихээхэн өөрчлөлт авчирсан юм. Цогт тайжтай дайсагнаж явсан Дээд монгол, Төвөд, Өвөр Монголын зарим хошуудад түүнийг шашин, дээдийн ёсноос урвасан этгээд гэж үздэг. Харин Монгол улсад 1945 онд ''[[Цогт тайж (кино)|Цогт тайж]]'' хэмээх [[уран сайхны кино]] бүтээхдээ коммунистууд үнэн түүхийг гуйвуулан өөрчилж, шашны эсрэг тэмцэгч эх оронч хүн мэтээр харуулж алдаршуулжээ. == Гэр бүл == * Аав: [[Бахарай хошууч]] * Ээж: Мадай тайху, [[Онниуд хошуу|онниуд]] отгийн Бэрх ноёны охин === Хатад, хүүхэд === [[Шар тууж|Их Шар туужд]] бичснээр Цогт тайж нь гурван хатантай байсан. # '''Хучуй бэйж''', [[Ихирэс|Ихирэсийн]] Бунриачийн охин. Хучуй бэйжээс Арслан хунтайж, Радна эрдэнэ, Бадма сэцэн дайчин, Сабинама абай, Жанцанам абай, Ногоон гэрэл абай, Сугасуда абай нарын 3 хүү, 4 охин төрсөн. Жанцанам абайг урианханы Жамцдэлгэр тавнанд өгөв.<ref name=":0">{{Cite book |title=Их Шар тууж |publisher=Соёмбо принтинг |year=2006 |edition=1 |location=Улаанбаатар |pages=108 |translator-last=Ц |translator-first=Шагдарсүрэн}}</ref> # '''Насхид бэйж''', [[Урианхан|Урианханы]] Убасан тавнангийн охин. Насхид бэйжээс Заан хунтайж төрсөн.<ref name=":0" /> # '''Цэрэнжид бэйж''', [[Бэлгүдэй|Бөх Бэлгүтэй]] ноёны удам Ном Тэмэгэт ханы ач хүү<ref>{{Cite book |title=Их Шар тууж |publisher=Соёмбо принтинг |year=2006 |edition=1 |location=Улаанбаатар |pages=95-97 |translator-last=Ц |translator-first=Шагдарсүрэн}}</ref> боржигины Доржигэр Хөнхүр тайжийн охин. Цэрэнжид бэйжээс Асрал эрх дайчин тайж, Сундари абай хоёр төрсөн. Сундари абайг горлосын Далай эрдэнэ номч тавнанд өгөв.<ref name=":0" /> Мөн "Буриад тойн гүүшийн ах дүү гурванд ирээдүй цагийн байдлын дурдатгал оршив" гэх нэртэй бэсрэг номонд Цогт хунтайжийн татвар эмээс Хонтогор тайж гэх хүү төрж, 1637 онд Дөрвөн Ойрадын их цэрэгт Цогт тайжийн талынхан ялагдал хүлээхэд амь зулбан зугтан нагацын нутаг Авга хошуу руу гарсан тухай гардаг. Хожим нь Хонтогор тайжийн хүү Охин тайж 1691 оны [[Долоннуурын чуулган|Долоннуурын чуулганд]] оролцохдоо Халх Чин гүрнийг дагахыг эсэргүүцэн баригдаж, итгэлт нөхдийн хамтаар хойш [[Байгал нуур|Байгал нуурийн]] зүгт зугтаж буй талаар гардаг. Тэрхүү Охин тайжийн удмын нэг төлөөлөл нь монголын нэрт соён гэгээрүүлэгч [[Бямбын Ринчен|'''Бямбын Ринченгийн''']] ээж юм. Хожим Цогт хунтайжийн эзэмшлээс Халхад үлдсэн нь Заан хунтайжийн хүү Сутай Илдэнгийн үр сад [[Сайн ноён хан аймаг|Сайн ноён хан аймгийн]] Илдэн засгийн хошууг үе залгамжлан захирч байв. Илдэн засгийн хошуу нь одоогийн Монгол Улсын Өвөрхангай аймгийн [[Өлзийт сум (Өвөрхангай)|Өлзийт сум]] бүхлээр, [[Хужирт сум]], [[Есөнзүйл сум]], [[Сант сум (Өвөрхангай)|Сант сумын]] зарим нутаг.<ref>{{Cite book |last=Дондогжалын |first=Мөнх-Очир |title=Монгол Улсын аймаг, хошуу, сумын лавлах |year=2012 |edition=1 |location=Улаанбаатар |pages=17}}</ref>Мөн түүний үр удам Архангай аймагт тарана амьдрасан. {{tree list|start}} '''Цогт хунтайжийн удам'''<ref>{{Cite book |last=. |first=Жамба |title=Асрагч нэртийн түүх |publisher=Соёмбо принтинг |year=2006 |edition=1 |location=Улаанбаатар |pages=81 |translator-last=Д |translator-first=Заяабаатар}}</ref> *Бахарай хошууч **'''Цогт хунтайж''' ***'''Арслан хунтайж''' ***Радна эрдэнэ тайж ***Бадма (Лянхуа) сэцэн дайчин тайж ****Магад дайчин тайж ****Эрх цогт тайж ****Эрх тайж ***'''Заан хунтайж''' ****Шуулагшан мэргэн ахай ****Гирди эрх ахай ****Сугабала эрх зоригт ****'''Сутай илдэн хунтайж''' *****Халзан эрдэнэ ахай *****Гонгор эрх ахай, түшээ гүн *****Тойн ***Асрал эрх дайчин тайж ****Хигсабал ****Тойн ***Хонтогор тайж ****Охин тайж {{tree list/end}} ==Мөн үзэх== *''[[Цогт тайж (кино)|Цогт тайж]]'' - 1945 онд бүтсэн кино. == Эшлэл == [[Ангилал:Монголын зэвсэгт хүчний хүн]] [[Ангилал:Монголын яруу найрагч]] [[Ангилал:Алтан ургийнхан]] [[Ангилал:Монголчууд]] [[Ангилал:1581 онд төрсөн]] [[Ангилал:1637 онд өнгөрсөн]] <references /> [[Ангилал:Боржигин]] rd3rz8b9lnq8r7e2sx0i94mlc5npfa0 860761 860696 2026-07-01T02:46:58Z Zorigt 49 860761 wikitext text/x-wiki [[File:Tsogtiin tsagaan baishin.JPG|thumb|right|300px|[[Булган]] аймгийн [[Дашинчилэн сум|Дашинчилэн]] сумын нутагт орших Цогтын цагаан байшингийн балгас]] '''Цогт хунтайж''' гэж алдаршсан '''Түмэнхэн''' (1581–1637) нь [[Халх]]ын тэргүүлэх язгууртны нэг байв. Тэрбээр Монголын шашин оюун санаа, бүтээн байгуулалтад төдийгүй улс төрд гүнзгий тод ул мөр үлдээжээ. Эриехэй мэргэн ханы үед Хунтайж болжээ. Цогт тайж амьдралынхаа ихэнхийг [[Туул гол]]ын орчимд төвлөрч сууж өнгөрөөсөн бөгөөд Гарма урсгалын сүм дуган бариулж, ном эрдмийг дэлгэрүүлэх үйлсэд хүчин зүтгэж байв. 1601 онд бариулсан Цогтын цагаан байшингийн балгас өнөө үеийг хүртэл үлдэж хоцорчээ. == Түүхэн намтар == Цахар харьяаны зарим монгол отгууд [[Лигдэн хаан|Лигдэн хаантай]] зөрчилдөж Өмнөд монголоос Халхад ирээд Далай жононг дэмжиж, улмаар түүнийг "хан" цолтой болгоно хэмээн шахжээ. Далай жонон тэдний саналыг Түшээт ханд хэлж, өөрөө ч хан зэрэгт дэвших хүсэлтэйгээ илэрхийлэв. Өрнөж буй улс төрийн үйл явцыг Түшээт хан Гомбодорж болгоомжтой авч үзээд арга буюу Далай жононд Сэцэн хан цол зөвшөөрөв. Энэ явдалд дургүйцсэн Цогт тайж Халхын ноёдтой эвдрэлцэх болжээ. Учир нь, тэрбээр Далай жононгоос дээгүүр зиндаа буюу Түшээт ханы дараа орох (Халхын зүүн гарын хоёр дахь ноён) язгууртан, мөн Халхын зүүн гарын тэргүүлэгчдээс хамгийн ахмад нь байв. Улс төрийн энэ мэт зөрчлөөс болж Цогт тайж Халхаас шахагдсаар Төвөдийн зүгт орших [[Дээд монголчууд|Хөхнуурын]] зүг цэрэг, ардаа авч дүрвэн нүүжээ. Тэрээр [[Төвөдийн Буддизм]]ын [[Гармапа]] урсгалыг дэмжиж Амдо (одоогийн [[Хөхнуур]]) хүртэл довтлоод тэндээ хэдэн жил "хаан" гэгдэж суув. Тэрээр Төвөд уруу довтлохдоо Их Монгол Улсын [[Лигдэн хаан]]тай хүч хавсрахаар хэлэлцсэн байсан боловч Лигдэн хаан 1634 онд Цогттой нийлж амжилгүй нас эцэслэв. Гэвч Цогт давшилтаа үргэлжлүүлэн, мөн онд [[Хөхнуур]]ын [[Түмэд]]үүдийг цохиж, тэнд төвлөрөн суужээ. Тэгээд улааны шашныхны хүсэлтээр хүү Арслангаа 1635 онд Төвөд рүү цэрэг удирдуулж явуулсан байна. Гэвч Арслан [[5-р Далай лам]]тай уулзаж, шарын шашин нь бурханы шашны урсгалуудаас хамгийн шинэлэг дээд ном болохыг ойлгож дагасан төдийгүй үүний үрээр аавынхаа холбоотнуудыг эргэж довтолсон тул Цогт хүүгээ цаазлахыг тушаажээ. Арслан тайж тушаал ёсоор алагдав. Хөхнуурын нутгийг Цогт хаан хэмээн эзлэн сууснаар халх, өвөр монгол, ойрад зэрэг бүх монголчуудын Лхаст (Төвөдөд) хүрэх, мөргөх замыг хяналтдаа байлгах болов. Үүнд, [[Шарын шашин|Гэлүгпа]] урсгал (Шарын шашин)-ыг дэмжигч монголчууд дургүйцэж, Хошуудын Төрбайхтай тохирч Цогтод цэрэглэхийг тохирсоноор 1636 онд Ойрадын баруун гарын цэргүүд Төвөдөд нэвтэрч, мөн үүнд Халхаас баруун гарын жононы цэргүүд оролцсоноор 1637 оны шийдвэрлэх тулаан болов. Энэ тулаанаар Цогтын цэрэг ялагдаж, өөрөө алуулжээ. Цогтыг дарахад хамссанаар Халх, Ойрадын харилцаа сайжирч 1640 онд Цогтын асуудлыг шийдэх ба хариас хамтарч сэргийлэх асуудлаар анх Монгол-Ойрадын цааз байгуулав. Цааз байгуулж тохиролцоод Цогтын эзэмшил нутгийг Хошуудад үлдээж, Төрбайхыг Гүш хаан хэмээн өргөснөөр Алтайн өвөрт ойрадууд бие даан буцаж суух болсон төдийгүй Гүш хан бээр Төвөдийг эрхшээх нөхцөл тохироо бүрдэв. Үүгээр Ойрад хүчирхэгжих эх тавигдав. Ихэнхдээ, Эрчисийн адгаар (Өнөөгийн зүүн хойд Казак ба Баруун өмнөд Сибирьт) Монголоос зайлан сууж, салан тусгаарлахыг эрмэлзэж ирсэн ойрадууд энэ дайны дараа Алтайн өвөрт (өнөөгийн Шинжаанд) бүхэлдээ эргэж суурьших боломжтой болжээ. Улс төрийн энэ үйл явц нь Халх, Ойрадын харилцаанд ихээхэн өөрчлөлт авчирсан юм. Цогт тайжтай дайсагнаж явсан Дээд монгол, Төвөд, Өвөр Монголын зарим хошуудад түүнийг шашин, дээдийн ёсноос урвасан этгээд гэж үздэг. Харин Монгол улсад 1945 онд ''[[Цогт тайж (кино)|Цогт тайж]]'' хэмээх [[уран сайхны кино]] бүтээхдээ коммунистууд үнэн түүхийг гуйвуулан өөрчилж, шашны эсрэг тэмцэгч эх оронч хүн мэтээр харуулж алдаршуулжээ. == Гэр бүл == * Аав: [[Бахарай хошууч]] * Ээж: Мадай тайху, [[Онниуд хошуу|онниуд]] отгийн Бэрх ноёны охин === Хатад, хүүхэд === [[Шар тууж|Их Шар туужд]] бичснээр Цогт тайж нь гурван хатантай байсан. # '''Хучуй бэйж''', [[Ихирэс|Ихирэсийн]] Бунриачийн охин. Хучуй бэйжээс Арслан хунтайж, Радна эрдэнэ, Бадма сэцэн дайчин, Сабинама абай, Жанцанам абай, Ногоон гэрэл абай, Сугасуда абай нарын 3 хүү, 4 охин төрсөн. Жанцанам абайг урианханы Жамцдэлгэр тавнанд өгөв.<ref name=":0">{{Cite book |title=Их Шар тууж |publisher=Соёмбо принтинг |year=2006 |edition=1 |location=Улаанбаатар |pages=108 |translator-last=Ц |translator-first=Шагдарсүрэн}}</ref> # '''Насхид бэйж''', [[Урианхан|Урианханы]] Убасан тавнангийн охин. Насхид бэйжээс Заан хунтайж төрсөн.<ref name=":0" /> # '''Цэрэнжид бэйж''', [[Бэлгүдэй|Бөх Бэлгүтэй]] ноёны удам Ном Тэмэгэт ханы ач хүү<ref>{{Cite book |title=Их Шар тууж |publisher=Соёмбо принтинг |year=2006 |edition=1 |location=Улаанбаатар |pages=95-97 |translator-last=Ц |translator-first=Шагдарсүрэн}}</ref> боржигины Доржигэр Хөнхүр тайжийн охин. Цэрэнжид бэйжээс Асрал эрх дайчин тайж, Сундари абай хоёр төрсөн. Сундари абайг горлосын Далай эрдэнэ номч тавнанд өгөв.<ref name=":0" /> Мөн "Буриад тойн гүүшийн ах дүү гурванд ирээдүй цагийн байдлын дурдатгал оршив" гэх нэртэй бэсрэг номд Цогт хунтайжийн татвар эмээс Хонтогор тайж гэх хүү төрж, 1637 онд Дөрвөн Ойрадын их цэрэгт Цогт тайжийн талынхан ялагдал хүлээхэд амь зулбан зугтан нагацын нутаг Авга хошуу руу гарсан тухай гардаг. Хожим нь Хонтогор тайжийн хүү Охин тайж 1691 оны [[Долоннуурын чуулган|Долоннуурын чуулганд]] оролцохдоо Халх Чин гүрнийг дагахыг эсэргүүцэн баригдаж, итгэлт нөхдийн хамтаар хойш [[Байгал нуур|Байгал нуурын]] зүгт зугтаж буй талаар гардаг. Тэрхүү Охин тайжийн удмын нэг төлөөлөл нь Монголын нэрт соён гэгээрүүлэгч [[Бямбын Ринчен|Бямбын Ринчений]] ээж юм. Хожим Цогт хунтайжийн эзэмшлээс Халхад үлдсэн нь Заан хунтайжийн хүү Сутай Илдэнгийн үр сад [[Сайн ноён хан аймаг|Сайн ноён хан аймгийн]] Илдэн засгийн хошууг үе залгамжлан захирч байв. Илдэн засгийн хошуу нь одоогийн Монгол Улсын Өвөрхангай аймгийн [[Өлзийт сум (Өвөрхангай)|Өлзийт сум]] бүхлээр, [[Хужирт сум]], [[Есөнзүйл сум]], [[Сант сум (Өвөрхангай)|Сант сумын]] зарим нутаг.<ref>{{Cite book |last=Дондогжалын |first=Мөнх-Очир |title=Монгол Улсын аймаг, хошуу, сумын лавлах |year=2012 |edition=1 |location=Улаанбаатар |pages=17}}</ref> Мөн түүний үр удам Архангай аймагт таран амьдарсан. {{tree list|start}} '''Цогт хунтайжийн удам'''<ref>{{Cite book |last=. |first=Жамба |title=Асрагч нэртийн түүх |publisher=Соёмбо принтинг |year=2006 |edition=1 |location=Улаанбаатар |pages=81 |translator-last=Д |translator-first=Заяабаатар}}</ref> *Бахарай хошууч **'''Цогт хунтайж''' ***'''Арслан хунтайж''' ***Радна эрдэнэ тайж ***Бадма (Лянхуа) сэцэн дайчин тайж ****Магад дайчин тайж ****Эрх цогт тайж ****Эрх тайж ***'''Заан хунтайж''' ****Шуулагшан мэргэн ахай ****Гирди эрх ахай ****Сугабала эрх зоригт ****'''Сутай илдэн хунтайж''' *****Халзан эрдэнэ ахай *****Гонгор эрх ахай, түшээ гүн *****Тойн ***Асрал эрх дайчин тайж ****Хигсабал ****Тойн ***Хонтогор тайж ****Охин тайж {{tree list/end}} ==Мөн үзэх== *''[[Цогт тайж (кино)|Цогт тайж]]'' - 1945 онд бүтсэн кино. == Эшлэл == <references /> [[Ангилал:Боржигин]] [[Ангилал:Монголын зэвсэгт хүчний хүн]] [[Ангилал:Монголын яруу найрагч]] [[Ангилал:Алтан ургийнхан]] [[Ангилал:Монголчууд]] [[Ангилал:1581 онд төрсөн]] [[Ангилал:1637 онд өнгөрсөн]] id8jjg8tldtlf1zttt52hzm9l15i6lh R (программчлалын хэл) 0 66085 860740 860285 2026-06-30T23:49:22Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860740 wikitext text/x-wiki {{Infobox programming language | name = R хэл | logo = [[File:R logo.svg|200px|Лого]] | released = {{Start date and age|1993|08}}<ref name="Interface98">{{cite techreport |url=https://www.stat.auckland.ac.nz/~ihaka/downloads/Interface98.pdf |title=R : Past and Future History |first=Ross |last=Ihaka |institution=Statistics Department, The University of Auckland, Auckland, New Zealand |conference=Interface '98 |year=1998}}</ref> | designer = [[wikisource:en:Ross Ihaka|Ross Ihaka]] and [[wikisource:en:Robert Gentleman (statistician)|Robert Gentleman]] | developer = R Core Team<ref>{{Cite web |url=https://cran.r-project.org/doc/FAQ/R-FAQ.html#What-is-R_003f |title=R FAQ |at=2.1 What is R? |date=November 26, 2015 |first=Kurt |last=Hornik |website=The Comprehensive R Archive Network |accessdate=2015-12-06}}</ref> | typing = [[wikisource:en:dynamic typing|Dynamic]] | implementations = | dialects = | influenced = | license = [[GNU GPL#Version 2|GNU GPL v2]]<ref>{{cite web |url=https://www.r-project.org/COPYING |title=R license |publisher=r-project |access-date=6 June 2016}}</ref> | website = [https://www.r-project.org/ www.r-project.org] | wikibooks = | paradigms = [[Multi-paradigm programming language|Multi-paradigm]]: [[Array programming|Array]], [[Object-oriented programming|object-oriented]], [[Imperative programming|imperative]], [[Functional programming|functional]], [[Procedural programming|procedural]], [[Reflective programming|reflective]] | latest_release_version = 3.4.0 (You Stupid Darkness)<ref>{{cite web|url=https://cran.r-project.org/doc/manuals/r-devel/NEWS.html|title=R News|website=CRAN|access-date=22 April 2017}}</ref> | latest_release_date = {{Start date and age|2017|04|21}} | latest_test_version = | latest_test_date = | influenced_by = | file_ext = .r, .R, .RData, .rds, .rda }} R нь статистик тооцоолол, график дүрслэлд зоиулагдсан нээлттэй эх бүхий [[программчлалын хэл]] болон програм хангамж бөгөөд Статистик Тооцооллын R Сан дээр түшиглэдэг.{{refn| R language and environment * {{Cite web |url=https://cran.r-project.org/doc/FAQ/R-FAQ.html#What-is-R_003f |title=R FAQ| at=2.1 What is R? |date=November 26, 2015 |first=Kurt |last=Hornik |website=The Comprehensive R Archive Network |accessdate=2015-12-06}} R Foundation * {{Cite web |url=https://cran.r-project.org/doc/FAQ/R-FAQ.html#What-is-the-R-Foundation_003f |title=R FAQ |at=2.13 What is the R Foundation? |date=November 26, 2015 |first=Kurt |last=Hornik |website=The Comprehensive R Archive Network |accessdate=2015-12-06}} The R Core Team [https://cran.r-project.org/doc/FAQ/R-FAQ.html#Citing-R asks authors who use R in their data analysis] to cite the software using: * R Core Team (2016). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/. }} R хэлийг статистикчид, [[Data mining|өгөгдлийн уурхайчид]] статистикийн програм хангамж{{refn| widely used * {{cite journal | author1 = Fox, John | author2 = Andersen, Robert | lastauthoramp = yes | title = Using the R Statistical Computing Environment to Teach Social Statistics Courses | publisher = Department of Sociology, McMaster University | date = January 2005 | url = http://www.unt.edu/rss/Teaching-with-R.pdf | format = PDF | accessdate = 2006-08-03 | archive-date = 2016-06-11 | archive-url = https://web.archive.org/web/20160611085820/http://www.unt.edu/rss/Teaching-with-R.pdf | url-status = dead }} * {{cite news | url=https://www.nytimes.com/2009/01/07/technology/business-computing/07program.html |title=Data Analysts Captivated by R's Power | date=2009-01-06 | accessdate=2009-04-28|last=Vance| first=Ashlee |work=[[New York Times]]| quote=R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca...}} }} зохиох, мэдээлэлд дүн шинжилгээ хийх<ref>{{cite news|url=https://www.nytimes.com/2009/01/07/technology/business-computing/07program.html|title=Data Analysts Captivated by R's Power|date=2009-01-06|accessdate=2009-04-28|last=Vance|first=Ashlee|work=[[New York Times]]|quote=R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia. It is becoming their lingua franca...}}</ref> зэрэгт өргөн хэрэглэхийн зэрэгцээ сүүлийн жилүүдэд түүний хэрэглээ бусад чиглэлд ч хурдацтай өсөн нэмэгдэж байна.{{refn| R's popularity * David Smith (2012); [http://java.sys-con.com/node/2288420 ''R Tops Data Mining Software Poll''], Java Developers Journal, May 31, 2012. * Karl Rexer, Heather Allen, & Paul Gearan (2011); [http://www.rexeranalytics.com/Data-Miner-Survey-Results-2011.html ''2011 Data Miner Survey Summary''], presented at Predictive Analytics World, Oct. 2011. * {{cite web|author=Robert A. Muenchen|year=2012|url= http://r4stats.com/articles/popularity/|title=The Popularity of Data Analysis Software}} * {{cite journal|url=http://www.nature.com/news/programming-tools-adventures-with-r-1.16609|title=Programming tools: Adventures with R|first1=Sylvia|last1=Tippmann|journal=[[Nature (journal)|Nature]]|volume = 517| doi = 10.1038/517109a | pages = 109–110 | date = 29 December 2014}} }} R бол GNU програм хангамж юм.{{refn| GNU project * {{cite web | url=http://directory.fsf.org/project/gnur/ | publisher=Free Software Foundation (FSF) Free Software Directory|title=GNU R |date=19 July 2010|accessdate=13 November 2012}} * {{cite web | author=R Project|date=n.d.|url=https://www.r-project.org/about.html | title=What is R? | accessdate=2009-04-28}} }} R програмын эх код [[Си хэл|C]], [[Фортран|Fortran]], R хэл дээр бичигдсэн.<ref>{{cite web|author="Wrathematics"|url=http://librestats.com/2011/08/27/how-much-of-r-is-written-in-r/|title=How Much of R Is Written in R|date=27 August 2011|accessdate=2011-12-01|publisher=librestats}}</ref> R програмыг [[GNU General Public License|GNU GPL Олон Нийтийн Лиценз]]-ээр голлох [[Үйлдлийн систем|үйлдлийн системүүд]] дээр үнэ төлбөргүй ашиглах боломжтой. Мөн R нь командын мөрнөөс ажилладаг тул зориулалтын [[Хэрэглэгчийн график интерфейс|график интерфейс]] бүхий програмаар дамжуулан ашиглах нь зүйтэй.<ref name="R_gui">{{cite web|title=7 of the Best Free Graphical User Interfaces for R|url=http://www.linuxlinks.com/article/20110306113701179/GUIsforR.html|website=linuxlinks.com|accessdate=9 February 2016}}</ref> == Түүх == R нь John Chambers гэдэг хүний Bell Labs-д ажиллаж байх үедээ зохиосон [[wikisource:en:S (programming language)|програмчлалын S хэл]] дээр тулгуурласан. Эдгээрийн хооронд хэдэн чухал ялгаа байдаг ч S хэлээр бичигдсэн кодын ихэнх нь R дээр шууд ажилладаг.<ref>{{cite web|url=https://www.r-project.org/about.html|title=R: What is R?|website=R-Project|accessdate=7 February 2016}}</ref> R програмыг Росс Ihaka , Роберт Gentleman<ref>{{cite web|url=http://myprofile.cos.com/rgentleman|title=Individual Expertise profile of Robert Gentleman|last=Gentleman|first=Robert|date=9 December 2006|accessdate=2009-07-20|archiveurl=https://web.archive.org/web/20110723215206/http://myprofile.cos.com/rgentleman|archivedate=23 July 2011}}</ref> нар Шинэ Зеландын Веллингтон Их Сургууль-д байх үедээ зохиосон бөгөөд одоогоор ''R Development Core Team'' хөгжүүлж байна. S хэлний зохиогч Chambers уг багийн нэг гишүүн юм. R гэх нэр нь түүнийг анхлан зохиогчдын нэр болон гол суурь нь болсон S хэлний нэртэй холбоотой.<ref>{{cite book|url=https://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-is-R-named-R_003f|title=The R FAQ: Why is R named R?|isbn=3-900051-08-9|author=Kurt Hornik|accessdate=2008-01-29}}</ref> Төсөл 1992 онд санаачлагдсан бол анхны хувилбар нь 1995 онд гарсан. Харин тогтвортой beta хувилбар нь 2000 онд гарсан.<ref>{{Cite web|url=https://cran.r-project.org/doc/html/interface98-paper/paper_2.html|title=R : Past and Future History -- A Free Software Project|website=cran.r-project.org|access-date=2016-05-30}}</ref><ref>{{Cite web|url=http://blog.revolutionanalytics.com/2016/03/16-years-of-r-history.html|title=Over 16 years of R Project history|website=Revolutions|access-date=2016-05-30}}</ref><ref>{{Cite web|url=https://www.stat.auckland.ac.nz/~ihaka/downloads/Massey.pdf|title=The R Project: A Brief History and Thoughts About the Future|last=Ihaka|first=Ross|date=|website=stat.auckland.ac.nz|publisher=|access-date=}}</ref> == R програм Монгол улсад == R програмыг хэрэглэх, R хэлийг судлах явдал [[Монгол улс]]ад улам бүр дэлгэрч буй бөгөөд үүнийг гэрчлэх мэдээ материал<ref>{{Cite web|url=http://news.num.edu.mn/?p=38344|title=Судалгаанд статистикийн аргыг хэрэглэх нь сэдэвт сургалт амжилттай болж өндөрлөлөө|website=news.num.edu.mn|access-date=2016-11-29}}</ref>, нийгмийн сүлжээний бүлгэмүүд<ref>{{Cite web|url=https://www.facebook.com/groups/238749916309897/|title=Монголын R хэрэглэгчдийн групп|website=facebook.com|access-date=2017-05-19}}</ref> цөөнгүй байна. Зарим их, дээд сургууль сургалтын хөтөлбөртөө R програмыг нэвтрүүлснээс тухайлан [[Монгол Улсын Их Сургууль]] дээр хэрэгжиж буй Статистик хөтөлбөрийг дурдаж болно.{{citation needed|date=May 2017}} Монгол хэл дээрх ном, сурах бичиг, гарын авлагын хувьд [https://web.archive.org/web/20171129163653/http://galaa.mn/ Г.Махгал], Ш.Мөнгөнсүх нар бичиж Б.Магсаржав хянан тохиолдуулсан [https://web.archive.org/web/20171217135839/http://magadlal.mn/books/id-2.html Статистик програмчлалын R хэл] сурах бичиг хэвлэгдэн гарчээ.<ref>{{Cite web|url=http://mongolbooks.com/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%87%D0%BB%D0%B0%D0%BB%D1%8B%D0%BD-r-%D1%85%D1%8D%D0%BB-2017/|title=МУИС Пресс хэвлэлийн газар|website=mongolbooks.com|access-date=2017-05-19|archive-date=2017-05-19|archive-url=https://web.archive.org/web/20170519163835/http://mongolbooks.com/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D0%BA-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%87%D0%BB%D0%B0%D0%BB%D1%8B%D0%BD-r-%D1%85%D1%8D%D0%BB-2017/|url-status=dead}}</ref><ref>{{Cite web|url=http://magadlal.mn/books/id-2.html|title=www.magadlal.mn|website=magadlal.mn|access-date=2017-05-19|archive-date=2017-12-17|archive-url=https://web.archive.org/web/20171217135839/http://magadlal.mn/books/id-2.html|url-status=dead}}</ref> == Статистикийн зүгээс онцлох зүйлс == R, түүний сангууд олон янзын статистик болон график хэрэгсэл агуулдаг. Тухайлбал шугаман болон шугаман бус загвар, статистик шинжүүрүүд, хугацаан цувааны шинжилгээ, бүлэглэх, ангилах болон бусад олон шинжилгээ дурдаж болно. Мөн R програмын нэмэлт багцууд олон янзын функц болон бусад зүйлс агуулдаг. R хэлний стандарт функцүүдийн олонх нь R хэл дээрээ бичигдсэн бөгөөд нэмэлтээр [[Си хэл|C]], [[C++]], [[Фортран|Fortran]] хэл дээрх код оруулан ажиллуулж болдог. Өндөр мэдлэг чадвартай хэрэглэгчид C, C++,<ref>{{cite journal|url=http://www.jstatsoft.org/v40/i08|title=Rcpp: Seamless R and C++ Integration|first1=Dirk|last1=Eddelbuettel|first2=Romain|last2=Francois|journal=[[Journal of Statistical Software]]|volume=40|issue=8|year=2011|doi=10.18637/jss.v040.i08}}</ref> [[Java]],<ref>{{cite web|title=Calling R from Java|first=Duncan|last=Temple Lang|url=http://www.nuiton.org/attachments/168/RFromJava.pdf|date=6 November 2010|accessdate=18 September 2013|publisher=Nuiton}}</ref> [[.NET Фрэймворк|.NET]]{{refn| .NET Framework * {{cite web |title=Making GUIs using C# and R with the help of R.NET |url = http://psychwire.wordpress.com/2011/06/19/making-guis-using-c-and-r-with-the-help-of-r-net/}} * {{cite web |title=R.NET homepage |url=http://rdotnet.codeplex.com/ |access-date=2017-05-18 |archive-date=2015-10-13 |archive-url=https://web.archive.org/web/20151013020201/http://rdotnet.codeplex.com/ |url-status=dead }} * {{cite conference |url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |title=An Rserve Client Implementation for CLI/.NET |last1=Haynold |first1=Oliver M. |date=April 2011 |conference=R/Finance 2011 |conference-url=http://www.rinfinance.com/RinFinance2011/agenda/ |publisher= |book-title= |pages= |location=Chicago, IL, USA |id= }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-30 23:49:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-28 01:35:28 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-25 00:08:46 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-22 00:37:40 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-18 23:54:53 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-16 01:14:32 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-13 00:14:01 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-10 00:40:29 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-06-09 01:15:01 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-30 00:38:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-27 00:13:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-24 00:21:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-20 23:36:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-18 00:41:21 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-14 23:39:58 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-12 00:42:30 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-09 00:06:48 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-06 00:39:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-05-02 23:33:33 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-04-30 00:54:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-04-26 23:38:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-04-24 00:34:48 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-04-23 18:36:16 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-04-20 20:14:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-04-04 03:21:52 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-31 23:46:46 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-29 01:12:30 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-25 23:40:57 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-25 15:57:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-20 22:50:21 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-17 23:46:10 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-14 22:54:58 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-11 23:57:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-08 23:22:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-05 23:40:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-03-02 22:48:48 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-27 23:49:21 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-24 22:57:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-21 23:32:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-18 23:02:05 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-15 23:30:32 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-12 22:45:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-09 23:57:00 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-06 23:31:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-02-03 22:53:10 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-31 23:53:51 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-28 22:54:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-25 23:32:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-22 23:04:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-19 23:35:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-16 22:55:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-13 23:22:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-13 03:16:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-10 04:04:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-05 22:44:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2026-01-02 21:42:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-31 00:40:42 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-27 22:10:05 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-24 22:29:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-21 21:38:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-18 22:42:11 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-15 21:36:30 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-12 22:21:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-09 22:02:02 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-09 03:45:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-05 21:09:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-12-02 19:51:01 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-25 00:13:11 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-21 23:47:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-15 18:28:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-12 17:33:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-09 18:20:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-06 17:56:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-11-03 18:15:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-31 17:30:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-28 18:41:00 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-25 18:26:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-22 19:11:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-19 17:21:42 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-19 11:24:28 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-19 02:49:20 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-14 21:41:07 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-11 20:40:43 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-11 14:14:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-11 07:33:32 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-07 22:30:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-04 21:50:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-10-01 21:57:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-28 22:26:04 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-25 21:31:17 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-22 22:20:24 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-19 21:38:48 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-17 02:50:16 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-13 22:36:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-10 22:11:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-07 23:03:30 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-04 22:07:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-04 15:38:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-09-01 16:55:59 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-29 15:32:51 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-26 16:17:06 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-26 05:15:19 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-23 08:15:05 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-20 00:58:55 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-16 23:37:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-14 01:18:10 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-10 23:56:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-08 00:11:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-05 00:39:24 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-08-01 23:58:20 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-30 00:38:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-26 23:52:33 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-26 09:26:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-23 08:56:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-20 08:08:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-17 09:00:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-13 02:17:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-12 12:20:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-12 07:54:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-12 03:51:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-11 22:54:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-07-09 17:17:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-28 22:40:11 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-28 15:10:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-28 05:45:59 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-27 21:39:28 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-27 08:06:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-23 17:13:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-22 20:09:48 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-22 00:21:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-19 00:48:15 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-17 00:06:23 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-16 12:49:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-16 04:39:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-15 09:35:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-15 00:55:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-12 01:56:53 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-09 01:04:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-06 02:10:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-06-04 21:26:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-29 00:04:01 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-26 00:51:00 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-23 00:06:46 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-20 02:24:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-17 00:55:06 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-14 00:10:57 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-11 00:45:43 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-08 00:19:42 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-05 00:52:40 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-05-01 23:56:21 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-29 01:00:19 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-26 00:11:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-23 00:44:55 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 23:51:06 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 21:44:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 19:51:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 17:58:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 16:01:02 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 14:02:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 12:06:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 10:14:11 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 08:24:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 06:31:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 04:38:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-19 02:34:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-17 22:09:01 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-07 21:38:10 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-04 20:50:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-04-01 22:11:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-29 20:49:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-26 21:49:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-23 21:06:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-20 21:41:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-17 20:54:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-14 21:44:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-11 20:48:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-08 21:41:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-05 20:55:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-05 14:51:06 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-05 07:26:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-05 01:27:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-03-01 22:19:29 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-26 23:16:06 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-23 22:32:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-20 22:59:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-17 22:13:54 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-14 23:11:54 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-11 22:21:19 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-08 22:50:24 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-05 22:25:32 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-02-02 23:03:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-30 22:09:29 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-29 19:19:54 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-24 22:21:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-21 22:54:02 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-21 17:03:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-18 17:56:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-15 17:33:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-15 11:02:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-11 21:07:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-08 21:55:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-05 21:02:30 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2025-01-02 21:53:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-30 21:14:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-27 21:46:42 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-24 20:59:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-21 22:01:58 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-18 21:06:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-15 21:41:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-12 21:15:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-09 22:36:24 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-06 21:06:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-12-03 21:52:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-30 20:59:51 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-27 21:53:00 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-24 21:25:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-21 21:36:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-21 15:16:53 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-18 15:56:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-15 15:31:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-12 16:37:16 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-09 17:02:52 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-11-06 18:17:15 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-10-20 23:39:10 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-10-18 22:35:46 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-10-08 00:12:29 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-10-05 00:41:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-10-01 23:54:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-29 01:10:51 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-26 00:54:51 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-23 00:42:21 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-20 00:16:55 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-17 00:39:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-13 23:56:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-11 01:00:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-07 23:55:10 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-05 00:50:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-09-02 00:13:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-30 00:43:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-27 00:02:12 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-24 00:51:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-20 23:52:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-18 00:48:54 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-14 23:48:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-14 19:34:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-14 14:52:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-14 12:21:02 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-14 09:07:15 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-10 16:11:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-07 15:01:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-08-04 16:35:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-31 09:33:07 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-28 12:22:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-25 09:51:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-22 09:58:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-17 13:54:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-14 14:33:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-11 13:16:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-08 15:15:57 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-05 13:29:29 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-07-02 14:31:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-29 14:02:09 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-26 13:52:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-24 18:03:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-20 11:07:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-17 11:47:35 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-14 11:19:24 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-11 11:45:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-08 10:54:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-05 11:53:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-06-02 10:48:20 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-30 11:46:58 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-27 11:12:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-24 11:42:51 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-21 11:41:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-18 12:34:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-15 11:55:23 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-12 10:56:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-09 11:53:33 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-08 10:54:33 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-07 08:13:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-06 00:38:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-04 23:27:07 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-05-02 01:42:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-29 00:14:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-26 01:43:17 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-23 00:59:05 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-20 00:07:05 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-17 00:48:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-14 00:20:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-11 00:57:12 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-07 20:06:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-04 18:23:34 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-04-01 20:05:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-29 19:22:40 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-27 03:09:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-23 17:56:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-23 05:41:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-22 02:47:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-21 08:56:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-20 14:08:47 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-20 01:58:38 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-19 12:23:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-18 12:37:16 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-17 20:04:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-14 21:51:52 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-11 21:02:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-08 21:37:58 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-05 20:47:26 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-03-02 21:46:19 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-28 21:02:39 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-25 21:36:57 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-22 21:10:36 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-19 21:40:23 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-16 21:01:50 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-13 21:44:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-10 20:53:01 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-07 21:24:58 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-04 20:40:16 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-02-01 21:47:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-29 19:37:00 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-29 03:10:07 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-28 03:40:04 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-27 08:11:55 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-26 15:41:25 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-25 23:48:29 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-24 23:22:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-24 03:04:15 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-23 10:42:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-22 16:16:46 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-21 15:57:00 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-20 20:27:41 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-20 05:13:52 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-19 13:05:32 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-18 13:06:42 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-17 16:34:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-17 00:43:31 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-16 09:14:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-13 01:25:19 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-10 07:39:17 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-07 00:41:40 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-04 00:02:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2024-01-01 00:44:22 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-28 23:55:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-26 00:48:06 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-22 23:59:17 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-20 00:42:07 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-16 23:59:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-14 00:46:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-10 23:47:08 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-08 01:13:03 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-05 00:45:27 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-12-01 23:52:59 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-29 01:02:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-25 23:51:53 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-23 00:47:05 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-20 00:13:11 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-17 00:36:18 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-13 23:55:56 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-11 00:55:13 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-07 23:50:04 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-05 19:50:40 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-11-02 00:06:12 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-30 01:23:37 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-26 23:47:49 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-24 01:20:57 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-20 23:50:43 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-18 00:46:19 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-15 00:08:55 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-12 00:39:45 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-08 23:53:55 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-06 01:17:42 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-10-02 23:50:44 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-09-30 01:05:20 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-09-26 23:46:14 InternetArchiveBot }} {{Webarchiv|url=http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf |wayback=20151129223447 |text=An Rserve Client Implementation for CLI/.NET |archiv-bot=2023-09-26 05:10:10 InternetArchiveBot }} }} болон [[Python]] зэрэг хэл дээр R хэлний объект уруу шууд хандаж ажиллах код бичдэг.<ref name="SASvsR">{{cite web|url=https://intellipaat.com/blog/choosing-between-sas-r-and-python-for-big-data-solution/|title=Choosing between SAS, R and Python for Big Data Solution - Intellipaat Blog|first=|last=Intellipaat|work=intellipaat.com|accessdate=2 December 2016}}</ref> Статистик тооцооллын бусад хэлнүүдээс ялгарах гол давуу тал бол R хэлний [[Объект хандалтат програмчлал|объект-хандалтат]] чанар бөгөөд энэ нь S хэлнээс түүнд дамжсэн билээ. R хэлний бас нэг онцлог lexical scoping зарчмыг хэрэгжүүлсэн явдал юм.<ref>{{cite journal|last=Jackman|first=Simon|title=R For the Political Methodologist|journal=The Political Methodologist|volume=11|issue=1|pages=20–22|date=Spring 2003|publisher=Political Methodology Section, [[American Political Science Association]]|url=http://polmeth.wustl.edu/tpm/tpm_v11_n2.pdf|format=PDF|accessdate=2006-08-03|archiveurl=https://web.archive.org/web/20060721143309/http://polmeth.wustl.edu/tpm/tpm_v11_n2.pdf|archivedate=2006-07-21}}</ref> Түүний өөр нэг давуу тал бол математикийн тэмдэгт агуулсан, хэвлэлийн шаардлагад нийцэх график диаграм байгуулдаг явдал юм. Мөн нэмэлт багцуудын тусламжтай динамик болон интерактив график диаграм ч байгуулах боломжтой.<ref>{{cite web|url=https://cran.r-project.org/web/views/Graphics.html|title=CRAN Task View: Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization|publisher=The Comprehensive R Archive Network|accessdate=2011-08-01|archive-date=2016-09-26|archive-url=https://web.archive.org/web/20160926233106/https://cran.r-project.org/web/views/Graphics.html|url-status=dead}}</ref> R програм өөрийн баримт бичиг боловсруулалтын [[LaTeX]] төст Rd гэх форматтай.<ref name="R_Rd">{{cite web|title=Rd format|url=http://www.hep.by/gnu/r-patched/r-exts/R-exts_49.html|website=hep.by|accessdate=9 February 2016|archive-date=13 Есдүгээр сар 2018|archive-url=https://web.archive.org/web/20180913185536/http://www.hep.by/gnu/r-patched/r-exts/R-exts_49.html|url-status=dead}}</ref> == Програмчлалын зүгээс онцлох зүйлс == R нь шууд хөрвүүлэгдэн ажилладаг хэл бөгөөд хэрэглэгчид түүнийг командын мөрний хөрвүүлэгчээр дамжуулж ашигладаг. Хэрэв хэрэглэгч R хэлний командын мөрөнд <code>2+2</code> гэж бичээд enter дарвал компьютер доор үзүүлсэн шиг 4 гэсэн хариу өгнө:<source lang="rout"> > 2+2 [1] 4 </source>R програм энэ тооцоог тус бүр нэг элементтэй хоёр векторын нийлбэр гэж ойлгох тул үр дүн нь нэг элементтэй вектор байна. <code>[1]</code> угтвар векторын эхний элемент хэвлэгдсэнийг илтгэнэ (энэ нь тооцооны үр дүн олон мөр дамнан хэвлэгдэх үед илүү ашиг тустай байдаг). APL , MATLAB зэрэгтэй адил R хэл матриц дээрх арифметик үйлдлүүдийг дэмждэг. R-ын [[Өгөгдлийн бүтэц|өгөгдлийн бүтцэд]] вектор, матриц, массив, датафрейм (өгөгдлийн сангийн хүснэгттэй төстэй), лист зэрэг багтдаг.<ref>{{cite book|last=Dalgaard|first=Peter|title=Introductory Statistics with R|year=2002|publisher=Springer-Verlag|location=New York, Berlin, Heidelberg|isbn=0387954759|pages=10–18, 34}}</ref> Эдгээр объектуудаас гадна регрессийн загвар, хугацаан цуваа болон гео-орон зайн координат зэрэг өөр бусад төрлийн объектууд байдаг. Мөн хэрэглэгч өөрөө шинээр объектын класс тодорхойлж ашиглах боломжтой. Скаляр төрлийн өгөгдлийн хувьд энэ нь бие даасан өгөгдлийн бүтэц болдоггүй.<ref>{{cite journal|last=Ihaka|first=Ross|last2=Gentlman|first2=Robert|date=Sep 1996|title=R: A Language for Data Analysis and Graphics|url=https://www.stat.auckland.ac.nz/~ihaka/downloads/R-paper.pdf|journal=Journal of Computational and Graphical Statistics|publisher=American Statistical Association|volume=5|issue=3|pages=299–314|doi=10.2307/1390807|accessdate=2014-05-12}}</ref> Үүний оронд скаляр утгыг нэг урттай вектор гэж үздэг.<ref>{{Cite web|url=http://adv-r.had.co.nz/Data-structures.html|title=Data structures · Advanced R.|website=adv-r.had.co.nz|access-date=2016-09-26}}</ref> R нь зарим функцийн хувьд функц бүхий [[процедур хандалтат програмчлал]] болон ерөнхий функц бүхий [[объект хандалтат програмчлал]]<nowiki/>ын аль алийг дэмждэг. Ерөнхий функц нь түүний аргументаар дамжин ирсэн объектын классаас хамааран ажилладаг. Өөрөөр хэлбэл ерөнхий функц объектын классыг ялгаад улмаар харгалзах функц уруу замчилж өгдөг. Жишээлбэл <code>print</code> нэртэй ерөнхий функц ашиглан бараг бүх төрлийн объектын утгыг хэвлэх тушаалыг  <code>print(objectname)</code>  хэлбэрээр өгч болдог.<ref name="help_print">{{cite web|last1=R Core Team|title=Print Values|url=https://stat.ethz.ch/R-manual/R-devel/library/base/html/print.html|website=R Documentation|publisher=R Foundation for Statistical Computing|accessdate=30 May 2016}}</ref> == Багц == R програмын боломж бололцоог хэрэглэгчдийн үүсгэсэн ''багц'' нэмж суулгах замаар жишээлбэл мэргэжлийн статистикийн арга техник, график төхөөрөмж (тухайлбал ggplot2 багц, зохиогч нь Hadley Wickham), импорт/экспортын боломжууд, тайлан гаргах хэрэгсэл (knitr, Sweave) гэх мэтээр өргөтгөх боломжтой. Тэдгээр багцууд голдуу R заримдаа [[Java]], [[Си хэл|C]], [[C++]], [[Фортран|Fortran]] хэл дээр бичигдсэн байдаг.{{citation needed|date=January 2016}} R програмын суулгацад агуулагдах үндсэн багцуудаас гадна Comprehensive R Archive Network (CRAN),<ref>{{cite web|url=https://cran.r-project.org/|title=The Comprehensive R Archive Network|publisher=}}</ref> Bioconductor, Omegahat,<ref>{{cite web|url=http://www.omegahat.net/|title=Omegahat.net|publisher=Omegahat.net|date=|accessdate=2016-09-09}}</ref> GitHub болон бусад агуулахуудад (2017 оны 4 сарын байдлаар) 10500 нэмэлт багц байна.{{refn| packages available from repositories * {{cite web|author=Robert A. Muenchen|year=2012|url= http://r4stats.com/articles/popularity/|title=The Popularity of Data Analysis Software}} * {{cite journal|url=http://www.nature.com/news/programming-tools-adventures-with-r-1.16609|title=Programming tools: Adventures with R|first1=Sylvia|last1=Tippmann|journal=[[Nature (journal)|Nature]]|volume = 517| doi = 10.1038/517109a | pages = 109–110 | date = 29 December 2014}} * {{Cite web|url = http://www.rdocumentation.org/|title = <nowiki>Search all R packages and function manuals | Rdocumentation</nowiki>|date = 2014-06-16|accessdate = 2014-06-16|website = Rdocumentation|publisher = }} }} == Гол үе шатууд == R програмын өөрчлөлтийн түүхчилсэн жагсаалт CRAN дээр хадгалагдаж байдаг.<ref name="RNews">Changes in versions 3.0.0 onward: </ref> Тэдгээрээс заримыг онцлон дор жагсаав. {| class="wikitable" |- ! Release ! Date ! Description |- ! 0.16 | |This is the last [[Alpha test|alpha]] version developed primarily by Ihaka and Gentleman. Much of the basic functionality from the "White Book" (see [[S (programming language)#History|S history]]) was implemented. The mailing lists commenced on April 1, 1997. |- ! 0.49 | style="white-space:nowrap;"|1997-04-23 | This is the oldest [[Source code|source]] release which is currently available on CRAN.<ref>{{cite web|url=https://cran.r-project.org/src/base/R-0/|title=Index of /src/base/R-0|publisher=}}</ref> CRAN is started on this date, with 3 mirrors that initially hosted 12 packages.<ref>{{cite web|url=https://stat.ethz.ch/pipermail/r-announce/1997/000001.html|title=ANNOUNCE: CRAN|publisher=}}</ref> Alpha versions of R for Microsoft Windows and the [[classic Mac OS]] are made available shortly after this version.{{citation needed|reason=the CRAN announcement does not specifically mention Windows or Mac OS|date=October 2015}} |- ! 0.60 | 1997-12-05 | R becomes an official part of the [[GNU Project]]. The code is hosted and maintained on [[Concurrent Versions System|CVS]]. |- ! 0.65.1 | style="white-space:nowrap;"|1999-10-07 | First versions of update.packages and install.packages functions for downloading and installing packages from CRAN.<ref>https://cran.r-project.org/src/base/NEWS.0</ref> |- ! 1.0 | 2000-02-29 | Considered by its developers stable enough for production use.<ref>{{cite web|url=https://stat.ethz.ch/pipermail/r-announce/2000/000127.html|title=R-1.0.0 is released|author=Peter Dalgaard|accessdate=2009-06-06}}</ref> |- ! 1.4 | 2001-12-19 | S4 methods are introduced and the first version for [[macOS|Mac OS X]] is made available soon after. |- ! 2.0 | 2004-10-04 | Introduced [[lazy loading]], which enables fast loading of data with minimal expense of system memory. |- ! 2.1 | 2005-04-18 | Support for [[UTF-8]] encoding, and the beginnings of [[internationalization and localization]] for different languages. |- ! 2.11 | 2010-04-22 | Support for Windows 64 bit systems. |- ! 2.13 | 2011-04-14 | Adding a new compiler function that allows speeding up functions by converting them to byte-code. |- ! 2.14 | 2011-10-31 | Added mandatory namespaces for packages. Added a new parallel package. |- ! 2.15 | 2012-03-30 | New load balancing functions. Improved serialization speed for long vectors. |- ! 3.0 | 2013-04-03 | Support for numeric index values 2<sup>31</sup> and larger on 64 bit systems. |} == Интерфейсүүд == Хамгийн өргөн хэрэглэгддэг R хэлний график интерфэйс бүхий хөгжүүлэлтийн цогц орчин бол RStudio юм. Үүнтэй ижил төстэй интерфэйс гэвэл R Tools for Visual Studio програмыг нэрлэж болно. R хэлэнд зориулагдсан интерфейст мөн Crackle GUI, R Commander, RKWard багтана. Өргөн хэрэглэгддэг зарим редактор R хэлийг дэмждэг. Тухайлбал Eclipse,<ref>{{cite web|url=http://www.walware.de/goto/statet|title=StatET for R|author=Unknown|access-date=2017-05-18|archive-date=2016-09-26|archive-url=https://web.archive.org/web/20160926134541/http://www.walware.de/goto/statet|url-status=dead}}</ref> Emacs, Кейт,<ref>{{cite web|url=http://kate-editor.org/downloads/syntax_highlighting|title=Syntax Highlighting|publisher=Kate Development Team|accessdate=2008-07-09|archiveurl=https://web.archive.org/web/20080707062903/http://www.kate-editor.org/downloads/syntax_highlighting|archivedate=2008-07-07|url-status=dead}}</ref> LyX.<ref>{{cite web|url=http://wiki.lyx.org/LyX/LyxWithRThroughSweave|title=LyX with R through Sweave|author=Paul E. Johnson and Gregor Gorjanc|accessdate=2017-04-04}}</ref> Notepad++,<ref>{{cite web|url=http://sourceforge.net/projects/npptor/|title=NppToR: R in Notepad++|publisher=sourceforge.net|accessdate=2013-09-18|date=8 May 2013}}</ref> WinEdt,<ref>{{cite web|url=https://cran.r-project.org/web/packages/RWinEdt/index.html|title=RWinEdt: R Interface to 'WinEdt'|author=Uwe Ligges|accessdate=2017-04-04}}</ref> Tinn-Р.<ref>{{cite web|url=http://nbcgib.uesc.br/lec/software/editores/tinn-r/en|title=Tinn-R|accessdate=2017-04-04|archive-date=2015-07-13|archive-url=https://web.archive.org/web/20150713103753/http://nbcgib.uesc.br/lec/software/editores/tinn-r/en|url-status=dead}}</ref> R хэлийг [[Python]],<ref>{{cite web|url=http://rpy.sourceforge.net|title=A simple and efficient access to R from Python|accessdate=18 September 2013|date=21 October 2012|first=Laurent|last=Gautier}}</ref> Perl,<ref>{{cite web|url=https://metacpan.org/module/Statistics::R|title=Statistics::R - Perl interface with the R statistical program - metacpan.org|author=Florent Angly|publisher=}}</ref> Ruby,<ref>{{cite web|url=https://github.com/alexgutteridge/rsruby|title=GitHub - alexgutteridge/rsruby: Ruby - R bridge.|author=alexgutteridge|work=GitHub}}</ref> F#<ref>{{cite web|url=http://bluemountaincapital.github.io/FSharpRProvider/|title=F# R Type Provider|author=BlueMountain Capital|publisher=}}</ref> , Julia<ref>{{cite web|url=https://github.com/JuliaInterop/RCall.jl}}</ref> зэрэг хэд хэдэн скрипт хэлнээс хандаж ашиглах боломжтой байдаг. == useR! хурал == R хэрэглэгчдийн албан ёсны жил тутмын цугларалт бол  "[https://web.archive.org/web/20150629180511/http://www.r-project.org/conferences.html useR!]" юм.<ref name="user">"useR!"</ref> Үүний анхны арга хэмжээ [https://web.archive.org/web/20130914003125/http://www.ci.tuwien.ac.at/Conferences/useR-2004/ useR! 2004] 2004 оны тав дугаар сард Австри улсын [[Вена]] хотноо зохион байгуулагдсан.<ref>{{cite web|url=http://www.ci.tuwien.ac.at/Conferences/useR-2004/|title=useR! 2004 - The R User Conference|accessdate=2013-09-18|date=27 May 2004|archive-date=2013-09-14|archive-url=https://web.archive.org/web/20130914003125/http://www.ci.tuwien.ac.at/Conferences/useR-2004/|url-status=dead}}</ref> Уг арга хэмжээ 2005 онд өнжсөнөөс хойш жил бүр Европ болон Хойд Америкт ээлжлэн зохион байгуулагдаж байна.<ref>{{cite web|url=https://www.r-project.org/conferences.html|title=R-related Conferences|author=R Project|date=9 August 2013|accessdate=2013-09-18|archive-date=2015-06-29|archive-url=https://web.archive.org/web/20150629180511/http://www.r-project.org/conferences.html|url-status=dead}}</ref> Дараагийн хурлуудыг дор жагсаав: * [https://www.r-project.org/conferences/useR-2006/ useR! 2006, Vienna, Austria] * [https://web.archive.org/web/20161031082351/http://user2007.org/ useR! 2007, Ames, Iowa, USA] * [https://web.archive.org/web/20170603005926/http://www.statistik.uni-dortmund.de/useR-2008/ useR! 2008, Dortmund, Germany] * [https://web.archive.org/web/20161206224014/http://math.agrocampus-ouest.fr/infoglueDeliverLive/evenements/useR2009 useR! 2009, Rennes, France] * [https://www.r-project.org/conferences/useR-2010/ useR! 2010, Gaithersburg, Maryland, USA] * [https://web.archive.org/web/20170421113054/http://web.warwick.ac.uk/statsdept/useR-2011/ useR! 2011, Coventry, United Kingdom] * [https://web.archive.org/web/20161103201807/http://biostat.mc.vanderbilt.edu/wiki/Main/UseR-2012 useR! 2012, Nashville, Tennessee, USA] * [https://web.archive.org/web/20161103062642/http://www.edii.uclm.es/~useR-2013// useR! 2013, Albacete, Spain] * [https://web.archive.org/web/20190107054408/http://user2014.stat.ucla.edu/ useR! 2014, Los Angeles, California, USA] * [http://user2015.math.aau.dk// useR! 2015, Aalborg, Denmark] *[https://user2016.r-project.org// useR! 2016, Stanford, California, USA] * [http://user2017.brussels/ useR! 2017, Brussels, Belgium] *[https://user2018.r-project.org/ useR! 2018, Brisbane, Australia] *[https://web.archive.org/web/20191202142748/http://www.user2019.fr/ useR! 2019, Toulouse, France] *[https://user2020.r-project.org/ useR! 2020, St. Louis, Missouri, USA] == R сэтгүүл == ''R сэтгүүл'' нь R төслийн нээлттэй хандалттай, хөндлөнгийн хяналттай сэтгүүл юм. Энд R програмын хэрэглээ болон хөгжүүлэлт тухайлбал R хэлний багц, програмчлалын зөвлөмж, мэдээ зэрэг зүйлс хэвлэгддэг. == SAS, SPSS болон Stata програмуудтай харьцуулахад == R програмыг SAS, SPSS, Stata зэрэг өргөн тархсан статистикийн програмуудтай нарийвчлан харьцуулах нь зүйтэй.<ref>{{cite web|url=http://www.burns-stat.com/pages/Tutor/R_relative_statpack.pdf|title= Comparison of R to SAS, Stata and SPSS|first=Patrick|last=Burns|date=27 February 2007|accessdate=2013-09-18}}</ref> R нь статистикийн програмуудын харьцуулалт дээр статистикийн шилдэг програмуудтай хамт тэргүүн эгнээнд жагсдаг. ''New York Times'' сонины 2009 оны 1 дүгээр сарын дугаарт өгөгдөл шинжээчдийн дунд R програм хүлээн зөвшөөрөгдөхийн зэрэгцээ SAS зэрэг арилжааны чанартай статистикийн програмын зах зээлд болзошгүй аюул учруулж буй талаар нийтлэл хэвлэгдсэн байдаг.{{refn | R as competition for commercial statistical packages * {{cite news| url=https://www.nytimes.com/2009/01/07/technology/business-computing/07program.html | work=The New York Times | first=Ashlee | last=Vance | title=Data Analysts Are Mesmerized by the Power of Program R: [Business/Financial Desk] | date=2009-01-07}} * {{cite news| url=http://bits.blogs.nytimes.com/2009/01/08/r-you-ready-for-r/ | work=The New York Times | first=Ashlee | last=Vance | title=R You Ready for R? | date=2009-01-08}} }} == Жишээ == === Бичигдэх хэлбэр === Дараах жишээнд уг [[Синтакс|хэлний бичигдэх хэлбэр]] болон командын мөрнөөс ажиллах байдлыг харууллаа.{{citation needed|date=January 2016}} R хэлэнд утга оноох оператор болох = тэмдэгтийн оронд <- хоёр тэмдэгтээс тогтох сумыг өргөн хэрэглэдэг.<ref>{{cite web|author=R Development Core Team|title=Assignments with the = Operator|url=https://developer.r-project.org/equalAssign.html|accessdate=14 June 2012}}</ref><source lang="rout"> > x <- c(1,2,3,4,5,6) # Create ordered collection (vector) > y <- x^2 # Square the elements of x > print(y) # print (vector) y [1] 1 4 9 16 25 36 > mean(y) # Calculate average (arithmetic mean) of (vector) y; result is scalar [1] 15.16667 > var(y) # Calculate sample variance [1] 178.9667 > lm_1 <- lm(y ~ x) # Fit a linear regression model "y = f(x)" or "y = B0 + (B1 * x)" # store the results as lm_1 > print(lm_1) # Print the model from the (linear model object) lm_1 Call: lm(formula = y ~ x) Coefficients: (Intercept) x -9.333 7.000 > summary(lm_1) # Compute and print statistics for the fit # of the (linear model object) lm_1 Call: lm(formula = y ~ x) Residuals: 1 2 3 4 5 6 3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) -9.3333 2.8441 -3.282 0.030453 * x 7.0000 0.7303 9.585 0.000662 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 3.055 on 4 degrees of freedom Multiple R-squared: 0.9583, Adjusted R-squared: 0.9478 F-statistic: 91.88 on 1 and 4 DF, p-value: 0.000662 > par(mfrow=c(2, 2)) # Request 2x2 plot layout > plot(lm_1) # Diagnostic plot of regression model </source>[[Файл:Plots_from_lm_example.svg]] === Функцийн бүтэц === Хэрэглэгчийн функц зохиоход хялбар байдал нь R хэлний нэг давуу тал юм. Функцийн бие доторх объект функцийн дотоод хувьсагч болохын зэрэгцээ функцийн буцаах утга өгөгдлийн аль ч төрөл хэлбэрт байж болдог.<ref>{{cite web|url=http://www.statmethods.net/management/userfunctions.html|title=Quick-R: User-Defined Functions|first=Robert|last=Kabacoff|year=2012|accessdate=2013-10-28|website=statmethods.net}}</ref> Функцийн бүтцийг харуулсан жишээг дор өгөв:<source lang="r"> functionname <- function(arg1, arg2, ... ){ # функцийн нэр болон аргументуудыг зарлаж байна statements # тушаалууд return(object) # object объектыг функцийн утга болгон буцааж байна } sumofsquares <- function(x){ # хэрэглэгчийн үүсгэсэн функц return(sum(x^2)) # x векторын элементүүдийн квадратуудын нийлбэрийг буцааж байна } </source><source lang="rout"> > sumofsquares(1:3) [1] 14 </source> === Mandelbrot олонлог === R хэл дээрх дараах богинохон код ''c'' комплекс тогтмолын янз бүрийн утганд харгалзах ''z'' = ''z''<sup>2</sup> + ''c'' тэгшитгэлийн эхний 20 итерацаар Mandelbrot олонлогийг дүрслэн үзүүлнэ. Мөн энэ жишээ дараах зүйлсийг харуулна: * энд caTools багцын хэрэглээ * [[комплекс тоо]]<nowiki/>н дээрх үйлдэл * тоон элементүүдээс тогтох олон хэмжээст массивын хэрэглээ (<code>C</code>, <code>Z</code> , <code>X</code>).<source lang="r"> install.packages("caTools") # багц суулгах тушаал library(caTools) # write.gif функц ашиглахаар харгалзах багцыг дуудаж байна jet.colors <- colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan", "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000")) dx <- 400 # урт dy <- 400 # өргөн C <- complex( real=rep(seq(-2.2, 1.0, length.out=dx), each=dy ), imag=rep(seq(-1.2, 1.2, length.out=dy), dx ) ) C <- matrix(C,dy,dx) # комплекс тоонуудыг матриц хэлбэрт шилжүүлэх Z <- 0 # Z хувьсагчид 0 утга оноох X <- array(0, c(dy,dx,20)) # гаралтанд ашиглах 3 хэмжээст массивыг үүсгэж байна for (k in 1:20) { # 20 итерац бүхий давталт Z <- Z^2+C # итерац X[,,k] <- exp(-abs(Z)) # үр дүнг хадгалах } write.gif(X, "Mandelbrot.gif", col=jet.colors, delay=900) </source>[[Файл:Mandelbrot_Creation_Animation.gif|400x400px]] == Санал болгох бусад мэдээлэл == * [[wikisource:en:Comparison of numerical analysis software|Comparison of numerical analysis software]] * [[wikisource:en:Comparison of statistical packages|Comparison of statistical packages]] * [[wikisource:en:List of numerical analysis software|List of numerical analysis software]] * [[wikisource:en:List of statistical packages|List of statistical packages]] * [[wikisource:en:Programming with Big Data in R|Programming with Big Data in R]] (pbdR)<ref>{{cite web|author=Ostrouchov, G., Chen, W.-C., Schmidt, D., Patel, P.|title=Programming with Big Data in R|year=2012|url=http://r-pbd.org/}}</ref> * [[wikisource:en:Rmetrics|Rmetrics]] == Цахим холбоос == {{Commonscat|GNU R|R}} * [https://www.r-project.org/ R төслийн албан ёсны веб сайт] * [https://cran.r-project.org/doc/manuals/r-release/R-intro.html An Introduction to R] * [https://www.r-project.org/doc/bib/R-books.html R books], has extensive list (with brief comments) of R-related books * [http://www.r-bloggers.com/ R-bloggers], a daily news site about R, with 10,000+ articles, tutorials and case-studies, contributed by over 450 R bloggers. * [https://web.archive.org/web/20121206104812/http://rgm3.lab.nig.ac.jp/RGM/ The R Graphical Manual], a collection of R graphics from all R packages, and an index to all functions in all R packages * [http://rseek.org R seek], a custom frontend to Google search engine, to assist in finding results related to the R language * [https://web.archive.org/web/20061004131509/http://addictedtor.free.fr/graphiques/index.php R Graph Gallery] == Ашигласан материал == {{Reflist|3}} [[Ангилал:Статистикийн программчлалын хэл]] [[Ангилал:Чөлөөт статистикийн программ хангамж]] [[Ангилал:Чөлөөт тоон программ хангамж]] [[Ангилал:GNU багц]] 1h54x0g01iny3bbyxtlasfimdcni5v5 Улс орнуудын нэрийн утга учир 0 66614 860800 860364 2026-07-01T11:56:09Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860800 wikitext text/x-wiki Улс орнуудын нэрийг монгол хэлний цагаан толгойн үсгийн дарааллаар байршуулж, нэрийн утга учрыг тайлбарласан болно. ==А== === {{AUS}} === Эртний Ромын "Үл мэдэгдэх өмнөдийн газар нутаг" номонд дурдсан нэршилээр буюу Шинэ Латин хэлээр "Өмнөдийн газар нутаг" гэсэн утгатай нэршил. Анх уг нэршлийг 1625 онд Испани хэлээр хэрэглэж байсан <ref>[[Purchas, Samuel]]. "[http://memory.loc.gov/service/rbc/rbdk/d0404/02951422.jpg A note of Australia del Espíritu Santo, written by Master Hakluyt]", in ''Hakluytus Posthumus'', Vol. IV, pp. 1422–1432. 1625.</ref> бөгөөд одоогийн Австрали гэх нэрийг Британийн нэрт Аялагч Меттью Флиндерс 1814 онд байр зүйн нэрээр хэрэглэж, олонд түгээжээ.<ref name="Flind">Flinders, Matthew. ''[http://www.slsa.sa.gov.au/encounter/collection/B12985211_259_3.htm A Voyage to Terra Australis] {{webarchive|url=https://web.archive.org/web/20121111005442/http://www.slsa.sa.gov.au/encounter/collection/B12985211_259_3.htm |date=11 November 2012 }}''. 1814.</ref> Шинэ Өмнөд Уэльсийн амбан захирагч Лаклан Магуэр 1817 оны орчимд Их Британийн колониудын зөвлөлд хүргэсэн тайлан мэдээлэлдээ "Австрали" гэх нэрийг албан ёсны баримт бичигт анхлан ашиглажээ.<ref>Letter of 12 December 1817. Op. cit. ''Weekend Australian'', 30–31 December 2000, p. 16.</ref> Энэ явдлаас хойш долоон жилийн дараа буюу 1824 онд уг тивийг олон улсад "Австрали" хэмээн нэрлэж хэвшсэн юм.<ref>{{Cite book|last=Department of Immigration and Citizenship|title=Life in Australia|publisher=Commonwealth of Australia|year=2007|page=11|isbn=978-1-921446-30-6|format=PDF|url=http://www.immi.gov.au/living-in-australia/values/book/english/lia_english_part1.pdf|accessdate=30 March 2010}}</ref> === {{AUT}} === Герман хэлний "Өстеррайх" гэх үгийг 1147 оноос эхлэн Латин хэлэнд оруулан "Австри" гэж хэрэглэж иржээ. Энэ нь "Дорнын газар нутаг" гэсэн утга бүхий Герман үг юм.<ref>Online Etymology Dictionary. "[http://www.etymonline.com/index.php?search=Austria Austria]".</ref> Ийнхүү нэрлэх болсон нь 976 оны орчимд Баварын вант улсын зүүн хэсэг одоогийн Австри улсын нутаг дэвсгэрийг хамтатган захирдаг байсантай холбоотой. Зарим үндсэрхэг үзэлтнүүд "Дорны эзэнт гүрэн" гэсэн утгатай гэж ч мэтгэдэг. Нэршлийн тухайтад Австралитай тунчиг төстэй нэршил. === {{AZE}} === Элленистикийн эрин үед хамаарах Ахеменидийн хаанчлалын цаг мөчид хамаарах үеэс эхлэн "Азербайжан" буюу "Атропатуудын газар нутаг" гэх нэршил үүсчээ. Атропат гэдэг нь эртний Грек хэлээр "Галнаас аврагдагсад" гэсэн утгыг илэрхийлдэг.<ref>{{Citation|title=Ancient Egypt's warfare: a survey of armed conflict in the chronology of ancient Egypt, 1600 BC-30 BC|last=Benson|first=Douglas S.|year=1995|publisher=D. S. Benson|url=https://books.google.com/?id=OMRyAAAAMAAJ}}</ref><ref>"Originally, Media Atropatene was the northern part of greater Media. To the north, it was separated from [[Kingdom of Armenia (antiquity)|Armenia]] by the [[Aras River|R. Araxes]]. To the east, it extended as far as the mountains along the [[Caspian Sea]], and to the west as far as [[Lake Urmia]] (ancient [[Matiane]] Limne) and the mountains of present-day Kurdistan. The [[Sefīd-Rūd|R. Amardos]] may have been the southern border." from Kroll, S.E. "Media Atropatene". 1994. in Talbert, J.A. ''[https://books.google.com/books?id=x_FHmc_E2uQC Barrington Atlas of the Greek and Roman World: Map-by-map Directory]''. Princeton University Press, 2000.</ref> Одоогийн тогтсон нэршил болох Азербайжаныг 1918 онд Орос хэлэнд хувирган бий болгожээ. "Галнаас аврагдагсад" гэх үг хэрхэн бий болсоныг тайлбарлавал, Аугаа их Александрыг насан өөд болсоны дараа Урарти, Саспиричуудын хоорон цус асгаруулсан мөргөлдөн болж улмаар Зүүн Арменийг захирч байсан XVIII Ахеменаны Сатрапы Диадочи Селесиусын дарлалаас чөлөөлж "Атропат" буюу "Галнаас чөлөөлөгсөд" гэх нэр үүссэн домогтой.<ref>[[Strabo]]. ''[[Geographica]]''. XI.xiii.524{{spaced ndash}}526.</ref><ref>[[Pliny the Elder|Pliny]]. VI.13.</ref> ''Atropátios Mēdía'' ({{lang|grc|Ἀτροπάτιος Μηδία}}),<ref>[[Strabo]]. ''[[Geographica]]''. XI.xiii.523{{spaced ndash}}529.</ref> <ref>Herodotus. ''History''. III.94. Op. cit. Rennell, James. ''[https://books.google.com/books?id=Poc9AAAAYAAJ&pg=PA366 The Geography System of Herodotus Examined and Explained, by a Comparison with Those of Other Ancient Authors, and with Modern Geography]'', Vol. 1. C.J.G. & F. Rivington, 1830. Retrieved 17 September 2011.</ref> ::'''''Транскавказ''''', ЗХУ-ын үед албан ёсны баримт бичигт хэрэглэж байсан нэршил. Оросоор "Закавказе" гэсэн үг. Энэ нь Кавказын нуруу сунан тогтсонтой холбогдуулан газар зүйн байршлаар нь нэрлэсэн цэвэр Орос нэршил юм. === {{ALB}} === "Албани" гэх нэрний тухайд хоёр хувилбар бий. Эхнийх нь "Альба" буюу Латин хэлний "цагаан" гэх өнгө заасан нэршил. Удаах нь Прото-Индо-Европ хэлний "альб" буюу "толгод" гэх утгатай байр зүйн нэршил. Аль нь ч бай "Албаничуудын газар нутаг" гэсэн утга бүхий нэршил нь өнөө цаг үед иржээ.<ref name="OEtDalb">Online Etymology Dictionary. "[http://www.etymonline.com/index.php?search=albania&searchmode=none Albania]".</ref> Анх уг нэршлийг манай эриний 1080 онд Мишель Атталейтын номонд Албаной гэх босогчдын газар нутгийг нэрлэсэн хэсэгт дурдсан байдаг.<ref name="MAhist">[[Attaliates, Michael]]. ''History''. Op. cit. in Elsei, Robert. ''The Albanian Lexicon of Dion Von Kirkman'', pp. 113–122.</ref> Анна Комненагын "Алексиад" зохиолд "Албанон" эсвэл "Арбанон" гэж уг нутгийг нэрлэсэн байдаг.<ref>Op. cit. in Wilkes, J.J. ''The Illyrians'', p. 279. 1992. ISBN 978-0-631-19807-9.</ref> Дээр дурдсан зохиолуудаас бүр өмнө буюу манай эриний 150 онд Иллирийн эзэрхийллийн эхэн үед буюу Птоломейн үед "Альбани" гэх үгийг ашиглаж байсан баримт бий. ::'''''Шкипери''''' Албаничууд өөрийн хэлээр улсаа "Шкипери" хэмээн нэрлэж байна. Албани хэлээр "шкип" гэдэг нь "Бүгдийг ойлгож ухаарах" гэсэн утга агуулдаг.<ref>Kristo Frasheri. ''History of Albania (A Brief Overview)''. Tirana, 1964.</ref><ref>{{cite web|url=http://mirror.undp.org/albania/download/pdf/albanian.pdf|title=The Albanian Language|last=Lloshi|first=Xhevat|format=PDF|publisher=United Nations Development Programme|accessdate=9 November 2010}}</ref> Сүүлийн үед "Шкипонье" буюу "Бүргэд" гэсэн утгатай буюу "Бүргэдүүдийн газар нутаг" гэсэн утгатай гэх тайлбар олон нийтийн дунд түгээмэл тархжээ. === {{ALG}} === Алжир гэдэг нь Османы Турк хэлээр "Чезайр" буюу "арлууд" гэсэн утгыг агуулдаг. Улмаар Франц хэлэнд "Альжер", Каталон хэлэнд "Алджер" гэж нэвтрэн орсон байдаг.<ref name="leschi">[[Louis Leschi|Leschi, Louis]]. ''Origins of Algiers''. 1941. Op. cit. in ''El Djezair Sheets''. July 1941. Op. cit. in "[http://alger-roi.fr/Alger/alger_son_histoire/textes/3_origines_alger_1941_feuillets.htm History of Algeria]". {{fr icon}}</ref> Анх "Алжир" гэх нэршлийг 1839 онд Францчууд тус нутгийг эзлэн захирах үед албан ёсоор ашигласан байдаг. Ингэж нэрлэх болсон нь ихээхэн учиртай. Тодруулбал, тус улсын нийслэл хотыг хуучнаар "Жазаир Бани Мазганна" буюу Мазганнагын үр садын арлууд" гэж нэрлэдэг байжээ. Мазганна гэдэг нь тус улсад анхлан үүссэн төрт улс байсан гэдэг. Тус улсын нийслэл хотын эргээс дөрвөн арал цуварч харагддаг. Улсын нэршилтэй холбоотой өөр нэгэн домог бий. Энэ нь Зиридийн хаант улсыг үндэслэгч Зири Ибн Манад гэх хааны нэрнээс үүсэлтэй гэх домог. Зири гэдэг нь Берберчүүдийн хэлээр "Сарны туяа" гэх утгыг илэрхийлдэг юм байна.<ref>Yver., G. "[https://books.google.com/books?id=zJU3AAAAIAAJ&pg=PA257 Alger]". ''E.J. Brill's First Encyclopaedia of Islam 1913–1936'', Vol. I. E.J. Brill (Leiden), 1987.</ref> 2011}} === {{USA}} === Их Британийн эзлэн түрэмгийллээс мултрах "Тусгаар тогтнолын тунхаг бичигт" анхлан дурдсанаар "Америкийн нэгдсэн улс" гэх нэр бий болжээ. Улмаар АНУ-ын Үндсэн хуулинд албан ёсны болон дипломат ёс, олон улсын тэмцээн наадам, соёл урлагын арга хэмжээ, олон улсын хурал, цуглаанд "Америкийн нэгдсэн улс", олон нийт, ард нийтийн дунд "Нэгдсэн улс" гэсэн нэршлийг ашиглаж байхаар хуульчилсан байдаг. "Америк" гэх нэрийг анх Германы газрын зураг зохион бүтээгч Мартин Вальдсимюллер 1507 онд дэлхийн бөмбөрцгийн баруун талд байрлах газар нутгийг "Америка" гэж нэрлэсэн байдаг. Энэ нь тус газар нутгийг анхлан нээсэн хэмээн номондоо дурдсан аялагч Америго Веспуччигийн дурсгалыг хүндэтгэсэн нэршил байсан гэдэг. === {{ANG}} === Ангол гэх нэрийг тус улсыг колоничлон захирч байсан Португальчууд бий болгожээ.<ref>Heywood, Linda M. & Thornton, John K. ''[https://books.google.com/books?id=S42CypbRTlQC&pg=PA82 Central Africans, Atlantic Creoles, and the foundation of the Americas, 1585–1660],'' p. 82. Cambridge University Press, 2007.</ref> Угтаа "Ндонгочуудын газар нутаг" гэсэн утгатай уугуул оршин суугчдын нэрийг Португаль хэл рүү хөрвүүлэн хэрэглэсэн нь энэ. Мбундун хэлээр "Нгола а килуанже" буюу "төмрийн дархадын ахлагч" гэсэн утгыг энэ үг илтгэнэ.<ref>Fage, J.D. ''The Cambridge History of Africa,'' Vol. 3: ''[https://books.google.com/books?id=V7qpKqM2Ji8C&pg=PA536 The Cambridge History of Africa: From c. 1050 to c. 1600].'' Cambridge University Press, 1977. ISBN 0-521-20981-1. Retrieved 23 September 2011.</ref><ref>Collins, Robert O. & Burns, James M. ''[https://books.google.com/books?id=PZcX2jQFTRcC&pg=PA153 A History of Sub-Saharan Africa]'', p. 153. Cambridge University Press, 2007. ISBN 0-521-86746-0. Retrieved 23 September 2011.</ref> === {{AND}} === Тус улсын нэр ямар утга агуулдаг нь тодорхойгүй. Шарльмайнын "Марка Хиспаника" номонд дурдсанаар "Ад-Дарра" буюу "Ой мод" гэх Араб үгнээс <ref>{{cite book|title=Andorra, the Hidden Republic: Its Origin and Institutions, and the Record of a Journey Thither|year=1912|pages=9|last=Gaston|first=L. L.|publisher=McBridge, Nast & Co|location=New York, USA}}</ref> эсвэл Наварро-Арагон хэлний "Андурриал" буюу "Бэлчирийн нутаг" гэх утгатай байх боломжтой гэж бичсэн байдаг.<ref>Online Etymology Dictionary. "[http://www.etymonline.com/index.php?term=Andorra Andorra]." Accessed 16 September 2011.</ref> === {{ATG}} === Антигуа: Испани хэлний "Антежо" <ref name="HistAnti">Oliver, Vere Langford.<!--sic--> [https://archive.org/details/historyofislando01oliv The History of the Island of Antigua, One of the Leeward Caribbees in the West Indies, from the First Settlement in 1635 to the Present Time]''. Mitchell and Hughes (London), 1894.</ref> буюу "Эртний" гэх утгатай үг. Анхлан уг нэрийг 1493 онд алдарт аялагч Кристофер Колумб "Санта Мариа ла Антигуа" хэмээн ашигласан байдаг.<ref>Murphy, A. Reg. ''Archaeology Antigua''. "{{Webarchiv|url=http://www.archaeologyantigua.org/background_timeline.htm |wayback=20110904065919 |text=Timeline |archiv-bot=2023-09-26 19:50:00 InternetArchiveBot }}." Accessed 23 September 2011</ref> :'''Барбуда''' Испаний хэлний "Барбодо" буюу "Сахалтай" гэсэн утгатай үг. Тус нутгийн саглагар моднууд, уугуул оршин суугчдын сахал, үс ургуулах ёсыг харсан нэрт аялагч анлан ийн улга алдаж байсан гэдэг. === {{UAE}} === Арабын нэгдсэн эмират нь тус улсын бүрэлдэхүүнд багтах долоон эмирт улс нэгдсэнийг илтгэх бөгөөд олон улсад болон Араб хэлээрээ өөрөөр нэршээгүй. === {{ARG}} === Испани хэлний "Аргенто" буюу "Мөнгөлөг" гэсэн утгатай үгнээс тус улсын нэршил үүсчээ. Анхлан энэ нэршлийг Испанийн нэрт яруу найрагч Рио де ла Плата "Мөнгөн гол" гэх шүлгэн дурдсан байдаг. Энэхүү шүлэгнээс санаа аван Аргентиний нутагт хөл тавьсан Себастиан Кабо "Ла Аргентина" буюу "Мөнгөн уст нутаг" хэмээн уулга алдаж, улмаар ийн нэрийдэх болжээ.<ref name="BritRdlP">{{cite web|title=Río de la Plata|publisher=[[Encyclopædia Britannica]]|url= http://www.britannica.com/EBchecked/topic/463804/Rio-de-la-Plata|accessdate=11 August 2010}}</ref> === {{ARM}} === Тус улсын нэр ямар утга агуулдаг нь тодорхойгүй. Эртний Грекийн судар бичгүүдэд "Арменой" гэж тэмдэглэснийг одоогийн Арменичуудыг нэрлэсэн байх хэмээн олон эрдэмтэд таамагладаг. "Арменой" эсвэл "Армина" гэх үг ямар утга агуулж байгааг одоо болтол эрдэмтэд тогтоогоогүй байгаа юм. Зарим түүхчид үүнийг МЭӨ 2200 онд хүчээ авч байсан Ассирийн Арманумчуудаас гаралтай хэмээн үздэг. Өөр нэг таамаг байдаг нь Прото-Индо-Европ хэлээр "Ар" буюу "Байгуулсан, үүссэн" гэх утгатай үгнээс гаралтай гэх домог. Тус улсад байх олон уул нуруу, толгод, тосгод "ар" гэх үгнээс үүссэн "Арарат, Арян, Арта" зэргээс улсын нэр үүссэн гэх өөр нэг таамаг ч бий.<ref>[[Gamkrelidze, Tamaz]] & [[Vyacheslav Ivanov (philologist)|Ivanov, Vyacheslav]]. "The Early History of Indo-European (aka Aryan) Languages".{{Page needed|date=September 2010}} ''Scientific American''. March 1990.</ref><ref>Mallory, James P. "Kuro-Araxes Culture". ''Encyclopedia of Indo-European Culture''.{{Page needed|date=September 2010}} Fitzroy Dearborn, 1997.</ref> === {{AFG}} === 16-р зуунд бүтээгдсэн "Бабурнама" сударт Афгени буюу "Афганичуудын газар нутаг" гэх үг бий. Үүнээс тус улсын одоогийн нэршил үүссэн байна.<ref>{{cite web|url= http://persian.packhum.org/persian//pf?file=03501051&ct=92 |title=Events of the Year 910 (p.5)|author=[[Babur]]|work=[[Baburnama|Memoirs]]|publisher=[[Packard Humanities Institute]]|year=1525|accessdate=22 August 2010}}</ref> Түүнчлэн 10-р зууны үед бүтээгдсэн Худуд аль-Алам номонд "Афгани" гэх үг хэрэглэгдсэн байдаг. Паштун хэлэнд "Афгани" нь "байрлах, байрших" гэсэн утгыг илэрхийлдэг. Паштун болон Дари хэлэнд "Афгани" гэх нэг л утгаар тус улсын нэр бичигддэг.<ref>{{Cite book|title=The Afghans |last1=Vogelsang |first1=Willem |authorlink=|volume=|year=2002|publisher=Wiley Blackwell|location=|isbn=0-631-19841-5|page=18|url=https://books.google.com/books?id=9kfJ6MlMsJQC&lpg=PP1&pg=PA18#v=onepage&q&f=false|accessdate=2010-08-22}}</ref><ref name="khyber">Anonymous. ''[[Ḥudūd al-ʿĀlam]]''. Op. cit. in "{{Webarchiv|url=http://www.khyber.org/articles/2005/TheKhalajWestoftheOxus.shtml|wayback=20110613145756|text=The Khalaj West of the Oxus: excerpts from ''The Turkish Dialect of the Khalaj''|archiv-bot=2023-11-06 07:37:05 InternetArchiveBot}} {{webarchive|url=https://web.archive.org/web/20110613145756/http://www.khyber.org/articles/2005/TheKhalajWestoftheOxus.shtml|date=13 June 2011}}" ''Bulletin of the School of Oriental Studies'', Vol 10, No 2, pp. 417–437. University of London. Retrieved 10 January 2007.</ref> 1801 оноос эхлэн өнөөгийн бидний мэдэх "Афганистан" гэх нэрийг ашиглаж эхэлжээ. ==Б== === {{BHS}} === Испани хэлээр "бүү де лас Бахамас" буюу "Гүехэн тэнгис" гэх утгатай үгнээс тус улсын нэр үүсчээ.<ref name="DicCarib">Allsopp, Jeannette. ''[https://books.google.com/books?id=PmvSk13sIc0C&pg=PA70&lpg=PA70 Dictionary of Caribbean English Usage]'', p. 70. University of the West Indies Press, 2003. ISBN 976-640-145-4. Retrieved 24 September 2011.</ref> Анхлан уг нэршлийг 1523 оны орчимд Италийн нэгэн газрын зурагт тэмдэглэсэн байдаг.<ref>Anonymous. "{{Webarchiv|url=http://scholar.library.miami.edu/floridamaps/view_image.php?image_name=dlp00020000520001001&group=spanish |wayback=20151117014054 |text=Turin Map |archiv-bot=2024-09-11 11:21:55 InternetArchiveBot }}." c. 1523. Retrieved 24 September 2011.</ref> Харин англи хэлэнд 1670-аад оны үед "Гранд Бахама" номонд дурдсанаар нэвтэрчээ. Үүнээс гадна өөр нэг домог байдгыг Испанийн эрдэмтэн Лукаян Тайно тайлбарласан байдаг. Энэ нь нутгийн уугуул иргэдийн хэлээр "Ба Ха Ма" буюу "Дундадын дээр орших газар нутаг" гэсэн утгатай нэршлээс дээрх улсын нэр үүсчээ. === {{NEP}} === Бидний мэдэх Балба буюу Непал улсын нэр нь Санскритаар "нипалаяа" буюу "Уулын бэлд орших нутаг" гэсэн утгыг илэрхийлдэг. Мөн үүнээс гадна "Непа" буюу "Сүм дуганы нутаг" гэсэн Бирм үгнээс гаралтай гэж олонх судлаачид үздэг. Буддын шашинтай улсууд ихэвчлэн төвд хэлний "Нямбал" буюу "Ариун нутаг" гэсэн утгатай гэж үздэг ажээ. === {{BAN}} === Бенгал хэлний "Бенгал улс" гэх утгатай үг. Бенгал хэлээр "Бангла" гэж Бенгалчуудыг нэрлэдэг бөгөөд "Деш" гэдэг нь "улс, орон" гэх утгатай юм. Анх уг нэрийг 1971 онд Пакистанаас тусгаар тогтноход Шейх Мужибур Рахман тусгаар тогтнолын тунхаг бичигт ашигласан байдаг. Бангла буюу Бенгалчуудыг 9-р зууны эхэн үеэс ном сударт тэмдэглэж байсан баримт бий.<ref>M.A. Amitabha Bhattacharyya, ''Historical Geography of Ancient and Early Mediaeval Bengal'', Sanskrit Pustak Bhandar, 1977, pp. 61–62.</ref> === {{BRB}} === Португаль хэлний "Барбадас" буюу "Сахалтнууд" гэх үгнээс тус улсын нэр үүсчээ.<ref name="OxJurn">Reece, Robert. Oxford Journals: ''Notes and queries''. "[https://books.google.com/books?id=PeCIn2CrgYEC&pg=PA346 Barbados v. Barbadoes]". Oxford University Press, 1861. Retrieved 27 September 2011.</ref> Италийн Генуяа мужийн газрын зурагч Висконте Мажжиоло 1519 онд бүтээсэн газрын зурагт анхлан уг нэршлийг ашигласан байдаг.<ref>Maggiolo, Vesconte. {{Webarchiv|url=http://bsb-mdz12-spiegel.bsb.lrz.de/~mdz/index.html?c=autoren_index&l=en&ab=Maggiolo%2C+Vesconte |wayback=20120328064057 |text=Seeatlas (Alte Welt und Terra Nova) |archiv-bot=2023-09-26 19:50:00 InternetArchiveBot }} – BSB Cod.icon. 135. (Genoa), 1519. {{de icon}}</ref> === {{BHR}} === Араб хэлний "Аль Бахрайн" буюу "Хоёр тэнгис" гэх үгнээс тус улсын нэр үүсчээ. Алдарт Коран сударт энэ нутгийн талаар таван ч удаа дурдсан байдаг. Өөр нэгэн домогт өгүүлснээр хоёр тэнгисийн бэлчих Аль-Ахса нутаг нь туйлийн амар тайван, үржил шимт нутаг бөгөөд Аль-Жавахари хэлээр "Бахри" гэдэг нь "Холбоо тэнгис" гэсэн утгатай ажээ. Гэвч сүүлийн домгийг олон нийт хүлээн зөвшөөрдөггүй. === {{BLR}} === Орос хэлний "Бела" буюу "цагаан", "рус" буюу Орос гэх утгатай үгсээс "Цагаан орос" буюу Беларус улсын нэр үүсчээ. Эртний судар бичгүүдэд Оросын нэг хэсэг байсан болохоор тусгайлан дурдаж байгаагүй. Ихэнх түүхчид улаантан болон цагаантнууд гэж хуваагдаж байснаас шалтгаалан улстөрийн үзэл баримтлалын дагуу нутаг заан "Беларус" улсын нэр үүссэн гэдэгт итгэдэг юм. === {{BEL}} === Бельги гэх үг нь "Белгик Гаул" үндэстнүүд гэсэн утгатай Ром үг. Латин хэлэнд орж ирэхдээ Бельги болж, "Бельгийн газар нутаг" гэх утгыг илэрхийлэх болжээ. 1830 онд одоогийн Бельгийн хаант улс Нидерландаас тусгаар тогтноход "Бельгийн нэгдсэн улс" гэсэн нэршлийг авсан боловч энэ нэршлээрээ удаагүй. Бельги гэдэг нь Прото-Сельтик хэлний "белг", Прото-Индо-Европ хэлний "бхелгх" буюу "догшин" гэсэн утгатай илэрхийлдэг.<ref>Koch, John. ''Celtic Culture: a Historical Encyclopedia'', p. 198. ABC-CLIO 2006.</ref><ref>Pokorny, Julius. ''Indogermanisches Etymologisches Wörterbuch'', pp. 125–126. Bern-Muenchen-Francke, 1959. {{de icon}}</ref><ref>Pokorny, Julius. ''The Pre-Celtic Inhabitants of Ireland'', p. 231. Celtic, DIAS, 1960.</ref><ref>Maier, Bernhard. ''Dictionary of Celtic Religion and Culture'', p. 272. Boydell & Brewer, 1997.</ref> Хэл зүйн зарим шинжээчид үүнийг Прото-Индо-Европ хэлээр "гэрэлтсэн" гэж хөрвүүлбэл ононо гэсэн санал гаргасан ч энэ тайлбарыг зарим нь хүлээн зөвшөөрдөггүй.<ref>Pokorny, Julius. ''Indogermanisches Etymologisches Wörterbuch'', p. 118. 1959. ISBN 3-7720-0947-6. {{de icon}}</ref> === {{BLZ}} === Энэ улсын нэрний утга учир тодорхойгүй. 17-р зууны эхэн үед Шотландн аялагчид "Белизе" нэрт голны нэрээр нэрлэсэн байх гэсэн таамаг бий. Мөн түүнчлэн Испани хэлний "Вализе", "Бализе" гэсэн үгнээс ч үүссэн байх боломжтой гэж үздэг.<ref name="brit1893">{{cite encyclopedia |year=1892|title=British Honduras|encyclopedia=[[Encyclopædia Britannica]] |volume=12|location=New York|publisher=The Britannica Publishing Company |url=https://books.google.com/books?id=uGRJAAAAYAAJ&pg=PA133|accessdate=25 October 2010}}</ref> Мөн энэ нэрний талаар өөр нэг домог байдаг нь Маяачуудын өгсөн нэр гэж үздэг явдал. "Белиз" гэдэг нь Маяа хэлээр "шавартай ус" гэсэн утга илэрхийлдэг ажээ.<ref>Wright, Ronald. ''[https://books.google.com/books?id=F3QS1NJHJEMC&pg=PA24&lpg=PA24 Time among the Maya: Travels in Belize, Guatemala, and Mexico]''. Grove Press, 2000. ISBN 0-8021-3728-8. Retrieved 28 September 2011.</ref> Нутгийн иргэдийн дунд түгээмэл тархсан домгоор бол Франц хэлний "Бализ" буюу "Гэрэл цацарсан" гэх үгнээс гаралтай гэж үздэг юм байна. === {{BEN}} === Тус улсын нэр Нигер хэлээр "Бениний бэлчир дэх газар нутаг" гэсэн утга илэрхийлдэг. Үүнээс гадна нутгийн Ицкери омгийнхний "Убину", Ёруба омгийнхний "Ибину" буюу "Хавчиг гэр" гэсэн үгнээс гаралтай гэж үзэх судлаачид ч бий. Араб хэлний "бини" буюу "үр сад" гэсэн утгатай үгнээс тус улсын нэр үүссэн байх ч боломжтой юм. === {{BUL}} === Тус улсын нэр Прото-Турк хэлний "булгха" буюу "холилдсон, "булгак" буюу "хувьсгал" гэсэн үгнээс гаралтай гэж олонх судлаачид үздэг.<ref>Bowersock, Glen W. & al. ''[https://books.google.com/books?id=c788wWR_bLwC&pg=PA354 Late Antiquity: a Guide to the Postclassical World]'', p. 354. Harvard University Press, 1999. ISBN 0-674-51173-5.</ref> Эрдэмтэд үүнээс гадна эртний Монгол хэлний "булгарах" буюу "салж, хагацах" гэсэн үгнээс гаралтай гэж үздэг юм. === {{BOL}} === Испанийн алдарт аялагч Симон Боливарын дурсгалыг мөнхжүүлж тус улсыг "Боливарын газар нутаг" хэмээн нэрийджээ. Уг нэрийг хошууч генерал Антонио Хосе де Сукре өгсөн гэдэг. Тус улс Перу улсаас тусгаар тогтносны дараа үндэсний ассемблейн анхдугаар хуралдаанаар хошууч генералын өгсөн нэрийг хэвээр баталсан байна.<ref>''{{Webarchiv|url=http://www.historia-bolivia.com/6-de-Agosto-Independencia-de-Bolivia/6 |wayback=20110820091233 |text=6 de Agosto: Independencia de Bolivia |archiv-bot=2023-09-26 19:50:00 InternetArchiveBot }} {{webarchive |url=https://web.archive.org/web/20110820091233/http://www.historia-bolivia.com/6-de-Agosto-Independencia-de-Bolivia/6 |date=20 August 2011 }}.'' {{es icon}}</ref><ref name="cob">Maria Luise Wagner. "Construction of Bolivia: Bolívar, Sucre, and Santa Cruz". In Hudson & Hanratty.</ref> Алдарт аялагч, эрх чөлөөний төлөө тэмцэгч Симон Боливарын нэр нь Испанийн Бискай мужийн "Болибар" тосгон нэрнээс үүссэн гэж намтар судлаачид нь үздэг.<ref>{{cite web |url=http://www.euskaltzaindia.net/index.php?option=com_eoda&Itemid=478&lang=eu&testua=ziortza&view=izenak |title= Ziortza |author= Euskaltzaindia|date= |work= |publisher= |accessdate=10 September 2011}}</ref> === {{BIH}} === :Босниа: Босна голын нэрээр тус улсын нэрийг нэрлэжээ. Энэ нэршлийг анх 958 оны үед Византын эзэн хаан VII Константин түүх шастирт тэмдэглэн үлдээсэн байдаг. "Босна" гэдэг нь Прото-Индо-Европ хэлээр "бос", "богх" буюу "урсаж буй их усан" гэсэн утгатай.<ref name="Imamovic">Imamović, Mustafa (1996). Historija Bošnjaka. Sarajevo: BZK Preporod. ISBN 9958-815-00-1</ref> :Херцеговин: Амальгам болон эртний Герман хэлээр "герцог" буюу "гүн, ван" гэсэн утгатай бол "овина" гэдэг нь Серби-Хорват хэлээр "улс" гэсэн утгыг илэрхийлдэг. === {{BOT}} === Тус улсын хамгийн том үндэстэн болох Сецвана хэлээр "Цваначуудын эх орон" гэсэн утгатай. Британийн хэлзүйч Ливингстоуны баталж буйгаар Сецвана хэлээр "адилхан, ижил" гэсэн утгыг илэрхийлдэг ажээ. Үүнээс гадна "эрх чөлөө" гэсэн утгатай гэж тайлбарлах эрдэмтэд цөөнгүй бий.<ref>Ripley, George & Dana, Charles A., Eds. "[[:s:The American Cyclopædia (1879)/Bechuana|Bechuana]]". ''The American Cyclopædia''. (New York), 1879.</ref> === {{BRA}} === Португаль хэлний "пау-бразил" буюу "Улаан мод" гэсэн утгатай үгнээс тус улсын нэр үүсчээ.<ref name="Bueno36">Bueno, Eduardo. ''Brasil: uma História'', p. 36. Ática (São Paulo), 2003. ISBN 85-08-08213-4. {{pt icon}}</ref> Яг энэ нэршлийг хамгийн анх 1330 онд Английн Анжелино Дулкерт гэх эрдэмтэн ашиглаж байсан гэдэг. Гэвч тухайн үед Бразилийг хараахан илрүүлж амжаагүй байсан юм. === {{BRU}} === Тус улсын нэрний утга учирын талаар нэгдсэн ойлголт байхгүй. Харин орчин үед Малай хэлний "Баруна" гэх үгнээс гаралтай гэсэн үзэл тархжээ. 14-р зууны үед Борнео дээр хөл тавьсан Аванг Алак Бетатар өөрийн нутгийн хэлээр "Баруна" буюу "Хаана байна" гэж дагалдагчдаасаа асууснаас энэ нэр үүсчээ.<ref>{{cite book|last=Curriculum Development Department|title=History for Brunei Darussalam: Sharing Our Past|year=2008|publisher=EPB Pan Pacific|location=Section 2.2|isbn=99917-2-545-8|page=26}}</ref><ref>{{cite web |url=http://www.southeastasianarchaeology.com/2007/03/08/treasuring-bruneis-past/ |title=Treasuring Brunei's past |publisher=Southeast Asian Archaeology |date=8 March 2007 |accessdate=19 September 2011 |archive-date=1 Аравдугаар сар 2011 |archive-url=https://web.archive.org/web/20111001142659/http://www.southeastasianarchaeology.com/2007/03/08/treasuring-bruneis-past/ |url-status=dead }}</ref> Түүнчлэн 978 оны Хятадын судар бичгүүдэд "Бони" нэрт хааны тухай дурдсан бий. Уг хааны нэрнээс улсын нэр үүссэн байж магадгүй гэж зарим эрдэмтэд санал дэвшүүлжээ. Бас нэгэн таамаг байдаг нь 1550 онд тус нутагт хөл тавьсан Италийн аялагч Людовико ди Вартема "Борней арал" гэж тэмдэглэсэнтэй холбоотой ажээ. "Варунай" буюу эртний Санскрит хэлээр "далайчдын нутаг" гэсэн утгатай үгнээс гаралтай гэж үзэх эрдэмтэд ч бий. === {{BFA}} === Тус улсын Море омгийнхний хэлээр "буркина" гэдэг нь "шударга, итгэж болох" гэсэн утгатай, Диоула омгийнхний хэлээр "фасо" гэдэг нь "газар нутаг, эцгийн гэр" гэсэн утгатай хоёр үгнээс тус улсын одоогийн нэршил үүсчээ. 1983 онд тусгаар тогтносон тус улсын ерөнхийлөгч Томас Санкара энэ нэрийг сонгон хэрэглэх зарлиг гаргасан юм. === {{BDI}} === Тус улсын голлох үндэстэн болох "Рунди" хэлээр "Рундичуудын эх орон" гэсэн утгыг илэрхийлдэг ажээ. 1962 онд Бельгийн харьяалалаас тусгаар тогтноход энэ нэрийг сонгон хэрэглэх болжээ. === {{BHU}} === Тус улсын нэрний утга учир тодорхойгүй, маш олон таамаг, тайлбар, домог өнөө үетэй золгожээ. Францын аялагч Жеан Баптист Тавернье 1676 онд гаргасан "Зургаан аялал" номондоо "Боутан" гэх үгийг дурдсан байдаг. Тухайн үед Бутан улс гэж байгаагүй бөгөөд Төвдийн хаант улсын нэгдсэн захиргаанд багтаж байсан гэдэг. Бутан даяар тархсан үзлээр бол Санскрит хэлний "Бота-анта" буюу "Төвдийн хязгаар нутаг" гэсэн утгатай үгнээс гаралтай ажээ.ref name="Names&Histories" /><ref name="chakravarti7">{{cite book|title=A Cultural History of Bhutan |volume=1 |first=Balaram |last=Chakravarti |publisher=Hilltop |year=1979 |page=7 |url=https://books.google.com/books?id=6VxuAAAAMAAJ |accessdate=1 September 2011}}</ref> Түүнчлэн Балба хэлээр "Бодо Хатан" буюу "Төвдийн нутаг" гэх утгатай үгнээс үүдэлтэй байж болох юм. Бутаны хэл шинжлэлийн зарим эрдэмтэд Санскрит хэлний "Бу-Уттан" буюу "Өндөрлөг газар" гэх үгнээс гаралтай гэж тайлбарладаг. ::'''Друк Юл''' Бутанчууд өөрсдийнхөө хэлээр улсаа ийн нэрлэдэг. Энэ нь Бутан хэлний "Аянгын лууны газар нутаг" гэсэн утга илэрхийлдэг ажээ. Тэд 1730 оноос энэ нэршлийг хэрэглэх болсон байна. ==В== === {{VAN}} === Уугуул Вануатучуудын хэлээр энэ нь "Бидний эх орон" гэх үгнээс гаралтай ажээ. === {{VAT}} === Итали хэлний "Ватикан толгодын хот" гэсэн утгыг илэрхийлдэг. Энэ нь тус хотыг тойрон хүрээлдэг "Ватикан" гэх нэртэй толгодын нэр юм. Харин Ватикан гэдэг нь Италийн "Ватиканиари" буюу "Ариун номын нутаг" гэсэн утгай үгнээс гаралтай ажээ. Эртний Ромын үеэс энэ нэрийг хэрэглэн, түүх, шастирт тэмдэглэсэн нь бий. === {{VEN}} === Тус нутагт анхлан хөл тавьсан Италийн аялагчид болох Алонсо де Ожеда, Америго Веспуччи нар "Венесуола" буюу "Бяцхан Венец" гэж уулга алдсанаас хойш газрын зураг, албан ёсны баримт бичигт ийнхүү тэмдэглэх болжээ. === {{VIE}} === Тус улсын нэршил нь "Вьет" буюу "Өмнөд", "Нам" буюу "газар" гэх үгнээс гаралтай гэж ихэнх түүхчид үздэг. МЭӨ 2-р зуунаас хойш ийнхүү хаант улсыг ийн нэрийдэх болжээ.<ref>{{Webarchiv|url=http://www.anviettoancau.net/anviettc/docs/2007-02/trbontai.pdf |wayback=20110723020926 |text=An Introduction to Vietology |archiv-bot=2025-10-06 06:43:22 InternetArchiveBot }}", p. 3.</ref> Вьет Нам гэх үгийг хамгийн анх МЭӨ 239 оны нэвтэрхий тольд Хятадын эрдэмтэд тэмдэглэжээ. Харин одоогийн бидний мэдэх "Вьетнам" гэх үгийг 16-р зууны яруу найрагч Нгуен Бин Хием хэрэглэсэн байдаг. ==Г== === {{GAB}} === Португаль хэлний "Габао" буюу "Халхлагдсан" гэх утгатай үгнээс тус улсын нэршил үүсчээ. Комо голын адагт орших энэ нутаг олон нийтээс халхлагдсан, хэр баргын хүн хүрч очиход төвөгтэй учир ийнхүү нэрийдэх болжээ. === {{GUY}} === Нутгийн уугуул иргэдийн хэлээр "Их нууруудын нутаг" гэсэн утгатай. === Гайти {{HAI}} === Гайтийн Тайно/Аравак омгийнхний хэлээр "Уулын нутаг" гэсэн утгатай үг юм. Хиспаниола арлын баруун хэсэгт орших уг нутаг өндөр уулсаар хүрээлэгдсэн байгалийн өвөрмөц тогтоцтой. === {{GMB}} === Мандинкан омгийн "Гамбура" буюу "Каабу голын хаан" гэсэн утгатай үгнээс тус улсын нэршил үүссэн байдаг. Улмаар 1965 онд Их Британиас тусгаар тогтноход одоогийн "Гамби" гэх нэрийг сонгожээ. Гамбра гэх нутгийн нэршил бүр 1455 онд Алвис Кадамосто гэх газарзүйч номонд тэмдэглэсэн байдаг.<ref>Cadamosto, Alvise. ''Mondo Nuovo, Libro de la Prima Navigazione di Luigi di Cadamosto de la Bassa Ethiopia ed Altre Cosa''. Op cit. Montalbado, Francanzano (ed.) ''Paesi Novamente Retrovati et Novo Mondo da Alberico Vesputio Florentino Intitulato''. (Vicenza), 1507. {{it icon}}</ref> Нутгийн иргэдийн дунд түгэн тархсан өөр нэг домгоор бол Португаль хэлний "Гамбио" буюу "худалдаа, арилжаа" гэх үгнээс үүссэн гэдэг. Энэ нь тухайн үедээ Португальчуудын боолын худалдаа явуулдаг гол нутаг байсантай холбоотой. === {{GHA}} === Тус улс 1957 оны гуравдугаар сарын 6-ны өдөр Их Британиас тусгаар тогтноход "Гана" гэх нэрийг албан ёсоор авчээ. Энэ нь Малиан Ганын эзэнт гүрний хааны урд бичигддэг байсан "Дайчдын хаан" гэсэн утгатай цол нэрнээс үндэслэсэн нэр юм. === {{GUA}} === Нахуати омгийнхний хэлээр "Куаутемаллан" буюу "Ой модны нутаг" гэсэн утгатай үгнээс тус улсын нэр үүсчээ. === {{GIN}} === Тус улсын нэр чухам ямар утгатай талаар нэгдсэн ойлголт байхгүй. Харин Португаль хэлний "Гвин" буюу "эрэг, ирмэг" гэх утгатай үгнээс үүссэн байж болно гэдэгтэй ихэнх эрдэмтэд нэгддэг. Яг энэ нэршлээр 1481 онд тус улсыг Португалийн эзлэн түрэмгийлэгчид нэрлэж байсан баримт бий. Өөрөөр Дьенне болон Берберчүүдийн хэлний "гинавен, агинау, агинаоу" буюу "хар", "шатсан" гэх утгатай үгнээс үүссэн гэх хувилбар бий.<ref name="Bovi">Bovill, Edward Wm. ''The Golden Trade of the Moors: West African Kingdoms in the Fourteenth Century''. Weiner (Princeton), 1995.</ref> === {{GNB}} === Нэрний утга учир нь дээр дурдсан Гвиней улсынхтай төстэй. 1973 онд тус улсы Португалиас тусгаар тогтноход энэ нэрийг сонгон хуульчилжээ. === {{GER}} === Нэрний утга учрын талаар олон янзын таамаг байдаг ч түмэнд түгсэн нэг хувилбар бий. Үүгээр бол Сельтик хэлний "гайр" буюу "хөрш" <ref name="OEDgerm">''Oxford English Dictionary''. "Germany".</ref>, "гайрм" буюу "цуст тулаан", "гар" буюу "хашхираан/жад" гэсэн үгнээс үүссэн байх гэсэн таамаг бий. МЭӨ гуравдугаар зуунаас эхлэн Ромын их удирдагч Юлий Цезарь газрын зураг болон албан ёсны баримт бичигт энэ нэрийг ашиглаж, олон нийтэд таниулсан юм. ::'''''Дойчленд''''' Германчууд эх хэлээрээ улсынхаа нэрийг ингэж бичдэг. Энэ нь "Ард түмний нутаг" гэсэн утгатай эртний герман хэлний үг юм. === {{GRE}} === Тус улсын нэрний талаар олон янзын домог яриа бий. Үүнээс дурдвал. Аугаа Гомерын дуулалд "Греа" гэх тосгоны тухай гардаг. Үүнээс үүдэн тус улсын нэр үүссэн гэх домог бий. Уг тосгоны "Греа" гэх үг нь "хөгшин эмэгтэй" гэх утгатай юм байна. Нутгийн иргэдийн дунд тархсан өөр нэг домгоор бол "Керас" буюу "хүндэтгэл хайрлах" гэсэн утгатай ажээ. Энэ нь Аугаа Грекус гэх хамба ламтан тус нутгийг адислан, аравнайлсантай холбоотой юм. ::'''''Хеллас''''' Грекчүүд эх хэлээрээ нутгаа ийн нэрлэдэг. Уг нэршил чухам юунаас сэдэвлэсэн нь тодорхойгүй. Нутгийн иргэдэд тархсан домгоор бол Трой улсын Хеллен хамба ламын нэртэй холбоотой ажээ. === {{GRD}} === Испанийн Гранада мужийн нэрнээс тус улсын нэршил үүсчээ. ==Д== === {{DEN}} === Дани улсын нэр чухам юунаас үүссэн нь тодорхойгүй. Гэвч дараах хоёр ойлголт орчин үе хүртэл ам дамжин яригдаж иржээ. Гэхдээ Прото-Индо-Европ хэлний "дхен" буюу "доор, тэгш тал", "мерек" буюу "хил, ой мод" гэх утгатай үгнээс үүссэн байх боломжтой гэж хэл зүйчид үздэг. Анх энэ талаар Паулус Оросиус гэгч "Тэрс үзэлтнүүдийн эсрэг тэмцсэн долоон түүх" номонд дурдсан нь бий.<ref>Thorpe, B. ''<u>The Life of Alfred The Great</u> Translated from the German of Dr. R. Pauli To Which Is Appended Alfred's Anglo-Saxon Version of Orosius'', p. 253. Bell, 1900.</ref> Нутгийн иргэдийн дунд түгэн тархсан домог нь эрт цагт Данийн нутагт алдар суугаараа мандаж байсан Дан гэх хааны нэрнээс үүссэн ажээ. === {{DMA}} === Аугаа аялагч Кристофер Колумб 1493 оны 11-р сарын 3-ны өдөр тус нутагт анхлан хөл тавьж, улмаар "Ням гаригийн газар нутаг" гэх утгатай "Доминик" гэх испани нэр хайрлажээ. Тухайн үед ням гаригыг гэгээнтнүүдийг дурсах өдөр болгон Испанийн христийн шашинтнууд тэмдэглэдэг байсантай холбоотой. Гэхдээ түүхчид бас өөр тайлбар хийдэг. Учир нь Кристофер Колумб өөрийн төрсөн эцэг Доменежогийн нэрээр нэрлэсэн байж болох талтай юм. === {{DOM}} === Тус улсын нэршлийн тухайд дээр дурдсан Доминик улстай тун төстэй домог ярианууд өдийг хүртэл ам дамжин яригдаж иржээ. Гэвч Кристофер Колумби Гэгээн Доминикийн өдөр буюу наймдугаар сарын 4-ний өдөр <ref>Partido Revolucionario Dominicano. "{{Webarchiv|url=http://www.prd.org.do/ciudad/leyenda-e-historia-envuelven-la-fundaci%C3%B3n-de-santo-domingo |wayback=20120701044753 |text=Leyenda e Historia Envuelven la Fundación de Santo Domingo |archiv-bot=2026-02-07 13:50:57 InternetArchiveBot }} {{webarchive |url=https://web.archive.org/web/20120701044753/http://www.prd.org.do/ciudad/leyenda-e-historia-envuelven-la-fundaci%C3%B3n-de-santo-domingo |date=1 July 2012 }}''. Accessed 18 October 2011. {{es icon}}</ref> тус улсыг нээсэнтэй холбогдуулж Испаниар "Гэгээн Доминикийн газар нутаг" гэх нэр хайрласан гэдэг домогтой юм. === {{TLS}} === Португаль хэлний "Дорнын дорно орших арал" гэсэн үгнээс тус улсын нэр үүсчээ. Малай хэлэнд "Тимур" гэдэг нь "дорно", "зүүн" гэсэн утгыг агуулдаг байна. ==Е== === {{EGY}} === [[File:Kmt obelisk.jpg|thumb|200px|Египетээр ''Km.t'' гэж бичсэн Луксорын чулуун багана. Франц улс Парис хот]] фараонуудын үеийн эртний Египетийн хэлээр "Ка болон Птагын эх орон" гэсэн утгатай үг юм. Үүнийг Грек, Латин хэлэнд "Айжиптос" гэж буулгасан нь тус улсын нэр болжээ. Ка болон Птах нь эртний Египетийн хоёр том бурхан бөгөөд "Птах" гэдэг нь "нээгч, илрүүлэгч" гэсэн утгатай Египет үг юм. Харин Грек улсын ардын домог боох "Страбо"-д "Аханоу гиптиос" буюу "Аахены доох нь орших нутаг" гэсэн утгатай грек үг ажээ. ::'''''Миср/Маср''''' Египетчүүд эх хэлээрээ улсаа ийн нэрлэдэг. Энэ нь Араб хэлээр "хот" гэсэн утгатай юм. ==Ж== === {{DJI}} === Тус улсын нэрний талаар тодорхой ойлголт байхгүй. Гэвч өнөө цаг үед "Техути/Тот бурханы нутаг" гэсэн утгатай нутгийн иргэдийн нэрнээс үүссэн гэх үзэл давамгайлж байна. Хачирхалтай нь Техути гэдэг нь эртний Египетийн сарны бурхан юм. ==З== === {{ZAM}} === "Замбези голын нутаг" гэсэн утгатай Африк үг. Замбези нь тус улсын зүүн хэсэгт орших бөгөөд Зимбабве улсаас тусгаарлаж байдаг нэг ёсны хил юм. Замбези нь Замби, Ангол, Намиб, Ботсвана, Зимбабве, Мозамбик улсуудыг дамнан урсдаг 2,574 км урт гол юм байна. === {{ZIM}} === Шона омгийнхний хэлээр "Жимба-же-мабве" буюу "Чулуун гэр" гэсэн утгатай үгнээр уг нэршил үүссэн байна. Шона омгийн суут бүтээл болох чулуун хэрэм, орд харшнуудаас Зимбабве гэх нэр үүсчээ. ==И== === {{ISR}} === Израйль гэдэг нь "Бурхантай хамт тулалдах" гэсэн утгатай Хебрю үг юм. Энэ нь Библийн сударт гардаг гэгээн Йаковын хэсгээр үүдсэн нэршил ажээ. Ерөөс бурхантай хамт ялах, хамт байх гэсэн санаагаар дээрх нэрийг сонгосон байна. === {{IDN}} === "Энэтхэгийн арлууд" гэсэн утгатай Грек үгнээс тус улсын нэр үүсчээ. Үүнээс хойш ялангуяа 19-р зууны дунд үеэс эхлэн "Дорнод Энэтхэг" гэж англи хэлэнд тэмдэглэх болсон юм. === {{JOR}} === "Йордан голынхон" гэсэн үгнээс тус улсын нэр үүссэн байна. Харин Йордан голын нэрийг Хебрю, Канаан хэлний "ирд" буюу "Сөнөсөн тэнгисийн доох нь талд" гэсэн үгнээс тус улсын нэр үүссэн гэж үздэг. Тус улс Йордан голын зүүн эрэг дагуу оршдог юм. === {{IRQ}} === "Эрак" буюу "Доод орших газар" гэсэн утгатай Перси хэлнээс тус улсын нэр үүссэн байна. Мөн түүнчлэн Эвфрат мөрний бэлчирт орших "Эрэк/Урук" гэсэн хотын нэрнээс үүсэлтэй гэсэн тайлбар ч байдаг. === {{IRN}} === "Арянчуудын нутаг" гэсэн утгатай үгнээс тус улсын нэр гаралтай. "Аря" гэдэг нь Прото-Индо-Европ хэлээр "угсаатан", "чөлөөт" гэсэн утгыг илэрхийлдэг байна. === {{IRL}} === Ирландчууд өөрсдийгөө "Эйре" гэж нэрлэдэг бөгөөд "Эйречүүдийн нутаг гэсэн утгатай Ирланд үгнээс тус улсын нэр үүссэн байна. "Эйре" гэх үг нь Сельтик хэлний "ивериу" буюу "үржил шим" гэсэн утгыг илэрхийлдэг бөгөөд нийлээд "Үржил шимт нутаг" гэх утгыг илэрхийлнэ. Түүнчлэн "Төмрийн нутаг" гэж нэрлэх саналтай эрдэмтэд ч бий. === {{ESP}} === Латин хэлний Хиспаниа гэх үгнээс тус улсын нэршил үүсчээ. Хиспаниа нь "И-сепаним" буюу "туулай" гэх утгатай Пуник үг юм. Латин хэлэнд нэвтрэхтэй буруу дуудагдаж Хиспаниа болсон гэдэг. Үүнээс үзвэл "Туулайнуудын нутаг" гэсэн утгатай Араб үг болж байгаа юм. === {{ISL}} === Хуучин Норс хэлний "исс" буюу "мөс" гэсэн утгатай үгнээс гаралтай "Мөсөн нутаг" гэх утга илэрхийлдэг үгнээс тус улсын нэр үүссэн байна. Хуучныг судлаач Адам Рудерфорд болон зохиолч Эйнар Палссон нар "Сельтикийн өв уламжлал" номондоо "ис-ланд" буюу "Исүс" болон "Айсис" охин тэнгэрийн өлгий нутаг гэсэн утгатай гэж тайлбарласан нь бий.<ref>{{cite book|title=Arfur Kelta|year=1981|publisher=Mímir|location=Reykjavík|page=36|author=Einar Pálsson|accessdate=14 November 2013|language=Icelandic}}</ref> === {{ITA}} === Италийн домгийн баатар Италусын нэрнээс үүссэн гэх олонд алдаршсан домог бий. Түүнчлэн эртний Грек хэлний "италос" буюу "бух" гэсэн үгнээс үүсэлтэй гэж үзэх түүхчид ч байдаг. Мөн латин хэлний "витулус" буюу "тугал" гэх үгнээс тус улсын нэр үүссэн байх магадлалтай. Гэвч италичууд "тугал" гэсэн тодотголтой үг биш гэдэгт одоо хэр нь итгэлтэй байдаг. Ихэнх Италичууд Италус гэх домгийн баатраас үүдэлтэй нэр гэдэгт орчин цагт итгэх болжээ. === {{UK}} === Дундад зууны Латин хэлний "Британниа Майор" буюу "Их Британи" гэсэн утгатай үгнээс уг нэршил үүсчээ. Анх энэ нэршлийг Жефри гэх зохиолч өөрийн номондоо дурдсан байдаг. "Британи" гэдэг нь Уэльс хэлний "Претани" буюу "будагдсан хүмүүс" гэсэн үгнээс үүсэлтэй ажээ. Сельтик болон Викингүүдийн үед Их Британийн нутагт амьдарч байсан хүмүүс биендээ шивээс хийж, янз бүрийн өнгөөр будах нь элбэг байснаас дээрх нэршил үүссэн байна. ::'''''Нэгдсэн хаант улс''''' Энэ нь Их Британи, Умард Ирландын нэгдсэн хаант улс гэх үгний товчлол юм. 1927 оноос эхлэн албан ёсны баримт бичигт дээрх нэршлийг ашиглах болсон байна. ::'''''Албион''''' Грек хэлний "Албиво" буюу Латин хэлээр "Альба" буюу "цагаан" гэх үгнээс уг нэршил үүсчээ. Доверийн цагаан эргийг харсан уран зохиолчид дээрх нэрийг өгсөн байх магадлалтай. ==Й== === {{YEM}} === Тус улсын нэрний талаар нэгдсэн тодорхойлолт байдаггүй. Харин Араб хэлний "Имн" буюу "өмнөд" "Йамин" буюу "баруун тал" гэх үгнээс үүссэн гэсэн домог бий.<ref>Many [[Semitic languages]], including [[Arabic language|Arabic]] and [[Hebrew language|Hebrew]], preserve a system with south on the "right" and north on the "left"</ref> Зарим судлаачид "Юмн" буюу "аз жаргал" гэсэн утга илэрхийлдэг гэж үздэг. ==К== === {{CPV}} === Португаль хэлний Кабо Верде буюу "Ногоон хошуу" гэх үгнээс тус улсын нэршил үүсчээ. 1444 онд энэ газар нутгийг илрүүлэхэд бүх юм нь ногооч харагдаж байсан тул аялагч, эзлэн түрэмгийлэгчид ийм нэр өгчээ. === Казахстан {{KAZ}} === Амальгам хэлээр "Казахуудын өлгий нутаг" гэсэн утгатай үгнээс тус улсын нэршил үүсчээ. "казак" гэдэг нь "нүүдэлчин", "чөлөөт" гэсэн утгыг илэрхийлдэг бөгөөд "стан" гэдэг нь персээр "нутаг" гэсэн утгыг илэрхийлдэг байна. === {{CAM}} === Санскрит хэлний "камания бхожа" буюу "Сайныг мөрөөдөгсдийн өлгий" гэх үгнээс тус улсын нэр үүсчээ.<ref>Law, B.C. ''Some Ksatriya Tribes of Ancient India'', p. 233. 1975</ref> Түүнчлэн эрт цагт төвд, энэтхэг, пакистан, вьетнам, лаосын нутгийг хамран оршиж байсан Сваямбува Камбу гэх нутаг дэвсгэр, Хинди соёлын томоохон төвөөс нэр нь үүссэн гэж үзэх теологичид бий..<ref>Casey, Robert. ''Four Faces of Siva'', pp. 88–100. Bobbs-Merrill Company (Indianapolis), 1934.</ref><ref>George Coedes. ''Inscriptions du Cambodge'', II, pp. 10 & 155. {{fr icon}}</ref> Others suppose it to be an exonym derived from [[Old Persian]] ''Kambaujiya'' ("weak") or the cognate [[Avestan]] ''Kambishta'' ("the least")<ref>Harmatta, J. Op. cit. [disapprovingly] in ''Achaemenid History'', 13, pp. 110–111. PF 302 and PFNN 2350.</ref> Орон нутгийнхан тэр бүр таалан хүлээж аваад байдаггүй өөр тайлбар байдаг нь Перси хэлний "Камбаужия" буюу "үлбэгэр", Авестан хэлний "Камбишта" буюу "өчүүхэн" гэсэн утгатай үгнээс ч үүссэн гэх домог. === {{CMR}} === Герман хэлний "Камерун", Франц хэлний "Камероун" буюу "сам хорхой" гэх үгнээс тус улсын нэр үүсчээ. Энэ нь тус улсад урсдаг Вури голтой холбоотой нэр юм. Тус улсад ирсэн европынхон эрэг дагуу "сам хорхой" ихээр барьж байсантай энэ нэршил холбоотой.<ref name="MLW">{{cite book |url=http://nlbif.eti.uva.nl/bis/lobsters.php?menuentry=soorten&id=73 |chapter=''Callianassa turnerana'' |title=FAO Species Catalogue, Vol. 13. Marine Lobsters of the World |author=Lipke B. Holthuis |author-link=Lipke Holthuis |publisher=[[Food and Agriculture Organization]] |year=1991 |isbn=92-5-103027-8 |series=FAO Fisheries Synopsis No. 125 |access-date=2017-07-20 |archive-date=2011-07-24 |archive-url=https://web.archive.org/web/20110724172129/http://nlbif.eti.uva.nl/bis/lobsters.php?menuentry=soorten&id=73 |url-status=dead }}</ref> === {{CAN}} === Тус улсын уугуул иргэд болох Ироко омгийнхний "Канада" буюу "Тосгон" гэх үгнээс Канад улсын нэр үүсчээ.<ref>{{cite web|title=Origin of the Name, Canada|url=http://www.pch.gc.ca/pgm/ceem-cced/symbl/o5-eng.cfm|publisher=Canadian Heritage|year=2008|accessdate=23 May 2011|archive-date=27 Долдугаар сар 2013|archive-url=https://web.archive.org/web/20130727225559/http://www.pch.gc.ca/pgm/ceem-cced/symbl/o5-eng.cfm|url-status=dead}}</ref> Британи, Францын дарангуйллын үеэс Канад гэж нэрлэсээр өдийг хүрсэн юм. Нутгийнхан дунд тархсан өөр нэг домгоор бол Испани, Португалийн эзлэн түрэмгийлэгчид алт, мөнгө хайж ирсэн боловч юуг ч эс олжээ. Чухамдаа үүнээс болж Испаничууд "ака", Португальчууд "ка-нада" гэж хэлээд буцсан гэдэг. Энэ нь "юу ч алга" гэх утгыг илэрхийлдэг юм байна. === {{QAT}} === Эртний Зубара улсын Катари тосгоны нэрнээс тус улсын одоогийн нэршил үүссэн гэж олонх катарчууд үзэх болжээ. Грекийн алдарт Птоломейн үеийн газрын зурагт "Катари" гэх үгийг ашигласан байдаг. Англи хэлтнүүд "Каттер" буюу "зүсэгч, таслагч, сийлбэрчин" гэж ойлгож, дууддаг боловч энэ нь тийм утгыг огтоос илэрхийлдэггүй билээ. === {{KEN}} === Кени уулын нэрнээс тус улсын нэршил үүссэн байна. Кени гэдэг нь Кикую омгийн хэлээр "Кере Ниага" буюу "Цагаан хайрхан" гэх утгатай үг ажээ. Мөн тус омгийнхний "Кирима Нгай" буюу "Бурхадын орших хайрхан" гэх утгатай байж магадгүй гэж Германы эрдэмтэд үздэг юм. === {{CYP}} === Тус улсын нэр чухам ямар утга агуулдаг болох нь тодорхойгүй. Олон нийтэд түгсэн домгоор бол Латин болон Грек хэлний "зэс" гэх утгатай үгнээс үүссэн ажээ.<ref>Fisher, Fred H. ''Cyprus: Our New Colony And What We Know About It'', pp. 13–14. Geo. Routledge & Sons (London), 1878.</ref> Шумерийн "Кубар" буюу "хүрэл" гэх үгнээс ч үүссэн байж болох талтай. Өөр нэгэн домгоор бол Грекийн "кипариссос" буюу "агар задан мод" <ref>{{cite web|url=http://www.etymonline.com/index.php?term=Cyprus |title=Online Etymology Dictionary |publisher=Etymonline.com |date= |accessdate=19 September 2011}}</ref> эсвэл "кипрос" буюу "улаан хүрэн" гэх үгнээс үүссэн гэж үздэг байна. === Киргизстан {{KGZ}} === Турк хэлний "кирк" буюу "40" гэсэн тооны нэрнээс үүдсэн "40 овгийнхний нутаг" гэсэн утгыг тус улсын нэр илэрхийлдэг байна. === {{KIR}} === Британийн аялагч Томас Гильберт тус арлыг нээсэнтэй холбогдуулан уугуул иргэд түүний нэрийг "Кирибат" гэж дуудсанаас үүдэн энэ нэршил үүссэн байна. === {{COL}} === Алдарт аялагч Кристофер Колумбийн нэрнээс үүдэн "Колумбийн газар нутаг" гэсэн утгатай үг юм. 1819 онд алдарт тэмцэгч Симон Боливар уг нэрийг хайрлаж, улмаар улсын албан ёсны нэр болгожээ. 1863 онд энэ нэрийг албан ёсоор соёрхон батласан юм.<ref>{{cite web|author=Carlos Restrepo Piedrahita|url=http://www.lablaa.org/blaavirtual/revistas/credencial/febrero1992/febrero2.htm|title=El nombre "Colombia", El único país que lleva el nombre del Descubrimiento|work=Revista Credencial|date=February 1992|accessdate=29 February 2008|language=es|archive-date=5 Нэгдүгээр сар 2008|archive-url=https://web.archive.org/web/20080105031144/http://www.lablaa.org/blaavirtual/revistas/credencial/febrero1992/febrero2.htm|url-status=dead}}</ref> === {{COM}} === Араб хэлний "Камар" буюу "Сар" гэсэн үгнээс тус улсын нэршил үүсчээ. === {{CGO}} === Францын дарангуйллаас ангижирч тусгаар тогтносон улс болсон 1960 онд Конго голын нэрнээс санаа аван ийнхүү нэрлэх болжээ. "Конго" гэсэн үг нь Баконго омгийнхний хэлээр "анчид" гэсэн утгыг илэрхийлдэг юм байна.<ref>Bentley, Wm. Holman. ''Pioneering on the Congo''. Fleming H. Revell Co., 1900.{{Verify source|date=October 2011}}</ref> Конго гол нь Ангол, Бурунди, Камерун, Төв Африк, хоёр Конго, Руанда, Танзани, Замби улсыг дамнан урсдаг, 4,700 км үргэлжилсэн гол юм. === {{COD}} === Улстөрийн үзэл суртлын хувьд хоёр хуваагдсан улс учир нэрний утгын тухайтад Бүгд найрамдах Конго улстай адилхан. === {{KOS}} === Серби хэлний "Кос" буюу "хар шувуу", "ово" буюу "нутаг" гэсэн утгтай үгнээс тус улсын нэршил үүсчээ. === {{CRC}} === Испани хэлний "Баян эрэг" гэсэн утгатай үгнээс тус улсын нэршил үүсчээ. Аугаа аялагч Кристофер Колумб энэ газар анхлан хөл тавьсан 1502 онд "Коста дель Оро" буюу "Алтан эрэг" гэж уулга алдаж байсан удаатай. === {{CIV}} === Франц хэлний "Зааны ясан эрэг" гэсэн үгнээс тус улсын нэршил үүссэн байна. Францын дарангуйллын үед тус улс зааны ясны худалдааны гол түшиц газар байснаас үүдэн дээрх нэршил гарсан байна. Зарим улсууд тус улсыг "Алтан эрэг", "Боолын эрэг" гэх мэт янз бүрээр нэрлэдэг. === {{CUB}} === Тус улсын нэр чухам ямар утга учиртай болох нь өнөө хэр нь тодорхойгүй байна. Гэвч Тайно омгийнхний "кубао" буюу "үржил шимт нутаг" <ref>Carrada, Alfred. ''The Dictionary of the Taino Language'', "{{Webarchiv|url=http://www.alfredcarrada.org/notes8.html |wayback=20090219192148 |text=Plate 8 |archiv-bot=2026-01-18 03:30:41 InternetArchiveBot }}".{{Unreliable source?|date=September 2009}}</ref> "коабана" буюу "сайхан нутаг" <ref>[http://members.dandy.net/~orocobix/terms1.htm Taino Indigenous Peoples of the Caribbean Dictionary] {{webarchive|url=https://web.archive.org/web/20080430163856/http://members.dandy.net/~orocobix/terms1.htm |date=30 April 2008 }}".{{Unreliable source?|date=June 2009}}</ref> гэсэн үгнээс гаралтай гэж үзэх тайлбар бий. Өөр нэг тайлбараар бол аугаа аялагч Кристофер Колумб Испанийн Женоа мужийн "Куба" гэх тосгоны нэрнээс санаа авч ийнхүү нэрлэсэн гэж үздэг байна. <ref>Barreto, Augusto Mascarenhas. ''O Português Cristóvão Colombo: Agente Secreto do Rei Dom João II.'' Lisbon, 1988. Translated edition: ''The Portuguese Columbus: Secret Agent of King John&nbsp;II''. Palgrave Macmillan, {{ISBN|0-333-56315-8}}.</ref><ref>Da Silva, Manuel L. and Silvia J. ''Christopher Columbus was Portuguese'', pp. 396 ff. Express Printing (Fall River), 2008. {{ISBN|978-1-60702-824-6}}.</ref> === {{KUW}} === Араб хэлний "кут", "коут" буюу "усны ойролцоо барьсан цайз" гэсэн утга үгнээс тус улсын нэршил үүссэн байна. ==Л== === {{LAO}} === Энэтхэг хэлний "лава" гэх үгнээс тус улсын нэршил үүсчээ. Лава гэдэг Лахорын домгоор Рама бурханы ихэр хүүхдийн нэгнийх нь нэр юм. Үүнээс гадна Хятад хэлний "Лан Шанг" буюу "сая, сая зааны өлгий нутаг" гэх утгатай үгнээс үүссэн байж болох юм. === {{LVA}} === Тус улсын нэр нь Балтын орнуудын хэлээр "Лиет" буюу "нэгдсэн, бэхжих" гэх үгнээс үүссэн гэж үзэх судлаачид бий. Мөн түүнчлэн Латгалиансуудын овгийн нэрнээс үүссэн гэж үзэх сүүлийн үед давамгайлах болжээ. === {{LSO}} === Сесото омгийнхний хэлээр "Басоточуудын эх орон" гэсэн утгатай үг юм. <ref>{{cite book|title=No Place Left to Bury the Dead|first=Nicole|last=Itano|publisher=Simon and Schuster|year=2007|page=314|isbn=0-7432-7095-9}}</ref> Басото гэдэг нь тус улсад амьдарч байсан эртний овог аймаг бөгөөд "восото" буюу "хүн төрөлхтөн" гэсэн утгыг илэрхийлдэг байна. <ref>Merriam-Webster Online. "[http://www.merriam-webster.com/dictionary/basotho Basotho]". Retrieved 11 May 2012.</ref> === {{LBR}} === Латин хэлний "Либер" буюу "эрх чөлөө" гэх үгнээс тус улсын нэр үүсчээ. АНУ боолчилсон хар арьстнуудад тусгайлан газар заан өгч улс болгон суурьшуулахдаа энэ нэрийг өгсөн байна. === {{LIB}} === Араб хэлний "лебнан" буюу "цагаан", "лебнен" буюу "сүү" гэх үгнээс тус улсын нэршил үүсчээ. Үүнээс гадна Ливан уулын нэрнээс үүдсэн нэр байж болно гэж судлаачид үздэг. Нутгийнхний хэлээр "ливан" гэдэг нь "Бурханы зүрх" гэсэн утгыг илэрхийлдэг байна. МЭӨ 2900 онд зохиогдсон "Гигламешийн судар" бичигт Эбла гэж дурдагдсан бол Библийн сударт Эблагын тухай 71 удаа дурдагддаг юм. === {{LBY}} === Тус улсын нэрний утга учир тухайлан тодорхой болоогүй. Гэхдээ Египетийн газар нутагт хамаардаг байсан "Ливийн цөл"-өөс тус улсын нэршил үүссэн гэж ихэнх судлаачид үздэг. Эртний Берберчүүдийн хэлээр "Либианс" буюу "цөлийн баруун тал" гэсэн утгатай ч гэж зарим эрдэмтэд үздэг байна. === {{LTU}} === Нэрний утга учрын талаар олон янзын таамаг, тайлбар бий. Үүнээс дурдвал Балтын орнууд эрт цагт нэгдэн нэг эзэнт гүрэн байснаас үүдэн "лиети" буюу "нэгдсэн, бэхжих" гэсэн утгай үгнээс тус улсын нэршил үүссэн байна. Түүнчлэн Грек хэлний "а-лей-сон" буюу "Аяга", Тохари хэлний "лиям" буюу "нуур" эртний слав хэлний "лияти" буюу "аадар бороо" гэх үгнүүдээс үүссэн байх гэсэн таамаг бий. Литвачуудийн итгэдэгээр бол литва хэлний "лиетус" буюу "хур элбэгтэй нутаг" гэсэн утгатай юм байна. === {{LIE}} === Герман хэлний "гялтганасан чулуу" гэсэн утгатай үгнээс тус улсын нэршил үүсчээ. Ариун Ромын эзэнт гүрний үед өөрөөр нэрлэж байсан ч Ариун Ромын эзэнт гүрэн задран унасны дараа энэ нэрээ сэргээн авсан байна. === {{LUX}} === Герман хэлний "люцл" буюу "жижиг", "бург" буюу "шилтгээн" гэх утгатай үгнээс тус улсын нэршил үүсчээ. Эдгээр үгнүүд нийлээд "Жижиг шилтгээн" гэх утгыг илэрхийлнэ. ==М== === {{MRI}} === Нэрний утга учрын тухайтад дээр дурдсан Мауритани улсын утгатай тун төстэй. Түүнээс гадна эртний Голландын эзэнт гүрний Маурис Нассау гэх эзэн хааны нэрнээс үүссэн гэж зарим судлаачид таамагладаг. === {{MRT}} === Латин хэлний "Моорчуудын нутаг" гэх үгнээс тус улсын одоогийн нэршил үүсчээ. Моор гэдэг нь эртний араб үндэстнүүдийн нэг юм. === {{MAD}} === Малагаси омгийнхний хэлээр "Малагасичуудын эх орон" гэсэн үгнээс тус улсын нэршил үүсчээ. Малагаси гэдэг нь чухам ямар үг болох талаар өнөө цаг үед ямар ч тайлбар ирээгүй байна. Харин Венецийн худалдаачин Марко Поло аялалынхаа үеэр тус улсын нэрийг буруу дуудсанаас болж "Мадагаскар" гэх улсын нэр бий болжээ. Чухам түүний буруу дуудсан нэрнээс болж газрын зурагт энэ нэрээр тэмдэглэх болсон байна. === {{MKD}} === Грек хэлний "Македовиа" буюу "хязгаар нутаг, дараагийн" гэсэн үгнээс тус улсын нэршил үүсчээ.<ref>[http://www.perseus.tufts.edu/cgi-bin/ptext?doc=Perseus%3Atext%3A1999.04.0057%3Aentry%3D%2364599 Μακεδονία], Henry George Liddell, Robert Scott, ''A Greek–English Lexicon'', on Perseus</ref><ref>[http://www.etymonline.com/index.php?term=Macedonia Macedonia], Online Etymology Dictionary</ref> Түүнээс гадна Грек хэлний "Македнос" буюу "өндөр, нарийхан" гэх үгнээс үүссэн гэх тайлбар бий. <ref>[http://www.perseus.tufts.edu/cgi-bin/ptext?doc=Perseus%3Atext%3A1999.04.0057%3Aentry%3D%2364596 μακεδνός], Henry George Liddell, Robert Scott, ''A Greek–English Lexicon'', on Perseus</ref> === {{MWI}} === Уугуул Малавичуудын хэлээр "оргилсон их усан" гэх утгатай үгнээс тус улсын нэр үүсчээ. Түүнээс гадна Малави нуурын нэрнээс үүссэн байх гэсэн таамаг бий. Малави нуур нь 560 км урт, 75 км өргөн 706 метрийн гүн, Малави, Мозамбик, Танзани улсуудыг дамнан оршдог нуур юм. === {{MAS}} === Малайн хойгын нэрнээс тус улсын нэр үүссэн байх гэдэгт ихэнх түүхч, судлаачид итгэдэг. Чухамдаа эртний Энэтхэгийн худалдаачид энэ хойгоор дамжин олон арван төрлийн худалдаа хийдэг байсан түүх бий. Малай хэлний "мала" буюу "уулс" гэсэн үгнээс тус хойгын нэр үүссэн гэж үзэх эрдэмтэд бий. Түүнчлэн япон, малай хэлний "мелаю", "млаю" буюу "шургуу ажиллагсдын өлгий нутаг" гэсэн утгатай үгнээс үүссэн гэх домог бий. Энэ хоёр домог орчин цагт хамгийн элбэг тархжээ. === {{MDV}} === Санскрит хэлний "маладвипа" буюу "арлуудын цэцгэн титэм" гэсэн үгнээс тус улсын нэр үүсчээ. Түүнчлэн малай хэлний "мала" буюу "уулс", санскрит хэлний "дива" буюу "арал" гэсэн үгнээс үүдсэн "Уулсын арал" гэх утгатай гэсэн өөр нэг домог ч бий. === {{MLI}} === Эртний Баруун Африк хэлний "мали" буюу "усны үхэр" гэх үгнээс тус улсын нэршил үүссэн байна. === {{MLT}} === Тус улсад эрт цагт Грек болон Финикүүдийн соёл холилдож байснаас шалтгаалан дараах хоёр утгаар тайлбарлагддаг. <ref name="ndmh">{{cite news|url=http://www.doi.gov.mt/EN/islands/dates.asp|publisher=Department of Information – Maltese Government|title=Notable dates in Malta's history|date=6 February 2008|access-date=21 Долдугаар сар 2017|archive-date=25 Арван нэгдүгээр сар 2009|archive-url=https://web.archive.org/web/20091125021207/http://www.doi.gov.mt/EN/islands/dates.asp|url-status=dead}}</ref> Грек хэлний "мелита" буюу "зөгийн бал" гэсэн үгнээс тус улсын одоогийн нэршил үүссэн гэх домог бий. Византийн эзэнт гүрэн аль 395 оноос эхлэн энэ нэрээр газрын зурагт тэмдэглэсэн байна.<ref name="ndmh"/><ref>{{cite news|url=http://www.maltatoday.com.mt/2003/06/29/l7.html |publisher=Malta Today |title=Controversy over unique Maltese bee population |date=6 February 2008 |deadurl=yes |archiveurl=https://web.archive.org/web/20120319221059/http://www.maltatoday.com.mt/2003/06/29/l7.html |archivedate=19 March 2012 |df= }}</ref> Финикчүүдийн "малет" буюу "диваажин" гэх үгнээс үүссэн гэх өөр нэг хувилбар бас бий.<ref>{{cite book| last =Pickles| first =Tim| title =Malta 1565: Last Battle of the Crusades| publisher =Osprey Publishing| url =https://books.google.com/books?id=0LuvbRQ78sIC&pg=PA11&lpg=PA11&dq=Maleth+Malta+haven&source=web&ots=PGO2OF9Y9I&sig=rcodiMbexlDy5YwMXhelH7zEYyw| isbn =978-1-85532-603-3}}{{Dead link|date=Аравдугаар сар 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> === {{MAR}} === Эртний Бербер хэлний "Мур Акуш" буюу "Бурхадын нутаг" гэсэн утгай үгнээс тус улсын одоогийн нэршил үүсчээ. === {{MHL}} === Британийн нэрт аялагч, ахмад Жон Маршаллын нэрээр тус улсыг нэрлэжээ. === {{MEX}} === Эртний Нахуати омгийнхний хэлээр "нар" гэсэн үгнээс тус улсын одоогийн нэршил үүсчээ. Түүнээс гадна уугуул мексикчүүдийн хаан "Мексихтили" хааны нэрнээс ч үүссэн гэж үзэх эрдэмтэд бий. Нахуати омгийн "метцтий" буюу "сар", "зиктий" буюу "гол" гэсэн үгнээс үүссэн гэх өөр нэг таамаг байдаг. Одоогийн Мексикчүүдийн итгэдэг өөр нэг домог бол эртний Ацтекын нийслэл "Мекихко" гэдэг байснаас үүдэн гарсан гэх домог юм. === {{FSM}} === Грек хэлний "микро" буюу "жижиг", "несос" буюу "арал" гэх үгнээс үүдсэн "жижиг арлууд" гэх үгнээс тус улсын одоогийн нэршил үүссэн байна. === {{MDA}} === Эртний Готик хэлний "мулда" буюу "шороо", "шавар" гэх үгнээс тус улсын нэршил үүсчээ. Түүнчлэн Румыньд орших Молдав голоос тус улсын нэр үүссэн гэж үздэг. Румыньчуудын дунд тархсан домгийн дүрээс одоогийн нэр үүссэн гэх өөр нэг домог бий. Энэ домгоор бол Драгос Вода гэх залуу баатар эр нутгийн догшин сахиус, ад зэтгэрийн амьтадыг дарахаар нэгэн өдөр анд гарчээ. Тэр уг ан хийхдээ эр, эм хоёр нохой дагуулж явжээ. Молда гэх эм нохой нь ямар ч догшин амьтадыг номхоруулж чадах шидтэй бол Мадыш гэх эр нохой нь ад зэтгэрийн ямар ч амьтныг даран сөнөөх чадалтай юм байна. Үүнээс үүдэн тус улсын одоогийн нэр болох "Молдав" нэр үүссэн ажээ. === {{MON}} === Грек хэлний "Ганцаар амьдрах" гэсэн үгнээс тус улсын нэр үүссэн байна. Эртний Грекчүүд тус улсыг МЭӨ 6-р зуунд эзлэн захирч байсан гэх домог бий. === {{MGL}} === "Монголчуудын нутаг" гэх үгнээс одоогийн нэршил үүсчээ. Харин Монгол гэдэг нь уулын хажуугаар урсах "Мон" нэрт голоос одоогийн нэр үүссэн гэж үзэх өөр нэг домог бий. Түүнчлэн "Мөнх" гэх үгнээс үүссэн байж магадгүй гэж Монгол улсын их сургуулийн Түүх, нийгмийн ухааны сургуулиас гаргасан номонд дурджээ. <ref>{{cite book |author=[[National University of Mongolia]], School of Social Sciences, Department of History | title = Монгол улсын түүх | trans_title = History of Mongolia | year = 1999 | publisher = Admon | location = | language = Mongolian | isbn = | pages = 67–69 | chapter = 2. Хүний үүсэл, Монголчуудын үүсэл гарвал | trans_chapter = 2. Origins of Humanity; Origins of the Mongols }}</ref> Мөн монгол гэдэг нь "Ба" гэх эртний монгол үгнээс гаралтай бөгөөд "Ба" гэдэг нь бид гэсэн утгатай болно. Энэхүү "Ба" Гэдэг үгэн дээр олон тооны "-ууд" нөхцлийг залгаснаар "Багууд" буюу "Бангууд" гэмээн их инхлэг үсэгтэй бичдэг. Монгол хэлнээ Б болон М гийгүүлэгч сэлгэдэг. •Үүний жишээ болгож НУЛМИС (ᠨᠢᠯᠪᠤᠰᠤ) гэс үг бий. Ийн үсэг сэлгэн явсаар Мангууд буюу Мангул, Монгол гэсэн үг бий болсон гэсэн тайлбар бий. Мөнтүүнчлэн бидний өвөг дээдэс өөрсдийгөө Бида улус буюу Бидний улс гэсэн байдлаар нэрлэдэг байсан нь хачирхалтай хэрэг билээ. === {{MNE}} === Итали хэлний Венец аялагаар "Хар уул" гэсэн утгатай үгнээс тус улсын одоогийн нэршил үүсчээ. ::'''''Чёрна Гора/Црна Гора''''' Монтенегрочууд өөрийн хэлээр улсаа ийн нэрлэдэг. Орос болон Монтенегро дуудлагаар мөн л "Хар уул" гэх утгыг илэрхийлнэ. === {{MOZ}} === Эртний арабын гарамгай удирдагч болох Шейх Мусса бен Мбикигийн нэрнээс тус улсын одоогийн нэршил үүсчээ. Нэг ёсондоо Мозамбик арлын нэрнээс одоогийн нэршил нь үүссэн байна. === {{MYA}} === Эртний Бирм хэлний "мьян" буюу "хурдан", "мар" буюу "хүчтэй" гэсэн үгнээс тус улсын одоогийн нэршил үүссэн гэдэгт ард иргэд нь итгэдэг. Гэвч эртний Миндон улсын харьяанд байсан албатуудыг "Мьянмачууд" гэж нэрлэдэг байснаас шалтгаалан одоогийн нэрийг сонгосон гэж эрдэмтэд үздэг юм.<ref name="thantmyintu2001">{{cite book | first=Thant | last=Myint-U | year=2001 | title=The Making of Modern Burma | isbn=0-521-79914-7 | publisher=Cambridge Univ. Press | location=Cambridge}}</ref> ==Н== === {{NAM}} === Нама хэлний "Намиб" буюу "Юу ч үгүй газар орон" гэсэн утгатай үгнээс үүсчээ. Намибын цөл энэ нутагт оршдог учир улсын нэр үүнээс үүссэн байна. === {{NRU}} === Науру омгийнхний хэлээр "Анаоэро" буюу "Би далайн эрэг явлаа" гэсэн үгнээс тус улсын нэр үүсэн бий болжээ. Герман хэлэнд энэ улсыг "Наводо" эсвэл "Онаверо" гэж тэмдэглэж байсан гэдэг. === {{NIG}} === Нигер голын нэрнээс тус улсын нэр үүсчээ. Нигер гэдэг нь Туарег хэлний "негхиррэн" буюу "урсаж буй ус" гэсэн утгыг илэрхийлдэг юм байна. Мөн нигер хэлний "Ни Гир" буюу "Гир мөрөн" гэсэн үгнээс үүсэлтэй ажээ.<ref>{{cite book | title =Atlas A-Z | publisher =Dorling Kindersley | year =2004 | location =New York City | page =289 }}</ref> Латин хэлт орнууд буюу барууныхан латин хэлний "нигер" буюу "хар арьст" гэсэн үгнээс үүсэлтэй гэдэгт итгэдэг. Гэвч энэ нь арьс өнгөөр ялгаварласан үзлээс өөр юу ч биш юм. === {{NGR}} === Нэрний утга учрын тухайд дээр дурдсан Нигер улстай ижилхэн юм. === {{NED}} === Голланд хэлээр "Доод нутаг" гэсэн утгатай үгнээс тус улсын нэр үүссэн байна. <ref>see:[http://www.etymonline.com/index.php?search=nether&searchmode=none Online Etymology Dictionary on Nether] However, the explanation given in this source about the origin of the word ''Nederlanden'' as used "by the Austrians" in contradistinction to their own mountainous country, is extremely implausible, if only because the use of the word antedates the [[Austrian Netherlands]] by two centuries at least. Austria itself has a ''Niederösterreich'' region ([[Lower Austria]]) that is quite mountainous, but derives its name from its downriver location.</ref> Герман улс цэвэр газар зүйн байршлаас шалтгаалан ингэж нэрлэх болсон байна. Учир нь Райн мөрний адаг хэсэгт тус улс байрладаг учир ийнхүү нэрлэхэд хүрчээ. <ref name=Duke>{{cite book|last=Duke|first=A.|title=Dissident identities in the early modern Low Countries|year=2009|publisher=Ashgate Publishing}}</ref>{{rp|37}} ::'''''Голланд''''' Олон улсад тус улсыг голцуу энэ нэрээр нь мэддэг. Энэ нь Герман хэлний "холт" буюу "модот нутаг" гэсэн үгнээс үүсэлтэй гэж судлаачид үздэг.<ref>Online Etymology Dictionary. "[http://www.etymonline.com/index.php?allowed_in_frame=0&search=holland&searchmode=none Holland]".</ref> === {{NCA}} === Никарагуа гэдэг нь тус улсын уугуул иргэдийн хэлээр "никари" буюу "нуур" гэсэн үгнээс үүсчээ. Уугуул иргэд "Никари" гэж тус улсад урсдаг голоо нэрлэдэг байсан гэдэг. Харин Испанийн аялагч Гил Гонзалез Давила энэ нутагт хөл тавихдаа "акуа" буюу "ус" гэсэн үг нэмж одоогийн бидний мэдэх "Никарагуа" гэх үг бий болсон байна. Никарагуа нуур нь 161 метр урт, 71 км өргөн 26 метр гүн зөвхөн Никарагуа улсад байдаг нуур юм. === {{NOR}} === Хуучин Норс хэлний "норорвегр" буюу "Умардын зам" гэсэн үгнээс тус улсын одоогийн нэршил үүссэн байна. ::'''''Норге''''' Норвегичууд эх хэлээ улсаа ийн бичдэг бөгөөд энэ нь "Умард" гэсэн утгатай үг юм. ==О== === {{OMA}} === Араб хэлний "аамен", "амун" буюу "гэрээслэгдсэн, суурьшсан" гэсэн утгатай үгнээс гаралтай гэж олон судлаачид үздэг байна. Ромын алдарт жанжин Плиний, Птоломей нар энэ нутгиийг "Омана" гэж түүх шастирт тэмдэглэсэн байдаг.<ref>[[Pliny the Elder]]. ''[[Natural History (Pliny)|Natural History]]'', VI.149.</ref> === {{RUS}} === Орос гэдэг нь хуучин Норд хэлний "родс" буюу "завьчин" гэх үгнээс үүдэлтэй ажээ. Византийн Грекчүүд "Росиа", Варангичууд "Рус гэж тэмдэглэж байжээ. ==Ө== === {{RSA}} === Газар нутгийн байршлын тухайд Африк тивийн өмнөд хэсэгт орших учир "Өмнөд Африк гэж нэрлэх болжээ. ::'''''Суйд-Африка''''' Өмнөд Африкчууд өөрийн эх хэлээрээ ингэж нэрлэдэг. Энэ нь Африкчуудын хэлээр "Өмнөд Африк" гэсэн үг юм. ::'''''Азаниа''''' Цагаан арьстанууд голчлон амьдардаг бүс нутагт африк хэлээс өөрөөр ингэж дууддаг. Энэ нь грек хэлний "Азайнейн" буюу "хуурай" гэсэн үгнээс үүдсэн нэр юм. === {{KOR}} === "Горео" болон "Гогурео" улсыг нэрлэдэг байснаас тус улсын одоогийн нэршил үүссэн байна. Йемаек хэлний "Гуру" буюу "хана хэрэмт хот", "Гаури" буюу "төвийн" гэсэн үгнээс гаралтай гэдэгт эрдэмтэд нэгджээ. Харин Өмнөд гэсэн тодотголыг Солонгосын дайнаас хойш хоёр хуваагдахад авчээ. ::'''''Гуулин улс''''' Энэ нь Хятад хэлний "Гао Ли" буюу "сүрлэг" гэсэн үгнээс гаралтай юм. === {{SSD}} === Судан гэдэг нь Араб хэлний "судан" буюу "хар арьстан" гэх үгнээс үүдсэн нэр юм. Харин урдаа "өмнөд" гэсэн дагавар нэмсэн нь одоогоос зургаан жилийн өмнө Суданы дайнаар хоёр хуваагдсанаас хойш ийм дагавар авах болжээ. ==П== === {{PAK}} === Пакистан гэдэг нь Урду хэлний "Паки" буюу "ариун", Перс хэлний "стан" буюу "улс" гэсэн утгатай ажээ. Өөрөөр хэлбэл "Ариун улс" гэсэн утгатай үг юм. Улстөрийн үзэл суртлын үед Энэтхэгээс үргэлж тусдаа байхын тулд Пакистаны хөдөлгөөнийг удирдаж байсан Рахмат Али гэгч "Одоо эсвэл хэзээ ч үгүй" зохиолдоо "Пунжаб, Кашмир, Синдх, Балучистан мужууд нийлээд ПАКСТАН" болж байгаа гэж тайлбарлаж байжээ.<ref name="Now or Never">{{cite journal|author=Choudhary Rahmat Ali|title=Now or Never. Are we to live or perish forever?|date=28 January 1933|url=http://en.wikisource.org/wiki/Now_or_Never;_Are_We_to_Live_or_Perish_Forever%3F}}</ref><ref name="Ikram1995">{{cite book|author=[[S. M. Ikram]]|title=Indian Muslims and partition of India|url=https://books.google.com/books?id=7q9EubOYZmwC&pg=PA177|accessdate=23 December 2011|date=1 January 1995|publisher=Atlantic Publishers & Dist|isbn=978-81-7156-374-6|pages=177–}}</ref><ref>{{cite web|url=http://www.chaudhryrahmatali.com/now%20or%20never/index.htm |title=Rahmat Ali ::Now or Never |publisher=The Pakistan National Movement |accessdate=14 April 2011 |author=Rahmat Ali |page=2 |deadurl=yes |archiveurl=https://web.archive.org/web/20110419012150/http://www.chaudhryrahmatali.com/now%20or%20never/index.htm |archivedate=19 April 2011 |df=dmy }}</ref> === {{PLW}} === Палаучуудын домгоос тус улсын нэр үүсчээ. Палау хэлээр "Айбелау" буюу "Шууд бус хариултууд" гэсэн үгнээс тус улсын нэр үүссэн байна. Учир нь тус улсыг бүтээж байсан Чуаб гэх үлэмж биет бурханы асуултад булзайруулсан хариулт өгч байсан тул маш удаанаар тус улсыг бүтээсэн гэдэг домог бий билээ.<ref>Belau National Museum, cited by Pelnar, Bonnie. "[http://www.underwatercolours.com/bai/bais.html The Bais of Balau]". Retrieved 22 September 2011.</ref> ::'''''Белау''''' Палаучууд эх хэлээрээ өөрсдийн улсаа ийн нэрлэдэг билээ. Утгыг нь дээр дурдсан тул тайлбарлахаа азная. === {{PLE}} === Хебрю хэлний "Филистинчүүдийн газар орон" гэсэн утгатай үгнээс тус улсын нэршил үүсчээ.<ref>[http://etymonline.com/index.php?term=Palestine&allowed_in_frame=0 Online Etymology Dictionary (Palestine)]</ref> Филистинчүүдийг Латин хэлэнд тэмдэглэхдээ "Палестина" гэж тэмдэглэсэн байдаг. Эртний Филистиний нутагт одоогийн Газын зурвас, Ашдод, Ашкелон, Экрон, Гат хотын нутаг багтдаг байжээ. === {{PAN}} === Уугуул Куева индианчуудын хэлээр "Арвин их загасны орон" гэсэн утгатай үгнээс тус улсын одоогийн нэршил үүссэн байна. Тус улсын нийслэл хотыг ч мөн ингэж нэрлэдэг билээ. === {{PNG}} === Папуа гэдэг нь Малай хэлний "папуах" буюу "үсэрхэг" гэсэн утгыг илэрхийлдэг. Харин Шинэ Гвиней гэдэг нь тус улсыг анхлан нээсэн Испанийн аялагч Иниго Ортиз де Ретез Африкын Гвиней улстай яг ижилхэн учир "Шинэ Гвиней" гэх нэр өгсөн байна. === {{PAR}} === Тус улсын нэр нь чухам ямар утга учиртай нь бидний үед тодорхойгүй байна. Эртний Гуарани хэлний "пара" буюу "гол", "гуай" буюу "титэм" гэсэн үгнээс гаралтай гэх тайлбар байдаг. Мөн түүнчлэн "Их уст гол" гэсэн уугуул иргэдийн нэр гэсэн тайлбар ч бий. Тус улсад аж төрж байгаад устан үгүй болсон "Паяагуачуудын нутаг" гэсэн утгай үг гэсэн домог ч бас бий. === {{PER}} === Энэ улсын нэрний талаар хоёр тайлбар өнөө цаг үед хүрч иржээ. Эхнийх нь "Биру" буюу "Гол" гэсэн утгай үг гэсэн тайлбар бий. Харин удаах тайлбар нь Тус улсад ирсэн эзлэн түрэмгийлэгчид нутгийн гурван иргэнийг дагуулан шинэ газар нутагтайгаа танилцаж явжээ. Гэтэл Испаничууд "Энэ чухам ямар нэртэй газар вэ" гэж асуусан байна. Тэднийг дагалдаж явсан нутгийн гурван эр чухам юу гээд байгааг нь ойлгоогүй учир уугуул иргэдийг ахалж явсан ахмад настай нэгэн эр өөрийнхөө нэрийг асууж байна гэж бодон "Беру" гэж хариулснаас тус улсын одоогийн нэр үүсчээ. === {{POL}} === "Польшчуудын нутаг" гэсэн үгнээс тус улсын одоогийн нэршил үүсчээ. Харин Польш гэдэг нь польш хэлний "Поле" буюу "Нээлттэй талбай" гэсэн үгнээс гаралтай ажээ. Аравдугаар зуунд Полан гэж судар номонд тэмдэглэгдэж байсан бол Полска гэх нэр 13-14-р зуунд өөргөн тархжээ. === {{POR}} === Тус улсын нэрний тайлбар олон янз. Тус улсын Порто болон Гайа хотуудын нэрнээс үүссэн гэсэн тайлбар байдаг бол латин хэлний "порт" буюу "боомт", Грек хэлний "каллис" буюу "үзэсгэлэнтэй", Латин хэлний "Калере" буюу "халуун" гэсэн үгнээс үүссэн гэх тайлбар бий. ==Р== === {{RWA}} === Кинярванда хэлний "кванда" буюу "Газар нутгаа тэлсэн" гэсэн үгнээс үүдэлтэй ажээ.<ref>Vansina, Jan ''[https://books.google.com/books?id=tgT-lyk40agC&pg=PA35 Antecedents to Modern Rwanda: the Nyiginya Kingdom]'', p. 35. University of Wisconsin Press, 2004. {{ISBN|0-299-20124-4}}. Retrieved 1 October 2011.</ref> Түци омгийн хаадууд эрт цагт зэргэлдээ овог аймгуудаа байлдан эзэлж байснаас тус улсын одоогийн нэршил үүссэн байна. === {{ROU}} === Ромчуудын харьяанд орших нутаг гэсэн үгнээс тус улсын одоогийн нэршил үүсчээ. Ромын эзэнт гүрний үеэс тус нутгийг ийн нэрлэх болсон юм. Түүнчлэн тус улсын ард иргэдийг ч ромчууд гэдэг байсан түүхтэй. Анх I Карол хаан 1866 оноос тус улсын одоогийн нэршлийг ашиглаж эхэлсэн гэдэг. ==С== === {{SAM}} === Уугуул Самоачуудын хэлний "са" буюу "ивээгдсэн", "моа" буюу "төв" гэсэн утгатай үгнээс тус улсын нэршил үүссэн байна. Бас өөр нэг домгоор бол "Моа шувуунуудын орон" гэсэн үг гэсэн утгатай ажээ. === {{SMR}} === Италийн алдарт Католик шашны гэгээнтэн, Католик номлолыг сурталдагч "Гэгээн Маринус"-ын нэрнээс тус улсын нэршил үүссэн байна. Гэгээн Маринус нь манай эриний 301-305 оны орчимд одоогийн Сан Марино орчимд сүм дуган бариулах ажил эрхэлж байгаад Ромчуудын хяхалт хавчлагаас шалтгаалан Хорват руу дүрвэж байсан түүхтэй юм. === {{STP}} === :'''Сан Томе''': Португалын эзлэн түрэмгийлэгчид 1470 юм уу 1471 оны 12-р сарын 21-нд буюу Гэгээн Томасын өдөр тус газрыг нээсэн учир ийн нэрлэсэн байна. :'''Принсипи''': Гэдэг нь португал хэлний "Гүн, ван, хунтайж" гэсэн үг юм. === {{KSA}} === Саудчуудын Араб гэсэн утгатай араб үг. Учир нь тус улсыг Сауд угсааны хаадууд ээлжлэн захирдаг учир ийнхүү нэрлэх болжээ. "Сауд" гэдэг үг нь арабын зурхайн нэгэн одны систем юм. === {{SWZ}} === Сваци омгийнхний хэлээр "Свацичуудын газар нутаг" гэх үгнээс тус улсын нэршил үүссэн байна. Тус омгийг "Сваци" гэх хаан эрт цагт үндэслэжээ. === Сейнт Винсент ба Гренадинес === :'''Сейнт Винсент''': Аунгаа аялагч Кристофер Колумб 1498 оны нэгдүгээр сарын 22-ны өдөр буюу Гэгээн Винсентын өдөр нээсэн учир ийн нэрлэсэн байна. :'''Гренадинес''': Энэ нь Испанийн Гранада хотыг санагдуулсан учир ийнхүү нэрлэх болсонтой холбоотой ажээ. === Сейнт Киттс ба Невис === :'''Сейнт Киттс''': Алдарт аялагч Кристофер Колумб тус газар орныг нээхдээ Гэгээн Кристоферийн нэрийг хүндэтгэн ийнхүү нэрлэх болсон байна. :'''Невис''': Испани хэлний "Цасан хатан" гэх үгнээс энэхүү нэршил үүсчээ. === {{LCA}} === Францын далайчид 1502 оны 12-р сарын 13-ны өдөр буюу Гэгээн Люсын өдрөөр тус газрыг нээсэн учир шинээр нээсэн газраа ийнхүү нэрлэх болжээ. === {{SYC}} === Францын аялагчид 1754-1756 онд Францын эзэн хаан XV Луй хааны зарлигаар Сангийн сайд Жеан Море де Сейшэллийн нэрээр ийнхүү нэрлэсэн байна. === {{SEN}} === Сенегал голын нэрнээс тус улсын нэршил үүсчээ. Сенегал гэдэг нь Берберчүүдийн хэлээр "Зенага" буюу "газар нутаг" гэсэн үг юм. Сенегал гол өнөө цаг үед Сенегалын хойд хэсэг, Мавритани улсын нутагт урсаж байгаа билээ. === {{SRB}} === Тус улсын нэршил чухам ямар утгатай нь тодорхойгүй. Грек хэлний "сиро" буюу "давтах", хуучин Индик хэлний "сарбх" буюу "тулалдах", латин хэлний "серо" буюу "бүтээн байгуулах" Орос хэлний "Пасерб" буюу "дагавар хүүхэд", Украин хэлний "присербится" буюу "нэгдэн орох" гэсэн утгатай үгсээс үүссэн байх гэсэн таамаг бий. Түүнчлэн судлаач Шустерын баталж байгаагаар Прото-Слав хэлний "уух" гэсэн үгнээс үүдэлтэй ажээ. === {{SIN}} === Санскрит хэлний "Симхапура" буюу "Арслант хот" гэсэн үгнээс тус улсын нэр үүссэн байна. === {{SYR}} === Чухам ямар утга учиртай нь өнөө хэр нь тодорхойгүй байна. Ассирчуудыг нэрлэсэн үгнээс үүссэн гэж үзэх эрдэмтэд байдаг бол Эртний Грек хэлний "сириак" буюу "хүмүүс" гэсэн үгнээс үүссэн байх гэсэн таамаг ч бий. === {{SVK}} === Славчууд гэсэн үгнээс тус улсын нэр үүссэн байна. Слав гэдэг нь "слово" буюу "үг" гэх утгатай гэж эрдэмтэд тайлбарладаг. Түүнчлэн "слава" буюу "суу алдар, "слух" буюу "сонсох" гэсэн үгнээс гаралтай гэсэн тайлбар ч бий. === {{SVN}} === Славчуудын Венеци гэх утга бүхий Герман үгнээс тус улсын одоогийн нэршил үүсчээ. === {{SOL}} === Испанийн алдарт аялагч Альваро де Менданиа и Нейра 1567 юм уу 1568 онд тус бүлэг арлыг нээхдээ Библи сударт дурдагдсан Соломон хааныг бодож үг нэрийг өгчээ. Чухамдаа тэрээр Соломон хааны нуусан эрдэнэ энд байгаа гэж бодож, хэсэг хугацаанд алт, эрдэнэс хайж өнгөрөөсөн юм. === {{SOM}} === Сомаличуудын нутаг гэсэн утгатай уугуул иргэдийн өгсөн нэр ажээ. Сомали гэдэг нь "сак мааль" буюу "үхэрчид" гэх үнээс үүссэн гэх өөр нэг домог ч бас бий. Түүнчлэн Самаале гэх хамба ламтаны нэрийг бэлгэдсэн гэж үзэх түүхчид ч байдаг. === {{SDN}} === Дээр дурдсан Өмнөд Суданы нэрний утгатай төстэй учир дурдахаа азная. === {{SUR}} === Суринен үндэстнүүдийн нутаг гэсэн утгатайгаар тус улсын нэрийг тайлбарладаг. === {{SLE}} === Испани хэлний "Сьерра Леона" буюу "Арслант уул" гэсэн үгнээс тус улсын одоогийн нэр үүссэн байна. Португалийн аялагч Педро де Синтра 1462 онд энэ нутгийг нээхдээ арслан шиг хэлбэртэй сунаж тогтсон уул нурууг анхлан харж улмаар энэ нэрийг өгсөн гэх домог бий. ==Т== === {{THA}} === Тай хэлээр "Тай үндэстний өлгий нутаг" гэх утгатай үгнээс тус улсын одоогийн нэршил үүсчээ. "Тай" үндэстнүүдийн нэр чухам ямар утгатай талаар олон янзын тайлбар бий. Тухайлбар "хүн ард", "хүн төрөлхтөн" гэсэн утгыг илтгэдэг гэж зарим эрдэмтэн үздэг бол зарим нь "эрх чөлөө" гэсэн утгатай гэж тайлбарладаг. ::'''''Ратча Аначак Тай''''' Эх хэлээрээ албан ёсны албан бичигт өөрийн улсаа ингэж бичдэг. Энэ нь "Тайландын язгуур угсаа" гэсэн утгатай тайланд үг юм. === {{TJK}} === "Тажикуудын эх нутаг" гэх үгнээс тус улсын одоогийн нэр үүссэн байна. "Тажик" гэдэг нь Шинэ Перс хэлээр "Тази" буюу "Араб" гэсэн утгыг илтгэдэг. Түүнчлэн төвд хэлний "Таг Жиг" буюу "бар, ирвэс" гэсэн утгатай гэж тайлбарлах судлаачид ч бий. Харин перс хэлний "стан" буюу "улс" гэсэн үг нийлж одоогийн бидний мэдэх "Тажикистан" гэх нэр бий болжээ. === {{TAN}} === "Танганияка болон Занзибарын газар нутаг" гэх үгнээс тус улсын одоогийн нэршил үүссэн байна. 1964 онд Танзаничууд тусгаар тогтнохдоо "Танганияка болон Занзибарын нэгдсэн улс " гэх нэрийг авсан байна. ::'''''Танганияка''''' Тус улсын хамгийн том нуур. Харин энэ нуурын нэр ямар учиртай талаар олон янзын тайлбар бий. Сир Ричард Френцис Бартон үүнийг "ту танганияка" буюу "нэгдэн орох", "ус тааралдах" гэсэн утгатай нутгийн иргэдийн үгнээс үүдсэн гэж үздэг бол Хенри Стенли гэх эрдэмтэн "тонга" буюу "арал", "хика" буюу "хавтгай" гэсэн утгатай гэж тайлбарласан байдаг. ::'''''Занзибар''''' Перс болон Араб хэлний "Занжибар" буюу "Хар эрэг" гэсэн утгатай үг юм. === {{TOG}} === Нутгийн уугуул иргэд болох Эве омгийн хэлээр "то" буюу "ус", "го" буюу "эрэг" гэх үгнээс тус улсын одоогийн нэршил үүсчээ. <ref>{{cite book|title=Peoples of Africa: Togo-Zimbabwe |url=https://books.google.com/books?id=rlz2bWRPmvgC&pg=PA531 |year=2001 |publisher=Marshall Cavendish|isbn=978-0-7614-7168-4|page=531}}</ref> <ref name="Togo1920s"/> Мөн Германчуудын нээсэн "Тоговилль" гэх тосгоны нэрнээс улсын нэр үүссэн гэх өөр нэг хувилбар ч бий. === {{TGA}} === Уугуул Самоачуудын хэлээр "Өмнөд", "Өмнөдийн" гэх утгатай үгнээс тус улсын одоогийн нэршил үүссэн байна. === {{CAF}} === Франц хэлний "République centrafricaine" гэх үгнээс тус улсын одоогийн нэршил үүссэн байна. === {{TRI}} === Испани хэлний хоёр өөр утгатай үг нийлснээр тус улсын нэр бий болсон байна. ::'''''Тринидад''''' Аугаа аялагч Кристофер Колумб гурав дахь аялалынхаа үр дүнд тус газар нутгийг нээхдээ "Эцэг, хүү, ариун сүнсний ивээл шингэсэн ариун арал" гэх нэр хайрласан байна. Үүнээс "Тринидад" гэх нэршил үүссэн гэдэг. ::'''''Тобаго''''' "Тамхи" буюу "Тамхины орон" гэх үгнээс үүссэн гэх тайлбар байдаг. Гэвч энэ тайлбар дээр эрдэмтэд өөр, өөр үзэл бодолтой байдаг билээ. === {{TUV}} === "Найман арал", "Өөр хоорондоо адилгүй найман арал" гэх Тувалу үгнээс тус улсын одоогийн нэр үүсчээ. === {{TUN}} === Тус улсын нутаг дэвсгэр дээр эрт цагт оршин тогтнож байсан Тинес хотын нэрнээс тус улсын одоогийн нэр үүссэн гэж үздэг. "Таниф" буюу эртний Финикийн охин тэнгэрийн нэр нь "Тинес" хотын нэр болсон байна. <ref>{{cite book | last = Taylor | first = Isaac | title = Names and Their Histories: A Handbook of Historical Geography and Topographical Nomenclature | publisher = BiblioBazaar, LLC | year = 2008 | page = 281 | isbn = 0-559-29668-1 }}</ref> <ref name="ej-brill">{{cite book | last = Houtsma | first = Martijn Theodoor | title = E.J. Brill's First Encyclopaedia of Islam, 1913–1936 | publisher = Brill | year = 1987 | page = 838 | isbn = 90-04-08265-4 }}</ref> Мөн түүнчлэн Бербер хэлний "доор орших", "цогцолсон" гэх үгнээс ч үүссэн байх гэсэн таамаг бий. <ref name="peter-ross">{{cite book | first1 = Peter M. | last1 = Rossi | first2 = Wayne Edward | last2 = White | title = Articles on the Middle East, 1947–1971: A Cumulation of the Bibliographies from the Middle East Journal | publisher = Pierian Press, [[University of Michigan]] | year = 1980 | page = 132 }}</ref> === {{TUR}} === Араб хэлний "Тюрк" буюу "цогцлоон бүтээсэн" гэх үгнээс тус улсын нэр үүссэн байна. === {{TKM}} === "Туркменчүүдийн эх орон" гэсэн утгатай үг юм. "Туркмен" гэдэг нь Согдиан хэлний "Турк шиг харагддаг", "Турктэй ижилхэн" гэсэн утгыг илэрхийлдэг байна. Учир нь улстөрийн байгуулал, бүтцийн хувьд яг дуурайж анхлан үүссэн учир ийнхүү нэрлэх болжээ. <ref>[[Yury Zuev|Yu. Zuev]], ''"Early Türks: Essays on history and ideology"'', Almaty, Daik-Press, 2002, p. 157, {{Listed Invalid ISBN|9985-4-4152-9}}</ref> Туркменчууд заримдаа "Цэвэр Турк" гэж өөрсдийнхөө нэрийг тайлбарлах нь бий. <ref>''US Library of Congress Country Studies.'' "[http://memory.loc.gov/frd/cs/tmtoc.html Turkmenistan]."</ref> Исламын шашны түүхч, теологич Ибн Хатирийн үзэж байгаагаар "итгэл үнэмшил, ариун шүтээн" гэсэн үгнээс гаралтай гэж тайлбарласан байдаг. ==У== === {{UGA}} === Свахили хэлний "Буганда" гэх үгнээс тус улсын нэр үүссэн байна. Буганда гэдэг нь тус улсад оршин тогтнож байсан Багандагын хаант улсын нэр юм. "Баганда" гэдэг нь "Ах дүүс", "эвтэй хүмүүс" гэсэн утгыг илтгэдэг байна. === {{UZB}} === Турк хэлний "уз" буюу "өөрийн", "бек" буюу "эрхэм", перс хэлний стан буюу "улс" гэсэн үгнүүд нийлж тус улсын одоогийн нэр үүсчээ. Зарим судлаачид" Эрх чөлөөтэй нутаг" гэж тус улсын нэрний утгыг тайлдаг. === {{UKR}} === Украин гэдэг нь Слав хэлний "Крайна" буюу "улс", "хязгаар нутаг" гэх утгатай юм. === {{URY}} === "Уругвай голын хажууд орших улс" гэсэн үгнээс тус улсын одоогийн эршил үүсчээ. "Уругвай" гэдгийг эрдэмтэд олон янзаар тайлбарласан байдаг. Зарим нь "уругуа" буюу "дун", "и" буюу "ус" гэж тайлбарласан бол зарим нь "уру" буюу "шувууд", "гуаи" буюу "нүүдэллэж ирдэг" гэсэн утгатай гэж тайлбарлажээ. ==Ф== === {{FJI}} === Уугуул Фижичүүдийн хэлээр "фиси" буюу "хараач" гэсэн үгнээс тус улсын одоогийн нэр үүссэн байна. <ref>Thompson, Basil. "{{Webarchiv|url=http://www.jps.auckland.ac.nz/document/Volume_1_1892/Volume_1,_No._3,_1892/The_land_of_our_origin_(Viti,_or_Fiji.)_by_Basil_Thompson,_p143-146/p1 |wayback=20180210080244 |text=The Land of Our Origin (Viti, or Fiji) |archiv-bot=2023-11-20 07:34:56 InternetArchiveBot }}". ''Journal of the Polynesian Society'', Vol. 1, No. 3, pp. 143–146. 1892</ref> Харин Британийн аялагч Жеймс Күүкийн тайлбарласнаар уугуул иргэд нь "Вити Левү" буюу "Аугаа Вити" гэж оршин суугаа газраа нэрлэдэг байсан гэжээ. <ref>{{cite web |url=http://www.fiji.gov.fj/ |title=Fiji Today, 2005–2006 |deadurl=yes |archiveurl=https://web.archive.org/web/20201208130939/http://www.fiji.gov.fj/ |archivedate=2020-12-08 |df= |access-date=2017-07-23 |url-status=dead }}. ''{{cite web |url=http://www.fiji.gov.fj/uploads/FijiToday2005-06.pdf |title=Fiji Today, 2005–2006 |deadurl=yes |archiveurl=https://web.archive.org/web/20070403140105/http://www.fiji.gov.fj/uploads/FijiToday2005-06.pdf |archivedate=3 April 2007 |df= }} '': "Europeans in Fiji".</ref> === {{FIN}} === Хуучин Норс хэлээр "Финчүүдийн өлгий нутаг" гэх үгнээс тус улсын одоогийн нэр үүссэн байна. <ref name="Names&Histories"/> Манай эриний анхдугаар зууны үеэс эртний Грекийн судар бичгүүдэд "Фенни", "Финной", хоёрдугаар зуун буюу Птоломейн үед "Фани" гэх зэргээр тэмдэглэж иржээ. Фин гэдэг нь Прото Герман хэлний "финне" буюу "хэсүүлч", "анчид" гэх үгнээс үүссэн гэдэгт олонх судлаачид нэгддэг. :'''''Суоми''''' Финландчууд эх хэлээрээ улс орноо ингэж бичдэг. Фин хэлний "Суомаа" буюу "баянбүрд" гэх үгнээс тус улсын нэр үүсчээ. <ref name="Names&Histories"/> === {{FRA}} === Эртний Франк хэлээр "Франкуудын эх орон" гэх үгнээс тус улсын нэр үүссэн байна. Франк гэдэг нь Прото-Герман хэлээр "франкон" буюу "жад" гэсэн үг юм. Үүнээс гадна Эртний Герман хэлний "Франкиш" буюу "эрх чөлөөт" гэсэн үгнээс тус улсын нэр үүссэн гэх хувилбар байдаг. <ref name="Names&Histories"/> ==Х== === {{HON}} === Хондурас гэх нэрийг нэрт аялагч Кристофер Колумб өгсөн гэдэг. Энэ нь Испани хэлээр "далайн гүн ёроол" гэсэн утгатай. Учир нь тус улсын хойд эрэгт маш гүн далай бий. === {{HRV}} === Улсын нэрний талаар тогтсон ойлголт байхгүй. Гэхдээ Дундад зууны латин хэлний "Круаити" буюу "ус нэрэгчид" гэх үгнээс үүссэн байх гэсэн таамаг бий. Збигнев Голаб гэх Хорват эрдэмтний тайлбараар бол "Хровати" буюу "жадны үзүүр бүтээгчид", "храват" буюу "уулчид" гэх үгнээс үүссэн гэжээ. === {{CHN}} === Эртний Санскрит хэлний "хина", Дундад зууны Перс хэлний "хини" гэх үгнээс тус улсын одоогийн нэршил үүсчээ. <ref name="AmHerChin">''The American Heritage Dictionary of the English Language''. "[http://dictionary.reference.com/browse/China?qsrc=2888 China]". Houghton-Mifflin (Boston), 2000.</ref> "Хина" гэдэг нь тусгайлсан утгагүй "Чин" болон "Жин" гүрнийг өөрсдийнхөө хэлээр нэрлэсэн гэж эрдэмтэд үздэг. ::'''''Жүнггүо''''' Олонд хамгийн өргөн тархсан энэ нэр нь "Дундад улс" гэсэн утгатай. ==Ч== === {{TCD}} === Тус улсын баруунөмнөд хэсэгт орших Чад нуурын нэрнээс Чад улсын нэр үүсчээ. Канури омгийнхний хэлээр Чад гэдэг нь "нуур" гэсэн үг юм байна. === {{CHL}} === Тус улсын нутаг дэвсгэрт 1553 онд хөл тавьсан Испанийн экспедицийн ахлагч Диего де Альмагро "Халуун ногоо хэрэглэдэг хүмүүс" гэж тэмдэглэснээс энэ нэр үүсчээ. Испани хэлний "Чили" гэх үг тус улсын нэр болсон байна. <ref>{{cite web|url=http://www.etymonline.com/index.php?term=Chile |title=Online Etymology Dictionary |publisher=Etymonline.com |date= |accessdate=19 September 2011}}</ref> Түүнчлэн Инкачуудын домогт хаан Тилигийн нэрнээс үүссэн байх гэсэн таамаг бий.<ref>{{cite web|url=http://www.chile.com/tpl/articulo/detalle/ver.tpl?cod_articulo=7225 |title=Chile.com.La Incógnita Sobre el Origen de la Palabra Chile |publisher=Chile.com |date=15 June 2000 |accessdate=17 December 2009 |language=es |deadurl=yes |archiveurl=https://web.archive.org/web/20090415204553/http://www.chile.com/tpl/articulo/detalle/ver.tpl?cod_articulo=7225 |archivedate=15 April 2009 |df=dmy }}</ref><ref>{{cite web|author=Encyclopædia Britannica |url=http://www.britannica.com/EBchecked/topic/459648/Picunche |title=Picunche (people) – Britannica Online Encyclopedia |publisher=Britannica.com |date= |accessdate=17 December 2009}}</ref> Олонд төдийлөн түгээгүй ч Күечуа омгийн "чири" буюу "алт" <ref name="1911britannica">"CHILE." Encyclopædia Britannica. 11th ed. 1911. ("derived, it is said, from the Quichua chiri, cold, or tchili, snow")</ref>, Аймара омгийн "тчили" буюу "газрын төгсөгл", "цас" <ref name="1911britannica"/><ref>{{cite encyclopedia |url=http://es.encarta.msn.com/encyclopedia_761572974_4/Chile.html |title=Chile (república) |encyclopedia=Enciclopedia Microsoft Encarta Online |year=2005 |accessdate=26 February 2005 |quote=The region was then known to its native population as Tchili, a Native American word meaning "snow." |deadurl=bot: unknown |archiveurl=https://web.archive.org/web/20080510215421/http://es.encarta.msn.com/encyclopedia_761572974_4/Chile.html |archivedate=10 May 2008 |df=dmy }} 31 October 2009.</ref>, Мапүче омгийн "чийли-чийли" буюу "шар далавчит хар шувуу" гэх утгатай гэсэн тайлбарууд байдаг. <ref name="hudson"/><ref>{{cite book |first=Miguel |last=de Olivares y González SJ |contribution=Historia de la Compañía de Jesús en Chile |url= |title=Colección de historiadores de Chile y documentos relativos a la historia nacional |year=1864 |origyear=1736 |editor=Imprenta del Ferrocarril |location=Santiago |volume=4 |number= |pages= |accessdate=14 October 2010|language=es}}</ref> === {{CZE}} === 1993 онд дэгдсэн ягаан хувьсгалын дараа энэ нэрийг сонгосон байна. "Чета" буюу "цэргийн нэг хороо" гэсэн утгатай гэсэн тайлбар байдаг. <ref>Online Etymology Dictionary. "[http://dictionary.reference.com/browse/czech Czech]". Retrieved 11 February 2011.</ref> ==Ш== === {{SWE}} === Хуучин Норс хэлний "свипиод" буюу "айлын ганц хүүхэд" гэсэн үгнээс гаралтай гэсэн тайлбар өнөө цагт тархжээ. Түүнчлэн "Эх орны иргэн" гэх утгатай гэж Германы эрдэмтэд тайлбарласан байдаг. ::'''Свериге''' Шведчүүд эх хэлээрээ улс орноо ийн нэрлэдэг. "Шведийн хаант нутаг" гэсэн утгатай Швед үг юм. === {{CHE}} === Алеманик үндэстний хамгийн их тархсан, мөн уг үндэстнийг байгуулсан гэгдэх Швицо хааны нэрнээс тус улсын нэр үүсэн бий болжээ. Анхлан МЭ 972 онд "Швиц" гэсэн нэрээр түүх шастирт тэмдэглэгдсэн байдаг. ::'''Хелветиа''' Олонд танигдсан домгийн нэр. Энэ нь Латин хэлээр Сельтик үндэстнүүдийг нэрлэдэг үг юм. === {{NZL}} === Голланд хэлний "Нова Зийландиа" буюу "Шинэ тэнгисийн нутаг" гэсэн үгнээс тус улсын одоогийн нэршил үүсэн бий болжээ. Алдарт аялагч Жеймс Күүк тус нутагт анхлан хөл тавьмагцаа ангилаар ийн тэмдэглэсэн нь Голланд хэлэнд түгэж, улмаар газрын зурагт ийнхүү тэмдэглэх болсон байна. === {{LKA}} === Санскрит хэлний "Шри" буюу "ариун", "Ланка" буюу "арал" гэсэн үгнээс бүтсэн "Ариун Арал" гэх утгатай нэр юм. Домогт Равана хааны хаант улсын гол төв нь Шри Ланк байсан гэж үздэг. ==Э== === {{GNQ}} === Экваторын бүслүүрийг дайран оршдог улс учир ийнхүү экваторын гэсэн үгийг өмнөө авчээ. Харин "Гвиней" гэдэг нь Бербер хэлний "гинавен", "агинау", "агинаоу" буюу "түлэгдсэн", "хар арьстан" гэх үгнээс үүсэн бий болжээ.<ref name="Bovi">Bovill, Edward Wm. ''The Golden Trade of the Moors: West African Kingdoms in the Fourteenth Century''. Weiner (Princeton), 1995.</ref> === {{ECU}} === Испанийн эзлэн түрэмгийлэгчид Күйто хотноо колоничлолын захиргаа барих гэж байсан тэр цаг үед захиргааны барилга экваторын бүслүүрээс ердөө 40 км-ийн зайтай байсан тул ийнхүү нэрлэх болжээ. Экваторын бүслүүрийг Испаниар "Экуадор" гэж нэрлэдэг байсантай холбоотой. === {{SLV}} === Испани хэлний "Сальвадор" буюу "Авран нигүүлсэгч" гэсэн үгнээс тус улсын одоогийн нэршил үүссэн байна. 1525 оны 4-р сарын 1-ний өдөр тус улсыг нээсэн Гонзало де Альварадо энэ нутагт хөл тавиад "Ертөнцийн эзэн Исүс христийн өлгий нутаг л ийм байдаг байх" гэж өдрийн тэмдэглэлдээ бичсэн байжээ. {{es icon}}</ref><ref>San Salvador. [http://www.sansalvador.gob.sv Official website]. ''{{Webarchiv|url=http://www.sansalvador.gob.sv/?p=17 |wayback=20170704045822 |text=Historia oficial de la ciudad de San Salvador |archiv-bot=2023-11-29 13:57:21 InternetArchiveBot }}''. {{es icon}}</ref> === {{IND}} === Хуучин Перс хэлний "Хинду" үндэстнүүд гэсэн үгнээс тус улсын нэр үүссэн гэх тайлбар байдаг бол Латин хэлний "Индус голынхон" гэсэн утгатай гэж үзэх эрдэмтэд ч байдаг. Гэвч "Индус" гэж нэрлээд байгаа голыг энэтхэгээр "Синду" гэж нэрлэдэг юм. ::'''''Бхарат''''' Энэтхэгчүүд эх хэлээрээ өөрсдийгөө ийнхүү нэрлэдэг. Эртний энэтхэгийн домогт хоёр хааны нэг болох Бхаратагын нэрээр ийнхүү өөрсдийгөө нэрлэх болсон байна. === {{ERI}} === Эртний Грек хэлний "Эритра Талассиа" буюу "Улаан тэнгис" гэсэн үгнээс тус улсын одоогийн нэр үүсчээ. 1890 онд Италичууд тус улсыг эзлэн захирах болж Грек үгийг Итали хэл рүү хөрвүүлэн "Эритрум" гэх болсоноор орчин үеийн "Эритри" гэх нэршил бий болсон байна. === {{EST}} === Латин хэлний "Аестигийн газар нутаг" гэсэн үгнээс одоогийн нэршил нь үүссэн гэх тайлбар бий. Аести гэдэг нь хуучин Литвын харьяанд байсан ханлигуудын нэгдэл хаант улсын нэр юм. Гэвч Прото-Герман хэлний "аустам, Прото-Индо-Европ хэлний "аус" буюу "зүүн", "өрнө" гэсэн үгнээс үүссэн гэх тайлбар ч байдаг. === {{ETH}} === Латин хэлний "Аетопиа" буюу "Харуудын өлгий нутаг" гэх утгатай үгнээс тус улсын одоогийн нэршил бий болжээ. Мөн Грек хэлэнд "Алтиопс" буюу "Түлэгдсэн нүүртнүүдийн нутаг" гэх утгаас ч үүссэн байж болох талтай. Этиопчууд өөрсдөө Библид дурдагддаг Куш гэгээтний хүү "Итиоппс"-ын нэрнээс улсын нэр үүссэн гэж тайлбаралдаг байна.<ref name="Names&Histories"/> ==Я== === {{JPN}} === Шанхай хятад хэлний "Жеппун" буюу "Наран мандах нутаг" гэсэн үгнээс тус улсын одоогийн нэршил үүсчээ. Анх алдарт аялагч Марко Поло яг энэ утгаар нь олон улсад таниулж байсан юм. ::'''''Нихон / Ниппон''''' Сино-Япон хэлний "Онёоми" гэх утгатай үгтэй бичлэгийн хувьд ижилхэн бичигддэг. Энэ нь "ажиллах", "хийх" гэсэн утгыг агуулдаг ажээ. === {{JAM}} === Тайно/Аравак хэлний "Замайка", "Хамайка" буюу "Ус болон моддын нутаг" гэх үгнээс нэршил нь үүссэн байна. Зарим эрдэмтэд "Рашаан булагын эх орон" ч гэж тайлбарлах нь бий. == Мөн үзэх == {{Commonscat|Country names in non-Latin scripts|Улс орнуудын нэрийн утга учир}} * [[Дэлхийн улс орны нэрс]] ==Эшлэл== <references /> [[Ангилал:Хороним|!Улсууд]] [[Ангилал:Улсуудын жагсаалт|нэрийн утга учир]] 7taepyciwch4f0hmzlhmqgq6w0lqnjr 2018 оны хөлбөмбөгийн ДАШТ 0 76437 860725 859844 2026-06-30T20:24:11Z Enkhsaihan2005 64429 860725 wikitext text/x-wiki {{short description|Орост болсон хөлбөмбөгийн холбооны тэмцээн}} {{Инфобокс олон улсын хөлбөмбөгийн тэмцээн | tourney_name = оны хөлбөмбөгийн ДАШТ | year = 2018 | other_titles = {{native name|ru|Чемпионат мира по футболу FIFA 2018}} | image = 2018 FIFA World Cup.svg <!--Notice: If a better version of the SVG logo than this is found by anyone, he/she is requested to upload it replacing the current logo.--> | size = {{logo size|FIFA trophy}} | country = Орос | dates = 6 сарын 14 – 7 сарын 15 | num_teams = 32 | confederations = 5 | venues = 12 | cities = 11 | champion = Франц | champion-flagvar = 1974 | count = 2 | second = Хорват | third = BEL | fourth = ENG | matches = 64 | goals = 169 | attendance = 3031768 | top_scorer = {{fbicon|ENG}} [[Харри Кейн]] {{nowrap|(6 гоол)}} | player = {{fbicon|CRO}} [[Лука Модрич]] | goalkeeper = {{fbicon|BEL}} [[Тибо Куртуа]] | young_player = {{fbicon|FRA|1974}} [[Килиан Мбаппе]] | fair_play = {{fb|ESP}} | prevseason = [[2014 оны хөлбөмбөгийн ДАШТ|2014]] | nextseason = [[2022 оны хөлбөмбөгийн ДАШТ|2022]] }} '''2018 оны Хөлбөмбөгийн Дэлхийн Аварга Шалгаруулах Тэмцээн ''' ([[Орос хэл|оросоор]] Чемпионат мира по футболу 2018, [[Англи хэл|англиар]] 2018 FIFA World Cup) нь 21 дэх удаагаа зохион байгуулагдаж буй тэмцээн юм. Одоогоор Орос улсад 6-р сарын 14-нээс эхлэн явагдаж байгаа бөгөөд 2018 оны 7-р сарын 15-нд сүүлийн тоглолтоо хийснээр 2018 оны [[Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн]] дуусах болно. [[Зүүн Европ]]т зохион байгуулагдаж буй хөлбөмбөгийн анхны дэлхийн аваргын тэмцээн [[Европ|Европ тив]]д зохиогдсон 11 дахь удаагийн дэлхийн аврага шалгаруулах тэмцээн. Европ болон ази тивийн бүс нутгийг хамран зохиогдож буй анхны спортын тэмцээн юм. 14.2 тэрбум долларын өртөгтэйгээр зохиогдож буй уг тэмцээн нь дэлхийн хамгийн үнэтэй хөлбөмбөгийн тэмцээн юм. 2018 оны уг дэлхийн аврагын хамгийн том онцлог нь  видео туслах шүүгч буюу [[video assistant referees]] (VARs) гэх төхөөрөмжийг шинээр нэвтрүүлсэн явдал юм. Дөрвөн жилийн дараах ээлжит тэмцээн буюу 2022 оны Хөлбөмбөгийн Дэлхийн аварга шалгаруулах тэмцээн [[Баруун Ази|Баруун Өмнөд Ази]] тивийн төлөөлөл [[Катар|Катар улс]]ад зохион байгуулагдана. == Тэмцээний тов == [[2018]], [[2022]] оны ДАШТ-ийг зохион байгуулах тендерийн журам 2009 оны 1-р сард эхэлсэн бөгөөд үндэсний хороо 2009 оны 2-р сарын 2 хүртэл улс орнуудын сонирхлыг бүртгэж байжээ. Есөн улс 2018 оны [[Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|хөлбөмбөгийн ДАШТ]]-ийг [[зохион байгуулах эрх]]ийн төлөө саналаа ирүүлж [[Мексик]], [[Индонез]] 2010 оны 2-р сард [[Олон улсын хөлбөмбөгийн холбоо|ФИФА]]-н зохион байгуулах эрхээс татгалзсан. Зохион байгуулах эрх авах шалгаруулалтын явцад [[Европын Холбоо|UEFA]]-ийн бус гурван улс ([[Австрали]], [[Япон]], [[Америкийн Нэгдсэн Улс|АНУ]])-ыг 2018 хөлбөмбөгийн ДАШТ-ийг зохион байгуулах эрхээс хасаж, [[Европын Холбоо|UEFA (Европын холбоо)]]-ын улс орнуудыг 2022 оны [[Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|хөлбөмбөгийн ДАШТ]]-ийг зохион байгуулах эрхээс хассан. Иймээс 2018 оны ДАШТ зохион байгуулах эрх авахаар [[европ]]ын 4 улс өрсөлдөж ([[Англи]], [[Оросын Холбооны Улс|Орос]], [[Нидерланд]] / [[Бельги]], [[Португал]] / [[Испани]]) 2010 оны 12-р сарын 2-нд [[Цюрих]]т болсон 22 гишүүнтэй [[Олон улсын хөлбөмбөгийн холбоо|ФИФА-гийн Гүйцэтгэх Хороо]]ны сонгуульт хурлаар [[Оросын Холбооны Улс|Орос]] улс зохион байгуулах эрхээ авсан юм. == Тоглолт зохиогдох хотууд == {| class="wikitable" style="text-align:center" |- !colspan=2|[[Москва]] ![[Санкт-Петербург]] ![[Сочи]] |- |[[Лужники цэнгэлдэх хүрээлэн]] |[[Открытие Арена]]<br />'''{{small|(Спартак цэнгэлдэх хүрээлэн)}}''' |[[Газпром Арена]]<br />'''{{small|(Санкт-Петербург цэнгэлдэх хүрээлэн)}}''' |[[Фишт олимпын цэнгэлдэх хүрээлэн]]<br />'''{{small|(Фишт цэнгэлдэх хүрээлэн)}}''' |- |Багтаамж: '''78,011'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=810/index.html |title=Luzhniki Stadium |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20171116193913/http://www.fifa.com/worldcup/destination/stadiums/stadium=810/index.html |archive-date=2017-11-16 |access-date=2026-06-22}}</ref> |Багтаамж: '''44,190'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5030706/index.html |title=Spartak Stadium |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180614171629/https://www.fifa.com/worldcup/destination/stadiums/stadium=5030706/index.html |archive-date=2018-06-14 |access-date=2026-06-22}}</ref> |Багтаамж: '''64,468'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5031303/index.html |title=Saint Petersburg Stadium |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20171206005821/https://www.fifa.com/worldcup/destination/stadiums/stadium=5031303/index.html |archive-date=2017-12-06 |access-date=2026-06-22}}</ref> |Багтаамж: '''44,287'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5031302/index.html |title=Fisht Stadium |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180615083459/https://www.fifa.com/worldcup/destination/stadiums/stadium=5031302/index.html |archive-date=2018-06-15 |access-date=2026-06-22}}</ref> |- |[[File:Olympiastadion Luschniki.jpg|200x200px]] |[[File:Stadium Spartak in Moscow (cropped).jpg|frameless|200x200px]] |[[File:Spb 06-2017 img40 Krestovsky Stadium (cropped).jpg|200x200px]] |[[File:Sochi adler aerial view 2018 23.jpg|200x200px]] |- ![[Волгоград]] !rowspan=8 colspan=2|{{Location map+ |Европын Орос |width=412 |float=center |caption=2018 оны хөлбөмбөгийн ДАШТ-ийг зохион байгуулагч хотуудын байршил. |places= {{Location map~ |Европын Орос |lat_deg=55|lat_min=45|lon_deg=37|lon_min=37|position=left |mark=Blue pog.svg|marksize=10|label=[[Москва]]}} {{Location map~ |Европын Орос |lat_deg=59|lat_min=58|lon_deg=30|lon_min=13|position=right |label=[[Санкт-Петербург]]}} {{Location map~ |Европын Орос |lat_deg=54|lat_min=53|lon_deg=20|lon_min=29|position=right |label=[[Калининград]]}} {{Location map~ |Европын Орос |lat_deg=56|lat_min=16|lon_deg=43|lon_min=53|position=top |label=[[Доод Новгород]]}} {{Location map~ |Европын Орос |lat_deg=55|lat_min=49|lon_deg=49|lon_min=09|position=right |label=[[Казань]]}} {{Location map~ |Европын Орос |lat_deg=53|lat_min=14|lon_deg=50|lon_min=16|position=right |label=[[Самара]]}} {{Location map~ |Европын Орос |lat_deg=48|lat_min=44|lon_deg=44|lon_min=32|position=right|label=[[Волгоград]]}} {{Location map~ |Европын Орос |lat_deg=54|lat_min=10|lon_deg=45|lon_min=11|position=left|label=[[Саранск]]}} {{Location map~ |Европын Орос |lat_deg=43|lat_min=34|lon_deg=39|lon_min=51|position=right |label=[[Сочи]]}} {{Location map~ |Европын Орос |lat_deg=47|lat_min=14|lon_deg=39|lon_min=43|position=right |label=[[Донын Ростов]]}} {{Location map~ |Европын Орос |lat_deg=56|lat_min=50|lon_deg=60|lon_min=35|position=left|label=[[Екатеринбург]]}} }} ![[Донын Ростов]] |- |[[Волгоград Арена]] |[[Ростов Арена]] |- |Багтаамж: '''43,713'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5000569/index.html |title=Volgograd Arena |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20171015020710/http://www.fifa.com/worldcup/destination/stadiums/stadium=5000569/index.html |archive-date=2017-10-15 |access-date=2026-06-22}}</ref> |Багтаамж: '''43,472'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5000547/index.html |title=Rostov Arena |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180615083318/https://www.fifa.com/worldcup/destination/stadiums/stadium=5000547/index.html |archive-date=2018-06-15 |access-date=2026-06-22}}</ref> |- |[[File:Volgograd arena aerial view 1.jpg|200x200px]] |[[File:Rostov Arena 2021.jpg|200x200px]] |- ![[Доод Новгород]] ![[Казань]] |- |[[Доод Новгород цэнгэлдэх хүрээлэн]] |[[Казань Арена]] |- |Багтаамж: '''43,319'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5001165/index.html |title=Nizhny Novgorod Stadium |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180615083412/https://www.fifa.com/worldcup/destination/stadiums/stadium=5001165/index.html |archive-date=2018-06-15 |access-date=2026-06-22}}</ref> |Багтаамж: '''42,873'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5028773/index.html |title=Kazan Arena |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180615083439/https://www.fifa.com/worldcup/destination/stadiums/stadium=5028773/index.html |archive-date=2018-06-15 |access-date=2026-06-22}}</ref> |- |[[File:Nizhny Novgorod Stadium asv2019-05.jpg|204x204px]] |[[File:Kazan-kazanarena-b.jpg|200x200px]] |- ![[Самара]] ![[Саранск]] ![[Калининград]] ![[Екатеринбург]] |- |[[Самара Арена]] |[[Мордова Арена]] |[[Калининградын цэнгэлдэх хүрээлэн]] |[[Төв цэнгэлдэх хүрээлэн (Екатеринбург)|Төв цэнгэлдэх хүрээлэн]]<br />'''{{small|(Екатеринбург Арена)}}''' |- |Багтаамж: '''41,970'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5001246/index.html |title=Samara Arena |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180612163614/https://www.fifa.com/worldcup/destination/stadiums/stadium=5001246/index.html |archive-date=2018-06-12 |access-date=2026-06-22}}</ref> |Багтаамж: '''41,685'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5031301/index.html |title=Mordovia Arena |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180514213744/http://www.fifa.com/worldcup/destination/stadiums/stadium=5031301/index.html |archive-date=2018-05-14 |access-date=2026-06-22}}</ref> |Багтаамж: '''33,973'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5000437/index.html |title=Kaliningrad Stadium |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20171008114652/http://www.fifa.com/worldcup/destination/stadiums/stadium=5000437/index.html |archive-date=2017-10-08 |access-date=2026-06-22}}</ref> |Багтаамж: '''33,061'''<ref>{{Cite web |url=https://www.fifa.com/worldcup/destination/stadiums/stadium=5031304/index.html |title=Ekaterinburg Arena |website=FIFA.com |publisher=Олон улсын хөлбөмбөгийн холбоо |archive-url=https://web.archive.org/web/20180331173605/http://www.fifa.com/worldcup/destination/stadiums/stadium=5031304/index.html |archive-date=2018-03-31 |access-date=2026-06-22}}</ref> |- |[[File:Samara Arena.jpg|200x200px]] |[[File:MordoviaArenaStadium.jpg|200x200px]] |[[File:Kaliningrad stadium - 2018-04-07.jpg|alt=|200x200px]] |[[File:E-burg asv2019-05 img22 Central Stadium.jpg|204x204px]] |} == Цахим холбоос == {{Commonscat|2018 FIFA World Cup|2018 оны Хөлбөмбөгийн Дэлхийн Аварга Шалгаруулах Тэмцээн }} * [https://www.fifa.com/worldcup/archive/russia2018/ FIFA.com 2018 website] * [https://web.archive.org/web/20180620035520/https://resources.fifa.com/image/upload/2018-fifa-world-cup-russiatm-match-schedule-2667162-2667165.pdf?cloudid=z5mwiwbzi0fcagofsnd1 2018 FIFA World Cup Russia – Match Schedule] == Эшлэл == {{reflist}} {{Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн}} [[Ангилал:2018 оны хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн| ]] [[Ангилал:Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|#2018]] [[Ангилал:Оросын спортын арга хэмжээ|Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн]] [[Ангилал:2018 оны хөлбөмбөгийн арга хэмжээ|Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн]] 3sxj5jjqhzaqftlbgdzu6jejlv5ml4g 1930 оны хөлбөмбөгийн ДАШТ 0 77540 860732 816210 2026-06-30T23:02:53Z Enkhsaihan2005 64429 860732 wikitext text/x-wiki {{short description|Уругвайд болсон хөлбөмбөгийн холбооны тэмцээн}} {{Инфобокс олон улсын хөлбөмбөгийн тэмцээн | tourney_name = оны хөлбөмбөгийн ДАШТ | year = 1930 | other_titles = {{native name|es|1er Campeonato Mundial de Fútbol}} | image = Uruguay 1930 World Cup.jpg | alt = | caption = Албан ёсны постер | country = Уругвай | city = [[Монтевидео]] | dates = 7 сарын 13–30 | num_teams = 13 | confederations = 3 | venues = 3 | cities = 1 | champion = URU | count = 1 | second = ARG | second-flagvar = 1861 <!-- RANKINGS ARE BASED ON FIFA PUBLICATIONS. Before any changes, please discuss the matter on the talk page. --> | third = USA<!-- DISCUSS ON TALK PAGE BEFORE CHANGING --> | third-flagvar = 1912 | third-note = {{efn|name=third|Дэлхийн Аварга Шалгаруулах Тэмцээнд [[1934 оны хөлбөмбөгийн ДАШТ|1934 он]] хүртэл гуравдугаар байрын төлөөх тоглолт болоогүй ч гуравдугаар байрын төлөөх тоглолт анх товлогдсон эсэх талаар мэдээлэл өөр өөр байдаг. Зарим эх сурвалж Югославын баг Уругвайтай хийсэн хагас шигшээ тоглолтын шүүлтэд сэтгэл дундуур байсан тул гуравдугаар байрын төлөөх тоглолт хийхээс татгалзсан гэж мэдээлдэг.<ref name="four weeks"/> [[1986 оны хөлбөмбөгийн ДАШТ]]-ий талаарх ФИФА-гийн техникийн хорооны тайланд өмнөх Дэлхийн Аварга Шалгаруулах Тэмцээний бүх шигшээ тоглолтын бүх багуудын өнгөрсөн үеийн бүрэн чансааг оруулсан; энэхүү тайланд АНУ-ыг гуравт, Югославыг дөрөвт оруулсан нь бусад ижил тайлан дээр гоолын зөрүү илүү байсантай холбоотой бөгөөд<ref name="F279"/> ФИФА-гийн зүгээс энэ дадлыг үргэлжлүүлсээр байна.<ref name="awards"/><ref>{{cite web |url=https://resources.fifa.com/image/upload/all-time-fifa-world-cup-ranking-1930-2014-1180321.pdf?cloudid=nynltbogj47gfjtfszqr |title=Fact Sheet: FIFA World Cup All-time Ranking 1930–2014 |work=ФИФА |format=PDF |access-date=2026-06-31 |url-status=live |archive-url=https://web.archive.org/web/20200408044843/https://resources.fifa.com/image/upload/all-time-fifa-world-cup-ranking-1930-2014-1180321.pdf?cloudid=nynltbogj47gfjtfszqr |archive-date=2020-04-08}}</ref>}} | fourth = Югославын хаант улс<!-- DISCUSS ON TALK PAGE BEFORE CHANGING --> | fourth-note = {{efn|name=third}} | matches = 18 | goals = 70 | attendance = {{#invoke:Football attendance summation|main|groups=1-4}} | top_scorer = {{fbicon|ARG|1861}} [[Гильермо Стабиле]]<br />(8 гоол) | nextseason = [[1934 оны хөлбөмбөгийн ДАШТ|1934]] }} == Гадаад холбоос == {{commons category|FIFA World Cup 1930|1930 оны хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн}} *[https://www.fifa.com/worldcup/archive/uruguay1930/index.html 1930 FIFA World Cup Uruguay], FIFA.com == Эшлэл == {{reflist}} <nowiki/><nowiki/>{{Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн}} [[Ангилал:1930 оны хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн| ]] [[Ангилал:Хөлбөмбөгийн дэлхийн аварга шалгаруулах тэмцээн|#1930]] c24x4i9zd39cjccbfv770nwlju0dlp0 Module:Sports table/WDL 828 78967 860774 554309 2026-07-01T03:37:15Z Enkhsaihan2005 64429 860774 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Played">Pld</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Drawn">D</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Team' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Won">W</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Lost">L</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Lost">L</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' for">'..fa_letter..'F</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' against">'..fa_letter..'A</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' difference">'..fa_letter..'D</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp n8pxs4649ve12hr7a8qrix1cr6f6pc4 860778 860774 2026-07-01T03:57:03Z Enkhsaihan2005 64429 860778 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Played">Pld</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Drawn">D</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Баг' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Won">W</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Lost">L</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Lost">L</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' for">'..fa_letter..'F</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' against">'..fa_letter..'A</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' difference">'..fa_letter..'D</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp h4kqg0si87n77612glp0wdv1bl0qg53 860779 860778 2026-07-01T04:00:31Z Enkhsaihan2005 64429 860779 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Тоглолт">Т</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Drawn">D</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Баг' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Ялсан">Я</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Lost">L</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' for">'..fa_letter..'F</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' against">'..fa_letter..'A</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' difference">'..fa_letter..'D</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp cetg04bnck9iqh6czvz0npzqsv53ice 860780 860779 2026-07-01T04:01:46Z Enkhsaihan2005 64429 860780 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Тоглолт">Т</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Тэнцэл">Тц</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Баг' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'G' fa_word_sing = 'Goal' fa_word_plur = 'Goals' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Ялсан">Я</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' for">'..fa_letter..'F</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' against">'..fa_letter..'A</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' difference">'..fa_letter..'D</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp bwu2fkhnu6529zj2qy5g2vzclscp2jr 860781 860780 2026-07-01T04:13:32Z Enkhsaihan2005 64429 860781 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Тоглолт">Т</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Тэнцэл">Тц</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Баг' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'Г' fa_word_sing = 'Гоол' fa_word_plur = 'Гоол' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'Г' fa_word_sing = 'Гоол' fa_word_plur = 'Гоол' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Ялсан">Я</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' оруулсан">'..fa_letter..'О</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' алдсан">'..fa_letter..'А</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..'ын зөрүү">'..fa_letter..'З</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp byyhg0uuocizc9ml4glilqgbqz7jh0v 860789 860781 2026-07-01T10:10:16Z Enkhsaihan2005 64429 860789 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Тоглолт">Т</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Тэнцэл">Тц</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Баг' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'Г' fa_word_sing = 'Гоол' fa_word_plur = 'Гоол' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'Г' fa_word_sing = 'Гоол' fa_word_plur = 'Гоол' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'Оноо') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Ялсан">Я</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' оруулсан">'..fa_letter..'О</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' алдсан">'..fa_letter..'А</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..'ын зөрүү">'..fa_letter..'З</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'<abbr title="Points">Pts</abbr>') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp l63cqvlq3ooq8dzlvjyrn2tlrdmewgq 860791 860789 2026-07-01T10:11:43Z Enkhsaihan2005 64429 860791 Scribunto text/plain -- Style for football tables local pp = {} function pp.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) -- Load relevant modules local yesno = require('Module:Yesno') -- Create table header -- Pre stuff local team_width = Args['teamwidth'] or '190' local sort_text = yesno(Args['sortable_table'] or 'no') and ' sortable' or '' local show_played = not yesno(Args['hide_played'] or 'no') local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') table.insert(t,'{| class="wikitable'..sort_text..'" style="text-align:center;"\n') -- Open table -- Table title if Args['title'] or Args['table_header'] then table.insert(t,'|+ ' .. (Args['title'] or Args['table_header']) .. '\n') end -- Custom header options local played_head_text = Args['pld_header'] or '<abbr title="Тоглолт">Т</abbr>' local draw_head_text = Args['draw_header'] or (yesno(Args['use_tie'] or 'no') and '<abbr title="Tied">T</abbr>') or '<abbr title="Тэнцэл">Тц</abbr>' local group_head_text = Args['group_header'] or '<abbr title="Group">Grp</abbr>' local team_head_text = Args['team_header'] or 'Баг' local away_goals_head_text = Args['away_goals_header'] or '<abbr title="Away goals">AG</abbr>' local bonus_head_text = Args['bonus_header'] or '<abbr title="Bonus points">BP</abbr>' local rw_head_text = Args['rw_header'] or '<abbr title="Rounds won">RW</abbr>' local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- What to rank the teams by local ranking_style = string.lower(Args['ranking_style'] or 'pts') local show_points, show_wperc, show_perc, show_ppg = false, false, false, false if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' or ranking_style=='none' then -- Based on wins elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then show_wperc = true elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage show_perc = true elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game show_ppg = true elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points show_perc = true show_points = true elseif ranking_style=='ppgpts' then -- Based on ppg and points show_ppg = true show_points = true else -- Based on points show_points = true end local pts_perc_first = yesno((show_points and Args['pts_first']) or (show_perc and Args['perc_first']) or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') -- Use points instead of goals for/against local for_against_style = Args['for_against_style'] or 'goals' local fa_letter, fa_word_sing, fa_word_plur local hide_for_against = false -- First convert to lower case if it is a string for_against_style = string.lower(for_against_style) if for_against_style=='g' or for_against_style=='goal' or for_against_style=='goals' then fa_letter = 'Г' fa_word_sing = 'Гоол' fa_word_plur = 'Гоол' elseif for_against_style=='f' or for_against_style=='frame' or for_against_style=='frames' then fa_letter = 'F' fa_word_sing = 'Frame' fa_word_plur = 'Frames' elseif for_against_style=='m' or for_against_style=='match' or for_against_style=='matches' then fa_letter = 'M' fa_word_sing = 'Match' fa_word_plur = 'Matches' elseif for_against_style=='game' or for_against_style=='games' then fa_letter = 'G' fa_word_sing = 'Game' fa_word_plur = 'Games' elseif for_against_style=='p' or for_against_style=='point' or for_against_style=='points' then fa_letter = 'P' fa_word_sing = 'Point' fa_word_plur = 'Points' elseif for_against_style=='s' or for_against_style=='set' or for_against_style=='sets' then fa_letter = 'S' fa_word_sing = 'Set' fa_word_plur = 'Sets' elseif for_against_style=='r' or for_against_style=='run' or for_against_style=='runs' then fa_letter = 'R' fa_word_sing = 'Run' fa_word_plur = 'Runs' elseif for_against_style=='l' or for_against_style=='leg' or for_against_style=='legs' then fa_letter = 'L' fa_word_sing = 'Leg' fa_word_plur = 'Legs' elseif for_against_style=='none' then hide_for_against = true else fa_letter = 'Г' fa_word_sing = 'Гоол' fa_word_plur = 'Гоол' end -- Whether to use goal ratio (goal average) instead local do_ratio = yesno(Args['use_goal_ratio'] or 'no') local do_average = yesno(Args['use_goal_average'] or 'no') -- Whether to use goal percentage instead local do_percentage = yesno(Args['use_goal_percentage'] or Args['use_against_percentage'] or Args['use_point_percentage'] or 'no') local do_point_for_avg = yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') -- Whether to suppress the GR/GA/G% column entirely local do_difference = yesno(Args['use_goal_diff'] or 'yes') -- Use games behind header local show_GB = yesno(Args['show_GB'] or 'no') -- Initialize local tt = {} tt.count = 0 -- Up by one after every call tt.tab_text = t -- Actual text -- Actual headers if pos_label ~= nil then tt = p_sub.colhead(tt,28,pos_label) -- Position col end -- Add group header if full_table and group_col then tt = p_sub.colhead(tt,28,group_head_text) -- Group col end tt = p_sub.colhead(tt,team_width,team_head_text..VTE_text) -- Team col if pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'Оноо') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if show_played then tt = p_sub.colhead(tt,28,played_head_text) -- Matches played col end if full_table then if show_win then tt = p_sub.colhead(tt,28,'<abbr title="Ялсан">Я</abbr>') -- Win col end if loss_first then if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end else if show_draw then tt = p_sub.colhead(tt,28,draw_head_text) -- Draw col end if show_loss then tt = p_sub.colhead(tt,28,'<abbr title="Хожигдол">Х</abbr>') -- Loss col end end if rounds_won then tt = p_sub.colhead(tt,28,rw_head_text) -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' оруулсан">'..fa_letter..'О</abbr>') -- For col tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' алдсан">'..fa_letter..'А</abbr>') -- Against col end if do_ratio or do_average then local ratio_word = do_ratio and ' ratio' or ' average' local ratio_letter = do_ratio and 'R' or 'Av' tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..ratio_word..'">'..fa_letter..ratio_letter..'</abbr>') -- Ratio col elseif do_percentage then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..' percentage">PP</abbr>') -- Percentage col elseif do_point_for_avg then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_plur..' per match">'..fa_letter..'PM</abbr>') -- Points per match elseif do_difference then tt = p_sub.colhead(tt,28,'<abbr title="'..fa_word_sing..'ын зөрүү">'..fa_letter..'З</abbr>') -- Difference col end end end if show_away_goals then tt = p_sub.colhead(tt,28,away_goals_head_text) -- Away goals col end if show_bonus_points then tt = p_sub.colhead(tt,28,bonus_head_text) -- Bonus points col end if not pts_perc_first then if show_points then tt = p_sub.colhead(tt,28,'Оноо') -- Points col end if show_perc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">PCT</abbr>') -- Win percentage col elseif show_wperc then tt = p_sub.colhead(tt,36,'<abbr title="Win percentage">WPCT</abbr>') -- Win percentage col end if show_ppg then tt = p_sub.colhead(tt,36,'<abbr title="Points per game">PPG</abbr>') -- Points per game col end end if full_table then if show_GB then -- Games behind header tt = p_sub.colhead(tt,28,'<abbr title="Games behind">GB</abbr>') end tt.count = tt.count+1 table.insert(tt.tab_text,results_header_txt) end return tt end -- Numeric alignment local function num_align(num, digits) if tonumber(digits) and tonumber(num) then local n = tonumber(num) digits = tonumber(digits) if digits == 1 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end elseif digits == 2 then if n >= 0 and n < 10 then return '<span style="visibility:hidden;color:transparent;">00</span>' .. num elseif n >= 10 and n < 100 then return '<span style="visibility:hidden;color:transparent;">0</span>' .. num end end end return num end function pp.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) -- Build the inner parts of individual rows -- Sub-module usage local mm = require('Module:Math') local yesno = require('Module:Yesno') -- Get custom/default options for in table local show_win = yesno(Args['show_win'] or 'yes') local show_draw = yesno(Args['show_draw'] or 'yes') local show_loss = yesno(Args['show_loss'] or 'yes') local win_points = tonumber(Args['winpoints']) or (show_draw and 3 or 2) local draw_points = tonumber(Args['drawpoints']) or (show_draw and 1 or 0) local loss_points = tonumber(Args['losspoints']) or (show_draw and 0 or 1) local rw_points = tonumber(Args['rwpoints']) or 1 local digits = Args['digitpad'] local total_row_name = 'SPORTS_TABLE_TOTAL' -- Add to tallies if enabled if yesno(Args['show_totals'] or 'no') and (team_code_ii ~= total_row_name) then for k,v in ipairs({'win', 'draw', 'loss', 'gf', 'ga', 'adjust_points', 'startpoints'}) do Args[v .. '_' .. total_row_name] = (tonumber(Args[v .. '_' .. total_row_name]) or 0) + (tonumber(Args[v .. '_' .. team_code_ii]) or 0) end end -- Order of draws and losses -- local loss_first = Args['loss_before_draw'] or Args['loss_before_tie'] or false -- Optional rounds won local rounds_won = yesno(Args['show_rw'] or Args['rounds_won'] or 'no') -- Get some input local wins = tonumber(Args['win_'..team_code_ii]) or 0 local draws = tonumber(Args['draw_'..team_code_ii]) or 0 local losses = tonumber(Args['loss_'..team_code_ii]) or 0 local rw = tonumber(Args['rw_'..team_code_ii]) or 0 local gfor = tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '0') or '?' local gaig = tonumber(Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '0') or '?' local s_pts = (tonumber(Args['adjust_points_'..team_code_ii]) or 0) + (tonumber(Args['startpoints_'..team_code_ii]) or 0) local hth_local = yesno(Args['show_hth'] or 'yes') and Args['hth_'..team_code_ii] or nil local ranking_style = string.lower(Args['ranking_style'] or 'pts') local pct_style = string.lower(Args['pct_style'] or 'ratio') -- Then calculate some values local matches = wins + draws + losses local points = win_points*wins + draw_points*draws + loss_points*losses + rw_points*rw + s_pts if Args['goalpoints'] and tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) then points = points + (tonumber(Args['goalpoints']) or 1)*tonumber(Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii]) end local matches_text = matches if tonumber(Args['win_'..team_code_ii]) == nil or tonumber(Args['draw_'..team_code_ii]) == nil or tonumber(Args['loss_'..team_code_ii]) == nil then matches = tonumber(Args['matches_'..team_code_ii]) or matches matches_text = Args['matches_'..team_code_ii] or matches end local win_perc = '' local ppg = '' if tonumber(matches) == nil or matches == 0 then -- Escape for zero matches win_perc = '&mdash;' ppg = '&mdash;' else --Some sports use draw as well win_perc = (pct_style == 'ratio') and mm._precision_format((2*wins + draws + s_pts) / (2*matches), 3) or mm._precision_format(100*(2*wins + draws + s_pts) / (2*matches), 2) -- Allow win_perc to be altered due to point deductions/additions ppg = mm._precision_format(points / matches, 2) if (losses > 0 or draws > 0) and pct_style == 'ratio' then -- Drop the leading zero (from the string) win_perc = string.sub(win_perc,2,string.len(win_perc)) end end if ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then if matches == 0 then win_perc = '&mdash;' else win_perc = mm._precision_format(100 * wins / matches, 2) end end -- Show for/against local for_against_style = Args['for_against_style'] or 'goals' local hide_for_against = false for_against_style = string.lower(for_against_style) if for_against_style=='none' then hide_for_against = true end -- Comparison of for against local gcomp = nil -- Whether to use goal ratio (goal average) or goal percentage instead local skip_sign if yesno(Args['use_goal_ratio'] or 'no') or yesno(Args['use_goal_average'] or 'no') then -- Now it is the goal ratio/goal average if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / gaig, 3) end elseif yesno(Args['use_goal_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gaig == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / gaig , 1) end elseif yesno(Args['use_against_percentage'] or 'no') then -- Now it is the percentage if (gfor == '?') or (gaig == '?') or gfor == 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gaig / gfor , 1) end elseif yesno(Args['use_point_percentage'] or 'no') then -- Now it is the point percentage if (gfor == '?') or (gaig == '?') or (gfor + gaig) <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(100 * gfor / (gfor + gaig) , 2) end elseif yesno(Args['use_goals_per_match'] or Args['use_points_per_match'] or 'no') then -- Now it is the point for average if (gfor == '?') or matches <= 0 then gcomp = '&mdash;' else gcomp = mm._precision_format(gfor / matches , 1) end elseif yesno(Args['use_goal_diff'] or 'yes') then -- It's goal difference if (gfor == '?') or (gaig == '?') then gcomp = '&mdash;' else gcomp = gfor - gaig -- Formatting with signs if gcomp>0 then gcomp='+'..num_align(gcomp,digits) elseif gcomp < 0 then gcomp='&minus;'..-num_align(gcomp,digits) end end end -- Use actual values if gfor or gaig is not numeric if (gfor == '?') then gfor = Args['gf_'..team_code_ii] or Args['pf_'..team_code_ii] or '' end if (gaig == '?') then gaig = Args['ga_'..team_code_ii] or Args['pa_'..team_code_ii] or '' end -- Show games behind local show_GB = yesno(Args['show_GB'] or 'no') local GB_text = '&mdash;' if show_GB then local GB_team_no = tonumber(Args['GB_team']) or 1 if ii == GB_team_no then -- Do nothing, it's vs this team else local wins_GB = tonumber(Args['win_'..team_list[GB_team_no]]) or 0 local losses_GB = tonumber(Args['loss_'..team_list[GB_team_no]]) or 0 local GB_num = (wins_GB-wins+losses-losses_GB)/2 -- Display options if GB_num >0 then -- Indicates trailing GB_team GB_text = num_align(GB_num,digits) elseif GB_num == 0 then -- Equal, do nothing to get dash else -- Ahead of GB team, should be noted by plus (instead of minus that comes from formula) GB_text = '+'..num_align(-GB_num,digits) end end end -- Some local vars local hth_string local tt_return = p_sub.hth(frame,Args,full_table,hth_id_list,hth_local,notes_exist,team_list,team_code_ii,ii_start,ii_end,rand_val) hth_string = tt_return.str hth_id_list = tt_return.list notes_exist = tt_return.notes_exist -- What to rank the teams by local rank_points, rank_perc, rank_wperc, rank_ppg = false, false, false, false local win_fw, win_string if ranking_style=='w' or ranking_style=='win' or ranking_style=='wins' then -- Based on wins win_fw = 'font-weight: bold;' win_string = hth_string elseif ranking_style=='perc' or ranking_style=='percentage' or ranking_style=='%' then -- Based on percentage rank_perc = true win_fw=ii_fw win_string = '' elseif ranking_style=='wperc' or ranking_style=='win percentage' or ranking_style=='wpct' or ranking_style=='%w' then -- Based on percentage rank_wperc = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppg' or ranking_style=='points per game' or ranking_style=='ptspergame' then -- Based on points per game rank_ppg = true win_fw=ii_fw win_string = '' elseif ranking_style=='percpts' or ranking_style=='%pts' then -- Based on percentage and points rank_perc = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='ppgpts' then -- Based on ppg and points rank_ppg = true rank_points = true win_fw=ii_fw win_string = '' elseif ranking_style=='none' then win_fw=ii_fw win_string = '' else -- Based on points rank_points = true win_fw=ii_fw win_string = '' end local show_played = not yesno(Args['hide_played'] or 'no') local show_away_goals = yesno(Args['show_away_goals'] or 'no') local show_bonus_points = yesno(Args['show_bonus_points'] or 'no') local pts_perc_first = yesno((rank_points and Args['pts_first']) or ((rank_perc or rank_wperc) and Args['perc_first']) or 'no') -- Row building if (tonumber(Args['adjust_points_'..team_code_ii]) and tonumber(Args['startpoints_'..team_code_ii])) then table.insert(t,'[[Category:Pages using sports table with both adjust and startpoints]]\n') end if pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_played then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..matches_text..'\n') -- Played end if full_table then -- Use actual values if wins, draws, and losses are not numeric if (wins == 0 and draws == 0 and losses == 0) then local function numorval(s) return s and ((s == '' and 0) or tonumber(s) or s) or 0 end wins = numorval(Args['win_'..team_code_ii]) draws = numorval(Args['draw_'..team_code_ii]) losses = numorval(Args['loss_'..team_code_ii]) end if show_win then table.insert(t,'| style="'..win_fw..bg_col..'" |'..num_align(wins,digits)..win_string..'\n') -- Won end if loss_first then if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end else if show_draw then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(draws,digits)..'\n') -- Drawn end if show_loss then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(losses,digits)..'\n') -- Lost end end if rounds_won then if tonumber(Args['rw_' .. team_code_ii] or 0) == nil then rw = Args['rw_' .. team_code_ii] or '' end table.insert(t,'| style="'..ii_fw..bg_col..'" |'..rw..'\n') -- Rounds won end if not hide_for_against then if not yesno(Args['hide_for_against_columns'] or 'no') then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gfor,digits)..'\n') -- GF table.insert(t,'| style="'..ii_fw..bg_col..'" |'..num_align(gaig,digits)..'\n') -- GA end if gcomp then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..gcomp..'\n') -- Goal comparison end end end if show_away_goals then table.insert(t,'| style="'..bg_col..'" | '..(Args['away_goals_'..team_code_ii] or '')..'\n') end if show_bonus_points then if s_pts < 0 then table.insert(t,'| style="'..bg_col..'" | &minus;'..num_align(-s_pts,digits)..'\n') else table.insert(t,'| style="'..bg_col..'" | '..num_align(s_pts,digits)..'\n') end end if not pts_perc_first then if rank_points then -- Add &minus; for negative point totals if points<0 then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | &minus;'..num_align(-points,digits)..hth_string..'\n') else table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..num_align(points,digits)..hth_string..'\n') end end if rank_perc then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..win_perc..hth_string..'\n') elseif rank_wperc then table.insert(t,'| style="font-weight: bold;text-align:right;'..bg_col..'" | '..win_perc..hth_string..'\n') end if rank_ppg then table.insert(t,'| style="font-weight: bold;'..bg_col..'" | '..ppg..hth_string..'\n') end end if show_GB then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..GB_text..'\n') -- GB end return {t=t, notes_exist=notes_exist, hth_id_list=hth_id_list} end function pp.status(Args) -- Declare status options -- ------------------------------------------------------------ -- NOTE: If you add to status_code, also add to status_called and status_letters!! -- Or functionality will be compromised -- ------------------------------------------------------------ local status_code, status_called = {}, {} status_code = { A='Advance to a further round', C='Champions', D='Disqualified', E='Eliminated', G='Guests', H='Hosts', O='Play-off winners', P='Promoted', Q='Qualified for the phase indicated', R='Relegated', T='Qualified, but not yet for the particular phase indicated'} local status_letters = (Args['status_order'] or '') .. 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' -- Status position (before or after read and default) local stat_pos_val = string.lower(Args['status_pos'] or '') local status_position = 'after' -- Default location if stat_pos_val=='before' then status_position = 'before' elseif stat_pos_val=='after' then status_position = 'after' end -- Read in custom status options for l in mw.text.gsplit(status_letters, '') do status_called[l] = false status_code[l] = status_code[l] or '?' status_letters = mw.ustring.gsub(status_letters, '(' .. l ..'.-)' .. l, '%1') if Args['status_text_' .. l] then status_code[l] = Args['status_text_' .. l] end end return {code=status_code, called=status_called, letters=status_letters, position=status_position} end return pp 7wnokr4ca2yawtl6u2s2yu342mjxpuc Module:Sports table 828 78974 860772 845283 2026-07-01T03:35:54Z Enkhsaihan2005 64429 860772 Scribunto text/plain -- Module to build tables for standings in Sports -- See documentation for details require('strict') local p = {} -- Main function function p.main(frame) -- Declare locals local getArgs = require('Module:Arguments').getArgs local Args = getArgs(frame, {parentFirst = true}) local ii_start, ii_end, N_rows_res = 0 local text_field_result local notes_exist = false local t = {} local t_footer = {} local t_return = {} local team_list = {} local jj, jjj local table_anchor = mw.ustring.gsub(Args['section'] and 'sports-table-' .. Args['section'] or '', ' ', '_') -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Sports table/styles.css' } } -- Edit links if requested local baselink = frame:getParent():getTitle() local currentTitle = mw.title.getCurrentTitle() if baselink == 'Module:Excerpt' then baselink = '' end if currentTitle.fullText == baselink then baselink = '' end local template_name = (baselink ~= '' and (':' .. baselink .. (table_anchor ~= '' and '#' .. table_anchor or ''))) or '' -- Get the custom start point for the table (most will start by default at 1) local top_pos = tonumber(Args['highest_pos']) or 1 -- Get the custom end point for the table (unrestricted if bottom_pos is < top_pos) local bottom_pos = tonumber(Args['lowest_pos']) or 0 local N_teams = top_pos - 1 -- Default to 0 at start, but higher number needed to skip certain entries -- Load modules local yesno = require('Module:Yesno') -- Load style and (sub) modules local style_def = Args['style'] or 'WDL' -- Historically 'football' exists as style, this is now forwarded to WDL if style_def == 'football' then style_def = 'WDL' end local p_style = require('Module:Sports table/'..style_def) local p_sub = require('Module:Sports table/sub') -- Random value used for uniqueness math.randomseed( os.clock() * 10^8 ) local rand_val = math.random() -- Declare colour scheme local result_col = {} result_col = {green1='#BBF3BB', green2='#CCF9CC', green3='#DDFCDD', green4='#EEFFEE', blue1='#BBF3FF', blue2='#CCF9FF', blue3='#DDFCFF', blue4='#EEFFFF', yellow1='#FFFFBB', yellow2='#FFFFCC', yellow3='#FFFFDD', yellow4='#FFFFEE', red1='#FFBBBB', red2='#FFCCCC', red3='#FFDDDD', red4='#FFEEEE', black1='#BBBBBB', black2='#CCCCCC', black3='#DDDDDD', black4='#EEEEEE', orange1='#FEDCBA', orange2='#FEEAD5', white1='inherit',['']='inherit' } -- Show all stats in table or just matches played and points local full_table = true local hide_results = yesno(Args['hide_results'] or 'no') local hide_footer = yesno(Args['hide_footer'] or 'no') local pld_pts_val = string.lower(Args['only_pld_pts'] or 'no') local show_class_rules = yesno(Args['show_class_rules'] or 'yes') and true or false -- True if par doesn't exist, false otherwise if yesno(pld_pts_val) then full_table = false elseif pld_pts_val=='no_hide_class_rules' then full_table = true show_class_rules = false end -- Declare results column header local results_header = {} results_header = {Q='Qualification', QR='Qualification or relegation', P='Promotion', PQR='Promotion, qualification or relegation', PR='Promotion or relegation', PQ='Promotion or qualification', R='Relegation'} local results_defined = false -- Check whether this would be needed -- Possible prefix for result fields local respre = (Args['result_prefix'] or '') .. '_' respre = (respre == '_') and '' or respre -- Now define line for column header (either option or custom) local local_res_header = results_header[Args[respre..'res_col_header']] or Args[respre..'res_col_header'] or '' -- Check whether it includes a note local res_head_note = Args['note_header_res'] local res_head_note_text = '' if full_table and res_head_note then notes_exist = true res_head_note_text = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', res_head_note} } end local results_header_txt = '! scope="col" |'..local_res_header..res_head_note_text..'\n' -- Get status option local t_status = p_style.status(Args) -- Alternative syntax for team list if Args['team_order'] and Args['team_order'] ~= '' then local team_order_offset = (tonumber(Args['team_order_start']) or 1) - 1 local tlist = mw.text.split(Args['team_order'], '%s*[;,]%s*') for k, tname in ipairs(tlist) do if tname ~= '' then Args['team' .. (k + team_order_offset)] = tname end end end -- Read in number of consecutive teams (ignore entries after skipping a spot) while Args['team'..N_teams+1] ~= nil and (bottom_pos < top_pos or N_teams < bottom_pos) do N_teams = N_teams+1 -- Sneakily add it twice to the team_list parameter, once for the actual -- ranking, the second for position lookup in sub-tables -- This is possible because Lua allows both numbers and strings as indices. team_list[N_teams] = Args['team'..N_teams] -- i^th entry is team X team_list[Args['team'..N_teams]] = N_teams -- team X entry is position i end -- Optional totals local total_row_name = 'SPORTS_TABLE_TOTAL' if yesno(Args['show_totals'] or 'no') then N_teams = N_teams+1 Args['team' .. N_teams] = total_row_name Args['name_' .. total_row_name] = 'Total' Args['result' .. N_teams] = total_row_name Args['col_' .. total_row_name] = '#eee' team_list[N_teams] = Args['team' .. N_teams] team_list[Args['team'..N_teams]] = N_teams end -- Show position local position_col = yesno(Args['show_positions'] or 'yes') and true or false -- Show groups or note local group_col = yesno(Args['show_groups'] or 'no') and true or false -- Show match_table or not local match_table = yesno(Args['show_matches'] or 'no') and true or false local p_matches = match_table and (style_def == 'Chess' and require('Module:Sports results/'..style_def) or require('Module:Sports results')) -- Custom position column label or note local pos_label = Args['postitle'] or '<abbr title="Position">Pos</abbr>' if position_col == false then pos_label = nil end -- Show status or not local show_status = yesno(Args['show_status'] or 'yes') and true or false -- Get VTE button text (but only for non-empty text) local VTE_text = '' if (template_name ~= '') then VTE_text = require('Module:Navbar')._navbar({ template_name, mini=1, style='float:right', brackets=1 }) -- remove the next part if https://en.wikipedia.org/w/index.php?oldid=832717047#Sortable_link_disables_navbar_links? -- is ever fixed if yesno(Args['sortable_table'] or 'no') then VTE_text = mw.ustring.gsub(VTE_text, '<%/?abbr[^<>]*>', ' ') end end -- Add source to title if specified and possible local title_source = false if Args['title'] and Args['title_source'] then Args['title'] = Args['title'] .. Args['title_source'] title_source = true elseif Args['table_header'] and Args['table_header_source'] then Args['table_header'] = Args['table_header'] .. Args['table_header_source'] title_source = true end -- Add a table anchor if table_anchor ~= '' then table.insert(t, '<span class="anchor" id="' .. table_anchor .. '"></span>\n') end -- Write column headers t_return = p_style.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) if match_table then -- Add empty column header t_return.count = t_return.count+1 table.insert(t_return.tab_text,'! scope="row" class="unsortable" style="background-color:white;color:black;border-top:white;border-bottom:white;line-width:3pt;"| \n') -- Add rest of header t_return = p_matches.header(t_return,Args,p_sub,N_teams,team_list,tonumber(Args['legs']) or 1) end t = t_return.tab_text local N_cols = t_return.count -- Determine what entries go into table -- Find out which team to show (if any) local ii_show = team_list[Args['showteam'] or Args['team'] or nil] -- nil if non-existant -- Start and end positions to show local n_to_show = tonumber(Args['show_limit']) or N_teams -- Check for "legal value", if not legal (or non declared), then show all local check_n = ((n_to_show>=(N_teams-top_pos+1)) or (n_to_show<=1) or (n_to_show~=math.floor(n_to_show))) -- Also check whether there is a valid ii_show if check_n or (not ii_show) then ii_start = top_pos ii_end = N_teams else -- It's a proper integer between top_pos+1 and N_teams-1 -- If it is in the middle show the same number above and below -- If it is in the top or bottom, show the exact number -- How many to show on the side local n_show_side = math.floor(n_to_show/2) if (ii_show-top_pos+1)<=n_show_side then -- Top team ii_start = top_pos ii_end = top_pos+n_to_show-1 elseif ii_show>=(N_teams+1-n_show_side) then -- Bottom team ii_start = N_teams+1-n_to_show ii_end = N_teams else -- Normal case ii_start = ii_show-n_show_side ii_end = ii_show+n_show_side end end -- For results column local new_res_ii = ii_start -- Pre-check for existence of column if not hide_results then for ii = ii_start, ii_end do if Args[respre..'result'..ii] and Args[respre..'text_' .. Args[respre..'result'..ii]] then results_defined = true end end end -- Remove results header if it is unused if full_table and not results_defined then -- First get it as one string, then use string replace to replace that header by empty string local t_str = tostring(table.concat(t)) t_str = mw.ustring.gsub( t_str, results_header_txt, '' ) N_cols = N_cols-1 -- There is actually one column less t = {} table.insert(t, t_str) end -- Write rows local team_name, team_code_ii, team_code_jj, pos_num, group_txt, note_local local note_string, note_local, note_local_num, note_id local note_id_list = {} local hth_id_list = {} for ii = ii_start, ii_end do -- First get code team_code_ii = team_list[ii] -- Now read values pos_num = Args['pos_'..team_code_ii] or ii group_txt = Args['group_'..team_code_ii] or ' ' team_name = Args['name_'..team_code_ii] or team_code_ii note_local = Args['note_'..team_code_ii] or nil -- Does it need a promotion/qualification/relegation tag local result_local = Args[respre..'result'..ii] or nil local bg_col = nil -- Get local background colour if result_local then bg_col = result_col[Args[respre..'col_'..result_local]] or Args[respre..'col_'..result_local] or 'inherit' if bg_col == 'inherit' then bg_col = bg_col .. 'background-color:inherit; color: inherit' else bg_col = 'background-color:'..bg_col..';color:black;' -- Full style tag end end if not bg_col then bg_col = 'background-color:transparent; color: inherit;' end -- Becomes default if undefined -- Bold this line or not local ii_fw = ii == ii_show and 'font-weight: bold;' or 'font-weight: normal;' if yesno(Args['show_totals'] or 'no') and team_code_ii == total_row_name then ii_fw = 'font-weight: bold;' end -- Check whether there is a note or not, if so get text ready for it if note_local and full_table then -- Set global check for notes to true notes_exist = true -- There are now 3 options for notes -- 1) It is a full note -- 2) It is a referal to another note (i.e. it's just a team code; e.g. note_AAA=Text, note_BBB=AAA) in which the note for BBB should link to the same footnote as AAA, with -- 2a) The other linked note exist in the part of the table shown -- 2b) The part of the note does not exist in the part of the table shown if not Args['note_'..note_local] then -- Option 1 -- Now define the identifier for this note_id = '"table_note_'..team_code_ii..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID) note_id_list[team_code_ii] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, note_local} } else -- Option 2 -- It is option 2a in either one if either the main note is inside the sub-table -- or another ref to that note is inside the sub-table -- Basically when it either has been defined, or the main link will be in the table note_local_num = team_list[note_local] if note_id_list[note_local] or ((note_local_num >= ii_start) and (note_local_num <= ii_end)) then -- Option 2a note_id = '"table_note_'..note_local..rand_val..'"' note_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } else -- Option 2b -- Now define the identifier for this note_id = '"table_note_'..note_local..rand_val..'"' -- Add random end for unique ID note_id_list[note_local] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, Args['note_'..note_local]} } end end else note_string = ''; end -- Insert status when needed local status_string = '' local status_local = show_status and Args[respre .. 'status_'..team_code_ii] or nil local status_let_first = true local curr_letter -- Only if it is defined if status_local then -- Take it letter by letter for jjj = 1,mw.ustring.len(status_local) do curr_letter = mw.ustring.upper(mw.ustring.sub(status_local,jjj,jjj)) -- See whether it exist if t_status.code[curr_letter] then -- Depending on whether it is the first letter of not if status_let_first then status_string = curr_letter t_status.called[curr_letter] = true status_let_first = false else status_string = status_string..', '..curr_letter t_status.called[curr_letter] = true end end end -- Only add brackets/dash and bolding if it exist if not status_let_first then if t_status.position == 'before' then status_string = '<span style="font-weight:bold">'..string.lower(status_string)..' &ndash;</span> ' else status_string = ' <span style="font-weight:bold">('..status_string..')</span>' end end end -- Now build the rows if yesno(Args['show_totals'] or 'no') and team_code_ii == total_row_name then table.insert(t,'|- class="sortbottom"\n') -- New row else table.insert(t,'|- \n') -- New row end if position_col then table.insert(t,'| style="text-align: center;'..ii_fw..bg_col..'"| '..pos_num..'\n') -- Position number end if full_table and group_col then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..group_txt..'\n') -- Group number/name end -- Build the team string order based on status position local team_string if t_status.position == 'before' then team_string = status_string..team_name..note_string else team_string = team_name..note_string..status_string end table.insert(t,'! scope="row" style="text-align: left; white-space:nowrap;'..ii_fw..bg_col..'"| '..team_string..'\n')-- Team (with possible note) -- Call to subfunction t_return = p_style.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) t = t_return.t notes_exist = t_return.notes_exist hth_id_list = t_return.hth_id_list -- Now check what needs to be added inside the results column if full_table then local res_jjj if ii == new_res_ii then -- First check how many rows you need for this N_rows_res = 1 jjj = ii+1 result_local = Args[respre..'result'..ii] or '' local cont_loop = true while (jjj<=ii_end) and cont_loop do if Args['split'..tostring(jjj-1)] then cont_loop = false new_res_ii = jjj else res_jjj = Args[respre..'result'..jjj] or '' if result_local == res_jjj then N_rows_res = N_rows_res+1 else cont_loop = false new_res_ii = jjj end end jjj = jjj+1 end -- Now create this field (reuse ii_fw and bg_col) -- Bold (if in range) or not if ii_show and (ii_show>=ii) and (ii_show<=(ii+N_rows_res-1)) then ii_fw = 'font-weight: bold;' else ii_fw = 'font-weight: normal;' end -- Get background colour bg_col = nil if Args[respre..'result'..ii] then bg_col = result_col[Args[respre..'col_'..result_local]] or Args[respre..'col_'..result_local] or 'inherit' if bg_col == 'inherit' then bg_col = bg_col .. '; color: inherit' else bg_col = 'background-color:'..bg_col..';color:black;' -- Full style tag end end if not bg_col then bg_col = 'background-color:transparent; color: inherit;' end -- Becomes default if undefined -- Check for notes local note_res_string, note_ref, note_text = '', '', '' if Args['note_res_'..result_local] then notes_exist = true local note_res_local = Args['note_res_'..result_local] -- Split the note_res_local into a table if all the entries are valid local multiref = 1 local note_res_local_table = mw.text.split(note_res_local, '%s*,%s*') if (#note_res_local_table > 1) then for k, note_res_loc in ipairs(note_res_local_table) do multiref = multiref * (Args['note_res_' .. note_res_loc] and 1 or 0) end else multiref = 0 end -- Split failed, so make a single entry table with hth_local inside if multiref < 1 then note_res_local_table = { note_res_local } end for k,note_res_local in ipairs(note_res_local_table) do if not Args['note_res_'..note_res_local] then -- It does not point to another result note note_ref = respre..'res_'..result_local note_id = '"table_note_res_'..result_local..rand_val..'"' -- Identifier note_text = note_res_local else -- It does point to another result note note_ref = respre..'res_'..note_res_local note_id = '"table_note_res_'..note_res_local..rand_val..'"' -- Identifier note_text = Args['note_res_'..note_res_local] end -- Check whether it is already printed if not note_id_list[note_ref] then -- Print it note_id_list[note_ref] = note_id note_res_string = note_res_string .. frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, note_text} } else -- Refer to it note_res_string = note_res_string .. frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } end end end -- Get text local text_result = Args[respre..'text_'..result_local] or '' if text_result:match('fbmulticomp') then ii_fw = 'padding:0;' .. ii_fw if text_result:match('fbmulticompefn') then notes_exist = true end end text_field_result = '| style="'..ii_fw..bg_col..'" rowspan="'..tostring(N_rows_res)..'" |'..text_result..note_res_string..'\n' -- See whether it is needed (only when blank for all entries) if results_defined then table.insert(t,text_field_result) end end end -- Insert match row if needed if match_table then local legs = tonumber(Args['legs']) or 1 -- Add empty cell table.insert(t,'| style="background-color:white;color:black;border-top:white;border-bottom:white;"| \n') -- Now include note to match results if needed for jj=top_pos,N_teams do team_code_jj = team_list[jj] if ii == jj then -- Nothing else for l=1,legs do local m = (legs == 1) and 'match_' or 'match' .. l .. '_' local match_note = Args[m..team_code_ii..'_'..team_code_jj..'_note'] if match_note then notes_exist = true -- Only when it exist -- First check for existence of reference for note if not (Args['note_'..match_note] or Args[m..match_note..'_note']) then -- It's the entry note_id = '"table_note_'..team_code_ii..'_'..team_code_jj..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID) note_id_list[team_code_ii..'_'..team_code_jj] = note_id note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, match_note} } else -- Check for existence elsewhere note_local_num = team_list[match_note] or ii_end + 1 if note_id_list[match_note] or ((note_local_num >= ii_start) and (note_local_num <= ii_end)) then -- It exists note_id = '"table_note_'..match_note..rand_val..'"' -- Identifier note_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } else -- Now define the identifier for this note_id = '"table_note_'..match_note..rand_val..'"' -- Add random end for unique ID note_id_list[match_note] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, Args['note_'..match_note]} } end end -- Now append this to the match result string Args[m..team_code_ii..'_'..team_code_jj] = (Args[m..team_code_ii..'_'..team_code_jj] or '')..note_string end end end end -- Add rest of match row t = p_matches.row(t,Args,N_teams,team_list,ii,ii_show,legs) end -- Now, if needed, insert a split (solid line to indicate split in standings, but only when it is not at the last shown position) if Args['split'..ii] and (ii<ii_end) then -- Base size on N_cols (it needs 2*N_cols |) table.insert(t,'|- style="color:inherit;background-color:'..result_col['black1']..'; line-height:3pt;"\n') table.insert(t,string.rep('|',2*N_cols)..'\n') end end -- Close table table.insert(t, '|}') -- Get info for footer local update = Args['update'] or 'unknown' local start_date = Args['start_date'] or 'unknown' local source = Args['source'] or (title_source == true and '') or frame:expandTemplate{ title = 'citation needed', args = { reason='No source parameter defined', date=os.date('%B %Y') } } local class_rules = Args['class_rules'] or nil -- Create footer text -- Date updating local matches_text = Args['matches_text'] or 'match(es)' if string.lower(update)=='complete' or hide_footer then -- Do nothing elseif update=='' then -- Empty parameter table.insert(t_footer,'Updated to '..matches_text..' played on unknown. ') elseif string.lower(update)=='future' then -- Future start date table.insert(t_footer,'First '..matches_text..' will be played: '..start_date..'. ') else table.insert(t_footer,'Updated to '..matches_text..' played on '..update..'. ') end -- Stack footer or not local footer_break = yesno(Args['stack_footer'] or 'no') and true or false -- Variable for linebreak local stack_string = '<br>' if footer_break and (not (string.lower(update)=='complete')) and not hide_footer then table.insert(t_footer,stack_string) end if source ~= '' and not hide_footer then table.insert(t_footer,'Source: '..source) end if class_rules and full_table and show_class_rules and not hide_footer then if (#t_footer > 0) then table.insert(t_footer,'<br>') end table.insert(t_footer,'Rules for classification: '..class_rules) end -- Now for the named status local status_exist = false local status_string = '' local curr_letter for jjj = 1,mw.ustring.len(t_status.letters) do curr_letter = mw.ustring.upper(mw.ustring.sub(t_status.letters,jjj,jjj)) if t_status.called[curr_letter] then if (footer_break and status_exist) then status_string = status_string..stack_string end if t_status.position == 'before' then status_string = status_string..'<span style="font-weight:bold">'..string.lower(curr_letter)..' &ndash;</span> '..t_status.code[curr_letter]..'; ' else status_string = status_string..'<span style="font-weight:bold">('..curr_letter..')</span> '..t_status.code[curr_letter]..'; ' end status_exist = true end end -- Now if it contains entries the '; ' needs to be removed if status_exist and not hide_footer then if (#t_footer > 0) then table.insert(t_footer,'<br>') end status_string = mw.ustring.sub(status_string,1,mw.ustring.len(status_string)-2) table.insert(t_footer,status_string) end -- Add notes (if applicable) if notes_exist then if (#t_footer > 0) then table.insert(t_footer,'<br>') end table.insert(t_footer,'Notes:') -- As reflist size text t_footer = '<div class="sports-table-notes">'..table.concat(t_footer)..'</div>' t_footer = t_footer..frame:expandTemplate{ title = 'notelist', args = { group='lower-alpha'} } else -- As reflist size text t_footer = '<div class="sports-table-notes">'..table.concat(t_footer)..'</div>' end -- Add footer to main text table table.insert(t,t_footer) -- Rewrite anchor links for k=1,#t do if t[k]:match('%[%[#[^%[%]]*%|') then t[k] = mw.ustring.gsub(t[k], '(%[%[)(#[^%[%]]*%|)', '%1' .. baselink .. '%2') end end -- Generate tracking if not Args['notracking'] then local exclude_tracking_categories = (currentTitle.namespace == 2) or (currentTitle.fullText):find('/sandbox$') or (currentTitle.fullText):find('/testcases$') local getTracking = require('Module:Sports table/argcheck').check local warning_categories, tracking_categories = getTracking(Args, frame:getParent().args) if #warning_categories > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then for k=1,#warning_categories do warning_categories[k] = mw.ustring.gsub(warning_categories[k], '^%[%[Category:Pages using sports table with (.*)|(.*)%]%]$', '<div style="color:red">Warning: %1 = %2</div>') end end end -- Add tracking categories if not exclude_tracking_categories then for k=1,#warning_categories do table.insert(t, warning_categories[k]) end for k=1,#tracking_categories do table.insert(t, tracking_categories[k]) end end if((Args['showteam'] or Args['team']) == nil) then local getWarnings = require('Module:Sports table/totalscheck').check local total_warnings = getWarnings(Args, team_list, ii_start, ii_end) if #total_warnings > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then for k=1,#total_warnings do table.insert(t, '<div style="color:green">Possible problem: ' .. total_warnings[k] .. '</div>') end end end end else table.insert(t, '[[Category:Pages using sports table with notracking]]') end if Args['float'] then return frame:expandTemplate{ title = 'stack begin', args = {clear = 'true', margin = '1', float = Args['float']} } .. templatestyles .. '\n' .. table.concat(t) .. frame:expandTemplate{ title = 'stack end'} end return templatestyles .. '\n' .. table.concat(t) end return p d1cfj7ifamd7jpjjyl123lf2cdo0v0h 860777 860772 2026-07-01T03:56:32Z Enkhsaihan2005 64429 860777 Scribunto text/plain -- Module to build tables for standings in Sports -- See documentation for details require('strict') local p = {} -- Main function function p.main(frame) -- Declare locals local getArgs = require('Module:Arguments').getArgs local Args = getArgs(frame, {parentFirst = true}) local ii_start, ii_end, N_rows_res = 0 local text_field_result local notes_exist = false local t = {} local t_footer = {} local t_return = {} local team_list = {} local jj, jjj local table_anchor = mw.ustring.gsub(Args['section'] and 'sports-table-' .. Args['section'] or '', ' ', '_') -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Sports table/styles.css' } } -- Edit links if requested local baselink = frame:getParent():getTitle() local currentTitle = mw.title.getCurrentTitle() if baselink == 'Module:Excerpt' then baselink = '' end if currentTitle.fullText == baselink then baselink = '' end local template_name = (baselink ~= '' and (':' .. baselink .. (table_anchor ~= '' and '#' .. table_anchor or ''))) or '' -- Get the custom start point for the table (most will start by default at 1) local top_pos = tonumber(Args['highest_pos']) or 1 -- Get the custom end point for the table (unrestricted if bottom_pos is < top_pos) local bottom_pos = tonumber(Args['lowest_pos']) or 0 local N_teams = top_pos - 1 -- Default to 0 at start, but higher number needed to skip certain entries -- Load modules local yesno = require('Module:Yesno') -- Load style and (sub) modules local style_def = Args['style'] or 'WDL' -- Historically 'football' exists as style, this is now forwarded to WDL if style_def == 'football' then style_def = 'WDL' end local p_style = require('Module:Sports table/'..style_def) local p_sub = require('Module:Sports table/sub') -- Random value used for uniqueness math.randomseed( os.clock() * 10^8 ) local rand_val = math.random() -- Declare colour scheme local result_col = {} result_col = {green1='#BBF3BB', green2='#CCF9CC', green3='#DDFCDD', green4='#EEFFEE', blue1='#BBF3FF', blue2='#CCF9FF', blue3='#DDFCFF', blue4='#EEFFFF', yellow1='#FFFFBB', yellow2='#FFFFCC', yellow3='#FFFFDD', yellow4='#FFFFEE', red1='#FFBBBB', red2='#FFCCCC', red3='#FFDDDD', red4='#FFEEEE', black1='#BBBBBB', black2='#CCCCCC', black3='#DDDDDD', black4='#EEEEEE', orange1='#FEDCBA', orange2='#FEEAD5', white1='inherit',['']='inherit' } -- Show all stats in table or just matches played and points local full_table = true local hide_results = yesno(Args['hide_results'] or 'no') local hide_footer = yesno(Args['hide_footer'] or 'no') local pld_pts_val = string.lower(Args['only_pld_pts'] or 'no') local show_class_rules = yesno(Args['show_class_rules'] or 'yes') and true or false -- True if par doesn't exist, false otherwise if yesno(pld_pts_val) then full_table = false elseif pld_pts_val=='no_hide_class_rules' then full_table = true show_class_rules = false end -- Declare results column header local results_header = {} results_header = {Q='Qualification', QR='Qualification or relegation', P='Promotion', PQR='Promotion, qualification or relegation', PR='Promotion or relegation', PQ='Promotion or qualification', R='Relegation'} local results_defined = false -- Check whether this would be needed -- Possible prefix for result fields local respre = (Args['result_prefix'] or '') .. '_' respre = (respre == '_') and '' or respre -- Now define line for column header (either option or custom) local local_res_header = results_header[Args[respre..'res_col_header']] or Args[respre..'res_col_header'] or '' -- Check whether it includes a note local res_head_note = Args['note_header_res'] local res_head_note_text = '' if full_table and res_head_note then notes_exist = true res_head_note_text = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', res_head_note} } end local results_header_txt = '! scope="col" |'..local_res_header..res_head_note_text..'\n' -- Get status option local t_status = p_style.status(Args) -- Alternative syntax for team list if Args['team_order'] and Args['team_order'] ~= '' then local team_order_offset = (tonumber(Args['team_order_start']) or 1) - 1 local tlist = mw.text.split(Args['team_order'], '%s*[;,]%s*') for k, tname in ipairs(tlist) do if tname ~= '' then Args['team' .. (k + team_order_offset)] = tname end end end -- Read in number of consecutive teams (ignore entries after skipping a spot) while Args['team'..N_teams+1] ~= nil and (bottom_pos < top_pos or N_teams < bottom_pos) do N_teams = N_teams+1 -- Sneakily add it twice to the team_list parameter, once for the actual -- ranking, the second for position lookup in sub-tables -- This is possible because Lua allows both numbers and strings as indices. team_list[N_teams] = Args['team'..N_teams] -- i^th entry is team X team_list[Args['team'..N_teams]] = N_teams -- team X entry is position i end -- Optional totals local total_row_name = 'SPORTS_TABLE_TOTAL' if yesno(Args['show_totals'] or 'no') then N_teams = N_teams+1 Args['team' .. N_teams] = total_row_name Args['name_' .. total_row_name] = 'Total' Args['result' .. N_teams] = total_row_name Args['col_' .. total_row_name] = '#eee' team_list[N_teams] = Args['team' .. N_teams] team_list[Args['team'..N_teams]] = N_teams end -- Show position local position_col = yesno(Args['show_positions'] or 'yes') and true or false -- Show groups or note local group_col = yesno(Args['show_groups'] or 'no') and true or false -- Show match_table or not local match_table = yesno(Args['show_matches'] or 'no') and true or false local p_matches = match_table and (style_def == 'Chess' and require('Module:Sports results/'..style_def) or require('Module:Sports results')) -- Custom position column label or note local pos_label = Args['postitle'] or 'Байр' if position_col == false then pos_label = nil end -- Show status or not local show_status = yesno(Args['show_status'] or 'yes') and true or false -- Get VTE button text (but only for non-empty text) local VTE_text = '' if (template_name ~= '') then VTE_text = require('Module:Navbar')._navbar({ template_name, mini=1, style='float:right', brackets=1 }) -- remove the next part if https://en.wikipedia.org/w/index.php?oldid=832717047#Sortable_link_disables_navbar_links? -- is ever fixed if yesno(Args['sortable_table'] or 'no') then VTE_text = mw.ustring.gsub(VTE_text, '<%/?abbr[^<>]*>', ' ') end end -- Add source to title if specified and possible local title_source = false if Args['title'] and Args['title_source'] then Args['title'] = Args['title'] .. Args['title_source'] title_source = true elseif Args['table_header'] and Args['table_header_source'] then Args['table_header'] = Args['table_header'] .. Args['table_header_source'] title_source = true end -- Add a table anchor if table_anchor ~= '' then table.insert(t, '<span class="anchor" id="' .. table_anchor .. '"></span>\n') end -- Write column headers t_return = p_style.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) if match_table then -- Add empty column header t_return.count = t_return.count+1 table.insert(t_return.tab_text,'! scope="row" class="unsortable" style="background-color:white;color:black;border-top:white;border-bottom:white;line-width:3pt;"| \n') -- Add rest of header t_return = p_matches.header(t_return,Args,p_sub,N_teams,team_list,tonumber(Args['legs']) or 1) end t = t_return.tab_text local N_cols = t_return.count -- Determine what entries go into table -- Find out which team to show (if any) local ii_show = team_list[Args['showteam'] or Args['team'] or nil] -- nil if non-existant -- Start and end positions to show local n_to_show = tonumber(Args['show_limit']) or N_teams -- Check for "legal value", if not legal (or non declared), then show all local check_n = ((n_to_show>=(N_teams-top_pos+1)) or (n_to_show<=1) or (n_to_show~=math.floor(n_to_show))) -- Also check whether there is a valid ii_show if check_n or (not ii_show) then ii_start = top_pos ii_end = N_teams else -- It's a proper integer between top_pos+1 and N_teams-1 -- If it is in the middle show the same number above and below -- If it is in the top or bottom, show the exact number -- How many to show on the side local n_show_side = math.floor(n_to_show/2) if (ii_show-top_pos+1)<=n_show_side then -- Top team ii_start = top_pos ii_end = top_pos+n_to_show-1 elseif ii_show>=(N_teams+1-n_show_side) then -- Bottom team ii_start = N_teams+1-n_to_show ii_end = N_teams else -- Normal case ii_start = ii_show-n_show_side ii_end = ii_show+n_show_side end end -- For results column local new_res_ii = ii_start -- Pre-check for existence of column if not hide_results then for ii = ii_start, ii_end do if Args[respre..'result'..ii] and Args[respre..'text_' .. Args[respre..'result'..ii]] then results_defined = true end end end -- Remove results header if it is unused if full_table and not results_defined then -- First get it as one string, then use string replace to replace that header by empty string local t_str = tostring(table.concat(t)) t_str = mw.ustring.gsub( t_str, results_header_txt, '' ) N_cols = N_cols-1 -- There is actually one column less t = {} table.insert(t, t_str) end -- Write rows local team_name, team_code_ii, team_code_jj, pos_num, group_txt, note_local local note_string, note_local, note_local_num, note_id local note_id_list = {} local hth_id_list = {} for ii = ii_start, ii_end do -- First get code team_code_ii = team_list[ii] -- Now read values pos_num = Args['pos_'..team_code_ii] or ii group_txt = Args['group_'..team_code_ii] or ' ' team_name = Args['name_'..team_code_ii] or team_code_ii note_local = Args['note_'..team_code_ii] or nil -- Does it need a promotion/qualification/relegation tag local result_local = Args[respre..'result'..ii] or nil local bg_col = nil -- Get local background colour if result_local then bg_col = result_col[Args[respre..'col_'..result_local]] or Args[respre..'col_'..result_local] or 'inherit' if bg_col == 'inherit' then bg_col = bg_col .. 'background-color:inherit; color: inherit' else bg_col = 'background-color:'..bg_col..';color:black;' -- Full style tag end end if not bg_col then bg_col = 'background-color:transparent; color: inherit;' end -- Becomes default if undefined -- Bold this line or not local ii_fw = ii == ii_show and 'font-weight: bold;' or 'font-weight: normal;' if yesno(Args['show_totals'] or 'no') and team_code_ii == total_row_name then ii_fw = 'font-weight: bold;' end -- Check whether there is a note or not, if so get text ready for it if note_local and full_table then -- Set global check for notes to true notes_exist = true -- There are now 3 options for notes -- 1) It is a full note -- 2) It is a referal to another note (i.e. it's just a team code; e.g. note_AAA=Text, note_BBB=AAA) in which the note for BBB should link to the same footnote as AAA, with -- 2a) The other linked note exist in the part of the table shown -- 2b) The part of the note does not exist in the part of the table shown if not Args['note_'..note_local] then -- Option 1 -- Now define the identifier for this note_id = '"table_note_'..team_code_ii..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID) note_id_list[team_code_ii] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, note_local} } else -- Option 2 -- It is option 2a in either one if either the main note is inside the sub-table -- or another ref to that note is inside the sub-table -- Basically when it either has been defined, or the main link will be in the table note_local_num = team_list[note_local] if note_id_list[note_local] or ((note_local_num >= ii_start) and (note_local_num <= ii_end)) then -- Option 2a note_id = '"table_note_'..note_local..rand_val..'"' note_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } else -- Option 2b -- Now define the identifier for this note_id = '"table_note_'..note_local..rand_val..'"' -- Add random end for unique ID note_id_list[note_local] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, Args['note_'..note_local]} } end end else note_string = ''; end -- Insert status when needed local status_string = '' local status_local = show_status and Args[respre .. 'status_'..team_code_ii] or nil local status_let_first = true local curr_letter -- Only if it is defined if status_local then -- Take it letter by letter for jjj = 1,mw.ustring.len(status_local) do curr_letter = mw.ustring.upper(mw.ustring.sub(status_local,jjj,jjj)) -- See whether it exist if t_status.code[curr_letter] then -- Depending on whether it is the first letter of not if status_let_first then status_string = curr_letter t_status.called[curr_letter] = true status_let_first = false else status_string = status_string..', '..curr_letter t_status.called[curr_letter] = true end end end -- Only add brackets/dash and bolding if it exist if not status_let_first then if t_status.position == 'before' then status_string = '<span style="font-weight:bold">'..string.lower(status_string)..' &ndash;</span> ' else status_string = ' <span style="font-weight:bold">('..status_string..')</span>' end end end -- Now build the rows if yesno(Args['show_totals'] or 'no') and team_code_ii == total_row_name then table.insert(t,'|- class="sortbottom"\n') -- New row else table.insert(t,'|- \n') -- New row end if position_col then table.insert(t,'| style="text-align: center;'..ii_fw..bg_col..'"| '..pos_num..'\n') -- Position number end if full_table and group_col then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..group_txt..'\n') -- Group number/name end -- Build the team string order based on status position local team_string if t_status.position == 'before' then team_string = status_string..team_name..note_string else team_string = team_name..note_string..status_string end table.insert(t,'! scope="row" style="text-align: left; white-space:nowrap;'..ii_fw..bg_col..'"| '..team_string..'\n')-- Team (with possible note) -- Call to subfunction t_return = p_style.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) t = t_return.t notes_exist = t_return.notes_exist hth_id_list = t_return.hth_id_list -- Now check what needs to be added inside the results column if full_table then local res_jjj if ii == new_res_ii then -- First check how many rows you need for this N_rows_res = 1 jjj = ii+1 result_local = Args[respre..'result'..ii] or '' local cont_loop = true while (jjj<=ii_end) and cont_loop do if Args['split'..tostring(jjj-1)] then cont_loop = false new_res_ii = jjj else res_jjj = Args[respre..'result'..jjj] or '' if result_local == res_jjj then N_rows_res = N_rows_res+1 else cont_loop = false new_res_ii = jjj end end jjj = jjj+1 end -- Now create this field (reuse ii_fw and bg_col) -- Bold (if in range) or not if ii_show and (ii_show>=ii) and (ii_show<=(ii+N_rows_res-1)) then ii_fw = 'font-weight: bold;' else ii_fw = 'font-weight: normal;' end -- Get background colour bg_col = nil if Args[respre..'result'..ii] then bg_col = result_col[Args[respre..'col_'..result_local]] or Args[respre..'col_'..result_local] or 'inherit' if bg_col == 'inherit' then bg_col = bg_col .. '; color: inherit' else bg_col = 'background-color:'..bg_col..';color:black;' -- Full style tag end end if not bg_col then bg_col = 'background-color:transparent; color: inherit;' end -- Becomes default if undefined -- Check for notes local note_res_string, note_ref, note_text = '', '', '' if Args['note_res_'..result_local] then notes_exist = true local note_res_local = Args['note_res_'..result_local] -- Split the note_res_local into a table if all the entries are valid local multiref = 1 local note_res_local_table = mw.text.split(note_res_local, '%s*,%s*') if (#note_res_local_table > 1) then for k, note_res_loc in ipairs(note_res_local_table) do multiref = multiref * (Args['note_res_' .. note_res_loc] and 1 or 0) end else multiref = 0 end -- Split failed, so make a single entry table with hth_local inside if multiref < 1 then note_res_local_table = { note_res_local } end for k,note_res_local in ipairs(note_res_local_table) do if not Args['note_res_'..note_res_local] then -- It does not point to another result note note_ref = respre..'res_'..result_local note_id = '"table_note_res_'..result_local..rand_val..'"' -- Identifier note_text = note_res_local else -- It does point to another result note note_ref = respre..'res_'..note_res_local note_id = '"table_note_res_'..note_res_local..rand_val..'"' -- Identifier note_text = Args['note_res_'..note_res_local] end -- Check whether it is already printed if not note_id_list[note_ref] then -- Print it note_id_list[note_ref] = note_id note_res_string = note_res_string .. frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, note_text} } else -- Refer to it note_res_string = note_res_string .. frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } end end end -- Get text local text_result = Args[respre..'text_'..result_local] or '' if text_result:match('fbmulticomp') then ii_fw = 'padding:0;' .. ii_fw if text_result:match('fbmulticompefn') then notes_exist = true end end text_field_result = '| style="'..ii_fw..bg_col..'" rowspan="'..tostring(N_rows_res)..'" |'..text_result..note_res_string..'\n' -- See whether it is needed (only when blank for all entries) if results_defined then table.insert(t,text_field_result) end end end -- Insert match row if needed if match_table then local legs = tonumber(Args['legs']) or 1 -- Add empty cell table.insert(t,'| style="background-color:white;color:black;border-top:white;border-bottom:white;"| \n') -- Now include note to match results if needed for jj=top_pos,N_teams do team_code_jj = team_list[jj] if ii == jj then -- Nothing else for l=1,legs do local m = (legs == 1) and 'match_' or 'match' .. l .. '_' local match_note = Args[m..team_code_ii..'_'..team_code_jj..'_note'] if match_note then notes_exist = true -- Only when it exist -- First check for existence of reference for note if not (Args['note_'..match_note] or Args[m..match_note..'_note']) then -- It's the entry note_id = '"table_note_'..team_code_ii..'_'..team_code_jj..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID) note_id_list[team_code_ii..'_'..team_code_jj] = note_id note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, match_note} } else -- Check for existence elsewhere note_local_num = team_list[match_note] or ii_end + 1 if note_id_list[match_note] or ((note_local_num >= ii_start) and (note_local_num <= ii_end)) then -- It exists note_id = '"table_note_'..match_note..rand_val..'"' -- Identifier note_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } else -- Now define the identifier for this note_id = '"table_note_'..match_note..rand_val..'"' -- Add random end for unique ID note_id_list[match_note] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, Args['note_'..match_note]} } end end -- Now append this to the match result string Args[m..team_code_ii..'_'..team_code_jj] = (Args[m..team_code_ii..'_'..team_code_jj] or '')..note_string end end end end -- Add rest of match row t = p_matches.row(t,Args,N_teams,team_list,ii,ii_show,legs) end -- Now, if needed, insert a split (solid line to indicate split in standings, but only when it is not at the last shown position) if Args['split'..ii] and (ii<ii_end) then -- Base size on N_cols (it needs 2*N_cols |) table.insert(t,'|- style="color:inherit;background-color:'..result_col['black1']..'; line-height:3pt;"\n') table.insert(t,string.rep('|',2*N_cols)..'\n') end end -- Close table table.insert(t, '|}') -- Get info for footer local update = Args['update'] or 'unknown' local start_date = Args['start_date'] or 'unknown' local source = Args['source'] or (title_source == true and '') or frame:expandTemplate{ title = 'citation needed', args = { reason='No source parameter defined', date=os.date('%B %Y') } } local class_rules = Args['class_rules'] or nil -- Create footer text -- Date updating local matches_text = Args['matches_text'] or 'match(es)' if string.lower(update)=='complete' or hide_footer then -- Do nothing elseif update=='' then -- Empty parameter table.insert(t_footer,'Updated to '..matches_text..' played on unknown. ') elseif string.lower(update)=='future' then -- Future start date table.insert(t_footer,'First '..matches_text..' will be played: '..start_date..'. ') else table.insert(t_footer,'Updated to '..matches_text..' played on '..update..'. ') end -- Stack footer or not local footer_break = yesno(Args['stack_footer'] or 'no') and true or false -- Variable for linebreak local stack_string = '<br>' if footer_break and (not (string.lower(update)=='complete')) and not hide_footer then table.insert(t_footer,stack_string) end if source ~= '' and not hide_footer then table.insert(t_footer,'Эх сурвалж: '..source) end if class_rules and full_table and show_class_rules and not hide_footer then if (#t_footer > 0) then table.insert(t_footer,'<br>') end table.insert(t_footer,'Rules for classification: '..class_rules) end -- Now for the named status local status_exist = false local status_string = '' local curr_letter for jjj = 1,mw.ustring.len(t_status.letters) do curr_letter = mw.ustring.upper(mw.ustring.sub(t_status.letters,jjj,jjj)) if t_status.called[curr_letter] then if (footer_break and status_exist) then status_string = status_string..stack_string end if t_status.position == 'before' then status_string = status_string..'<span style="font-weight:bold">'..string.lower(curr_letter)..' &ndash;</span> '..t_status.code[curr_letter]..'; ' else status_string = status_string..'<span style="font-weight:bold">('..curr_letter..')</span> '..t_status.code[curr_letter]..'; ' end status_exist = true end end -- Now if it contains entries the '; ' needs to be removed if status_exist and not hide_footer then if (#t_footer > 0) then table.insert(t_footer,'<br>') end status_string = mw.ustring.sub(status_string,1,mw.ustring.len(status_string)-2) table.insert(t_footer,status_string) end -- Add notes (if applicable) if notes_exist then if (#t_footer > 0) then table.insert(t_footer,'<br>') end table.insert(t_footer,'Notes:') -- As reflist size text t_footer = '<div class="sports-table-notes">'..table.concat(t_footer)..'</div>' t_footer = t_footer..frame:expandTemplate{ title = 'notelist', args = { group='lower-alpha'} } else -- As reflist size text t_footer = '<div class="sports-table-notes">'..table.concat(t_footer)..'</div>' end -- Add footer to main text table table.insert(t,t_footer) -- Rewrite anchor links for k=1,#t do if t[k]:match('%[%[#[^%[%]]*%|') then t[k] = mw.ustring.gsub(t[k], '(%[%[)(#[^%[%]]*%|)', '%1' .. baselink .. '%2') end end -- Generate tracking if not Args['notracking'] then local exclude_tracking_categories = (currentTitle.namespace == 2) or (currentTitle.fullText):find('/sandbox$') or (currentTitle.fullText):find('/testcases$') local getTracking = require('Module:Sports table/argcheck').check local warning_categories, tracking_categories = getTracking(Args, frame:getParent().args) if #warning_categories > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then for k=1,#warning_categories do warning_categories[k] = mw.ustring.gsub(warning_categories[k], '^%[%[Category:Pages using sports table with (.*)|(.*)%]%]$', '<div style="color:red">Warning: %1 = %2</div>') end end end -- Add tracking categories if not exclude_tracking_categories then for k=1,#warning_categories do table.insert(t, warning_categories[k]) end for k=1,#tracking_categories do table.insert(t, tracking_categories[k]) end end if((Args['showteam'] or Args['team']) == nil) then local getWarnings = require('Module:Sports table/totalscheck').check local total_warnings = getWarnings(Args, team_list, ii_start, ii_end) if #total_warnings > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then for k=1,#total_warnings do table.insert(t, '<div style="color:green">Possible problem: ' .. total_warnings[k] .. '</div>') end end end end else table.insert(t, '[[Category:Pages using sports table with notracking]]') end if Args['float'] then return frame:expandTemplate{ title = 'stack begin', args = {clear = 'true', margin = '1', float = Args['float']} } .. templatestyles .. '\n' .. table.concat(t) .. frame:expandTemplate{ title = 'stack end'} end return templatestyles .. '\n' .. table.concat(t) end return p eicgihvs4n90adt0f9vok5hln8xf3fv 860790 860777 2026-07-01T10:10:57Z Enkhsaihan2005 64429 860790 Scribunto text/plain -- Module to build tables for standings in Sports -- See documentation for details require('strict') local p = {} -- Main function function p.main(frame) -- Declare locals local getArgs = require('Module:Arguments').getArgs local Args = getArgs(frame, {parentFirst = true}) local ii_start, ii_end, N_rows_res = 0 local text_field_result local notes_exist = false local t = {} local t_footer = {} local t_return = {} local team_list = {} local jj, jjj local table_anchor = mw.ustring.gsub(Args['section'] and 'sports-table-' .. Args['section'] or '', ' ', '_') -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local templatestyles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Sports table/styles.css' } } -- Edit links if requested local baselink = frame:getParent():getTitle() local currentTitle = mw.title.getCurrentTitle() if baselink == 'Module:Excerpt' then baselink = '' end if currentTitle.fullText == baselink then baselink = '' end local template_name = (baselink ~= '' and (':' .. baselink .. (table_anchor ~= '' and '#' .. table_anchor or ''))) or '' -- Get the custom start point for the table (most will start by default at 1) local top_pos = tonumber(Args['highest_pos']) or 1 -- Get the custom end point for the table (unrestricted if bottom_pos is < top_pos) local bottom_pos = tonumber(Args['lowest_pos']) or 0 local N_teams = top_pos - 1 -- Default to 0 at start, but higher number needed to skip certain entries -- Load modules local yesno = require('Module:Yesno') -- Load style and (sub) modules local style_def = Args['style'] or 'WDL' -- Historically 'football' exists as style, this is now forwarded to WDL if style_def == 'football' then style_def = 'WDL' end local p_style = require('Module:Sports table/'..style_def) local p_sub = require('Module:Sports table/sub') -- Random value used for uniqueness math.randomseed( os.clock() * 10^8 ) local rand_val = math.random() -- Declare colour scheme local result_col = {} result_col = {green1='#BBF3BB', green2='#CCF9CC', green3='#DDFCDD', green4='#EEFFEE', blue1='#BBF3FF', blue2='#CCF9FF', blue3='#DDFCFF', blue4='#EEFFFF', yellow1='#FFFFBB', yellow2='#FFFFCC', yellow3='#FFFFDD', yellow4='#FFFFEE', red1='#FFBBBB', red2='#FFCCCC', red3='#FFDDDD', red4='#FFEEEE', black1='#BBBBBB', black2='#CCCCCC', black3='#DDDDDD', black4='#EEEEEE', orange1='#FEDCBA', orange2='#FEEAD5', white1='inherit',['']='inherit' } -- Show all stats in table or just matches played and points local full_table = true local hide_results = yesno(Args['hide_results'] or 'no') local hide_footer = yesno(Args['hide_footer'] or 'no') local pld_pts_val = string.lower(Args['only_pld_pts'] or 'no') local show_class_rules = yesno(Args['show_class_rules'] or 'yes') and true or false -- True if par doesn't exist, false otherwise if yesno(pld_pts_val) then full_table = false elseif pld_pts_val=='no_hide_class_rules' then full_table = true show_class_rules = false end -- Declare results column header local results_header = {} results_header = {Q='Шалгаруулалт', QR='Qualification or relegation', P='Promotion', PQR='Promotion, qualification or relegation', PR='Promotion or relegation', PQ='Promotion or qualification', R='Relegation'} local results_defined = false -- Check whether this would be needed -- Possible prefix for result fields local respre = (Args['result_prefix'] or '') .. '_' respre = (respre == '_') and '' or respre -- Now define line for column header (either option or custom) local local_res_header = results_header[Args[respre..'res_col_header']] or Args[respre..'res_col_header'] or '' -- Check whether it includes a note local res_head_note = Args['note_header_res'] local res_head_note_text = '' if full_table and res_head_note then notes_exist = true res_head_note_text = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', res_head_note} } end local results_header_txt = '! scope="col" |'..local_res_header..res_head_note_text..'\n' -- Get status option local t_status = p_style.status(Args) -- Alternative syntax for team list if Args['team_order'] and Args['team_order'] ~= '' then local team_order_offset = (tonumber(Args['team_order_start']) or 1) - 1 local tlist = mw.text.split(Args['team_order'], '%s*[;,]%s*') for k, tname in ipairs(tlist) do if tname ~= '' then Args['team' .. (k + team_order_offset)] = tname end end end -- Read in number of consecutive teams (ignore entries after skipping a spot) while Args['team'..N_teams+1] ~= nil and (bottom_pos < top_pos or N_teams < bottom_pos) do N_teams = N_teams+1 -- Sneakily add it twice to the team_list parameter, once for the actual -- ranking, the second for position lookup in sub-tables -- This is possible because Lua allows both numbers and strings as indices. team_list[N_teams] = Args['team'..N_teams] -- i^th entry is team X team_list[Args['team'..N_teams]] = N_teams -- team X entry is position i end -- Optional totals local total_row_name = 'SPORTS_TABLE_TOTAL' if yesno(Args['show_totals'] or 'no') then N_teams = N_teams+1 Args['team' .. N_teams] = total_row_name Args['name_' .. total_row_name] = 'Total' Args['result' .. N_teams] = total_row_name Args['col_' .. total_row_name] = '#eee' team_list[N_teams] = Args['team' .. N_teams] team_list[Args['team'..N_teams]] = N_teams end -- Show position local position_col = yesno(Args['show_positions'] or 'yes') and true or false -- Show groups or note local group_col = yesno(Args['show_groups'] or 'no') and true or false -- Show match_table or not local match_table = yesno(Args['show_matches'] or 'no') and true or false local p_matches = match_table and (style_def == 'Chess' and require('Module:Sports results/'..style_def) or require('Module:Sports results')) -- Custom position column label or note local pos_label = Args['postitle'] or 'Байр' if position_col == false then pos_label = nil end -- Show status or not local show_status = yesno(Args['show_status'] or 'yes') and true or false -- Get VTE button text (but only for non-empty text) local VTE_text = '' if (template_name ~= '') then VTE_text = require('Module:Navbar')._navbar({ template_name, mini=1, style='float:right', brackets=1 }) -- remove the next part if https://en.wikipedia.org/w/index.php?oldid=832717047#Sortable_link_disables_navbar_links? -- is ever fixed if yesno(Args['sortable_table'] or 'no') then VTE_text = mw.ustring.gsub(VTE_text, '<%/?abbr[^<>]*>', ' ') end end -- Add source to title if specified and possible local title_source = false if Args['title'] and Args['title_source'] then Args['title'] = Args['title'] .. Args['title_source'] title_source = true elseif Args['table_header'] and Args['table_header_source'] then Args['table_header'] = Args['table_header'] .. Args['table_header_source'] title_source = true end -- Add a table anchor if table_anchor ~= '' then table.insert(t, '<span class="anchor" id="' .. table_anchor .. '"></span>\n') end -- Write column headers t_return = p_style.header(t,Args,p_sub,pos_label,group_col,VTE_text,full_table,results_header_txt) if match_table then -- Add empty column header t_return.count = t_return.count+1 table.insert(t_return.tab_text,'! scope="row" class="unsortable" style="background-color:white;color:black;border-top:white;border-bottom:white;line-width:3pt;"| \n') -- Add rest of header t_return = p_matches.header(t_return,Args,p_sub,N_teams,team_list,tonumber(Args['legs']) or 1) end t = t_return.tab_text local N_cols = t_return.count -- Determine what entries go into table -- Find out which team to show (if any) local ii_show = team_list[Args['showteam'] or Args['team'] or nil] -- nil if non-existant -- Start and end positions to show local n_to_show = tonumber(Args['show_limit']) or N_teams -- Check for "legal value", if not legal (or non declared), then show all local check_n = ((n_to_show>=(N_teams-top_pos+1)) or (n_to_show<=1) or (n_to_show~=math.floor(n_to_show))) -- Also check whether there is a valid ii_show if check_n or (not ii_show) then ii_start = top_pos ii_end = N_teams else -- It's a proper integer between top_pos+1 and N_teams-1 -- If it is in the middle show the same number above and below -- If it is in the top or bottom, show the exact number -- How many to show on the side local n_show_side = math.floor(n_to_show/2) if (ii_show-top_pos+1)<=n_show_side then -- Top team ii_start = top_pos ii_end = top_pos+n_to_show-1 elseif ii_show>=(N_teams+1-n_show_side) then -- Bottom team ii_start = N_teams+1-n_to_show ii_end = N_teams else -- Normal case ii_start = ii_show-n_show_side ii_end = ii_show+n_show_side end end -- For results column local new_res_ii = ii_start -- Pre-check for existence of column if not hide_results then for ii = ii_start, ii_end do if Args[respre..'result'..ii] and Args[respre..'text_' .. Args[respre..'result'..ii]] then results_defined = true end end end -- Remove results header if it is unused if full_table and not results_defined then -- First get it as one string, then use string replace to replace that header by empty string local t_str = tostring(table.concat(t)) t_str = mw.ustring.gsub( t_str, results_header_txt, '' ) N_cols = N_cols-1 -- There is actually one column less t = {} table.insert(t, t_str) end -- Write rows local team_name, team_code_ii, team_code_jj, pos_num, group_txt, note_local local note_string, note_local, note_local_num, note_id local note_id_list = {} local hth_id_list = {} for ii = ii_start, ii_end do -- First get code team_code_ii = team_list[ii] -- Now read values pos_num = Args['pos_'..team_code_ii] or ii group_txt = Args['group_'..team_code_ii] or ' ' team_name = Args['name_'..team_code_ii] or team_code_ii note_local = Args['note_'..team_code_ii] or nil -- Does it need a promotion/qualification/relegation tag local result_local = Args[respre..'result'..ii] or nil local bg_col = nil -- Get local background colour if result_local then bg_col = result_col[Args[respre..'col_'..result_local]] or Args[respre..'col_'..result_local] or 'inherit' if bg_col == 'inherit' then bg_col = bg_col .. 'background-color:inherit; color: inherit' else bg_col = 'background-color:'..bg_col..';color:black;' -- Full style tag end end if not bg_col then bg_col = 'background-color:transparent; color: inherit;' end -- Becomes default if undefined -- Bold this line or not local ii_fw = ii == ii_show and 'font-weight: bold;' or 'font-weight: normal;' if yesno(Args['show_totals'] or 'no') and team_code_ii == total_row_name then ii_fw = 'font-weight: bold;' end -- Check whether there is a note or not, if so get text ready for it if note_local and full_table then -- Set global check for notes to true notes_exist = true -- There are now 3 options for notes -- 1) It is a full note -- 2) It is a referal to another note (i.e. it's just a team code; e.g. note_AAA=Text, note_BBB=AAA) in which the note for BBB should link to the same footnote as AAA, with -- 2a) The other linked note exist in the part of the table shown -- 2b) The part of the note does not exist in the part of the table shown if not Args['note_'..note_local] then -- Option 1 -- Now define the identifier for this note_id = '"table_note_'..team_code_ii..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID) note_id_list[team_code_ii] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, note_local} } else -- Option 2 -- It is option 2a in either one if either the main note is inside the sub-table -- or another ref to that note is inside the sub-table -- Basically when it either has been defined, or the main link will be in the table note_local_num = team_list[note_local] if note_id_list[note_local] or ((note_local_num >= ii_start) and (note_local_num <= ii_end)) then -- Option 2a note_id = '"table_note_'..note_local..rand_val..'"' note_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } else -- Option 2b -- Now define the identifier for this note_id = '"table_note_'..note_local..rand_val..'"' -- Add random end for unique ID note_id_list[note_local] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, Args['note_'..note_local]} } end end else note_string = ''; end -- Insert status when needed local status_string = '' local status_local = show_status and Args[respre .. 'status_'..team_code_ii] or nil local status_let_first = true local curr_letter -- Only if it is defined if status_local then -- Take it letter by letter for jjj = 1,mw.ustring.len(status_local) do curr_letter = mw.ustring.upper(mw.ustring.sub(status_local,jjj,jjj)) -- See whether it exist if t_status.code[curr_letter] then -- Depending on whether it is the first letter of not if status_let_first then status_string = curr_letter t_status.called[curr_letter] = true status_let_first = false else status_string = status_string..', '..curr_letter t_status.called[curr_letter] = true end end end -- Only add brackets/dash and bolding if it exist if not status_let_first then if t_status.position == 'before' then status_string = '<span style="font-weight:bold">'..string.lower(status_string)..' &ndash;</span> ' else status_string = ' <span style="font-weight:bold">('..status_string..')</span>' end end end -- Now build the rows if yesno(Args['show_totals'] or 'no') and team_code_ii == total_row_name then table.insert(t,'|- class="sortbottom"\n') -- New row else table.insert(t,'|- \n') -- New row end if position_col then table.insert(t,'| style="text-align: center;'..ii_fw..bg_col..'"| '..pos_num..'\n') -- Position number end if full_table and group_col then table.insert(t,'| style="'..ii_fw..bg_col..'" |'..group_txt..'\n') -- Group number/name end -- Build the team string order based on status position local team_string if t_status.position == 'before' then team_string = status_string..team_name..note_string else team_string = team_name..note_string..status_string end table.insert(t,'! scope="row" style="text-align: left; white-space:nowrap;'..ii_fw..bg_col..'"| '..team_string..'\n')-- Team (with possible note) -- Call to subfunction t_return = p_style.row(frame,t,Args,p_sub,notes_exist,hth_id_list,full_table,rand_val,team_list,team_code_ii,ii_start,ii_end,ii_fw,bg_col,N_teams,ii,ii_show) t = t_return.t notes_exist = t_return.notes_exist hth_id_list = t_return.hth_id_list -- Now check what needs to be added inside the results column if full_table then local res_jjj if ii == new_res_ii then -- First check how many rows you need for this N_rows_res = 1 jjj = ii+1 result_local = Args[respre..'result'..ii] or '' local cont_loop = true while (jjj<=ii_end) and cont_loop do if Args['split'..tostring(jjj-1)] then cont_loop = false new_res_ii = jjj else res_jjj = Args[respre..'result'..jjj] or '' if result_local == res_jjj then N_rows_res = N_rows_res+1 else cont_loop = false new_res_ii = jjj end end jjj = jjj+1 end -- Now create this field (reuse ii_fw and bg_col) -- Bold (if in range) or not if ii_show and (ii_show>=ii) and (ii_show<=(ii+N_rows_res-1)) then ii_fw = 'font-weight: bold;' else ii_fw = 'font-weight: normal;' end -- Get background colour bg_col = nil if Args[respre..'result'..ii] then bg_col = result_col[Args[respre..'col_'..result_local]] or Args[respre..'col_'..result_local] or 'inherit' if bg_col == 'inherit' then bg_col = bg_col .. '; color: inherit' else bg_col = 'background-color:'..bg_col..';color:black;' -- Full style tag end end if not bg_col then bg_col = 'background-color:transparent; color: inherit;' end -- Becomes default if undefined -- Check for notes local note_res_string, note_ref, note_text = '', '', '' if Args['note_res_'..result_local] then notes_exist = true local note_res_local = Args['note_res_'..result_local] -- Split the note_res_local into a table if all the entries are valid local multiref = 1 local note_res_local_table = mw.text.split(note_res_local, '%s*,%s*') if (#note_res_local_table > 1) then for k, note_res_loc in ipairs(note_res_local_table) do multiref = multiref * (Args['note_res_' .. note_res_loc] and 1 or 0) end else multiref = 0 end -- Split failed, so make a single entry table with hth_local inside if multiref < 1 then note_res_local_table = { note_res_local } end for k,note_res_local in ipairs(note_res_local_table) do if not Args['note_res_'..note_res_local] then -- It does not point to another result note note_ref = respre..'res_'..result_local note_id = '"table_note_res_'..result_local..rand_val..'"' -- Identifier note_text = note_res_local else -- It does point to another result note note_ref = respre..'res_'..note_res_local note_id = '"table_note_res_'..note_res_local..rand_val..'"' -- Identifier note_text = Args['note_res_'..note_res_local] end -- Check whether it is already printed if not note_id_list[note_ref] then -- Print it note_id_list[note_ref] = note_id note_res_string = note_res_string .. frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, note_text} } else -- Refer to it note_res_string = note_res_string .. frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } end end end -- Get text local text_result = Args[respre..'text_'..result_local] or '' if text_result:match('fbmulticomp') then ii_fw = 'padding:0;' .. ii_fw if text_result:match('fbmulticompefn') then notes_exist = true end end text_field_result = '| style="'..ii_fw..bg_col..'" rowspan="'..tostring(N_rows_res)..'" |'..text_result..note_res_string..'\n' -- See whether it is needed (only when blank for all entries) if results_defined then table.insert(t,text_field_result) end end end -- Insert match row if needed if match_table then local legs = tonumber(Args['legs']) or 1 -- Add empty cell table.insert(t,'| style="background-color:white;color:black;border-top:white;border-bottom:white;"| \n') -- Now include note to match results if needed for jj=top_pos,N_teams do team_code_jj = team_list[jj] if ii == jj then -- Nothing else for l=1,legs do local m = (legs == 1) and 'match_' or 'match' .. l .. '_' local match_note = Args[m..team_code_ii..'_'..team_code_jj..'_note'] if match_note then notes_exist = true -- Only when it exist -- First check for existence of reference for note if not (Args['note_'..match_note] or Args[m..match_note..'_note']) then -- It's the entry note_id = '"table_note_'..team_code_ii..'_'..team_code_jj..rand_val..'"' -- Add random end for unique ID if more tables are present on article (which might otherwise share an ID) note_id_list[team_code_ii..'_'..team_code_jj] = note_id note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, match_note} } else -- Check for existence elsewhere note_local_num = team_list[match_note] or ii_end + 1 if note_id_list[match_note] or ((note_local_num >= ii_start) and (note_local_num <= ii_end)) then -- It exists note_id = '"table_note_'..match_note..rand_val..'"' -- Identifier note_string = frame:extensionTag{ name = 'ref', args = { group = 'lower-alpha', name = note_id} } else -- Now define the identifier for this note_id = '"table_note_'..match_note..rand_val..'"' -- Add random end for unique ID note_id_list[match_note] = note_id -- Call refn template note_string = frame:expandTemplate{ title = 'efn', args = { group='lower-alpha', name=note_id, Args['note_'..match_note]} } end end -- Now append this to the match result string Args[m..team_code_ii..'_'..team_code_jj] = (Args[m..team_code_ii..'_'..team_code_jj] or '')..note_string end end end end -- Add rest of match row t = p_matches.row(t,Args,N_teams,team_list,ii,ii_show,legs) end -- Now, if needed, insert a split (solid line to indicate split in standings, but only when it is not at the last shown position) if Args['split'..ii] and (ii<ii_end) then -- Base size on N_cols (it needs 2*N_cols |) table.insert(t,'|- style="color:inherit;background-color:'..result_col['black1']..'; line-height:3pt;"\n') table.insert(t,string.rep('|',2*N_cols)..'\n') end end -- Close table table.insert(t, '|}') -- Get info for footer local update = Args['update'] or 'unknown' local start_date = Args['start_date'] or 'unknown' local source = Args['source'] or (title_source == true and '') or frame:expandTemplate{ title = 'citation needed', args = { reason='No source parameter defined', date=os.date('%B %Y') } } local class_rules = Args['class_rules'] or nil -- Create footer text -- Date updating local matches_text = Args['matches_text'] or 'match(es)' if string.lower(update)=='complete' or hide_footer then -- Do nothing elseif update=='' then -- Empty parameter table.insert(t_footer,'Updated to '..matches_text..' played on unknown. ') elseif string.lower(update)=='future' then -- Future start date table.insert(t_footer,'First '..matches_text..' will be played: '..start_date..'. ') else table.insert(t_footer,'Updated to '..matches_text..' played on '..update..'. ') end -- Stack footer or not local footer_break = yesno(Args['stack_footer'] or 'no') and true or false -- Variable for linebreak local stack_string = '<br>' if footer_break and (not (string.lower(update)=='complete')) and not hide_footer then table.insert(t_footer,stack_string) end if source ~= '' and not hide_footer then table.insert(t_footer,'Эх сурвалж: '..source) end if class_rules and full_table and show_class_rules and not hide_footer then if (#t_footer > 0) then table.insert(t_footer,'<br>') end table.insert(t_footer,'Rules for classification: '..class_rules) end -- Now for the named status local status_exist = false local status_string = '' local curr_letter for jjj = 1,mw.ustring.len(t_status.letters) do curr_letter = mw.ustring.upper(mw.ustring.sub(t_status.letters,jjj,jjj)) if t_status.called[curr_letter] then if (footer_break and status_exist) then status_string = status_string..stack_string end if t_status.position == 'before' then status_string = status_string..'<span style="font-weight:bold">'..string.lower(curr_letter)..' &ndash;</span> '..t_status.code[curr_letter]..'; ' else status_string = status_string..'<span style="font-weight:bold">('..curr_letter..')</span> '..t_status.code[curr_letter]..'; ' end status_exist = true end end -- Now if it contains entries the '; ' needs to be removed if status_exist and not hide_footer then if (#t_footer > 0) then table.insert(t_footer,'<br>') end status_string = mw.ustring.sub(status_string,1,mw.ustring.len(status_string)-2) table.insert(t_footer,status_string) end -- Add notes (if applicable) if notes_exist then if (#t_footer > 0) then table.insert(t_footer,'<br>') end table.insert(t_footer,'Notes:') -- As reflist size text t_footer = '<div class="sports-table-notes">'..table.concat(t_footer)..'</div>' t_footer = t_footer..frame:expandTemplate{ title = 'notelist', args = { group='lower-alpha'} } else -- As reflist size text t_footer = '<div class="sports-table-notes">'..table.concat(t_footer)..'</div>' end -- Add footer to main text table table.insert(t,t_footer) -- Rewrite anchor links for k=1,#t do if t[k]:match('%[%[#[^%[%]]*%|') then t[k] = mw.ustring.gsub(t[k], '(%[%[)(#[^%[%]]*%|)', '%1' .. baselink .. '%2') end end -- Generate tracking if not Args['notracking'] then local exclude_tracking_categories = (currentTitle.namespace == 2) or (currentTitle.fullText):find('/sandbox$') or (currentTitle.fullText):find('/testcases$') local getTracking = require('Module:Sports table/argcheck').check local warning_categories, tracking_categories = getTracking(Args, frame:getParent().args) if #warning_categories > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then for k=1,#warning_categories do warning_categories[k] = mw.ustring.gsub(warning_categories[k], '^%[%[Category:Pages using sports table with (.*)|(.*)%]%]$', '<div style="color:red">Warning: %1 = %2</div>') end end end -- Add tracking categories if not exclude_tracking_categories then for k=1,#warning_categories do table.insert(t, warning_categories[k]) end for k=1,#tracking_categories do table.insert(t, tracking_categories[k]) end end if((Args['showteam'] or Args['team']) == nil) then local getWarnings = require('Module:Sports table/totalscheck').check local total_warnings = getWarnings(Args, team_list, ii_start, ii_end) if #total_warnings > 0 then if frame:preprocess( "{{REVISIONID}}" ) == "" then for k=1,#total_warnings do table.insert(t, '<div style="color:green">Possible problem: ' .. total_warnings[k] .. '</div>') end end end end else table.insert(t, '[[Category:Pages using sports table with notracking]]') end if Args['float'] then return frame:expandTemplate{ title = 'stack begin', args = {clear = 'true', margin = '1', float = Args['float']} } .. templatestyles .. '\n' .. table.concat(t) .. frame:expandTemplate{ title = 'stack end'} end return templatestyles .. '\n' .. table.concat(t) end return p tae55rhxt9csedlskjs9pb1joptdiaf Максим Кац 0 109793 860687 860646 2026-06-30T12:59:18Z Avirmed Batsaikhan 53733 860687 wikitext text/x-wiki {{short description|Оросын улс төр, нийтийн зүтгэлтэн (1984 онд төрсөн)}} {{Инфобокс албан тушаалтан | name = Максим Кац | image = Максим Кац перед записью видео на ютуб (cropped).jpg | caption = Кац 2023 онд | office = [[Оросын сөрөг хүчний зохицуулах зөвлөл]]ийн гишүүн | termstart = 2012 оны 10 сарын 22 | termend = 2013 оны 5 сарын 27 | office1 = Москвагийн Щукино дүүргийн хотын хурлын гишүүн | termstart1 = 2012 оны 3 сарын 4 | termend1 = 2016 оны 9 сарын 18 | birth_date = {{Birth date and age|1984|12|23}} | birth_place = [[Москва]], [[ЗСБНХ Орос Улс]], [[Зөвлөлт Холбоот Улс]] (одоо Орос) | occupation = Улс төрч, идэвхтэн, бизнес эрхлэгч | party = [[Яблоко]] (2016—2020) | education = [[Глазгогийн Их Сургууль]], [[Тел-Авивын Их Сургууль]] | module = {{Listen|pos=center|embed=yes|filename=Maksim Kats voice.oga|title=Максим Кацын хоолой|type=speech|description=}} | children = Валерия (2022 онд төрсөн) Александра (2024 онд төрсөн) | spouse = Екатерина Патюлина (2020 оноос) | website = [http://maxkatz.ru/ maxkatz.ru] }} '''Максим Кац''' ([[Орос хэл|орос.]] ''Макси́м Евге́ньевич Кац,'' [[1984 он|1984 оны]] [[12 сарын 23|12 сарын 23-нд]] төрсөн) — нь [[Оросын Холбооны Улс|Оросын]] [[улс төр]], нийгмийн зүтгэлтэн, «Хотын төслүүд» сангийн үүсгэн байгуулагч ба захирал, [[YouTube]] дээрх Максим Кац нэртэй сувгийн зохиогч, спорт покерын [[Оросын Холбооны Улс|Оросын]] аварга, «Яблоко» намаас [[Москва|Москва хотын]] Щукино дүүргийн хотын захиргааны төлөөлөгч асан. == Намтар == Максим Кац [[Москва|Москва хотод]] төрсөн. Түүнийг найман настай байхад гэр бүл нь [[Израил]] руу нүүжээ. Максим [[Израил|Израилд]] [[Давид Бен-Гурион|Давид Бен-Гурионы]] нэрэмжит сургуульд сурч байсан гэж мэдээлсэн<ref>{{YouTube|ru5mY0qCRBM|Максим Кац, Яаж Израил улс үүссэн бэ, 16.10.2020.|start=39s}}</ref>. Тэрээр 17 настайдаа [[Оросын Холбооны Улс|Орос]] руу буцаж ирсэн бөгөөд [[Израил|Израилын]] иргэншил аваагүй<ref>[https://jewish.ru/ru/news/articles/168871/ Представитель Максима Каца опроверг наличие у него израильского гражданства] // 10.09.2014</ref>. Кац цэргийн алба хааж байгаагүй гэж ярилцлага өгөхдөө мэдэгдэж байв<ref name=":4">[https://echo.msk.ru/programs/razbor_poleta/1299334-echo/ Максим Кац — Разбор полета — Эхо Москвы] // 14.04.2014</ref>. [[2012 он|2012 онд]] тэрбээр "Комсомольская правда" радиод өгсөн ярилцлагадаа [[Оросын Холбооны Улс|Оросын]] гурван их сургуульд сурч байсан боловч боловсролын чанарт сэтгэл дундуур байсан тул сургуулиа төгсөөгүй орхиж байсан гэж хэлсэн. Дараагаар Кац өөрийн зардлаар хувийн хичээл заалгахаар [[Дани]], [[Америкийн Нэгдсэн Улс|АНУ-ын]] хот төлөвлөгчид дээр очиж байсан<ref name="kp-9670">{{cite web|author=Михаил Антонов|url=https://www.spb.kp.ru/radio/26511/3423049/|title=Максим Кац: «Образование в России — это какое-то лицемерие. Одни делают вид, что учат, другие — что учатся...»|lang=ru|website=[[Комсомольская правда]]|date=2012-07-18|accessdate=2020-11-17|deadlink=no|archiveurl=https://web.archive.org/web/20200616171851/https://www.spb.kp.ru/radio/26511/3423049/|archivedate=2020-06-16}}</ref>. Максим [[Оросын Холбооны Улс|Орос]] руу буцаж ирээд [[Москва|Москвагийн]] казинод покер тоглож, WSOP-ын No-Limit Hold'em ангилалд түрүүлэв<ref>{{Cite web|url=https://www.wsop.com/players/profile/?playerid=58763|title=MAX KATZ {{!}} UNITED STATES {{!}} WSOP.com|publisher=www.wsop.com|accessdate=2020-01-10}}</ref>. [[2007 он|2007 онд]] тэрээр спорт покерын [[Оросын Холбооны Улс|Оросын]] аварга болжээ<ref>{{Cite news|title=Чемпионат России по спортивному покеру|url=http://www.mk.ru/editions/daily/article/2007/12/07/66011-chempionat-rossii-po-sportivnomu-pokeru.html|accessdate=2017-05-01|language=ru}}</ref><ref>{{cite web|url=http://www.kommersant.ru/Doc-y/1366908|title="Не спешите бросать институты"|date=2012-05-17|publisher=Коммерсантъ|accessdate=2012-10-26|archiveurl=|archivedate=}}</ref><ref>{{cite web|url=http://www.sports.ru/others/poker/74714767.html|title=Макс Кац: «Надеюсь, профессионально играть больше не придется»|date=2010-12-06|publisher=sports.ru|accessdate=2012-10-26|archiveurl=https://www.webcitation.org/6COo6o6Ai?url=http://www.sports.ru/others/poker/74714767.html|archivedate=2012-11-23}}</ref><ref>{{Cite web|url=http://www.pokerfederation.ru/ru/news/newsitem226|title=Чемпионат России по спортивному покеру 2007 / ФСПР|publisher=www.pokerfederation.ru|accessdate=2017-05-01|archiveurl=https://web.archive.org/web/20170613150213/http://www.pokerfederation.ru/ru/news/newsitem226|archivedate=2017-06-13|deadlink=yes}}</ref>. [[2010 он|2010 онд]] тэрээр [[Оросын Холбооны Улс|Оросын]] анхны санхүүжилтийн санг байгуулсан бөгөөд [[2010 он|2010 оны]] хамгийн том покерын арван арга хэмжээний нэгээр нэрлэгджээ<ref>{{cite web|url=https://www.sports.ru/poker/75118745.html|title=Россия: 10 главных событий года в покере|date=2010-12-29|publisher=Sports.ru}}</ref>. [[2008 он|2008 оны]] 7-р сард Кац ижил нэртэй [[YouTube]] сувгийг бүртгүүлсэн<ref name=":6">{{Cite web|lang=|url=https://www.youtube.com/channel/UCUGfDbfRIx51kJGGHIFo8Rw|title=YouTube канал "Максим Кац"|author=|website=|date=|publisher=www.youtube.com|accessdate=2020-05-29}}</ref>. [[2016 он|2016 онд]] тэрээр [[Их Британи|Их Британийн]] засгийн газрын Чивнинг тэтгэлэг авсан 13 орос оюутны нэг болов. Энэхүү тэтгэлэг нь янз бүрийн салбарт манлайлах чадвартай хувь хүмүүст [[Их Британи|Их Британийн]] их сургуульд магистрын зэрэг хамгаалах боломжийг олгодог. Кац Глазго Их Сургуулийн Нийгэм, Улс төрийн Шинжлэх Ухааны факультетэд «Хотын засаглал ба төрийн бодлог» чиглэлээр магистрт элссэн<ref>{{Cite news|title=University of Glasgow graduation list|author=|url=https://www.pressreader.com/uk/the-scotsman/20171129/282656097771404|work=The Scotsman|date=2017-11-29}}</ref>. Кац өөрийгөө [[Орос хэл|орос]], [[Англи хэл|англи]], [[Еврей хэл|еврей]] хэлээр чөлөөтэй ярьдаг гэжээ. [[2020 он|2020 оны]] [[5 сарын 6|5 сарын 6-нд]] Екатерина Патюлинатай гэрлэсэн. Екатерина нь [[Илья Варламов|Илья Варламовын]] хамтаар "Авторские Медиа" ХХК-ийг үүсгэн байгуулж, ерөнхий захирал болсон<ref>{{Cite web|lang=ru|url=https://www.bfm.ru/news/443295|title=Как проходят свадьбы во время пандемии?|author=BFM.ru|publisher=BFM.ru - деловой портал|accessdate=2020-05-29}}</ref>, "Varlamov.ru" блогийн арилжааны захирал, «Яблоко» намын гишүүн юм<ref>[https://www.yabloko.ru/news/2019/07/01-3 Член «Яблока» передала в Генпрокуратуру и СК 14 тыс. обращений в поддержку сестер Хачатурян | Партия ЯБЛОКО<!-- Заголовок добавлен ботом -->]</ref>. [[2020 он|2020 оны]] 6-р сард Кац [[2008 он|2008 онд]] үүсгэсэн бизнесийнхээ ачаар амьдардаг гэсэн бөгөөд энэ бизнес нь [[Оросын Холбооны Улс|Оростой]] бараг ямар ч холбоогүй гэж мэдэгдсэн юм. == Нийгэм, хотын хөгжилд үзүүлсэн нөлөө == === Щукины төлөвлөлт === [[2012 он|2012 онд]] [[Илья Варламов|Илья Варламовын]] хамт тэрээр хот байгуулалтад туслах "Хотын төслүүд" сан байгуулсан<ref>{{cite web|url=http://www.the-village.ru/village/city/city/113963-gorodskie-proekty|title=Илья Варламов и Максим Кац запускают «Городские проекты»|author=Алиса По|date=2012-06-04|publisher=The Village|archiveurl=https://www.webcitation.org/6COo85FBu?url=http://www.the-village.ru/village/city/city/113963-gorodskie-proekty|archivedate=2012-11-23|accessdate=2012-10-26}}</ref>. [[Москва|Москва хотын]] Щукино дүүргийн төлөөлөгч<ref>{{Cite web|url=https://www.novayagazeta.ru/articles/2014/08/30/60934-fso-samokat-dumskiy-veteran|title=ФСО, самокат, думский ветеран|date=2014-08-30|publisher=Новая газета - Novayagazeta.ru|lang=ru|accessdate=2020-03-02}}</ref> байхдаа тэрээр асуудалтай газруудад судалгаа хийж, оршин суугчдын дэмжлэгтэйгээр, ялангуяа вандан сандал, тоглоомын талбайнуудыг суурилуулжээ<ref>{{Cite web|url=https://www.novayagazeta.ru/articles/2012/11/09/52273-pervye-shagi-v-storonu-peshehoda|title=Первые шаги в сторону пешехода|date=2012-11-09|publisher=Новая газета - Novayagazeta.ru|lang=ru|accessdate=2020-03-02}}</ref>. Щукин дахь нийтийн тээврийн зогсоолыг халаагуураар хангах тухай Кацын бас нэг санаачилгын дагуу «Хотын төслүүд» өөрсдөө тоног төхөөрөмж худалдан авахад бэлэн гэж мэдэгдсэн ч Мосгортранс дэмжээгүй<ref>{{Cite web|url=https://www.rosbalt.ru/moscow/2013/02/25/1098613.html|title=Остановкам не дали тепла|publisher=[[Росбалт]]|lang=ru|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302010929/https://www.rosbalt.ru/moscow/2013/02/25/1098613.html|url-status=dead}}</ref><ref>{{Cite web|url=https://www.the-village.ru/village/city/city/120631-obogrevateli|title=Остановки в Щукине оснастят обогревателями|date=2012-12-14|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302010929/https://www.the-village.ru/village/city/city/120631-obogrevateli|url-status=dead}}</ref><ref>{{Cite web|url=https://iz.ru/news/541420|title=Столичные остановки хотят оснастить обогревателями|author=Маргарита Верховская|date=2012-12-13|publisher=Известия|lang=ru|accessdate=2020-03-02}}</ref>. === Тверская дахь зогсоол === [[2011 он|2011 онд]] [[Москва|Москвад]] явган хүний ​​зам дээр зогсоолын тэмдэглэгээ гарч эхэлсэн<ref>{{Cite web|url=https://www.gazeta.ru/interview/nm/s4807721.shtml|title=«Борьбы с автомобилистами мы не ведем»|publisher=[[Газета.Ru]]|lang=ru|accessdate=2020-03-02}}</ref><ref>{{Cite web|url=https://www.the-village.ru/village/city/situation/109063-parkovka-na-tverskoy|title=На тротуарах Тверской улицы разрешили парковку|date=2011-09-08|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302192514/https://www.the-village.ru/village/city/situation/109063-parkovka-na-tverskoy|url-status=dead}}</ref>, үүний дараа [[2012 он|2012 онд]] Максим Кац [[Илья Варламов|Илья Варламовын]] хамт Тверская гудамжинд судалгаа хийж<ref>{{Cite web|url=https://city4people.ru/projects/posts/posts_83.html|title=Отчет по исследованию Тверской|publisher=city4people.ru|lang=ru|accessdate=2020-03-12|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302010935/https://city4people.ru/projects/posts/posts_83.html|url-status=dead}}</ref>, хэрхэн 340 гэсэн тоо баримт бүхий товхимол хэвлүүлэв. Тверскаяд зогссон машинууд өдөрт 100,000 хүн нэвтрэхэд саад учруулдаг тул явган зорчигчдын 99% нь явган хүний ​​замын гуравны нэгийг ашигладаг гэсэн мэдээлэл гарч ирсэн. Судалгааг хотын захиргаанд шилжүүлж, үүний дараа зогсоолыг хориглосон<ref>{{Cite web|url=https://www.novayagazeta.ru/articles/2014/08/29/60919-probki-dostigli-potolka|title=Пробки достигли потолка|date=2014-08-29|publisher=Новая газета - Novayagazeta.ru|lang=ru|accessdate=2020-03-02}}</ref><ref>{{Cite web|url=https://rg.ru/2012/10/18/tverskaya.html|title=Столичные власти запретили парковку на тротуарах Тверской|publisher=Российская газета|accessdate=2020-03-02}}</ref><ref>{{Cite web|url=https://www.the-village.ru/village/people/experience/112077-maksim-kats|title=Личный опыт: Зачем идти в муниципальный совет|date=2012-02-28|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302192517/https://www.the-village.ru/village/people/experience/112077-maksim-kats|url-status=dead}}</ref>. [[2012 он|2012 оноос]] хойш Москва хотын захиргаа хот даяар явган хүний ​​зам дээр зогсоол хийхийг хориглож эхэлсэн<ref>{{Cite web|url=https://www.m24.ru/articles/parkovki/21062013/19968|title=Власти запретили стоянку на тротуарах от "Пушкинской" до "Белорусской"|publisher=m24.ru|lang=ru|accessdate=2020-03-02}}</ref><ref>{{Cite web|url=https://odintsovo.info/news/?id=70721|title=В Одинцово ликвидирована стихийная парковка на тротуаре|date=20191110T102312+00|publisher=Одинцово-ИНФО|lang=ru|accessdate=2020-03-02}}</ref><ref>{{Статья|ссылка=http://dx.doi.org/10.1108/err.1999.3.7.78.72|автор=Peggy Gaugy|заглавие=Operabase WWW Site9972Mike Gibb. Operabase WWW Site. Date of publication:. URL: http://www.operabase.com/|год=1999-07|издание=Electronic Resources Review|том=3|выпуск=7|страницы=78—79|issn=1364-5137|doi=10.1108/err.1999.3.7.78.72}}</ref>. === Хүрдэн хаалга=== [[2012 он|2012 онд]] Кац, [[Илья Варламов|Варламов]] нар хүрдэн хаалганы нийтийн тээвэрт үзүүлэх нөлөөллийн талаар судалгаа хийсэн<ref>{{Cite web|url=https://city4people.ru/post/posts_194.html|title=Эксперимент с турникетами|publisher=city4people.ru|lang=ru|accessdate=2020-03-12|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302010932/https://city4people.ru/post/posts_194.html|url-status=dead}}</ref> бөгөөд түүний үр дүнгээс харахад хүрдэн хаалгатай тул Москвагийн нийтийн тээврийн хэрэгсэл 15%-иар удаан явдаг бөгөөд өндөр хөгжилтэй орнуудад торгууль илүү үр дүнтэй ажилладаг байна<ref name=":3">{{Cite web|url=https://rg.ru/2013/02/14/proeazd.html|title=Мосгортранс: Турникеты обходятся Москве дешевле контролеров|publisher=Российская газета|lang=ru|accessdate=2020-03-02}}</ref>. Максим Кацын саналуудыг Тээврийн газарт хүргүүлсэн. === Москва дахь авто замын төслүүдийн эсрэг гадаадын мэргэжилтнүүд === [[2013 он|2013 онд]] Максим Кацын урилгаар Вукан Вучик тэргүүтэй [[Америкийн Нэгдсэн Улс|АНУ]], [[Норвеги]], [[Франц|Францын]] тээврийн мэргэжилтнүүд [[Москва|Москвад]] ирсэн. Мэргэжилтнүүд Москвагийн эрх баригчдад авто замын хоёр том төслийг шинэчлэхийг санал болгов<ref>{{Cite web|url=https://www.the-village.ru/village/city/city/123731-expert|title=Вукана Вучика пригласят оценить транспортные инициативы мэрии Москвы|date=2013-03-14|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302010929/https://www.the-village.ru/village/city/city/123731-expert|url-status=dead}}</ref><ref>{{Cite web|lang=ru|url=https://www.vedomosti.ru/realty/articles/2013/05/28/sovety_sobyaninu#cut|title=Ленинскому проспекту реконструкция не поможет|publisher=Ведомости|accessdate=2020-03-02}}</ref>. Ингэснээр Лениний өргөн чөлөө дэх төслийг хойшлуулсан<ref>{{Cite web|lang=ru|url=https://www.kommersant.ru/doc/2239624|title=Власти Москвы отменили реконструкцию Ленинского проспекта|date=2013-07-23|publisher=www.kommersant.ru|accessdate=2020-03-02}}</ref>. === Триумфальная талбай === [[2013 он|2013 онд]] Максим Кац [[Илья Варламов|Илья Варламовын]] хамтаар Триумфальная талбайд жагсаал зохион байгуулж, уг талбайг сэргээн босгох ажилд өмнө нь зарласан тендерийн дүнг цуцалж, архитектурын нээлттэй уралдаан зохион байгуулахыг шаардав. Тендерийг цуцалж, нээлттэй тендер зарласан<ref>{{Cite web|url=https://www.vedomosti.ru/lifestyle/articles/2014/02/21/triumfalnuyu-ploschad-zhdet-rekonstrukciya|title=Триумфальную площадь ждет реконструкция|publisher=Ведомости|lang=ru|accessdate=2020-03-02}}</ref><ref>{{Cite web|url=https://www.the-village.ru/village/city/public-space/137671-triumfalnaya|title=В Москве объявили конкурс на реконструкцию Триумфальной площади|date=2014-01-20|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302010932/https://www.the-village.ru/village/city/public-space/137671-triumfalnaya|url-status=dead}}</ref>. === Санкт-Петербург дахь үйл ажиллагаа === [[2014 он|2014 онд]] Кац [[Санкт-Петербург|Санкт-Петербург хотод]] «Хотын төслүүд»-ийн салбараа нээсэн<ref>{{Cite web|url=http://novayagazeta.spb.ru/articles/9312/|title=Максим Кац: Если коммунист захочет посчитать троллейбусы, то бога ради|publisher=Новая Газета|accessdate=2020-03-02}}</ref>. Санкт-Петербург дахь төслүүд: * Невскийн өргөн чөлөөний [https://web.archive.org/web/20210208151501/https://city4people.ru/post/posts_159.html судалгаа] ба явган хүнд ээлтэй болгох хэдэн санал<ref>{{Cite web|url=https://gazeta.spb.ru/1677402-0/|title=Пешеходная зона на Невском проспекте может появиться уже в августе этого года (фото) {{!}}|date=2014-07-07|publisher=GAZETA.SPb|lang=ru|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132710/https://gazeta.spb.ru/1677402-0/|url-status=dead}}</ref>. * Казанийн сүм хийд, Конюшенная талбай, далангийн ойролцоо газар нутгийг сайжруулах [https://web.archive.org/web/20200302132710/https://spb.city4people.ru/project/kazanskiy төслүүдийг] бий болгосон<ref name="автоссылка1">{{Cite web|url=https://www.the-village.ru/village/city/news-city/342481-kats-varlamov-spb|title=Проект дня. Благоустройство трех петербургских пространств от Варламова и Каца|date=2019-02-25|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132708/https://www.the-village.ru/village/city/news-city/342481-kats-varlamov-spb|url-status=dead}}</ref>. * Шпалерная гудамжийг сайжруулах төсөл<ref>{{Cite web|url=https://paperpaper.ru/papernews/2016/05/12/shpalernaya|title=«Городские проекты» показали, как сделать Шпалерную улицу удобнее для пешеходов и водителей|publisher=«Бумага»|lang=ru|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132712/https://paperpaper.ru/papernews/2016/05/12/shpalernaya/|url-status=dead}}</ref>. "Хотын төслүүд" шөнийн автобусны хөдөлгөөний шинэ схемийг санал болгож<ref>{{Cite web|url=https://www.the-village.ru/village/city/transport/233891-night|title=«Городские проекты» предложили новую схему движения ночных автобусов в Петербурге|date=2016-03-28|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132706/https://www.the-village.ru/village/city/transport/233891-night|url-status=dead}}</ref>, нийтийн тээврийн тарифын шинэ систем<ref>{{Cite web|url=https://www.the-village.ru/village/city/transport/249815-novye-tarify-transport|title=Предложение дня. Изменить систему тарифов в петербургском общественном транспорте|date=2016-11-08|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132710/https://www.the-village.ru/village/city/transport/249815-novye-tarify-transport|url-status=dead}}</ref>, трамвайны хөдөлгөөнийг Литейний өргөн чөлөө рүү буцааж барихыг санал болгосон<ref>{{Cite web|url=https://www.fontanka.ru/2017/03/29/078/|title=«Городские проекты» предлагают вернуть трамвай на Литейный проспект|date=2017-03-29|publisher=www.fontanka.ru|lang=ru|accessdate=2020-03-02}}</ref>. [[2019 он|2019 онд]] Кац, [[Илья Варламов|Варламов]] нар [[Санкт-Петербург|Санкт-Петербургийг]] өөрчлөх онлайн штабыг ажиллуулж<ref>{{Cite web|url=https://www.novayagazeta.ru/news/2019/02/25/149536-varlamov-i-kats-zapustili-shtab-prebrazheniya-peterburga-blogery-predlagayut-ostanovit-urbanisticheskoe-iznasilovanie-goroda|title=Варламов и Кац запустили «Штаб преображения Петербурга». Они предлагают остановить «урбанистическое изнасилование» города|publisher=Новая газета - Novayagazeta.ru|lang=ru|accessdate=2020-03-02}}</ref>, хотын гудамж, талбай, талбайг өөрчлөх 18 төслийг санал болгосон<ref>{{Cite web|url=https://spb.city4people.ru/index|title=Штаб преображения Петербурга|publisher=spb.city4people.ru|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132711/https://spb.city4people.ru/index|url-status=dead}}</ref>. Эдгээр төслүүдийг хэрэгжүүлэхийн тулд Петербургчүүдийг хотын сонгуульд оролцохыг уриалж. Максимыг [[Санкт-Петербург]] дахь Хотын төслүүд болон Яблоко намын сонгуулийн төв байранд томилсон<ref>{{Статья|ссылка=https://www.kommersant.ru/doc/4260961|заглавие=Максима Каца вычеркнут из списков|издание=Коммерсантъ}}</ref><ref name=":5">{{cite web|author=Владимир Хейфец|url=https://www.kommersant.ru/doc/4251384|title=Плод раздора|subtitle=Максима Каца могут вновь исключить из «Яблока» за «нанесение политического ущерба» партии|lang=ru|website=[[Коммерсантъ]]|date=2020-02-11|accessdate=2020-11-17|deadlink=no|archiveurl=https://web.archive.org/web/20200318051656/https://www.kommersant.ru/doc/4251384|archivedate=2020-03-18}}</ref>. === Газар дээрх болон газар доорх гарцын хор хөнөөл === [[2014 он|2014 онд]] Кац газар дээрх болон газар доорхи гарцууд ямар хор уршигтай болохыг харуулсан, өгүүлсэн төсөл хэрэгжүүлж эхэлсэн<ref>{{Cite web|url=https://www.the-village.ru/village/city/city/143029-ssylki-dnya|title=Ссылки дня. Генератор ругательств из пьес Шекспира, интервью со Стоей и сайт ненависти к переходам|date=2014-04-23|publisher=The Village|accessdate=2020-03-02|archive-date=2020-03-02|archive-url=https://web.archive.org/web/20200302132711/https://www.the-village.ru/village/city/city/143029-ssylki-dnya|url-status=dead}}</ref>. Төслийн зүгээс ийм гарцуудын аюулгүй байдал нь статистикийн хувьд батлагдаагүй домог бөгөөд хөдөлгөөний хязгаарлагдмал, хүн амын 30% -ийг бүрдүүлдэг хүмүүс гарцаар гарахад онцгой бэрхшээлтэй тулгардаг тул зорчих хэсгийн дагуух замыг хөндлөн гарахыг өдөөдөг гэсэн бөгөөд хотын тохь тухгүй орчныг бүрдүүлдэг гэж мэдэгджээ<ref>{{Cite web|url=http://zebra.city4people.ru/|title=Сайт о вреде подземных переходов|publisher=zebra.city4people.ru|accessdate=2020-03-02|archive-date=2020-02-14|archive-url=https://web.archive.org/web/20200214210527/http://zebra.city4people.ru/|url-status=dead}}</ref>. == Ном == * {{книга|автор=Варламов И., Кац. М. |заглавие=Хотын даргад өгөх 100 зөвлөгөө |издательство=Альпина нон-фикшн |год=2020 |страниц=464 |isbn=978-5-00139-255-2 }} * {{ книга |автор=Кац М. |заглавие=Шинэ Оросын Түүх |издательство=Перо |год=2021 |страниц=336 |isbn=978-5-00189-808-5 }} == Эшлэл == {{Reflist}} == Бусад холбоос == * {{Facebook|katz.max|name=Максим Кац}} * {{Instagram|maxim_katz|id=}} * {{Twitter|name=Максим Кац|id=max_katz}} {{DEFAULTSORT:Кац, Максим}} [[Ангилал:1984 онд төрсөн]] [[Ангилал:Оросын улс төрч]] [[Ангилал:21-р зууны улс төрч]] knmrtprfl02u1ax36plsivgs73z11z7 Виадук де Мийо 0 114356 860746 860305 2026-07-01T00:58:10Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860746 wikitext text/x-wiki {{Short description|Францын Окситани дахь налуу татлагат гүүр}} {{Инфобокс гүүр | bridge_name = Millau Viaduct | native_name = {{nobold|{{native name|fr|Viaduc de Millau}}}} | native_name_lang = | image = [[File:ViaducdeMillau.jpg|260px]] | image_size = | alt = | caption = 2005 онд Виадук де Мийогийн үзэмж | official_name = '''{{lang|fr|Viaduc de Millau}}''' | other_name = | carries = [[Хурдны зам А75|А75]] 4 эгнээ | crosses = [[Тарн гол|Тарн]] голын хөндий | locale = [[Мийо]]-[[Крессель]], [[Аверон]], [[Франц]] | owner = | maint = [[Эфаж|Compagnie Eiffage du Viaduc de Millau]]<ref name=structurae>{{Structurae|access-date=2026-06-22}}</ref> | id = | designer = [[Норман Фостер]], архитектор<ref name=structurae/><br /> [[Мишель Вирложе]], бүтцийн инженер<ref name=structurae/> | engineering = | design = Олон ташаатай [[Налуу татлагат гүүр|налуу татлагат]] [[виадук]] [[Францын авто замууд|авто замын]] [[гүүр]]<ref name=structurae/> | material = [[Бетон]], [[ган]] | length = {{convert|2460|m|abbr=on}}<ref name=structurae/> | width = {{convert|32.05|m|abbr=on}}<ref name=structurae/> | height = {{convert|343|m|abbr=on}} (max pylon above ground)<ref name=structurae/><ref name=BBC-Dec2004/> | mainspan = {{convert|342|m|abbr=on}}<ref name=structurae/> | spans = {{convert|204|m|abbr=on}},<br />6×{{convert|342|m|abbr=on}},<br />{{convert|204|m|abbr=on}}<ref name="Buonomo, Servant, Virlogeux, Cremer, De Ville De Goyet, Del Forno">{{cite conference |last1=Буономо |first1=М. |last2=Серван |first2=Клод |last3=Вирложе |first3=Мишель |last4=Кремер |first4=Жан-Мари |last5=Де Виль Де Фойе |first5=В. |last6=Дел Форно |first6=Ж.-Й. |url=http://people.bath.ac.uk/jjo20/bh09/Papers/design.pdf |title=The design and the construction of the Millau Viaduct |date=2004-06-23{{ndash}}25 |conference=Steel bridges extend structural limits |location=Мийо, Франц |pages=1–18 |archive-url=https://web.archive.org/web/20180219200253/https://people.bath.ac.uk/jjo20/bh09/Papers/design.pdf |archive-date=2018-02-19 }} {{Webarchiv|url=http://people.bath.ac.uk/jjo20/bh09/Papers/design.pdf |wayback=20180219200253 |text=The design and the construction of the Millau Viaduct |archiv-bot=2026-07-01 00:58:10 InternetArchiveBot }}</ref> | pierswater = | load = | clearance = | below = {{convert|270|m|abbr=on}}<ref name=structurae/><ref name=BBC-May2004>{{cite web|url=http://news.BBC.co.uk/1/hi/world/europe/3759307.stm|title=France 'completes' tallest bridge|website=news.BBC.co.uk|publisher=[[BBC News]]|date=2004-05-29|access-date=2026-06-22}}</ref> | life = 120 жил | builder = [[Эфаж|Compagnie Eiffage du Viaduc de Millau]]<ref name=structurae/><ref name=BBC-Dec2004/><ref name=BBC-May2004/><ref name=BBC-Nov2003>{{cite news |author=Крис Бокман |url=http://news.bbc.co.uk/1/hi/world/europe/3237329.stm |title=France builds world's tallest bridge |location=Мийо |work=[[BBC News Online]] |date=2003-11-04 |access-date=2026-06-22 }}</ref> | fabricator = | begin = {{Start date and age|2001|10|16|df=y}}<ref name=structurae/> | complete = | cost = {{Евро|394 сая|link=yes}}<ref name=BBC-Dec2004>{{cite news |url=http://news.bbc.co.uk/2/hi/europe/4091813.stm |title=France shows off tallest bridge |work=[[BBC News Online]] |date=2004-12-14 |access-date=2026-06-22 }}</ref> | inaugurated = {{Start date and age|2004|12|14|df=y}}<ref name=structurae/> | open = 2004 оны 12 сарын 14, 9:00<ref name=structurae/> | toll = {{Евро|8.30}} | traffic = | preceded = | followed = | heritage = | replaces = | coordinates = {{Coord|44|04|46|N|03|01|20|E|region:FR_type:landmark|display=title,inline}} | references = }} '''Виадук де Мийо''' буюу '''Мийогийн гүүр''' ({{lang-fr|Viaduc de Millau}}) нь [[Франц|Өмнөд Францын]] [[Тарн гол]]ын хөндийд байх гүүр юм. Тус гүүрийн зургийг [[Мишел Вирложо]] гаргасан ба [[Норман Фостер]] хийцийг нь боловсруулжээ. 2004 оны арванхоёрдугаар сарын 14-нд тухайн үеийн францын ерөнхийлөгч [[Жак Ширак]] нээлтийн ёслолыг хийсэн ба үүнээс хоёр өдрийн дараа ашиглалтад авчээ. 2460 метрийн урттай энэ гүүр нь дэлхийн хамгийн урт [[налуу татлагат гүүр]] бөгөөд тулгуурын өндөр нь 343 метрээрээ Францын хамгийн өндөр байгууламж юм. 2006 онд гүүр ба түүнийг хийж гүйцэтгэсэн архитекторууд болон инженерүүд нь [[Олон Улсын Гүүр ба Хийцийн Инженерийн Байгууламжийн Нийгэмлэг|ОУГХИБН]]-ээс [[Шилдэг Хийцийн Шагнал]]аар ({{lang-en|Outstanding Structure Award}}) шагнуулжээ. == Зураг төсөл == Замын байрлал, газрын сонголт, зохион бүтээх зураг төсөл, тэдгээрийн төлөвлөлтөд бараг 20 гаран жилийг зарцуулсан байна. Эцсийн зураг төслийг франц гаралтай барилгын инженер Мишел Вирложо зохиосон бөгөөд түүний зургаар их британийн архитектор Норман Фостер гүүрийн хийцийн архитекурын ажлыг хийж гүйцэтгэв. 1996 оны зун шүүгчдийн баг авто замаас дээшээ долоон [[налуу татлагат гүүр|налуу татлагат пилон]] бүхий нийт таван хийцийн зургаас сонголт хийжээ. == Техникийн үзүүлэлт == Гүүрний зам нь хойноос урагшаа чигт 3 %-ийн өгсүүр бөгөөд дэвсгэр зургийн муруйлтын радиус нь 20.000&nbsp;м. Энэхүү муруйлт нь хэрэглэгчдэд гүүрийг илүү сайн харах боломжийг олгох зорилготой аж.<ref>Michel Virlogeux: ''Der Viadukt über das Tarntal bei Millau – Von den ersten Entwurfsgedanken bis zur Fertigstellung''. In: ''Bautechnik'', Jg. 83, 2006, S.&nbsp;96.</ref> Гүүрний сөрөг урсгал бүрт тус бүрдээ 3,5&nbsp;м өргөнтэй хоёр эгнээ замтайгаас гадна 3&nbsp;м-ийн өргөнтэй нэмэлт зогсох эгнээтэй. Эдгээр нь ослын хаалт, ослын дуудлагын багана, гал унтраагч, 24 цагийн хяналт, эргүүл, 3,2&nbsp;м өндөр салхины хамгаалалт зэргээр хамгаалагдсан байдаг. === Хийц === Гүүрний урт нь 2460&nbsp;м ба хоёр захын тулгуур хоорондын зай нь 204&nbsp;м, дунд талын зургаан тулгуур хоорондын зай 342&nbsp;м. 32&nbsp;метрийн өргөнтэй, хамгийн ихдээ 4,2&nbsp;м өндөртэй ромб хэлбэрийн замын дам нуруу нь Тарн голоос дээш 270&nbsp;м хүртэл өндөрт байрладаг. [[Ортотроп хавтан|Ортотроп]] замын хөндлөн огтлол нь ган [[хөндий дам нуруу]]наас бүрдэнэ.<ref>[http://structurae.de/bauwerke/millau-viadukt Millau-Viadukt.] In: Structurae</ref> Замын хийцэд тусгай зориулалтын [[Нимгэн төмөр#Зузаан ихтэй нимгэн төмөр|зузаан төмөр хавтанг]] ашигласан ба түүний доод талд нь [[Заарланд]]ын «Диллингер Хүттэ» үйлдвэрт үйлдвэрлэсэн хатуулаг өндөртэй, нарийн мөхлөгт барилгын ганг хэрэглэжээ.<ref name="dillinger">{{Webarchiv |url=http://www.dillinger.de/dh/referenzen/stahlbau/00024314/index.shtml.de |text=''Grobblech für das Viadukt von Millau. Die längste Schrägseilbrücke der Welt: aus DI-MC.'' |wayback=20160118104430}}. In: ''Dillinger Hütte Gruppe''.</ref> 245&nbsp;м хүртэл өндөртэй тус гүүрний төмөр бетон тулгуур багана нь баригдаж дуусах хүртлээ дэлхийн хамгийн өндөр тулгууртай гүүр байв. Хөндий төмөр бетон тулгуур нь нийт уртаараа өөр өөр хөндлөн огтлолтой. Зорчих хэсгийн доогуур ү-хэлбэрт хуваагдсан, босоо тэнхлэг дагуу [[бэхэлгээний ган|бэхлэгдсэн]]. Тулгуур баганын суурийн талбай нь 220&nbsp;м² бөгөөд дээш нарийссаар 30&nbsp;м² болно. Тулгуур багана нь гүүрний өргөн чигт оройн хэсгээрээ 10&nbsp;м ёроол хэсгээрээ 27&nbsp;м (хамгийн өндөр тулгуур). [[Төмөр бетон|Төмөр бетон тулгуурт]] 53.000&nbsp;м³ [[бетон]] цутгажээ. Нийт 206.000&nbsp;тонн бетон хэрэглэсэн байна. == Зургийн цомог == {{Том зураг|Viaduc de Millau 1.jpg|1000|Мийогийн гүүр}} == Цахим холбоос == {{Commonscat|Viaduc de Millau|Виадук де Мийо}} * [http://www.leviaducdemillau.com/ Compagnie Eiffage du Viaduc de Millau] == Эх сурвалж == <references/> [[Ангилал:Ган гүүр]] [[Ангилал:Налуу татлагат гүүр]] [[Ангилал:Техникийн хамгийн]] [[Ангилал:Хурдны замын гүүр]] [[Ангилал:Францын замын гүүр]] [[Ангилал:Европын гүүр]] [[Ангилал:2000-аад онд барьсан]] dg62o9yi524fknllgsw0fj2qgfrqtrt Монгол улсын цэргийн цол 0 137835 860763 848930 2026-07-01T03:03:15Z InternetArchiveBot 70653 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 860763 wikitext text/x-wiki '''Монгол Улсын Цэргийн Цол''' нь [[Монгол Улсын Зэвсэгт Хүчин]] болон бусад цэргийн байгууллага болох Хил хамгаалах цэрэг, Дотоодын цэрэг, Онцгой байдлын ерөнхий газар, Шүүхийн шийдвэр гүйцэтгэх ерөнхий газар, Тагнуулын ерөнхий газар, Төрийн тусгай хамгаалалтын газар зэргийн цэргийн цол тэмдэг юм.<ref>{{Cite web |url=https://www.cia.gov/the-world-factbook/countries/mongolia/ |title=The World Factbook |access-date=2024-12-20 |archive-date=2023-01-14 |archive-url=https://web.archive.org/web/20230114155343/https://www.cia.gov/the-world-factbook/countries/mongolia/ |url-status=dead }}</ref> ==Одоогийн цол, ялгах тэмдэг== Одоогийн цолны тогтолцоог 2003 онд түрүүч хошууч, ахлагч түрүүчийн зэргийг шинээр нэмэн бий болгосон.{{citation needed|date=2022 оны 4 сар}} 2006 онд бригадын генерал, генерал цолыг нэмж, хурандаа генерал, армийн генерал цолыг хассан.<ref>{{cite web |url=https://zasag.mn/m/ministry-of-defense/view/5342 |title=Шинэчлэлийн Засгийн газар |website=zasag.mn |url-status=dead |archive-url=https://web.archive.org/web/20140502003345/http://www.zasag.mn/m/ministry-of-defense/view/5342 |archive-date=2014-05-02}}</ref> 2017 онд одоогийн цол тэмдэгийн багцыг нэвтрүүлсэн. Офицер цолны [[түмэн өлзий|өлзий]] тэмдгийг таван хошуут одоор, бага ангийн цолны тэмдгийг шевроноор сольсон.<ref>{{Cite web|url=http://gsmaf.gov.mn/index.php?comp=post&id=879|title = Монгол Улсын зэвсэгт хүчин}}</ref> === Төрийн албан хаагчдын мөрдөс === <gallery> File:Mongolian Army-Commander in chief-field.svg|Ерөнхийлөгч буюу Зэвсэгт хүчний ерөнхий командлагчийн мөрдөс.<ref>{{Cite web|url=http://www.24tsag.mn/a/27260|title = Ерөнхийлөгч энхийг сахиулагчдаа эргэлээ|date = 2013-02-18}}</ref> Mongolian Army-Member of cabinet-field.svg|Засгийн газрын гишүүн, дэд сайдын мөрдөс.<ref>{{Cite web|url=https://ikon.mn/n/1iww|title = У.Хүрэлсүх: Монгол Улсын төлөө зүтгэе|date = 2019-03-18}}</ref><ref>{{Cite web|url=http://vip76.mn/content/49789|title=Батлан хамгаалахын сайд баруун аймгуудад ажилллаж байна|access-date=2024-12-20|archive-date=2025-01-22|archive-url=https://web.archive.org/web/20250122193037/https://vip76.mn/content/49789|url-status=dead}}</ref><ref>{{Cite web|url=http://www.mod.gov.mn/index.php?com=news&id=1418|title=Нүүр|date=2022-06-16 }}</ref> </gallery> ===Офицерын цол=== Захиргааны офицеруудын цолны тэмдэг. {| style="border:1px solid #8888aa; background-color:#f7f8ff; padding:5px; font-size:95%; margin: 0px 12px 12px 0px; text-align:center;" {{НАТО-гийн гишүүн бус орны зэвсэгт хүчний зэрэглэл, тэмдэг/OF/Хоосон}} |- | '''Ёслолын''' | colspan=2 rowspan=5| <!--None--> | colspan=2| [[File:Mongolian Army-GEN-parade.svg|53px]] | colspan=2| [[File:Mongolian Army-LTG-parade.svg|53px]] | colspan=2| [[File:Mongolian Army-MJG-parade.svg|53px]] | colspan=2| [[File:Mongolian Army-BRG-parade.svg|53px]] | colspan=2| [[File:Mongolian Army-COL-parade.svg|50px]] | colspan=2| [[File:Mongolian Army-LTC-parade.svg|50px]] | colspan=2| [[File:Mongolian Army-MAJ-parade.svg|50px]] | colspan=2| [[File:Mongolian Army-CPT-parade.svg|50px]] | colspan=3| [[File:Mongolian Army-1LT-parade.svg|50px]] | colspan=3| [[File:Mongolian Army-2LT-parade.svg|50px]] |- | '''Албаны<ref name="Mongolia">{{cite web |author1=Зэвсэгт Хүчний Жанжин Штаб |author1-link=Монгол Улсын Зэвсэгт Хүчний Жанжин Штаб |title=Зэвсэгт Хүчний Жанжин Штабын Даргын Тушаал: Дугаан A / 595 |date=2019-11-25 |website=gsmaf.gov.mn |pages=20–26 |url=https://www.gsmaf.gov.mn/gsmaf/onePost/1331 |access-date=2024-12-20 |language=mn |archive-date=2024-12-28 |archive-url=https://web.archive.org/web/20241228021525/https://www.gsmaf.gov.mn/gsmaf/onePost/1331 |url-status=dead }}</ref>''' | colspan=2| [[File:Mongolian Army-GEN-service.svg|53px]] | colspan=2| [[File:Mongolian Army-LTG-service.svg|53px]] | colspan=2| [[File:Mongolian Army-MJG-service.svg|53px]] | colspan=2| [[File:Mongolian Army-BRG-service.svg|53px]] | colspan=2| [[File:Mongolian Army-COL-service.svg|50px]] | colspan=2| [[File:Mongolian Army-LTC-service.svg|50px]] | colspan=2| [[File:Mongolian Army-MAJ-service.svg|50px]] | colspan=2| [[File:Mongolian Army-CPT-service.svg|50px]] | colspan=3| [[File:Mongolian Army-1LT-service.svg|50px]] | colspan=3| [[File:Mongolian Army-2LT-service.svg|50px]] |- | '''Цамцны''' | colspan=2| [[File:Mongolian Army-GEN-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-LTG-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-MJG-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-BRG-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-COL-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-LTC-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-MAJ-shirt.svg|50px]] | colspan=2| [[File:Mongolian Army-CPT-shirt.svg|50px]] | colspan=3| [[File:Mongolian Army-1LT-shirt.svg|50px]] | colspan=3| [[File:Mongolian Army-2LT-shirt.svg|50px]] |- | '''Хээрийн''' | colspan=2| [[File:Mongolian Army-GEN-field.svg|50px]] | colspan=2| [[File:Mongolian Army-LTG-field.svg|50px]] | colspan=2| [[File:Mongolian Army-MJG-field.svg|50px]] | colspan=2| [[File:Mongolian Army-BRG-field.svg|50px]] | colspan=2| [[File:Mongolian Army-COL-field.svg|50px]] | colspan=2| [[File:Mongolian Army-LTC-field.svg|50px]] | colspan=2| [[File:Mongolian Army-MAJ-field.svg|50px]] | colspan=2| [[File:Mongolian Army-CPT-field.svg|50px]] | colspan=3| [[File:Mongolian Army-1LT-field.svg|50px]] | colspan=3| [[File:Mongolian Army-2LT-field.svg|50px]] |- | colspan=23| {{hr}} |- | '''Нэршил''' | colspan=2| | colspan=2| [[Генерал]] | colspan=2| [[Дэслэгч генерал]] | colspan=2| [[Хошууч генерал]] | colspan=2| [[Бригадын генерал]] | colspan=2| [[Хурандаа]] | colspan=2| [[Дэд хурандаа]] | colspan=2| [[Хошууч]] | colspan=2| [[Ахмад (цэргийн цол)|Ахмад]] | colspan=3| [[Ахлах дэслэгч]] | colspan=3| [[Дэслэгч]] |} ===Бусад цол=== Ахлагч болон цэргийн албан хаагчдын цолны тэмдэг. {| style="border:1px solid #8888aa; background-color:#f7f8ff; padding:5px; font-size:95%; margin: 0px 12px 12px 0px; text-align:center;" |- bgcolor="#CCCCCC" ! Зэрэглэлийн бүлэг || colspan=5| Бага офицер || colspan=5| Хугацаат цэрэг |- | '''Ёслолын''' | [[File:Mongolian Army-SGM-parade.svg|50px]] | [[File:Mongolian Army-MSG-parade.svg|50px]] | [[File:Mongolian Army-SSG-parade.svg|50px]] | [[File:Mongolian Army-SGT-parade.svg|50px]] | [[File:Mongolian Army-JSG-parade.svg|50px]] |- | '''Албаны'''<ref name="Mongolia" /> | [[File:Mongolian Army-SGM-service.svg|50px]] | [[File:Mongolian Army-MSG-service.svg|50px]] | [[File:Mongolian Army-SSG-service.svg|50px]] | [[File:Mongolian Army-SGT-service.svg|50px]] | [[File:Mongolian Army-JSG-service.svg|50px]] |- | '''Цамцны''' | [[File:Mongolian Army-SGM-shirt.svg|50px]] | [[File:Mongolian Army-MSG-shirt.svg|50px]] | [[File:Mongolian Army-SSG-shirt.svg|50px]] | [[File:Mongolian Army-SGT-shirt.svg|50px]] | [[File:Mongolian Army-JSG-shirt.svg|50px]] |- | '''Хээрийн''' | [[File:Mongolian Army-SGM-field.svg|50px]] | [[File:Mongolian Army-MSG-field.svg|50px]] | [[File:Mongolian Army-SSG-field.svg|50px]] | [[File:Mongolian Army-SGT-field.svg|50px]] | [[File:Mongolian Army-JSG-field.svg|50px]] | [[File:Mongolian Army-SCP-field.svg|50px]] | [[File:Mongolian Army-CPL-field.svg|50px]] | [[File:Mongolian Army-JCP-field.svg|50px]] | [[File:Mongolian Army-PFC-field.svg|50px]] | [[File:Mongolian Army-PVT-field.svg|50px]] |- | colspan=11| {{hr}} |- | '''Нэршил''' | [[Тэргүүн ахлагч]] | [[Cургагч ахлагч]] | [[Aхлах ахлагч]] | [[Aхлагч]] | [[Дэд ахлагч]] | [[Ахлах түрүүч]] | [[Түрүүч]] | [[Дэд түрүүч]] | [[Ахлах байлдагч]] | [[Байлдагч]] |} ===Хугацаат болон гэрээт албан хаагч=== {| class="wikitable" style = "width:80%; text-align:center;" ! rowspan="2"| Цол ! colspan="2"| Зэвсэгт хүчин ! colspan="2"| Хил хамгаалах цэрэг ! colspan="2"| Дотоодын цэрэг |- ! Хугацаат ! Гэрээт ! Хугацаат ! Гэрээт ! Хугацаат ! Гэрээт |- | [[Байлдагч]] | [[File:Mongolian Army-PVT-field.svg|Mongolian Army-PVT-field|center|60px]] | [[File:Mongolian Army-PVT(v)-field.svg|Mongolian Army-PVT(v)-field|center|60px]] | [[File:Mongolian Border troops-PVT-field.svg|Mongolian Border troops-PVT-field|center|60px]] | [[File:Mongolian Border troops-PVT(v)-field.svg|Mongolian Border troops-PVT(v)-field|center|60px]] | [[File:Mongolian Internal troops-PVT-field.svg|Mongolian Internal troops-PVT-field|center|60px]] | ''Тодорхойгүй'' |- | [[Ахлах байлдагч]] | [[File:Mongolian Army-PFC-field.svg|Mongolian Army-PFC-field|center|60px]] | [[File:Mongolian Army-PFC(v)-field.svg|Mongolian Army-PFC(v)-field|center|60px]] | [[File:Mongolian Border troops-PFC-field.svg|Mongolian Border troops-PFC-field|center|60px]] | [[File:Mongolian Border troops-PFC(v)-field.svg|Mongolian Border troops-PFC(v)-field|center|60px]] | [[File:Mongolian Internal troops-PFC-field.svg|Mongolian Internal troops-PFC-field|center|60px]] | ''Тодорхойгүй'' |- | [[Дэд түрүүч]] | [[File:Mongolian Army-JCP-field.svg|Mongolian Army-JCP-field|center|60px]] | [[File:Mongolian Army-JCP(v)-field.svg|Mongolian Army-JCP(v)-field|center|60px]] | [[File:Mongolian Border troops-JCP-field.svg|Mongolian Border troops-JCP-field|center|60px]] | [[File:Mongolian Border troops-JCP(v)-field.svg|Mongolian Border troops-JCP(v)-field|center|60px]] | [[File:Mongolian Internal troops-JCP-field.svg|Mongolian Internal troops-JCP-field|center|60px]] | ''Тодорхойгүй'' |- | [[Түрүүч]] | [[File:Mongolian Army-CPL-field.svg|Mongolian Army-CPL-field|center|60px]] | [[File:Mongolian Army-CPL(v)-field.svg|Mongolian Army-CPL(v)-field|60px]] | [[File:Mongolian Border troops-CPL-field.svg|Mongolian Border troops-CPL-field|center|60px]] | [[File:Mongolian Border troops-CPL(v)-field.svg|Mongolian Border troops-CPL(v)-field|center|60px]] | [[File:Mongolian Internal troops-CPL-field.svg|Mongolian Internal troops-CPL-field|center|60px]] | ''Тодорхойгүй'' |- | [[Ахлах түрүүч]] | [[File:Mongolian Army-SCP-field.svg|Mongolian Army-SCP-field|center|60px]] | [[File:Mongolian Army-SCP(v)-field.svg|Mongolian Army-SCP(v)-field|60px]] | [[File:Mongolian Border troops-SCP-field.svg|Mongolian Border troops-SCP-field|center|60px]] | [[File:Mongolian Border troops-SCP(v)-field.svg|Mongolian Border troops-SCP(v)-field|center|60px]] | [[File:Mongolian Internal troops-SCP-field.svg|Mongolian Internal troops-SCP-field|center|60px]] | ''Тодорхойгүй'' |} === Салбар, өнгө === Салбар, цэргийн байгууллагын төрлийг илэрхийлэхийн тулд мөрдөс, дүрэмт хувцасны өнгөт хээ ашигладаг. {| class="wikitable" |- | Зэвсэгт хүчний хуурай замын цэрэг: || {{Farbindex|FF0000| Улаан}} |- | Зэвсэгт хүчний нисэх хүчний цэрэг,<br />Тагнуулын ерөнхий газар, Төрийн тусгай хамгаалалтын газар: || {{Farbindex|0000cd| Цэнхэр}} |- | Хилийн цэрэг: || {{Farbindex|228b22| Ногоон}} |- | Дотоодын цэрэг, Шүүхийн шийдвэр гүйцэтгэх ерөнхий газар: || {{Farbindex|800032| Хар улаан}} |- | Онцгой байдлын ерөнхий газар (Иргэний хамгаалалт): || {{Farbindex|ff7f00| Улбар шар}} |} <gallery class="center" caption= "Зэвсэгт хүчний Агаарын цэргийн хүчин, Тагнуулын ерөнхий газар, Төрийн тусгай хамгаалалтын газрын цол тэмдэг" > Mongolian Air force-COL-parade.svg|Ёслолын дүрэмт хувцасны мөрдөс <br /><small>(Хурандаа)</small> Mongolian Air force-CPT-service.svg|Албаны дүрэмт хувцасны мөрдөс <br /><small>(Ахмад)</small> Mongolian Air force-SSG-shirt.svg| Дүрэмт хувцасны цамцны мөрдөс <br /><small>(Ахлах ахлагч)</small> </gallery> <gallery class="center" caption= "Хилийн цэргийн цол тэмдэг" > Mongolian Border troops-LTC-parade.svg|Ёслолын дүрэмт хувцасны мөрдөс <br /><small>(Дэд хурандаа)</small> Mongolian Border troops-MAJ-service.svg|Албаны дүрэмт хувцасны мөрдөс <br /><small>(Хошууч)</small> Mongolian Border troops-CPT-shirt.svg| Дүрэмт хувцасны цамцны мөрдөс <br /><small>(Ахмад)</small> Mongolian Border troops-SGT-field.svg| Хээрийн дүрэмт хувцасны мөрдөс <br /><small>(Ахлагч)</small> </gallery> <gallery class="center" caption= "Дотоодын цэрэг, Шүүхийн шийдвэр гүйцэтгэх ерөнхий газрын цол тэмдэг" > Mongolian Internal troops-MAJ-parade.svg|Ёслолын дүрэмт хувцасны мөрдөс <br /><small>(Хошууч)</small> Mongolian Internal troops-1LT-service.svg|Албаны дүрэмт хувцасны мөрдөс <br /><small>(Ахлах дэслэгч)</small> Mongolian Internal troops-LTC-shirt.svg| Дүрэмт хувцасны цамцны мөрдөс <br /><small>(Дэд хурандаа)</small> </gallery> <gallery class="center" caption= "Онцгой байдлын ерөнхий газрын цол тэмдэг" > Mongolian Civil defense-COL-parade.svg|Ёслолын дүрэмт хувцасны мөрдөс <br /><small>(Хурандаа)</small> Mongolian Civil defense-2LT-service.svg|Албаны дүрэмт хувцасны мөрдөс <br /><small>(Дэслэгч)</small> Mongolian Civil defense-JSG-shirt.svg| Дүрэмт хувцасны цамцны мөрдөс <br /><small>(Дэд ахлагч)</small> </gallery> ==Түүхэн== ===1990-1998 оны цол, тэмдэг=== 1990 онд АИХ-ын Тэргүүлэгчдийн зарлигаар офицер, ахлагч нарын цол тэмдгийг 1936 оны загварын өлзий болгон, хугацаат цэргийн мөрдөснөөс Ардын Армийн товчлол "АА" үсгийг хассан<ref>{{Cite web|url=https://www.alamy.com/stock-photo-mongolia-ulan-bator-ulaanbaatar-national-day-of-naddam-military-parade-48037095.html|title = Зураг - Монгол улс - Улаанбаатар. Наадам. Албан ёсны нээлтэд зориулсан цэргийн жагсаал}}</ref> ====Офицер==== {| style="border:1px solid #8888aa; background-color:#f7f8ff; padding:5px; font-size:95%; margin: 0px 12px 12px 0px;" {{НАТО-гийн гишүүн бус орны зэвсэгт хүчний зэрэглэл, тэмдэг/OF/Хоосон}} |- style="text-align:center;" ! bgcolor="#efefef"| Ёслолын | colspan=2 rowspan=3| | colspan=2| [[File:Mongolian Army-Colonel general-parade 1990-1998.svg|Монголын арми-Хурандаа генерал-ёслолын 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Lieutenant general-parade 1990-1998.svg|Монголын арми-Дэслэгч генерал-ёслолын 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Major general-parade 1990-1998.svg|Монголын арми-Хошууч генерал-ёслолын 1990-1998|50px]] | colspan=2 rowspan=3| | colspan=2| [[File:Mongolian Army-Colonel-parade 1990-1998.svg|Монголын арми-Хурандаа-ёслолын 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Lieutenant colonel-parade 1990-1998.svg|Монголын арми-Дэд хурандаа-ёслолын 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Major-parade 1990-1998.svg|Монголын арми-Хошууч-ёслолын 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Captain-parade 1990-1998.svg|Монголын арми-Ахмад-ёслолын 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Senior lieutenant-parade 1990-1998.svg|Монголын арми-Ахлах дэслэгч-ёслолын 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Lieutenant-parade 1990-1998.svg|Монголын арми-Дэслэгч-ёслолын 1990-1998|50px]] |- style="text-align:center;" ! bgcolor="#efefef"| Албаны | colspan=2| [[File:Mongolian Army-Colonel general-service 1990-1998.svg|Монголын арми-Хурандаа генерал-албаны 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Lieutenant general-service 1990-1998.svg|Монголын арми-Дэслэгч генерал-албаны 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Major general-service 1990-1998.svg|Монголын арми-Хошууч генерал-албаны 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Colonel-service 1990-1998.svg|Монголын арми-Хурандаа-албаны 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Lieutenant colonel-service 1990-1998.svg|Монголын арми-Дэд хурандаа-албаны 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Major-service 1990-1998.svg|Монголын арми-Хошууч-албаны 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Captain-service 1990-1998.svg|Монголын арми-Ахмад-албаны 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Senior lieutenant -service 1990-1998.svg|Монголын арми-Ахлах дэслэгч-албаны 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Lieutenant-service 1990-1998.svg|Монголын арми-Дэслэгч-албаны 1990-1998|50px]] |- style="text-align:center;" ! bgcolor="#efefef" rowspan=3| Зэрэглэлийн<br/>тодорхойлолт | colspan=35| |- style="text-align:center;" | colspan=2| | colspan=2| [[Хурандаа генерал]] | colspan=2| [[Дэслэгч генерал]] | colspan=2| [[Хошууч генерал]] | colspan=2| | colspan=2| [[Хурандаа]] | colspan=2| [[Дэд хурандаа]] | colspan=2| [[Хошууч]] | colspan=2| [[Ахмад (цэргийн цол)|Ахмад]] | colspan=3| [[Ахлах дэслэгч]] | colspan=3| [[Дэслэгч]] |} ====Ахлагч болон цэргийн албан хаагчид==== {| style="border:1px solid #8888aa; background-color:#f7f8ff; padding:5px; font-size:95%; margin: 0px 12px 12px 0px;" {{НАТО-гийн гишүүн бус орны зэвсэгт хүчний зэрэглэл, тэмдэг/OR/Хоосон}} |- style="text-align:center;" ! bgcolor="#efefef"| Ёслолын | colspan=8 rowspan=3| | colspan=2| [[File:Mongolian Army-Senior sergeant-parade 1990-1998.svg|Mongolian Army-Senior sergeant-parade 1990-1998|50px]] | colspan=6| [[File:Mongolian Army-Sergeant-parade 1990-1998.svg|Mongolian Army-Sergeant-parade 1990-1998|50px]] | colspan=6| [[File:Mongolian Army-Junior sergeant-parade 1990-1998.svg|Mongolian Army-Junior sergeant-parade 1990-1998|50px]] | colspan=4| [[File:Mongolian Army-Senior corporal-parade 1990-1998.svg|Mongolian Army-Senior corporal-parade 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Corporal-parade 1990-1998.svg|Mongolian Army-Corporal-parade 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Junior corporal-parade 1990-1998.svg|Mongolian Army-Junior corporal-parade 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Senior private-parade 1990-1998.svg|Mongolian Army-Senior private-parade 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Private-parade 1990-1998.svg|Mongolian Army-Private-parade 1990-1998|50px]] |- style="text-align:center;" ! bgcolor="#efefef"| Албаны | colspan=2| [[File:Mongolian Army-Senior sergeant-service 1990-1998.svg|Mongolian Army-Senior sergeant-service 1990-1998|50px]] | colspan=6| [[File:Mongolian Army-Sergeant-service 1990-1998.svg|Mongolian Army-Sergeant-service 1990-1998|50px]] | colspan=6| [[File:Mongolian Army-Junior sergeant-service 1990-1998.svg|Mongolian Army-Junior sergeant-service 1990-1998|50px]] | colspan=4| [[File:Mongolian Army-Senior corporal-service 1990-1998.svg|Mongolian Army-Senior corporal-service 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Corporal-service 1990-1998.svg|Mongolian Army-Corporal-service 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Junior corporal-service 1990-1998.svg|Mongolian Army-Junior corporal-service 1990-1998|50px]] | colspan=3| [[File:Mongolian Army-Senior private-service 1990-1998.svg|Mongolian Army-Senior private-service 1990-1998|50px]] | colspan=2| [[File:Mongolian Army-Private-service 1990-1998.svg|Mongolian Army-Private-service 1990-1998|50px]] |- style="text-align:center;" ! bgcolor="#efefef" rowspan=3| Зэрэглэлийн<br />тодорхойлолт |- style="text-align:center;" | colspan=8| | colspan=2| [[Aхлах ахлагч]] | colspan=6| [[Aхлагч]] | colspan=6| [[Дэд ахлагч]] | colspan=4| Ахлах түрүүч | colspan=2| [[Түрүүч]] | colspan=3| [[Дэд түрүүч]] | colspan=3| [[Ахлах байлдагч]] | colspan=2| [[Байлдагч]] |} ===1998-2017 оны цол, тэмдэг=== 1998 онд Ерөнхийлөгчийн 180 дугаар зарлигаар дүрэмт хувцас, цолны тэмдгийг шинээр баталсан.<ref>{{cite web | url=https://legalinfo.mn/mn/detail?lawId=804 | title=Цэргийн Дүрэмт Хувцас, Цол, Ялгах Тэмдгийн Загварыг Батлах Тухай }}</ref> 2011 онд генералуудын өлзий хээг таван хошуут од болгон өөрчилж,<ref>{{Cite web|url=http://news.gogo.mn/r/84149|title=Генералуудын мөрдэс дэх өлзий таван хошуугаар солигдоно|access-date=2024-12-20|archive-date=2019-05-11|archive-url=https://web.archive.org/web/20190511045246/http://news.gogo.mn/r/84149|url-status=dead}}</ref> бүх хээрийн хувцас, мөрний самбарын өнгөлөн далдлах хээг 4 өнгөт дижитал хээтэй болгожээ. ====Офицер==== {| style="border:1px solid #8888aa; background-color:#f7f8ff; padding:5px; font-size:95%; margin: 0px 12px 12px 0px;" {{НАТО-гийн гишүүн бус орны зэвсэгт хүчний зэрэглэл, тэмдэг/OF/Хоосон}} |- style="text-align:center;" ! bgcolor="#efefef"| Ёслолын | colspan=2 rowspan=4| | colspan=2| [[File:Mongolian Army-GEN-parade 2006-2011.svg|Монголын арми-Генерал-ёслолын 2006-2011|50px]] | colspan=2| [[File:Mongolian Army-LTG-parade 1998-2011.svg|Монголын арми-Дэслэгч генерал-ёслолын 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-MJG-parade 1998-2011.svg|Монголын арми-Хошууч генерал-ёслолын 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-BRG-parade 2006-2011.svg|Монголын арми-Бригадын генерал-ёслолын 2006-2011|50px]] | colspan=2| [[File:Mongolian Army-COL-parade 1998-2017.svg|Монголын арми-Хурандаа-ёслолын 1998-2017|50px]] | colspan=2| [[File:Mongolian Army-LTC-parade 1998-2017.svg|Монголын арми-Дэд хурандаа-ёслолын 1998-2017|50px]] | colspan=2| [[File:Mongolian Army-MAJ-parade 1998-2017.svg|Монголын арми-Хошууч-ёслолын 1998-2017|50px]] | colspan=2| [[File:Mongolian Army-CPT-parade 1998-2017.svg|Монголын арми-Ахмад-ёслолын 1998-2017|50px]] | colspan=3| [[File:Mongolian Army-1LT-parade 1998-2017.svg|Монголын арми-Ахлах дэслэгч-ёслолын 1998-2017|50px]] | colspan=3| [[File:Mongolian Army-2LT-parade 1998-2017.svg|Монголын арми-Дэслэгч-ёслолын 1998-2017|50px]] |- style="text-align:center;" ! bgcolor="#efefef"| Албаны | colspan=2| [[File:Mongolian Army-GEN-service 2006-2011.svg|Монголын арми-Генерал-албаны 2006-2011|50px]] | colspan=2| [[File:Mongolian Army-LTG-service 1998-2011.svg|Монголын арми-Дэслэгч генерал-албаны 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-MJG-service 1998-2011.svg|Монголын арми-Хошууч генерал-албаны 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-BRG-service 2006-2011.svg|Монголын арми-Бригадын генерал-албаны 2006-2011|50px]] | colspan=2| [[File:Mongolian Army-COL-service 1998-2017.svg|Монголын арми-Хурандаа-албаны 1998-2017|50px]] | colspan=2| [[File:Mongolian Army-LTC-service 1998-2017.svg|Монголын арми-Дэд хурандаа-албаны 1998-2017|50px]] | colspan=2| [[File:Mongolian Army-MAJ-service 1998-2017.svg|Монголын арми-Хошууч-албаны 1998-2017|50px]] | colspan=2| [[File:Mongolian Army-CPT-service 1998-2017.svg|Монголын арми-Ахмад-албаны 1998-2017|50px]] | colspan=3| [[File:Mongolian Army-1LT-service 1998-2017.svg|Монголын арми-Ахлах дэслэгч-албаны 1998-2017|50px]] | colspan=3| [[File:Mongolian Army-2LT-service 1998-2017.svg|Монголын арми-Дэслэгч-албаны 1998-2017|50px]] |- style="text-align:center;" ! bgcolor="#efefef"| Хээрийн | colspan=2| [[File:Mongolian Army-GEN-field 2006-2011.svg|Монголын арми-Генерал-хээрийн 2006-2011|50px]] | colspan=2| [[File:Mongolian Army-LTG-field 1998-2011.svg|Монголын арми-Дэслэгч генерал-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-MJG-field 1998-2011.svg|Монголын арми-Хошууч генерал-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-BRG-field 2006-2011.svg|Монголын арми-Бригадын генерал-хээрийн 2006-2011|50px]] | colspan=2| [[File:Mongolian Army-COL-field 1998-2011.svg|Монголын арми-Хурандаа-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-LTC-field 1998-2011.svg|Монголын арми-Дэд хурандаа-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-MAJ-field 1998-2011.svg|Монголын арми-Хошууч-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-CPT-field 1998-2011.svg|Монголын арми-Ахмад-хээрийн 1998-2011|50px]] | colspan=3| [[File:Mongolian Army-1LT-field 1998-2011.svg|Монголын арми-Ахлах дэслэгч-хээрийн 1998-2011|50px]] | colspan=3| [[File:Mongolian Army-2LT-field 1998-2011.svg|Монголын арми-Дэслэгч-хээрийн 1998-2011|50px]] |- style="text-align:center;" ! bgcolor="#efefef" rowspan=3| Зэрэглэлийн<br />тодорхойлолт | colspan=35| |- style="text-align:center;" | colspan=2| | colspan=2| [[Генерал]]<br />{{small|(2006 он хүртэл хурандаа генерал)}} | colspan=2| [[Дэслэгч генерал]] | colspan=2| [[Хошууч генерал]] | colspan=2| [[Бригадын генерал]]<br />{{small|(2006 оноос)}} | colspan=2| [[Хурандаа]] | colspan=2| [[Дэд хурандаа]] | colspan=2| [[Хошууч]] | colspan=2| [[Ахмад (цэргийн цол)|Ахмад]] | colspan=3| [[Ахлах дэслэгч]] | colspan=3| [[Дэслэгч]] |} ====Ахлагч болон цэргийн албан хаагчид==== {| style="border:1px solid #8888aa; background-color:#f7f8ff; padding:5px; font-size:95%; margin: 0px 12px 12px 0px;" {{НАТО-гийн гишүүн бус орны зэвсэгт хүчний зэрэглэл, тэмдэг/OR/Хоосон}} |- style="text-align:center;" ! bgcolor="#efefef"| Ёслолын | colspan=6| [[File:Mongolian Army-SGM-parade 2003-2017.svg|Монголын арми-Тэргүүн ахлагч-ёслолын 2003-2017|50px]] | colspan=2| [[File:Mongolian Army-MSG-parade 2003-2017.svg|Монголын арми-Cургагч ахлагч-ёслолын 2003-2017|50px]] | colspan=2| [[File:Mongolian Army-SSG-parade 1998-2017.svg|Монголын арми-Aхлах ахлагч-ёслолын 1998-2017|50px]] | colspan=6| [[File:Mongolian Army-SGT-parade 1998-2017.svg|Монголын арми-Aхлагч-ёслолын 1998-2017|50px]] | colspan=6| [[File:Mongolian Army-JSG-parade 1998-2017.svg|Монголын арми-Дэд ахлагч-ёслолын 1998-2017|50px]] | colspan=4| | colspan=2| | colspan=3| | colspan=3| | colspan=2| |- style="text-align:center;" ! bgcolor="#efefef"| Албаны | colspan=6| [[File:Mongolian Army-SGM-service 2003-2017.svg|Монголын арми-Тэргүүн ахлагч-албаны 2003-2017|50px]] | colspan=2| [[File:Mongolian Army-MSG-service 2003-2017.svg|Монголын арми-Cургагч ахлагч-албаны 2003-2017|50px]] | colspan=2| [[File:Mongolian Army-SSG-service 1998-2017.svg|Монголын арми-Aхлах ахлагч-албаны 1998-2017|50px]] | colspan=6| [[File:Mongolian Army-SGT-service 1998-2017.svg|Монголын арми-Aхлагч-албаны 1998-2017|50px]] | colspan=6| [[File:Mongolian Army-JSG-service 1998-2017.svg|Монголын арми-Дэд ахлагч-албаны 1998-2017|50px]] | colspan=4| | colspan=2| | colspan=3| | colspan=3| | colspan=2| |- style="text-align:center;" ! bgcolor="#efefef"| Хээрийн | colspan=6| [[File:Mongolian Army-SGM-field 2003-2011.svg|Монголын арми-Тэргүүн ахлагч-хээрийн 2003-2011|50px]] | colspan=2| [[File:Mongolian Army-MSG-field 2003-2011.svg|Монголын арми-Cургагч ахлагч-хээрийн 2003-2011|50px]] | colspan=2| [[File:Mongolian Army-SSG-field 1998-2011.svg|Монголын арми-Aхлах ахлагч-хээрийн 1998-2011|50px]] | colspan=6| [[File:Mongolian Army-SGT-field 1998-2011.svg|Монголын арми-Aхлагч-хээрийн 1998-2011|50px]] | colspan=6| [[File:Mongolian Army-JSG-field 1998-2011.svg|Монголын арми-Дэд ахлагч-хээрийн 1998-2011|50px]] | colspan=4| [[File:Mongolian Army-SCP-field 1998-2011.svg|Монголын арми-Ахлах түрүүч-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-CPL-field 1998-2011.svg|Монголын арми-Түрүүч-хээрийн 1998-2011|50px]] | colspan=3| [[File:Mongolian Army-JCP-field 1998-2011.svg|Монголын арми-Дэд түрүүч-хээрийн 1998-2011|50px]] | colspan=3| [[File:Mongolian Army-PFC-field 1998-2011.svg|Монголын арми-Ахлах байлдагч-хээрийн 1998-2011|50px]] | colspan=2| [[File:Mongolian Army-PVT-field 1998-2011.svg|Монголын арми-Байлдагч-хээрийн 1998-2011|50px]] |- style="text-align:center;" ! bgcolor="#efefef" rowspan=3| Зэрэглэлийн<br />тодорхойлолт |- style="text-align:center;" | colspan=6| [[Тэргүүн ахлагч]]<br />{{small|(2003 оноос)}} | colspan=2| [[Cургагч ахлагч]]<br />{{small|(2003 оноос)}} | colspan=2| [[Aхлах ахлагч]] | colspan=6| [[Aхлагч]] | colspan=6| [[Дэд ахлагч]] | colspan=4| Ахлах түрүүч | colspan=2| [[Түрүүч]] | colspan=3| [[Дэд түрүүч]] | colspan=3| [[Ахлах байлдагч]] | colspan=2| [[Байлдагч]] |} ====Мөрдөсний хар хувилбар==== Энхийг сахиулах ажиллагаанд офицер, ахлагчийн мөрдсөнд хар хатгамлыг голчлон ашигладаг байсан.<ref>{{Cite web|url=http://www.ugluu.mn/108425.html|title = Эх орны минь дархан хил тайван байна}}</ref><ref>{{Cite web|url=https://news.mn/r/41522/|title=Энхийг сахиулагчдыг шагнав &#124; News.MN|date=2010-11-25}}</ref> <gallery> Mongolian Army-LTC-field black 1998-2017.svg|Дэд хурандаагийн мөрдөс, 1998 оны өнгөлөн далдлах загвар. Mongolian Army-2LT-field black 2011.svg|Дэслэгчийн мөрдөс, 2011 оны өнгөлөн далдлах загвар. Mongolian Army-JSG-field black 2011.svg|Дэд дэслэгчийн мөрдөс, 2011 оны өнгөлөн далдлах загвар. </gallery> ==Мөн үзэх== * [[БНМАУ-ын үеийн цэргийн цол]] ==Эшлэл== {{reflist}} [[Ангилал:Цэргийн цолны зэрэг улс орноор|Монгол]] [[Ангилал:Монгол улсын зэвсэгт хүчин]] r0v8hmuxjy3jt8kzppfsev4g20uoa9l Module:Он бусад хуанлид 828 146931 860688 860585 2026-06-30T14:17:45Z Enkhsaihan2005 64429 860688 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Sexagenary cycle|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Gregorian minus ' .. diff-1 .. ' or ' .. diff .. ' days') else julian:setYear('Gregorian minus ' .. diff .. ' days') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p l7k6yve0keco8iiiqs034e9qo8lh4jt 860689 860688 2026-06-30T14:21:35Z Enkhsaihan2005 64429 860689 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Gregorian minus ' .. diff-1 .. ' or ' .. diff .. ' days') else julian:setYear('Gregorian minus ' .. diff .. ' days') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Taiwan|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Republic of China (1912–1949)|ROC]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '%d before [[Republic of China (1912–1949)|ROC]]<br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p h7i5v3zauwi6euofg94ds6uo5wyaoa7 860690 860689 2026-06-30T14:26:04Z Enkhsaihan2005 64429 860690 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Григорийн тооллоос ' .. diff-1 .. ' эсвэл ' .. diff .. ' өдөр хасах') else julian:setYear('Григорийн тооллоос ' .. diff .. ' өдөр хасах') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Тайвань|БНХУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ-аас]] өмнө %d <br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p tvwp8n4j66rja3ilrn5ar4nmk53hh4j 860691 860690 2026-06-30T14:26:40Z Enkhsaihan2005 64429 860691 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Григорийн ' .. diff-1 .. ' эсвэл ' .. diff .. ' өдөр хасах') else julian:setYear('Григорийн ' .. diff .. ' өдөр хасах') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Тайвань|БНХУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ-аас]] өмнө %d <br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p 1cw78golnblnh9oukxxaki3wiuyu0gi 860692 860691 2026-06-30T14:29:57Z Enkhsaihan2005 64429 860692 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Григорийн ' .. diff-1 .. ' эсвэл ' .. diff .. ' өдөр хасах') else julian:setYear('Григорийн ' .. diff .. ' өдөр хасах') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Тайвань|БНХУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ-аас]] өмнө %d <br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'эр Модон' }, -- 1 { 'ཤིང་མོ་', 'эм Модон' }, -- 2 { 'མེ་ཕོ་', 'эр Гал' }, -- 3 { 'མེ་མོ་', 'эм Гал' }, -- 4 { 'ས་ཕོ་', 'эр Шороон' }, -- 5 { 'ས་མོ་', 'эм Шороон' }, -- 6 { 'ལྕགས་ཕོ་', 'эр Төмөр' }, -- 7 { 'ལྕགས་མོ་', 'эм Төмөр' }, -- 8 { 'ཆུ་ཕོ་', 'эр Усан' }, -- 9 { 'ཆུ་མོ་', 'эм Усан' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { 'གླང་', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { 'སྟག་', '[[Бар (орд)|Бар]]' }, -- 3 { 'ཡོས་', '[[Туулай (орд)|Туулай]]' }, -- 4 { 'འབྲུག་', '[[Луу (орд)|Луу]]' }, -- 5 { 'སྦྲུལ་', '[[Могой (орд)|Могой]]' }, -- 6 { 'རྟ་', '[[Морь (орд)|Морь]]' }, -- 7 { 'ལུག་', '[[Хонь (орд)|Хонь]]' }, -- 8 { 'སྤྲེ་', '[[Мич (орд)|Мич]]' }, -- 9 { 'བྱ་', '[[Тахиа (орд)|Шувуу]]' }, -- 10 { 'ཁྱི་', '[[Нохой (орд)|Нохой]]' }, -- 11 { 'ཕག་', '[[Гахай (орд)|Бодон]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p j8ekbh37fmwinflvl337yp6uq7eivdf 860694 860692 2026-06-30T14:40:00Z Enkhsaihan2005 64429 860694 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Григорийн ' .. diff-1 .. ' эсвэл ' .. diff .. ' өдөр хасах') else julian:setYear('Григорийн ' .. diff .. ' өдөр хасах') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Тайвань|БНХУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ-аас]] өмнө %d <br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'male Wood' }, -- 1 { 'ཤིང་མོ་', 'female Wood' }, -- 2 { 'མེ་ཕོ་', 'male Fire' }, -- 3 { 'མེ་མོ་', 'female Fire' }, -- 4 { 'ས་ཕོ་', 'male Earth' }, -- 5 { 'ས་མོ་', 'female Earth' }, -- 6 { 'ལྕགས་ཕོ་', 'male Iron' }, -- 7 { 'ལྕགས་མོ་', 'female Iron' }, -- 8 { 'ཆུ་ཕོ་', 'male Water' }, -- 9 { 'ཆུ་མོ་', 'female Water' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Rat (zodiac)|Rat]]' }, -- 1 { 'གླང་', '[[Ox (zodiac)|Ox]]' }, -- 2 { 'སྟག་', '[[Tiger (zodiac)|Tiger]]' }, -- 3 { 'ཡོས་', '[[Rabbit (zodiac)|Hare]]' }, -- 4 { 'འབྲུག་', '[[Dragon (zodiac)|Dragon]]' }, -- 5 { 'སྦྲུལ་', '[[Snake (zodiac)|Snake]]' }, -- 6 { 'རྟ་', '[[Horse (zodiac)|Horse]]' }, -- 7 { 'ལུག་', '[[Goat (zodiac)|Sheep]]' }, -- 8 { 'སྤྲེ་', '[[Monkey (zodiac)|Monkey]]' }, -- 9 { 'བྱ་', '[[Rooster (zodiac)|Bird]]' }, -- 10 { 'ཁྱི་', '[[Dog (zodiac)|Dog]]' }, -- 11 { 'ཕག་', '[[Pig (zodiac)|Boar]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p 1cw78golnblnh9oukxxaki3wiuyu0gi 860695 860694 2026-06-30T14:40:32Z Enkhsaihan2005 64429 [[Special:Contributions/Enkhsaihan2005|Enkhsaihan2005]] ([[User talk:Enkhsaihan2005|Яриа]]) хэрэглэгчийн [[Special:Diff/860694|860694]] засварыг цуцлах 860695 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Григорийн ' .. diff-1 .. ' эсвэл ' .. diff .. ' өдөр хасах') else julian:setYear('Григорийн ' .. diff .. ' өдөр хасах') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Тайвань|БНХУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ-аас]] өмнө %d <br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'эр Модон' }, -- 1 { 'ཤིང་མོ་', 'эм Модон' }, -- 2 { 'མེ་ཕོ་', 'эр Гал' }, -- 3 { 'མེ་མོ་', 'эм Гал' }, -- 4 { 'ས་ཕོ་', 'эр Шороон' }, -- 5 { 'ས་མོ་', 'эм Шороон' }, -- 6 { 'ལྕགས་ཕོ་', 'эр Төмөр' }, -- 7 { 'ལྕགས་མོ་', 'эм Төмөр' }, -- 8 { 'ཆུ་ཕོ་', 'эр Усан' }, -- 9 { 'ཆུ་མོ་', 'эм Усан' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { 'གླང་', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { 'སྟག་', '[[Бар (орд)|Бар]]' }, -- 3 { 'ཡོས་', '[[Туулай (орд)|Туулай]]' }, -- 4 { 'འབྲུག་', '[[Луу (орд)|Луу]]' }, -- 5 { 'སྦྲུལ་', '[[Могой (орд)|Могой]]' }, -- 6 { 'རྟ་', '[[Морь (орд)|Морь]]' }, -- 7 { 'ལུག་', '[[Хонь (орд)|Хонь]]' }, -- 8 { 'སྤྲེ་', '[[Мич (орд)|Мич]]' }, -- 9 { 'བྱ་', '[[Тахиа (орд)|Шувуу]]' }, -- 10 { 'ཁྱི་', '[[Нохой (орд)|Нохой]]' }, -- 11 { 'ཕག་', '[[Гахай (орд)|Бодон]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s or %s or %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—&nbsp;to&nbsp;—''<br />%s%sལོ་<br />(%s-%s)<br />%s or %s or %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p j8ekbh37fmwinflvl337yp6uq7eivdf 860697 860695 2026-06-30T15:10:20Z Enkhsaihan2005 64429 860697 Scribunto text/plain -- Load dependencies. local getArgs = require('Module:Arguments').getArgs local infoboxBuilder = require('Module:InfoboxBuilder').InfoboxBuilder local numToRoman = require( 'Module:Roman' ).main local getOlympiad = require( 'Module:Ancient Olympiads' )._main local getDynasty = require( 'Module:Ancient Egypt era' )._main local getPharaoh = require( 'Module:Ancient Egypt kings' )._main local numToArmenian = require( 'Module:Armenian' ).main local getRegnal = require( 'Module:British regnal year' ).main local japaneseEra = require( 'Module:Japanese calendar' ).era() -- Define constants. local lang = mw.language.getContentLanguage() local currentYear = tonumber( lang:formatDate( 'Y' ) ) -------------------------------------------------------------------- -- Helper functions -------------------------------------------------------------------- local function isInteger( num ) -- Checks if a value is an integer. If so, returns the value converted to a number. -- If not, returns false. num = tonumber( num ) if num and math.floor( num ) == num and num ~= math.huge then return num else return false end end local function BCToNum( s ) -- Converts strings of the format "n BC" to their corresponding -- numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^([1-9]%d*)%s*BC$' ) if not s then return nil end local num = tonumber( s ) num = ( num - 1 ) * -1 return num end local function numToBC( num ) -- For BC years, returns a string with the year name appended with " BC". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if num <= 0 then return string.format( '%d BC', 1 - num ) end end local function ADToNum( s ) -- Converts strings of the format "AD n" -- to their corresponding numerical values. if type( s ) ~= 'string' then return nil end s = mw.ustring.match( mw.ustring.upper( s ), '^AD%s*([1-9]%d*)$' ) if not s then return nil end local num = tonumber( s ) return num end local function numToAD( num ) -- For AD years up to 100, returns a string with the year name prepended with "AD ". -- Otherwise returns nil. num = isInteger( num ) if not num then return end if (num <= 100) then return string.format( 'AD %d', num ) end end local function formatNegative(s) -- Replaces hyphens in a string with minus signs if the hyphen comes before a number. s = mw.ustring.gsub( s, '%-(%d)', '−%1' ) return s end -------------------------------------------------------------------- -- Calendar box class definition -------------------------------------------------------------------- local calendarBox = {} calendarBox.__index = calendarBox function calendarBox:new( init ) init = type( init ) == 'table' and init or {} local obj = {} local pagename = mw.title.getCurrentTitle().text -- Set the year. If the year is specified as an argument, use that. -- Otherwise, use the page name if it is valid. If the pagename isn't -- valid, use the current year. local yearNum = isInteger( init.year ) local yearBC = BCToNum( init.year ) local yearAD = ADToNum( init.year ) local pageNum = isInteger( pagename ) local pageBC = BCToNum( pagename ) local pageAD = ADToNum( pagename ) if yearNum then -- First, see if the year parameter is a number. self.year = yearNum elseif yearBC then -- Second, see if the year parameter is a "yyyy BC" string. self.year = yearBC elseif yearAD then -- Third, see if the year parameter is an AD/CE/year string. self.year = yearAD elseif pageNum then -- Fourth, see if the pagename is an integer. self.year = pageNum elseif pageBC then -- Fifth, see if the pagename is a "yyyy BC" string. self.year = pageBC elseif pageAD then -- Sixth, see if the pagename is an AD/CE/year string. self.year = pageAD else self.year = currentYear -- If none of the above apply, use the current year. end -- Set year text values. self.BCYearName = numToBC( self.year ) self.ADYearName = numToAD( self.year ) if self.BCYearName then self.yearText = self.BCYearName elseif self.ADYearName then self.yearText = self.ADYearName else self.yearText = tostring( self.year ) end -- Set other fields. self.caption = self.yearText self.footnotes = init.footnotes return setmetatable( obj, { __index = self }) end function calendarBox:setCaption( s ) -- Sets the calendar box caption. if type( s ) ~= 'string' or s == '' then return end self.caption = s end function calendarBox:addCalendar( obj ) -- Adds a calendar or a calendar group. if type( obj ) ~= 'table' and type( obj.new ) ~= 'function' then return end -- Exit if the object is invalid. self.calendars = self.calendars or {} table.insert( self.calendars, obj ) end -- Add an alias for adding calendar groups. The function is the same, but it might be confusing for users -- to have to use the name "addCalendar" for a calendar group. calendarBox.addCalendarGroup = calendarBox.addCalendar function calendarBox:export() local builder = infoboxBuilder.new() builder :bodyclass( 'vevent' ) :titleclass( 'summary dtstart' ) :title( self.caption ) :labelstyle ( 'font-weight: normal;' ) -- Export the calendars and calendar groups. "calendar:export()" works for both kinds -- of objects. Some export functions can return nil, so we need to check for that. if type( self.calendars ) == 'table' then for _, calendar in ipairs( self.calendars ) do local calendarRows = calendar:export() if type( calendarRows ) == 'table' then for _, row in ipairs( calendarRows ) do builder:row( row[2], row[1] ) end end end end -- Add footnotes. if type( self.footnotes ) == 'string' and self.footnotes ~= '' then builder:row{ data = string.format( '%s', self.footnotes ), rowcellstyle = "text-align: left;" } end return builder:build() end -------------------------------------------------------------------- -- Calendar group class definition -------------------------------------------------------------------- -- Calendar groups are used to group different calendars together. -- Previously, the template did this by including a table row with -- no year value. By using objects we can do the same thing more -- semantically. local calendarGroup = {} calendarGroup.__index = calendarGroup function calendarGroup:new( init ) init = type( init ) == 'table' and init or {} local obj = {} -- Get the heading and throw an error if it is invalid. obj.heading = init.heading if type( obj.heading ) ~= 'string' then error( 'calendarGroup: no heading detected' ) end -- Set the metatable and return the object. self.__index = self return setmetatable( obj, { __index = self }) end function calendarGroup:addCalendar( calendar ) -- Adds a calendar object to the calendar group. self.calendars = self.calendars or {} if type( calendar ) == 'table' and type( calendar.getLink ) == 'function' then table.insert( self.calendars, calendar ) end end function calendarGroup:export() -- Exports the calendar group's wikitext. -- Indent and italicise each calendar's link if it exists. for i, calendar in ipairs( self.calendars ) do local link = calendar:getLink() if type( link ) == 'string' then self.calendars[ i ]:setRawLink( string.format( "&nbsp;- ''%s''", link ) ) end end -- Create the heading row and append each calendar local ret = {{ self.heading, '<!-- -->' }} -- needs a comment in order to show a label without data for _, calendar in ipairs( self.calendars ) do for _, exported in ipairs ( calendar:export() ) do ret[#ret + 1] = exported end end return ret end -------------------------------------------------------------------- -- Calendar class definition -------------------------------------------------------------------- local calendar = {} calendar.__index = calendar calendar.type = 'calendar' function calendar:new() local obj = {} return setmetatable( obj, { __index = self }) end function calendar:setLink( link, display ) -- Sets the calendar's wikilink, with optional display text and italics. if type( link ) ~= 'string' or link == '' then return end display = type( display ) == 'string' and display ~= '' and display if display then self.link = string.format( '[[%s|%s]]', link, display ) else self.link = string.format( '[[%s]]', link ) end end function calendar:setRawLink( s ) -- Sets the calendar's wikilink as raw wikitext. if type( s ) ~= 'string' or s == '' then return end self.link = s end function calendar:getLink() -- Returns the calendar's link value. return self.link end function calendar:setYear( year ) -- Sets a single year. Can be passed either a string or a number. -- If passed as a number, it is formatted with minus signs instead of hyphens. -- If passed as a string, no minus-sign formatting occurs; this should be done in the individual calendar definitions. if type( year ) == 'number' then year = tostring( year ) self.year = formatNegative( year ) elseif type( year ) == 'string' then self.year = year end end function calendar:setYearRange( year1, year2 ) -- Sets a year range. Must be passed two numbers. if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave a gap for negative years to avoid having a minus sign and a dash right next to each other. year = string.format( '%d – %d', year1, year2 ) year = formatNegative( year ) else year = string.format( '%d–%d', year1, year2 ) end self.year = year end end function calendar:setYearCouple( year1, year2, addtext ) -- Same as setYearRange, only with a slash (/) in the middle. Must be passed two numbers. -- Additional text possible, must be defined as follows: addtext = string.format( 'additional text or link') -- See example in Seleucid era calendar if type( year1 ) == 'number' and type( year2 ) == 'number' then local year if year1 < 0 or year2 < 0 then -- Leave no gap for negative years. year = string.format( '%d/%d %s', year1, year2, addtext ) year = formatNegative( year ) else year = string.format( '%d/%d %s', year1, year2, addtext ) end self.year = year end end function calendar:export() -- Outputs the calendar wikitext. -- Exit if no link has been specified. local link = self.link if type( link ) ~= 'string' or link == '' then return end -- If no year has been specified, set the year value to N/A. local year = self.year if type( year ) ~= 'string' or year == '' then year = "''N/A''" end -- Pass link and year upwards return {{ link, year }} end -------------------------------------------------------------------- -- Build the box -------------------------------------------------------------------- local function makeCalendarBox( args ) -- Initiate the box and get the year values. local init = args local box = calendarBox:new( init ) local year = box.year local yearText = box.yearText -- Set the caption. box:setCaption( box.caption .. ' он бусад [[Хуанлийн эрин үе|хуанлид]]' ) ---------------------------------------------------------------------- -- Gregorian calendar ---------------------------------------------------------------------- local gregorian = calendar:new() gregorian:setLink( 'Григорийн тоолол' ) -- Get the year link. local gregcal = args.gregcal if type( gregcal ) == 'string' and gregcal ~= '' then gregorian.yearLink = string.format( '[[%s|%s]]', gregcal, yearText ) else gregorian.yearLink = yearText end -- Set the year. if year <= 0 then gregorian.romanYear = numToRoman{-(year-1)} .. ' BC' else gregorian.romanYear = numToRoman{year} end if gregorian.romanYear then gregorian:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], gregorian.yearLink, gregorian.romanYear ) ) else gregorian:setYear( gregorian.yearLink ) end box:addCalendar( gregorian ) ---------------------------------------------------------------------- -- French Republican calendar -- displays only in years 1793 - 1805 and 1871 -- This calendar was in use and had defined years only for the short period on display. -- Its importance during these few years is also the reason why it should stay out of the alphabetic order. -- See discussion on talk page. ---------------------------------------------------------------------- if year >= 1792 and year < 1806 or year == 1871 then local republican = calendar:new() republican:setLink('French Republican calendar') if year == 1792 then local republicanYear = year - 1791 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- year I, September to December, retroactive elseif year <= 1870 then local republicanYear1 = year - 1792 local republicanYear2 = year - 1791 republican:setYear( string.format( [[%s–%s<br /><span style="font-family: serif;">''%s–%s''</span>]], republicanYear1, republicanYear2, numToRoman{republicanYear1}, numToRoman{republicanYear2} ) ) elseif year == 1871 then local republicanYear = year - 1792 republican:setYear( string.format( [[%s<br /><span style="font-family: serif;">''%s''</span>]], republicanYear, numToRoman{republicanYear} ) ) -- Paris Commune, May end box:addCalendar( republican ) end ---------------------------------------------------------------------- -- Ab urbe condita -- Varro's correlation, from 1 AUC ---------------------------------------------------------------------- if year >= -752 then local abUrbe = calendar:new() abUrbe:setLink( 'Ab urbe condita' ) abUrbe:setYear( year + 753 ) box:addCalendar( abUrbe ) end ---------------------------------------------------------------------- -- Ancient Egypt era -- Displays dynasty between 1549 BC and 30 BC -- Displays pharaoh or king between 752 BC and 30 BC ---------------------------------------------------------------------- if year > -1549 and year <= -29 then local ancEgypt = calendar:new() ancEgypt:setLink( 'Egyptian chronology', 'Ancient Egypt era' ) ancEgypt:setYear( getDynasty( year ) ) box:addCalendar( ancEgypt ) end if year > - 752 and year <= -29 then local ancPharaoh = calendar:new() ancPharaoh:setLink( 'List of pharaohs', '<i>- Pharaoh</i>' ) ancPharaoh:setYear( getPharaoh( year ) ) box:addCalendar( ancPharaoh ) end ---------------------------------------------------------------------- -- Ancient Olympiads -- Currently only the first 194 Olympiads -- May be expanded until 394 AD when data available ---------------------------------------------------------------------- if year >= -1300 and year < 1 then local ancOlympiads = calendar:new() ancOlympiads:setLink( 'Olympiad', 'Ancient Greek Olympiad (summer)' ) ancOlympiads:setYear( getOlympiad( year ) ) box:addCalendar( ancOlympiads ) end ---------------------------------------------------------------------- -- Armenian calendar ---------------------------------------------------------------------- if year > 551 then local armenian = calendar:new() armenian:setLink( 'Арменийн хуанли' ) local armenianYear = year - 551 armenian:setYear( string.format( '%s<br />ԹՎ %s', armenianYear, numToArmenian( armenianYear ) ) ) box:addCalendar( armenian ) end ---------------------------------------------------------------------- -- Assyrian calendar ---------------------------------------------------------------------- local assyrian = calendar:new() assyrian:setLink( 'Ассирийн хуанли' ) assyrian:setYear( year + 4750 ) box:addCalendar( assyrian ) ---------------------------------------------------------------------- -- Bahá'í calendar -- displays only after 1843 ---------------------------------------------------------------------- if year >= 1844 then local bahai = calendar:new() bahai:setLink( "Бахайн хуанли" ) bahai:setYearRange( year - 1844, year - 1843 ) box:addCalendar( bahai ) end ---------------------------------------------------------------------- -- Balinese saka calendar ---------------------------------------------------------------------- local balinese = calendar:new() balinese:setLink( 'Балийн шака хуанли' ) if year - 76 > 0 then balinese:setYearRange( year - 79, year - 78 ) end box:addCalendar( balinese ) ---------------------------------------------------------------------- -- Bengali calendar ---------------------------------------------------------------------- local bengali = calendar:new() bengali:setLink( 'Бенгалын хуанли' ) bengali:setYearRange( year - 594, year - 593 ) box:addCalendar( bengali ) ---------------------------------------------------------------------- -- Berber calendar ---------------------------------------------------------------------- local berber = calendar:new() berber:setLink( 'Берберийн хуанли' ) berber:setYear( year + 950 ) box:addCalendar( berber ) ---------------------------------------------------------------------- -- Regnal year ---------------------------------------------------------------------- if year >= 1000 then local regnal = calendar:new() local regnalName if year > 1706 then regnalName = 'Британийн' else regnalName = 'Английн' end regnal:setLink( 'Англи болон Британийн хаадын хаанчлалын жил', regnalName .. ' Хааны жил' ) regnal:setYear( getRegnal( year ) ) box:addCalendar( regnal ) end ---------------------------------------------------------------------- -- Buddhist calendar ---------------------------------------------------------------------- local buddhist = calendar:new() buddhist:setLink( 'Буддын тоолол' ) buddhist:setYear( year + 544 ) box:addCalendar( buddhist ) ---------------------------------------------------------------------- -- Burmese calendar ---------------------------------------------------------------------- local burmese = calendar:new() burmese:setLink( 'Бирмийн хуанли' ) burmese:setYear( year - 638 ) box:addCalendar( burmese ) ---------------------------------------------------------------------- -- Byzantine calendar ---------------------------------------------------------------------- local byzantine = calendar:new() byzantine:setLink( 'Византын хуанли' ) byzantine:setYearRange( year + 5508, year + 5509 ) box:addCalendar( byzantine ) ---------------------------------------------------------------------- -- Chinese calendar ---------------------------------------------------------------------- local chinese = calendar:new() chinese:setLink( 'Хятад хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Chinese calendar#Cycle of years]] for information. local heavenlyStems = { { '甲', 'Модон' }, -- 1 { '乙', 'Модон' }, -- 2 { '丙', 'Гал' }, -- 3 { '丁', 'Гал' }, -- 4 { '戊', 'Шороон' }, -- 5 { '己', 'Шороон' }, -- 6 { '庚', 'Төмөр' }, -- 7 { '辛', 'Төмөр' }, -- 8 { '壬', 'Усан' }, -- 9 { '癸', 'Усан' } -- 10 } local earthlyBranches = { { '子', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { '丑', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { '寅', '[[Бар (орд)|Бар]]' }, -- 3 { '卯', '[[Туулай (орд)|Туулай]]' }, -- 4 { '辰', '[[Луу (орд)|Луу]]' }, -- 5 { '巳', '[[Могой (орд)|Могой]]' }, -- 6 { '午', '[[Морь (орд)|Морь]]' }, -- 7 { '未', '[[Хонь (орд)|Хонь]]' }, -- 8 { '申', '[[Мич (орд)|Мич]]' }, -- 9 { '酉', '[[Тахиа (орд)|Тахиа]]' }, -- 10 { '戌', '[[Нохой (орд)|Нохой]]' }, -- 11 { '亥', '[[Гахай (орд)|Гахай]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Chinese calendar correspondence table]], as the Chinese New Year doesn't happen until Jan/Feb in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Chinese calendar#Continuously numbered years]].) local year1 = year + 2697 local year2 = year + 2698 local year1Alt = year1 - 207 local year2Alt = year2 - 207 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt = formatNegative( tostring( year1Alt ) ) year2Alt = formatNegative( tostring( year2Alt ) ) -- Return all of that data in a (hopefully) reader-friendly format. chinese:setYear( string.format( [=[[[Жарны мөчлөг|%s%s]]年 (%s&nbsp;%s)<br />%s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''—''<br />%s%s年 (%s&nbsp;%s)<br />%s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt ) ) box:addCalendar( chinese ) ---------------------------------------------------------------------- -- Coptic calendar ---------------------------------------------------------------------- local coptic = calendar:new() coptic:setLink( 'Коптын хуанли' ) coptic:setYearRange( year - 284, year - 283 ) box:addCalendar( coptic ) ---------------------------------------------------------------------- -- Discordian calendar ---------------------------------------------------------------------- local discordian = calendar:new() discordian:setLink( 'Дискордын хуанли' ) discordian:setYear( year + 1166 ) box:addCalendar( discordian ) ---------------------------------------------------------------------- -- Ethiopian calendar ---------------------------------------------------------------------- local ethiopian = calendar:new() ethiopian:setLink( 'Этиопын хуанли' ) ethiopian:setYearRange( year - 8, year - 7 ) box:addCalendar( ethiopian ) ---------------------------------------------------------------------- -- Hebrew calendar ---------------------------------------------------------------------- local hebrew = calendar:new() hebrew:setLink( 'Еврейн хуанли' ) hebrew:setYearRange( year + 3760, year + 3761 ) box:addCalendar( hebrew ) ---------------------------------------------------------------------- -- Hindu calendars ---------------------------------------------------------------------- local hindu = calendarGroup:new{ heading = '[[Хиндү хуанли]]' } -- Vikram Samvat local vikramSamvat = calendar:new() vikramSamvat:setLink( 'Викрам Самват' ) vikramSamvat:setYearRange( year + 56, year + 57 ) hindu:addCalendar( vikramSamvat ) -- Shaka Samvat local shakaSamvat = calendar:new() shakaSamvat:setLink( 'Энэтхэгийн үндэсний хуанли', 'Шака Самват' ) if year >= 78 then shakaSamvat:setYearRange( year - 79, year - 78 ) end hindu:addCalendar( shakaSamvat ) -- Kali Yuga local kaliYuga = calendar:new() kaliYuga:setLink( 'Кали Юга' ) -- use italics kaliYuga:setYearRange( year + 3100, year + 3101 ) hindu:addCalendar( kaliYuga ) box:addCalendarGroup( hindu ) ---------------------------------------------------------------------- -- Holocene calendar ---------------------------------------------------------------------- local holocene = calendar:new() holocene:setLink( 'Холоценийн хуанли' ) holocene:setYear( year + 10000 ) box:addCalendar( holocene ) ---------------------------------------------------------------------- -- Igbo calendar ---------------------------------------------------------------------- -- In the old template this was a calendar group with just one calendar; intentionally adding this as a single -- calendar here, as the previous behaviour looked like a mistake. if year >= 1000 then local igbo = calendar:new() igbo:setLink( 'Игбо хуанли' ) igbo:setYearRange( year - 1000, year - 999 ) box:addCalendar( igbo ) end ---------------------------------------------------------------------- -- Iranian calendar ---------------------------------------------------------------------- local iranian = calendar:new() iranian:setLink( 'Ираны хуанли' ) if year - 621 > 0 then iranian:setYearRange( year - 622, year - 621 ) else iranian:setYear( string.format( '%d BP&nbsp;– %d BP', 622 - year, 621 - year ) ) end box:addCalendar( iranian ) ---------------------------------------------------------------------- -- Islamic calendar ---------------------------------------------------------------------- local islamic = calendar:new() islamic:setLink( 'Исламын хуанли' ) local islamicMult = 1.030684 -- the factor to multiply by local islamicSub = 621.5643 -- the factor to subtract by if year - 621 > 0 then local year1 = math.floor( islamicMult * ( year - islamicSub ) ) local year2 = math.floor( islamicMult * ( year - islamicSub + 1 ) ) islamic:setYearRange( year1, year2 ) else local year1 = math.ceil( -islamicMult * ( year - islamicSub ) ) local year2 = math.ceil( -islamicMult * ( year - islamicSub + 1 ) ) islamic:setYear( string.format( '%d BH&nbsp;– %d BH', year1, year2 ) ) end box:addCalendar( islamic ) ---------------------------------------------------------------------- -- Japanese calendar -- starting 600 ---------------------------------------------------------------------- if year >= 600 then local japanese = calendar:new() japanese:setLink( 'Японы хуанли' ) japanese.thisEra = japaneseEra:new{ year = year } if japanese.thisEra then local japaneseYearText = {} japanese.oldEra = japanese.thisEra:getOldEra() if japanese.oldEra and japanese.oldEra.eraYear and japanese.thisEra.article ~= japanese.oldEra.article then japanese.oldText = string.format( '%s %d', japanese.oldEra.link, japanese.oldEra.eraYear ) table.insert( japaneseYearText, japanese.oldText ) table.insert( japaneseYearText, ' / ' ) end if japanese.thisEra.eraYear then table.insert( japaneseYearText, string.format( '%s %d', japanese.thisEra.link, japanese.thisEra.eraYear ) ) end table.insert( japaneseYearText, string.format( '<br />(%s%s年)', japanese.thisEra.kanji, japanese.thisEra.eraYearKanji ) ) japanese:setYear( table.concat( japaneseYearText ) ) end box:addCalendar( japanese ) end ---------------------------------------------------------------------- -- Javanese calendar ---------------------------------------------------------------------- local javanese = calendar:new() javanese:setLink( 'Жавагийн хуанли' ) local javaneseMult = 1.030684 -- the factor to multiply by local javaneseSub = 124.9 -- the factor to subtract by if year - 124 > 0 then local year1 = math.floor( javaneseMult * ( year - javaneseSub ) ) local year2 = math.floor( javaneseMult * ( year - javaneseSub + 1 ) ) javanese:setYearRange( year1, year2 ) else local year1 = math.ceil( -javaneseMult * ( year - javaneseSub ) ) local year2 = math.ceil( -javaneseMult * ( year - javaneseSub + 1 ) ) end box:addCalendar( javanese ) ---------------------------------------------------------------------- -- Juche calendar -- displays only after 1910 ---------------------------------------------------------------------- if year >= 1910 then local juche = calendar:new() juche:setLink( 'Juche calendar' ) if year > 1911 then juche:setYear( year - 1911 ) end box:addCalendar( juche ) end ---------------------------------------------------------------------- -- Julian calendar ---------------------------------------------------------------------- local julian = calendar:new() julian:setLink( 'Юлийн тоолол' ) if year >= -45 and year < 1582 then julian:setYear(gregorian.year) elseif year >= 1582 then local diff = math.floor(year/100-2) - math.floor(year/400) if year % 100 == 0 and year % 400 ~= 0 then julian:setYear('Григорийн ' .. diff-1 .. ' эсвэл ' .. diff .. ' өдөр хасах') else julian:setYear('Григорийн ' .. diff .. ' өдөр хасах') end end box:addCalendar( julian ) ---------------------------------------------------------------------- -- Korean calendar ---------------------------------------------------------------------- local korean = calendar:new() korean:setLink( 'Солонгосын хуанли' ) korean:setYear( year + 2333 ) box:addCalendar( korean ) ---------------------------------------------------------------------- -- Minguo calendar ---------------------------------------------------------------------- local minguo = calendar:new() minguo:setLink( 'Дундад Иргэн Улсын хуанли', 'Миньгуо хуанли' ) if year > 1949 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Тайвань|БНХУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) elseif year > 1911 then local minguoYear = year - 1911 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ]] %d<br />民國%d年', minguoYear, minguoYear ) ) else local minguoYear = 1911 - year + 1 minguo:setYear( string.format( '[[Дундад Иргэн Улс|ДИУ-аас]] өмнө %d <br />民前%d年', minguoYear, minguoYear ) ) end box:addCalendar( minguo ) ---------------------------------------------------------------------- -- Nanakshahi calendar ---------------------------------------------------------------------- local nanakshahi = calendar:new() nanakshahi:setLink( 'Нанакшахи хуанли' ) nanakshahi:setYear( year - 1468 ) box:addCalendar( nanakshahi ) ---------------------------------------------------------------------- -- Seleucid era -- displays from 312 BC until 1200 AD ---------------------------------------------------------------------- if year >= -311 and year < 1200 then local seleucid = calendar:new() seleucid:setLink( 'Seleucid era' ) local addtext = string.format( '[[Anno Graecorum|AG]]') seleucid:setYearCouple( year + 311, year + 312, addtext ) box:addCalendar( seleucid ) end ---------------------------------------------------------------------- -- Thai solar calendar ---------------------------------------------------------------------- local thai = calendar:new() thai:setLink( 'Тайн нарны хуанли' ) if year >= 1941 then thai:setYear( year + 543 ) else -- if year >= 1912 or year <= 1887 -- year started in March/April thai:setYearRange( year + 542, year + 543 ) -- else -- Rattanakosin Era, 1888?-1912 -- thai:setYear( string.format( '%d &nbsp;– %d ([[Rattanakosin Kingdom|Rattanakosin Era]])', year - 1782 , year - 1781 ) ) end box:addCalendar( thai ) ---------------------------------------------------------------------- -- Tibetan calendar ---------------------------------------------------------------------- local tibetan = calendar:new() tibetan:setLink( 'Төвөдийн хуанли' ) -- Define the information for the "heavenly stems" and "earthly branches" year cycles. -- See [[Tibetan calendar#Years]] for information. local heavenlyStems = { { 'ཤིང་ཕོ་', 'эр Модон' }, -- 1 { 'ཤིང་མོ་', 'эм Модон' }, -- 2 { 'མེ་ཕོ་', 'эр Гал' }, -- 3 { 'མེ་མོ་', 'эм Гал' }, -- 4 { 'ས་ཕོ་', 'эр Шороон' }, -- 5 { 'ས་མོ་', 'эм Шороон' }, -- 6 { 'ལྕགས་ཕོ་', 'эр Төмөр' }, -- 7 { 'ལྕགས་མོ་', 'эм Төмөр' }, -- 8 { 'ཆུ་ཕོ་', 'эр Усан' }, -- 9 { 'ཆུ་མོ་', 'эм Усан' } -- 10 } local earthlyBranches = { { 'བྱི་བ་', '[[Хулгана (орд)|Хулгана]]' }, -- 1 { 'གླང་', '[[Yхэр (орд)|Yхэр]]' }, -- 2 { 'སྟག་', '[[Бар (орд)|Бар]]' }, -- 3 { 'ཡོས་', '[[Туулай (орд)|Туулай]]' }, -- 4 { 'འབྲུག་', '[[Луу (орд)|Луу]]' }, -- 5 { 'སྦྲུལ་', '[[Могой (орд)|Могой]]' }, -- 6 { 'རྟ་', '[[Морь (орд)|Морь]]' }, -- 7 { 'ལུག་', '[[Хонь (орд)|Хонь]]' }, -- 8 { 'སྤྲེ་', '[[Мич (орд)|Мич]]' }, -- 9 { 'བྱ་', '[[Тахиа (орд)|Шувуу]]' }, -- 10 { 'ཁྱི་', '[[Нохой (орд)|Нохой]]' }, -- 11 { 'ཕག་', '[[Гахай (орд)|Бодон]]' } -- 12 } -- Calculate the cycle numbers from the year. The first sexagenary year corresponds to the ''previous'' year's entry -- in [[Tibetan calendar correspondence table]], as the Tibetan New Year doesn't happen until Feb/Mar in -- Gregorian years. local sexagenaryYear1 = ( year - 4 ) % 60 local sexagenaryYear2 = ( year - 3 ) % 60 local heavenlyNum1 = (sexagenaryYear1 - 1) % 10 + 1 -- amod, since lua arrays are 1-indexed local heavenlyNum2 = (sexagenaryYear2 - 1) % 10 + 1 local earthlyNum1 = (sexagenaryYear1 - 1) % 12 + 1 local earthlyNum2 = (sexagenaryYear2 - 1) % 12 + 1 -- Get the data tables for each permutation. local heavenlyTable1 = heavenlyStems[ heavenlyNum1 ] local heavenlyTable2 = heavenlyStems[ heavenlyNum2 ] local earthlyTable1 = earthlyBranches[ earthlyNum1 ] local earthlyTable2 = earthlyBranches[ earthlyNum2 ] -- Work out the continously-numbered year. (See [[Tibetan calendar#Years with cardinal numbers]].) local year1 = year + 126 local year2 = year + 127 local year1Alt1 = year1 - 381 local year1Alt2 = year1 - 1153 local year2Alt1 = year2 - 381 local year2Alt2 = year2 - 1153 -- Format any negative numbers. year1 = formatNegative( tostring( year1 ) ) year2 = formatNegative( tostring( year2 ) ) year1Alt1 = formatNegative( tostring( year1Alt1 ) ) year1Alt2 = formatNegative( tostring( year1Alt2 ) ) year2Alt1 = formatNegative( tostring( year2Alt1 ) ) year2Alt2 = formatNegative( tostring( year2Alt2 ) ) -- Return all of that data in a (hopefully) reader-friendly format. tibetan:setYear( string.format( [=[%s%sལོ་<br />(%s-%s)<br />%s эсвэл %s эсвэл %s<br />&nbsp;&nbsp;&nbsp;&nbsp;''——''<br />%s%sལོ་<br />(%s-%s)<br />%s эсвэл %s эсвэл %s]=], heavenlyTable1[ 1 ], earthlyTable1[ 1 ], heavenlyTable1[ 2 ], earthlyTable1[ 2 ], year1, year1Alt1, year1Alt2, heavenlyTable2[ 1 ], earthlyTable2[ 1 ], heavenlyTable2[ 2 ], earthlyTable2[ 2 ], year2, year2Alt1, year2Alt2 ) ) box:addCalendar( tibetan ) ---------------------------------------------------------------------- -- Unix time ---------------------------------------------------------------------- local unix = calendar:new() local function getUnixTime( year ) if year < 1970 then return end local noError, unixTime = pcall( lang.formatDate, lang, 'U', '1 Jan ' .. tostring( year ) ) if not noError or noError and not unixTime then return end unixTime = tonumber( unixTime ) if unixTime and unixTime >= 0 then return unixTime - 1 end end unix.thisYear = getUnixTime( year ) unix.nextYear = getUnixTime( year + 1 ) if unix.thisYear and unix.nextYear then unix:setLink( 'Unix time' ) unix:setYear( (unix.thisYear + 1) .. " – " .. unix.nextYear ) end box:addCalendar( unix ) return box:export() end -------------------------------------------------------------------- -- Process arguments from #invoke -------------------------------------------------------------------- local p = {} function p.main( frame ) -- Process the arguments and pass them to the box-building function. local args = getArgs( frame ) -- Pass year argument with 'year' parameter or without any name but first argument args.year = args.year or args[1] return makeCalendarBox( args ) end return p 1sk66ec0mcd7f9lehhuv7rbn75mloda Module:Japanese calendar/data 828 146944 860717 860574 2026-06-30T20:09:21Z Enkhsaihan2005 64429 860717 Scribunto text/plain -- This module stores the data for [[Module:Japanese calendar]]. The formatting is as follows: -- -- { -- article = "Shōwa (1926–1989)", -- The Wikipedia article about the era. -- startYear = 1926, -- The year that the era started. -- endYear = 1989, -- The year that the era ended. -- kanji = "昭和", -- The kanji for the era. -- label = "Shōwa" -- The romaji for the era, if the article name is disambiguated. -- }, -- -- The "label" field may be absent some or most of the time, and the "article" and "kanji" values -- may be set to "" (the blank string) if it is a period between era names. -- See [[Japanese era name]] for more details on era names and how they correspond to -- Gregorian calendar years. eras = { { article = "Рэйва", startYear = 2019, kanji = "令和", }, { article = "Хэйсэй", startYear = 1989, endyear = 2019, kanji = "平成", }, { article = "Шоова (1926–1989)", startYear = 1926, endYear = 1989, kanji = "昭和", label = "Шоова" }, { article = "Тайшоо", startYear = 1912, endYear = 1926, kanji = "大正", }, { article = "Мэйжийн эрин", startYear = 1868, endYear = 1912, kanji = "明治", label = "Мэйжи" }, { article = "Кэйо", startYear = 1865, endYear = 1868, kanji = "慶応" }, { article = "Гэнжи (эрин үе)", startYear = 1864, endYear = 1865, kanji = "元治", label = "Гэнжи" }, { article = "Бүнкю", startYear = 1861, endYear = 1864, kanji = "文久" }, { article = "Манэн", startYear = 1860, endYear = 1861, kanji = "万延" }, { article = "Ансэй", startYear = 1854, endYear = 1860, kanji = "安政" }, { article = "Каэй", startYear = 1848, endYear = 1854, kanji = "嘉永" }, { article = "Коока", startYear = 1844, endYear = 1848, kanji = "弘化" }, { article = "Тэнпоо", startYear = 1830, endYear = 1844, kanji = "天保" }, { article = "Bunsei", startYear = 1818, endYear = 1830, kanji = "文政" }, { article = "Bunka", startYear = 1804, endYear = 1818, kanji = "文化" }, { article = "Kyōwa", startYear = 1802, endYear = 1804, kanji = "享和" }, { article = "Kansei", startYear = 1789, endYear = 1802, kanji = "寛政" }, { article = "Tenmei", startYear = 1781, endYear = 1789, kanji = "天明" }, { article = "An'ei", startYear = 1772, endYear = 1781, kanji = "安永" }, { article = "Meiwa", startYear = 1764, endYear = 1772, kanji = "明和" }, { article = "Hōreki", startYear = 1751, endYear = 1764, kanji = "宝暦" }, { article = "Kan'en", startYear = 1748, endYear = 1751, kanji = "寛延" }, { article = "Enkyō (Edo period)", startYear = 1744, endYear = 1748, kanji = "延享", label = "Enkyō" }, { article = "Kanpō", startYear = 1741, endYear = 1744, kanji = "寛保" }, { article = "Genbun", startYear = 1736, endYear = 1741, kanji = "元文" }, { article = "Kyōhō", startYear = 1716, endYear = 1736, kanji = "享保" }, { article = "Shōtoku (era)", startYear = 1711, endYear = 1716, kanji = "正徳", label = "Shōtoku" }, { article = "Hōei", startYear = 1704, endYear = 1711, kanji = "宝永" }, { article = "Genroku", startYear = 1688, endYear = 1704, kanji = "元禄" }, { article = "Jōkyō", startYear = 1684, endYear = 1688, kanji = "貞享" }, { article = "Tenna", startYear = 1681, endYear = 1684, kanji = "天和" }, { article = "Enpō", startYear = 1673, endYear = 1681, kanji = "延宝" }, { article = "Kanbun (era)", startYear = 1661, endYear = 1673, kanji = "寛文", label = "Kanbun" }, { article = "Manji (era)", startYear = 1658, endYear = 1661, kanji = "万治", label = "Manji" }, { article = "Meireki", startYear = 1655, endYear = 1658, kanji = "明暦" }, { article = "Jōō (Edo period)", startYear = 1652, endYear = 1655, kanji = "承応", label = "Jōō" }, { article = "Keian", startYear = 1648, endYear = 1652, kanji = "慶安" }, { article = "Shōhō", startYear = 1644, endYear = 1648, kanji = "正保" }, { article = "Kan'ei", startYear = 1624, endYear = 1644, kanji = "寛永" }, { article = "Genna", startYear = 1615, endYear = 1624, kanji = "元和" }, { article = "Keichō", startYear = 1596, endYear = 1615, kanji = "慶長" }, { article = "Bunroku", startYear = 1592, endYear = 1596, kanji = "文禄" }, { article = "Tenshō (Momoyama period)", startYear = 1573, endYear = 1592, kanji = "天正", label = "Tenshō" }, { article = "Genki (era)", startYear = 1570, endYear = 1573, kanji = "元亀", label = "Genki" }, { article = "Eiroku", startYear = 1558, endYear = 1570, kanji = "永禄" }, { article = "Kōji (Muromachi period)", startYear = 1555, endYear = 1558, kanji = "弘治", label = "Kōji" }, { article = "Tenbun", startYear = 1532, endYear = 1555, kanji = "天文" }, { article = "Kyōroku", startYear = 1528, endYear = 1532, kanji = "享禄" }, { article = "Daiei (era)", startYear = 1521, endYear = 1528, kanji = "大永", label = "Daiei" }, { article = "Eishō (Muromachi period)", startYear = 1504, endYear = 1521, kanji = "永正", label = "Eishō" }, { article = "Bunki", startYear = 1501, endYear = 1504, kanji = "文亀" }, { article = "Meiō", startYear = 1492, endYear = 1501, kanji = "明応", }, { article = "Entoku", startYear = 1489, endYear = 1492, kanji = "延徳" }, { article = "Chōkyō", startYear = 1487, endYear = 1489, kanji = "長享" }, { article = "Bunmei", startYear = 1469, endYear = 1487, kanji = "文明" }, { article = "Ōnin", startYear = 1467, endYear = 1469, kanji = "応仁" }, { article = "Bunshō", startYear = 1466, endYear = 1467, kanji = "文正" }, { article = "Kanshō", startYear = 1460, endYear = 1466, kanji = "寛正" }, { article = "Chōroku", startYear = 1457, endYear = 1460, kanji = "長禄" }, { article = "Kōshō", startYear = 1455, endYear = 1457, kanji = "康正" }, { article = "Kyōtoku", startYear = 1452, endYear = 1455, kanji = "享徳" }, { article = "Hōtoku", startYear = 1449, endYear = 1452, kanji = "宝徳" }, { article = "Bun'an", startYear = 1444, endYear = 1449, kanji = "文安" }, { article = "Kakitsu", startYear = 1441, endYear = 1444, kanji = "嘉吉" }, { article = "Eikyō", startYear = 1429, endYear = 1441, kanji = "永享" }, { article = "Shocho", startYear = 1428, endYear = 1429, kanji = "正長" }, { article = "Ōei", startYear = 1394, endYear = 1428, kanji = "応永" }, { article = "Meitoku", startYear = 1390, endYear = 1394, kanji = "明徳" }, { article = "Kōō", startYear = 1389, endYear = 1390, kanji = "康応" }, { article = "Kakei", startYear = 1387, endYear = 1389, kanji = "嘉慶" }, { article = "Shitoku", startYear = 1384, endYear = 1387, kanji = "至徳" }, { article = "Eitoku", startYear = 1381, endYear = 1384, kanji = "永徳" }, { article = "Kōryaku", startYear = 1379, endYear = 1381, kanji = "康暦" }, { article = "Eiwa", startYear = 1375, endYear = 1379, kanji = "永和" }, { article = "Ōan", startYear = 1368, endYear = 1375, kanji = "応安" }, { article = "Jōji", startYear = 1362, endYear = 1368, kanji = "貞治" }, { article = "Kōan (Muromachi period)", startYear = 1361, endYear = 1362, kanji = "康安", label = "Kōan" }, { article = "Enbun", startYear = 1356, endYear = 1361, kanji = "延文" }, { article = "Bunna", startYear = 1352, endYear = 1356, kanji = "文和" }, { article = "Kannō", startYear = 1350, endYear = 1352, kanji = "観応" }, { article = "Jōwa (Muromachi period)", startYear = 1345, endYear = 1350, kanji = "貞和", label = "Jōwa" }, { article = "Kōei", startYear = 1342, endYear = 1345, kanji = "康永" }, { article = "Ryakuō", startYear = 1338, endYear = 1342, kanji = "暦応" }, { article = "Shōkei", startYear = 1332, endYear = 1338, kanji = "正慶" }, { article = "Kenmu", startYear = 1334, endYear = 1332, kanji = "建武" }, { article = "Genkō (second)", startYear = 1331, endYear = 1334, kanji = "元弘", label = "Genkō" }, { article = "Gentoku", startYear = 1329, endYear = 1331, kanji = "元徳" }, { article = "Karyaku", startYear = 1326, endYear = 1329, kanji = "嘉暦" }, { article = "Shōchū (era)", startYear = 1324, endYear = 1326, kanji = "正中", label = "Shōchū" }, { article = "Genkō (first)", startYear = 1321, endYear = 1324, kanji = "元亨", label = "Genkō" }, { article = "Gen'ō", startYear = 1319, endYear = 1321, kanji = "元応" }, { article = "Bunpō", startYear = 1317, endYear = 1319, kanji = "文保" }, { article = "Shōwa (1312–1317)", startYear = 1312, endYear = 1317, kanji = "正和", label = "Shōwa" }, { article = "Ōchō", startYear = 1311, endYear = 1312, kanji = "応長" }, { article = "Enkyō (Kamakura period)", startYear = 1308, endYear = 1311, kanji = "延慶", label = "Enkyō" }, { article = "Tokuji", startYear = 1306, endYear = 1308, kanji = "徳治" }, { article = "Kagen", startYear = 1303, endYear = 1306, kanji = "嘉元" }, { article = "Kengen", startYear = 1302, endYear = 1303, kanji = "乾元" }, { article = "Shōan", startYear = 1299, endYear = 1302, kanji = "正安" }, { article = "Einin", startYear = 1293, endYear = 1299, kanji = "永仁" }, { article = "Shōō (Kamakura period)", startYear = 1288, endYear = 1293, kanji = "正応", label = "Shōō" }, { article = "Kōan (Kamakura period)", startYear = 1278, endYear = 1288, kanji = "弘安", label = "Kōan" }, { article = "Kenji (era)", startYear = 1275, endYear = 1278, kanji = "建治", label = "Kenji" }, { article = "Bun'ei", startYear = 1264, endYear = 1275, kanji = "文永" }, { article = "Kōchō", startYear = 1261, endYear = 1264, kanji = "弘長" }, { article = "Bun'ō", startYear = 1260, endYear = 1261, kanji = "文応" }, { article = "Shōgen", startYear = 1259, endYear = 1260, kanji = "正元" }, { article = "Shōka (era)", startYear = 1257, endYear = 1259, kanji = "正嘉" }, { article = "Kōgen", startYear = 1256, endYear = 1257, kanji = "康元" }, { article = "Kenchō", startYear = 1249, endYear = 1256, kanji = "建長" }, { article = "Hōji (era)", startYear = 1247, endYear = 1249, kanji = "宝治", label = "Hōji" }, { article = "Kangen", startYear = 1243, endYear = 1247, kanji = "寛元" }, { article = "Ninji", startYear = 1240, endYear = 1243, kanji = "仁治" }, { article = "En'ō", startYear = 1239, endYear = 1240, kanji = "延応" }, { article = "Ryakunin", startYear = 1238, endYear = 1239, kanji = "暦仁" }, { article = "Katei", startYear = 1235, endYear = 1238, kanji = "嘉禎" }, { article = "Bunryaku", startYear = 1234, endYear = 1235, kanji = "文暦" }, { article = "Tenpuku", startYear = 1233, endYear = 1234, kanji = "天福" }, { article = "Jōei", startYear = 1232, endYear = 1233, kanji = "貞永" }, { article = "Kangi", startYear = 1229, endYear = 1232, kanji = "寛喜" }, { article = "Antei", startYear = 1227, endYear = 1229, kanji = "安貞" }, { article = "Karoku", startYear = 1225, endYear = 1227, kanji = "嘉禄" }, { article = "Gennin", startYear = 1224, endYear = 1225, kanji = "元仁" }, { article = "Jōō (Kamakura period)", startYear = 1222, endYear = 1224, kanji = "貞応", label = "Jōō" }, { article = "Jōkyū", startYear = 1219, endYear = 1222, kanji = "承久" }, { article = "Kenpō (era)", startYear = 1213, endYear = 1219, kanji = "建保", label = "Kenpō" }, { article = "Kenryaku", startYear = 1211, endYear = 1213, kanji = "建暦" }, { article = "Jōgen (Kamakura period)", startYear = 1207, endYear = 1211, kanji = "承元", label = "Jōgen" }, { article = "Ken'ei", startYear = 1206, endYear = 1207, kanji = "建永" }, { article = "Genkyū", startYear = 1204, endYear = 1206, kanji = "元久" }, { article = "Kennin", startYear = 1201, endYear = 1204, kanji = "建仁" }, { article = "Shōji (era)", startYear = 1199, endYear = 1201, kanji = "正治", label = "Shōji" }, { article = "Kenkyū", startYear = 1190, endYear = 1199, kanji = "建久" }, { article = "Bunji (era)", startYear = 1185, endYear = 1190, kanji = "文治", label = "Bunji" }, { article = "Genryaku", startYear = 1184, endYear = 1185, kanji = "元暦" }, { article = "Juei", startYear = 1182, endYear = 1184, kanji = "寿永" }, { article = "Yōwa", startYear = 1181, endYear = 1182, kanji = "養和" }, { article = "Jishō", startYear = 1177, endYear = 1181, kanji = "治承" }, { article = "Angen", startYear = 1175, endYear = 1177, kanji = "安元" }, { article = "Jōan (era)", startYear = 1171, endYear = 1175, kanji = "承安", label = "Jōan" }, { article = "Kaō (era)", startYear = 1169, endYear = 1171, kanji = "嘉応", label = "Kaō" }, { article = "Nin'an", startYear = 1166, endYear = 1169, kanji = "仁安" }, { article = "Eiman", startYear = 1165, endYear = 1166, kanji = "永万" }, { article = "Chōkan", startYear = 1163, endYear = 1165, kanji = "長寛" }, { article = "Ōhō", startYear = 1161, endYear = 1163, kanji = "応保" }, { article = "Eiryaku", startYear = 1160, endYear = 1161, kanji = "永暦" }, { article = "Heiji", startYear = 1159, endYear = 1160, kanji = "平治" }, { article = "Hōgen (era)", startYear = 1156, endYear = 1159, kanji = "保元", label = "Hōgen" }, { article = "Kyūju", startYear = 1154, endYear = 1156, kanji = "久寿" }, { article = "Ninpei", startYear = 1151, endYear = 1154, kanji = "仁平" }, { article = "Kyūan", startYear = 1145, endYear = 1151, kanji = "久安" }, { article = "Ten'yō", startYear = 1144, endYear = 1145, kanji = "天養" }, { article = "Kōji (Heian period)", startYear = 1142, endYear = 1144, kanji = "康治", label = "Kōji" }, { article = "Eiji (era)", startYear = 1141, endYear = 1142, kanji = "永治" }, { article = "Hōen", startYear = 1135, endYear = 1141, kanji = "保延" }, { article = "Chōshō", startYear = 1132, endYear = 1135, kanji = "長承" }, { article = "Tenshō (Heian period)", startYear = 1131, endYear = 1132, kanji = "天承", label = "Tenshō" }, { article = "Daiji (era)", startYear = 1126, endYear = 1131, kanji = "大治", label = "Daiji" }, { article = "Tenji (era)", startYear = 1124, endYear = 1126, kanji = "天治", label = "Tenji" }, { article = "Hōan", startYear = 1120, endYear = 1124, kanji = "保安" }, { article = "Gen'ei", startYear = 1118, endYear = 1120, kanji = "元永" }, { article = "Eikyū", startYear = 1113, endYear = 1118, kanji = "永久" }, { article = "Ten'ei", startYear = 1110, endYear = 1113, kanji = "天永" }, { article = "Tennin (era)", startYear = 1108, endYear = 1110, kanji = "天仁", label = "Tennin" }, { article = "Kajō", startYear = 1106, endYear = 1108, kanji = "嘉承" }, { article = "Chōji", startYear = 1104, endYear = 1106, kanji = "長治" }, { article = "Kōwa (Heian period)", startYear = 1099, endYear = 1104, kanji = "康和", label = "Kōwa" }, { article = "Jōtoku", startYear = 1097, endYear = 1099, kanji = "承徳" }, { article = "Eichō", startYear = 1096, endYear = 1097, kanji = "永長" }, { article = "Kahō", startYear = 1094, endYear = 1096, kanji = "嘉保" }, { article = "Kanji (era)", startYear = 1087, endYear = 1094, kanji = "寛治", label = "Kanji" }, { article = "Ōtoku", startYear = 1084, endYear = 1087, kanji = "応徳" }, { article = "Eihō", startYear = 1081, endYear = 1084, kanji = "永保" }, { article = "Jōryaku", startYear = 1077, endYear = 1081, kanji = "承暦" }, { article = "Jōhō", startYear = 1074, endYear = 1077, kanji = "承保" }, { article = "Enkyū", startYear = 1069, endYear = 1074, kanji = "延久" }, { article = "Jiryaku", startYear = 1065, endYear = 1069, kanji = "治暦" }, { article = "Kōhei", startYear = 1058, endYear = 1065, kanji = "康平" }, { article = "Tengi", startYear = 1053, endYear = 1058, kanji = "天喜" }, { article = "Eishō (Heian period)", startYear = 1046, endYear = 1053, kanji = "永承", label = "Eishō" }, { article = "Kantoku", startYear = 1044, endYear = 1046, kanji = "寛徳" }, { article = "Chōkyū", startYear = 1040, endYear = 1044, kanji = "長久" }, { article = "Chōryaku", startYear = 1037, endYear = 1040, kanji = "長暦" }, { article = "Chōgen", startYear = 1028, endYear = 1037, kanji = "長元" }, { article = "Manju (era)", startYear = 1024, endYear = 1028, kanji = "万寿", label = "Manju" }, { article = "Jian (era)", startYear = 1021, endYear = 1024, kanji = "治安", label = "Jian" }, { article = "Kannin", startYear = 1017, endYear = 1021, kanji = "寛仁" }, { article = "Chōwa", startYear = 1012, endYear = 1017, kanji = "長和" }, { article = "Kankō", startYear = 1004, endYear = 1012, kanji = "寛弘" }, { article = "Chōhō (era)", startYear = 999, endYear = 1004, kanji = "長保", label = "Chōhō" }, { article = "Chōtoku", startYear = 995, endYear = 999, kanji = "長徳" }, { article = "Shōryaku", startYear = 990, endYear = 995, kanji = "正暦" }, { article = "Eiso (era)", startYear = 988, endYear = 990, kanji = "永祚", label = "Eiso" }, { article = "Eien", startYear = 987, endYear = 988, kanji = "永延" }, { article = "Kanna (era)", startYear = 985, endYear = 987, kanji = "寛和", label = "Kanna" }, { article = "Eikan", startYear = 983, endYear = 985, kanji = "永観" }, { article = "Tengen (era)", startYear = 978, endYear = 983, kanji = "天元", label = "Tengen" }, { article = "Jōgen (Heian period)", startYear = 976, endYear = 978, kanji = "貞元", label = "Jōgen" }, { article = "Ten'en", startYear = 973, endYear = 976, kanji = "天延" }, { article = "Tenroku", startYear = 970, endYear = 973, kanji = "天禄" }, { article = "Anna (era)", startYear = 968, endYear = 970, kanji = "安和", label = "Anna" }, { article = "Kōhō", startYear = 964, endYear = 968, kanji = "康保" }, { article = "Ōwa", startYear = 961, endYear = 964, kanji = "応和" }, { article = "Tentoku", startYear = 957, endYear = 961, kanji = "天徳" }, { article = "Tenryaku", startYear = 947, endYear = 957, kanji = "天暦" }, { article = "Tengyō", startYear = 938, endYear = 947, kanji = "天慶" }, { article = "Jōhei", startYear = 931, endYear = 938, kanji = "承平" }, { article = "Enchō", startYear = 923, endYear = 931, kanji = "延長" }, { article = "Engi (era)", startYear = 901, endYear = 923, kanji = "延喜", label = "Engi" }, { article = "Shōtai", startYear = 898, endYear = 901, kanji = "昌泰" }, { article = "Kanpyō (era)", startYear = 889, endYear = 898, kanji = "寛平", label = "Kanpyō" }, { article = "Ninna", startYear = 885, endYear = 889, kanji = "仁和" }, { article = "Gangyō", startYear = 877, endYear = 885, kanji = "元慶" }, { article = "Jōgan", startYear = 859, endYear = 877, kanji = "貞観" }, { article = "Ten'an", startYear = 857, endYear = 859, kanji = "天安" }, { article = "Saikō", startYear = 854, endYear = 857, kanji = "斉衡" }, { article = "Ninju", startYear = 851, endYear = 854, kanji = "仁寿" }, { article = "Kashō", startYear = 848, endYear = 851, kanji = "嘉祥" }, { article = "Jōwa (Heian period)", startYear = 834, endYear = 848, kanji = "承和", label = "Jōwa" }, { article = "Tenchō", startYear = 824, endYear = 834, kanji = "天長" }, { article = "Kōnin (era)", startYear = 810, endYear = 824, kanji = "弘仁", label = "Kōnin" }, { article = "Daidō", startYear = 806, endYear = 810, kanji = "大同" }, { article = "Enryaku", startYear = 782, endYear = 806, kanji = "延暦" }, { article = "Ten'ō", startYear = 781, endYear = 782, kanji = "天応" }, { article = "Hōki", startYear = 770, endYear = 781, kanji = "宝亀" }, { article = "Jingo-keiun", startYear = 767, endYear = 770, kanji = "神護景雲" }, { article = "Tenpyō-jingo", startYear = 765, endYear = 767, kanji = "天平神護" }, { article = "Tenpyō-hōji", startYear = 757, endYear = 765, kanji = "天平宝字" }, { article = "Tenpyō-shōhō", startYear = 749, endYear = 757, kanji = "天平勝宝" }, { article = "Tenpyō-kanpō", startYear = 749, endYear = 749, kanji = "天平感宝" }, { article = "Tenpyō", startYear = 729, endYear = 749, kanji = "天平" }, { article = "Jinki (era)", startYear = 724, endYear = 729, kanji = "神亀", label = "Jinki" }, { article = "Yōrō", startYear = 717, endYear = 724, kanji = "養老" }, { article = "Reiki (era)", startYear = 715, endYear = 717, kanji = "霊亀", label = "Reiki" }, { article = "Wadō (era)", startYear = 708, endYear = 715, kanji = "和銅", label = "Wadō" }, { article = "Keiun", startYear = 704, endYear = 708, kanji = "慶雲" }, { article = "Taihō (era)", startYear = 701, endYear = 704, kanji = "大宝", label = "Taihō" }, { article = "Shuchō", startYear = 686, endYear = 686, kanji = "朱鳥" }, { article = "Hakuchi (era)", startYear = 650, endYear = 654, kanji = "白雉", label = "Hakuchi" }, { article = "Taika (era)", startYear = 645, endYear = 650, kanji = "大化", label = "Taika" } } return eras jqsk8igf24e83bwlj3buykzy2c3p4f9 Жузеппе Туччи 0 146951 860752 860653 2026-07-01T02:15:30Z Zorigt 49 860752 wikitext text/x-wiki [[Файл:Tucci.jpg|thumb]] '''Жузеппе Туччи''' ({{langx|it|Giuseppe Tucci}}; 1894 оны 6-р сарын 5-нд Италийн Марке мужийн Мачерата хотод төрсөн — 1984 оны 4-р сарын 5-нд Италийн Лацио мужийн Сан-Поло-дел-Кавальерид нас барсан) — Италийн шашин судлаач, угсаатны зүйч, археологич, бурханы шашин судаач болон энэтхэг, [[Төвөд судлал|төвөд судлаач]]. Италийн ШУ-ны академийн гишүүн, профессор. Буддын шашны түүхийн мэргэжилтэн тэрээр Италийн Төвөд судлалын үндэслэгч гэж тооцогддог. Жузеппе Туччи алдрын оргил үедээ [[Италийн фашизм|Италийн фашизмыг]] дэмжигч байсан бөгөөд Италийн үзэл суртлын кампанит ажлыг дэмжихийн тулд Азийн уламжлалт дүрслэлийг ашигладаг байжээ. Туччи Европын хэд хэдэн хэлээр чөлөөтэй ярьдаг байсан, мөн санскрит, бенгал, пали, пракрит, хятад, төвөд хэлээр ярьдаг байсан бөгөөд нас барах хүртлээ [[Ромын Сапиенза Их Сургууль|Ромын Сапиенза Их Сургуульд]] багшилжээ. Түүнийг Буддын шашин судлалын үндэслэгчдийн нэг гэж үздэг. == Намтар == Ж.Туччи Марке мужийн Мачерата хотод (Апулиагаас гаралтай) Италийн дунд давхаргын гэр бүлд төрсөн бөгөөд сурлага сайтай байжээ. Тэрээр их сургуульд орохоосоо өмнө дэлхийн түүх, [[Еврей хэл|еврей]], [[Хятад хэл|хятад]] болон [[Санскрит хэл|санскрит]] хэлийг бие даан сурч байсан бөгөөд 1911 онд ердөө 18 настайдаа нэр хүндтэй Zeitschrift des Deutschen Archäologischen Instituts сэтгүүлд латин бичээсийн цуглуулга хэвлүүлж байв. Тэрээр 1919 онд Ромын Их Сургуулийн хэл зүйн ангид суралцаж төгссөн бөгөөд Дэлхийн нэгдүгээр дайны улмаас түүний сургалт удаа дараа тасалдаж байсан юм. Тэрээр сургуулиа төгсөөд [[Энэтхэг]] рүү аялж, Бенгалын яруу найрагч, [[Нобелийн шагнал|Нобелийн шагналт]] [[Рабиндранат Таагүр]]ийн үүсгэн байгуулсан Вишва-Бхарати Их Сургуульд суурьшжээ. Тэнд тэрээр Бурханы шашин, төвөд, бенгал хэлийг судалж, мөн өөрөө итали, хятад хэл заадаг байжээ. Тэрээр мөн Даккагийн Их Сургууль, Бенаресын Их Сургууль, [[Калькуттагийн Их сургууль|Калькуттагийн Их Сургуульд]] суралцаж, багшлан, 1931 онд [[Итали]] руу буцаж иртлээ Энэтхэгт амьдарчээ. Жузеппе Туччи Италийн фашизм болон [[Бенито Муссолини|Бенито Муссолиниг]] дэмжигч байсан. Түүний хамтын ажиллагаа [[Ромын Их сургууль|Ромын Их Сургуульд]] оюутан байх үеэс эхэлсэн бөгөөд тэнд тэрээр анх [[Жованни Жентиле|Жованни Жентилетэй]] (тухайн үед Философийн түүхийн профессор, Муссолинигийн дотны найз, хамтран зүтгэгч байсан) танилцаж, 1944 онд Жентиле алагдах хүртэл үргэлжилж, улмаар 1947 он хүртэл хоёр жил гаруй хугацаанд алба хаасан. 1936 оны 11-р сараас 1937 оны 1-р сар хүртэл тэрээр Японд Муссолинигийн төлөөлөгчөөр ажиллаж, Итали, Японы хооронд дипломат харилцааг сайжруулах, фашист суртал ухуулга хийхээр илгээгджээ. 1937 оны 4-р сарын 27-нд тэрээр Б.Муссолинигийн өмнөөс радиогоор япон хэлээр үг хэлж байжээ. Энэ үйлдэл нь Италийг Коминтерний эсрэг гэрээнд (1937 оны 11-р сарын 6) оруулах замыг нээж өгсөн юм. Ж.Туччи нь 1941 онд Итали, Японы улс төрийн холбоог сайжруулах зорилгоор байгуулагдсан Италийн суртал ухуулгын сэтгүүл болох "Ямато" сэтгүүлийн редакцын зөвлөлийн гишүүн байв. 1929-1948 оны хооронд академич Төвөдөд 8 удаагийн шинжлэх ухааны экспедиц хийж, Европын эрдэмтдэд мэдэгдээгүй янз бүрийн уламжлалт сүм хийдүүдийг судалсан. Эхний үр дүнг 1932 онд Ромд "Indo-Tibetica" сэтгүүлд нийтэлсэн юм. Энэ цувралд нийт долоон боть хэвлэгдсэн. Туччигийн экспедицийн материалууд үнэлж баршгүй бөгөөд "цаг хугацаа болон Хятад дахь соёлын хувьсгал нь Италийн Төвөд судлаачийн харсан зүйлийн ихэнхийг аль хэдийн устгасан" юм. Түүний "Цасны орон" руу хийсэн аяллын үеэр цуглуулсан түүх, угсаатны зүйн эх сурвалжууд олон бөгөөд олон янз байдаг. Үүнд Буддын болон Бон шашны бичвэрүүд, баримлууд, танка, ойролцоогоор 12,000 өндөр чанартай гэрэл зураг багтдаг. {{DEFAULTSORT:Туччи, Жузеппе}} [[Ангилал:Төвөд судлаач]] [[Ангилал:Италийн эрдэмтэн]] [[Ангилал:Италийн археологич]] [[Ангилал:Италийн фашист]] [[Ангилал:1894 онд төрсөн]] [[Ангилал:1984 онд өнгөрсөн]] 4e9kzzs65ztzfm8tcxygz29ml94udrp Италийн фашизм 0 146954 860753 860663 2026-07-01T02:21:21Z Zorigt 49 860753 wikitext text/x-wiki [[Файл:National Fascist Party logo.svg|thumb|Үндэсний фашист намын бэлэгдэл]] '''Италийн фашизм''' ({{langx|it|Fascismo Italiano}}) буюу '''сонгодог фашизм''', эсвэл зүгээр л '''фашизм '''бол [[Бенито Муссолини|Бенито Муссолинигийн]] 1921-1945 онуудад баримталсан тоталитар үндсэрхэг үзэлтэй бодлого байв. Үгийн гарал үүслийн хувьд "фашизм" гэдэг нь италийн "fascio" (лиг) болон латин хэлний "fascia" (боодол) гэсэн үгнээс гаралтай бөгөөд энэ нь Ромын эзэнт улсын засаг захиргааны эртний бэлгэдэл юм. Ромын эзэнт гүрнийг сэргээх санаагаар хөтлөгдсөн Бенито Муссолини Дэлхийн нэгдүгээр дайны дараа намынхаа бэлгэдэл болгон фасцийг сонгосон тул нэр нь Фашист юм. Муссолини 1919 онд "fasci di combattimento" (Тэмцлийн лиг)-ийг байгуулахдаа Ромын фасцийг Фашист намын бэлгэдэл болгон авчээ. Фашистуудын засгийн эрхэнд гарсан түүхэнд зориулсан Фашист хувьсгалын үзэсгэлэн гарсан байна. Улс төрийн шинжлэх ухаанд Италийн фашизм гэдэг нь фашизмын бусад төрлүүдээс гаралтай синкрет засаглалын загварыг хэлдэг боловч тэдгээр нь нийтлэг соёл, үзэл суртлын зарчмуудгүй юм. 20-р зуунд дэлхий даяар авторитар үндсэрхэг үзэлтнүүд гарч ирсэн: [[Адольф Хитлер|А.Хитлерийн]] удирдлага дор [[Нацист Герман]], генерал [[Хуан Перон|Хуан Доминго Пероны]] удирдлага дор Аргентинд "перонизм" ([[Испани хэл|испани.]] ''Peronismo''), [[Франсиско Франко|Франсиско Франкогийн]] удирдлага дор [[Испани|Испанид]] "фалангизм"([[Испани хэл|испани.]] ''Falangismo''), [[Румын|Румынд]] "Төмөр харуул" ([[Румын хэл|румын.]] ''Garda de Fier''), [[Бразил|Бразилд]] "интегрализм" ([[Португал хэл|португ.]]''Integralismo brasileiro''), [[Франц|Францад]] "Франц үйл ажиллагаа" (''Action française'') болон "Галт загалмай" ([[Франц хэл|франц.]] ''Les Croix de Feu''), [[Унгар|Унгарт]] "Загалмайлсан сум-нам" ([[Унгар хэл|унгар.]] ''Nyilaskeresztes párt''), [[Австри|Австрид]] Энгельберт Доллфуссын "австрофашизм", Японд Шоова, [[Бельги|Бельгид]] "Рексист нам"([[Франц хэл|франц.]] ''Parti rexiste''), [[Хорват|Хорватад]] "Усташе хөдөлгөөн" ([[Хорват хэл|хорват.]] ''Ustaše''), [[Португал|Португалд]] "Үндэсний Холбоо" ([[Португал хэл|португ.]] ''União Nacional'') болон бусад юм. == Түүх == 1919 оны 3-р сард Социалист намаас хөөгдсөн [[Бенито Муссолини]] "Fascio di Combattimento" (Тэмцлийн Холбоо)-г байгуулсан. Энэ намын хөтөлбөрт үндэсний шинэ Үндсэн хууль батлах, 18 наснаас эхлэн эмэгтэйчүүд, тэр ч байтугай колоничлолын уугуул иргэдэд сонгуулийн эрх олгох, ажилчдад 8 цагийн ажлын өдөр олгох, Сенатыг татан буулгах, хүүхдийн хөдөлмөрийг хамгаалах, албан тушаалтнуудыг сонгох, ухамсар эрх чөлөө, хэвлэлийн эрх чөлөө, Фиуме, Далматиа арлыг Италид шилжүүлэх зэрэг шаардлагууд багтсан байв. Дараа нь Муссолини [[Дэлхийн нэгдүгээр дайн|Дэлхийн нэгдүгээр дайны]] үеэр армийн бүх цэргийн хангамжийн гэрээг хянах, үл хөдлөх хөрөнгийг хураах, газрыг тариачдад дахин хуваарилах зэрэг шаардлагуудыг тавьсан. Муссолини өөрийгөө хаант засаглалын эсрэг гэж мэдэгдсэн боловч Католик сургуулиудыг хөгжүүлэх, салалтыг хориглохыг дэмжиж, "шашин бол хүндэтгэлтэй, хамгаалах ёстой асар их хүч" гэж мэдэгджээ. 1919 онд фашистууд болон социалистуудын хоорондох мөргөлдөөн эхэлсэн. 1919 оны 4-р сарын 15-нд [[Милан]] хотод мянга мянган социалистуудын цуваа фашистын "Пополо" сонины оффис руу жагсаж, заналхийлсэн уриа лоозон хашхирав. Бороохой, гар буугаар зэвсэглэсэн фашистууд социалистууд руу дайрч, тарааж, дараа нь социалист "Аванти" сонины оффисыг галдан шатаажээ. [[Ангилал:Фашизм]] [[Ангилал:Италийн улс төр]] [[Ангилал:Улс төрийн хөдөлгөөн]] [[Ангилал:Дарангуйлал]] 7wyjbt3g7nntcpxu08fdqd2d7yqj2so 860754 860753 2026-07-01T02:21:33Z Zorigt 49 860754 wikitext text/x-wiki [[Файл:National Fascist Party logo.svg|thumb|Үндэсний фашист намын бэлгэдэл]] '''Италийн фашизм''' ({{langx|it|Fascismo Italiano}}) буюу '''сонгодог фашизм''', эсвэл зүгээр л '''фашизм '''бол [[Бенито Муссолини|Бенито Муссолинигийн]] 1921-1945 онуудад баримталсан тоталитар үндсэрхэг үзэлтэй бодлого байв. Үгийн гарал үүслийн хувьд "фашизм" гэдэг нь италийн "fascio" (лиг) болон латин хэлний "fascia" (боодол) гэсэн үгнээс гаралтай бөгөөд энэ нь Ромын эзэнт улсын засаг захиргааны эртний бэлгэдэл юм. Ромын эзэнт гүрнийг сэргээх санаагаар хөтлөгдсөн Бенито Муссолини Дэлхийн нэгдүгээр дайны дараа намынхаа бэлгэдэл болгон фасцийг сонгосон тул нэр нь Фашист юм. Муссолини 1919 онд "fasci di combattimento" (Тэмцлийн лиг)-ийг байгуулахдаа Ромын фасцийг Фашист намын бэлгэдэл болгон авчээ. Фашистуудын засгийн эрхэнд гарсан түүхэнд зориулсан Фашист хувьсгалын үзэсгэлэн гарсан байна. Улс төрийн шинжлэх ухаанд Италийн фашизм гэдэг нь фашизмын бусад төрлүүдээс гаралтай синкрет засаглалын загварыг хэлдэг боловч тэдгээр нь нийтлэг соёл, үзэл суртлын зарчмуудгүй юм. 20-р зуунд дэлхий даяар авторитар үндсэрхэг үзэлтнүүд гарч ирсэн: [[Адольф Хитлер|А.Хитлерийн]] удирдлага дор [[Нацист Герман]], генерал [[Хуан Перон|Хуан Доминго Пероны]] удирдлага дор Аргентинд "перонизм" ([[Испани хэл|испани.]] ''Peronismo''), [[Франсиско Франко|Франсиско Франкогийн]] удирдлага дор [[Испани|Испанид]] "фалангизм"([[Испани хэл|испани.]] ''Falangismo''), [[Румын|Румынд]] "Төмөр харуул" ([[Румын хэл|румын.]] ''Garda de Fier''), [[Бразил|Бразилд]] "интегрализм" ([[Португал хэл|португ.]]''Integralismo brasileiro''), [[Франц|Францад]] "Франц үйл ажиллагаа" (''Action française'') болон "Галт загалмай" ([[Франц хэл|франц.]] ''Les Croix de Feu''), [[Унгар|Унгарт]] "Загалмайлсан сум-нам" ([[Унгар хэл|унгар.]] ''Nyilaskeresztes párt''), [[Австри|Австрид]] Энгельберт Доллфуссын "австрофашизм", Японд Шоова, [[Бельги|Бельгид]] "Рексист нам"([[Франц хэл|франц.]] ''Parti rexiste''), [[Хорват|Хорватад]] "Усташе хөдөлгөөн" ([[Хорват хэл|хорват.]] ''Ustaše''), [[Португал|Португалд]] "Үндэсний Холбоо" ([[Португал хэл|португ.]] ''União Nacional'') болон бусад юм. == Түүх == 1919 оны 3-р сард Социалист намаас хөөгдсөн [[Бенито Муссолини]] "Fascio di Combattimento" (Тэмцлийн Холбоо)-г байгуулсан. Энэ намын хөтөлбөрт үндэсний шинэ Үндсэн хууль батлах, 18 наснаас эхлэн эмэгтэйчүүд, тэр ч байтугай колоничлолын уугуул иргэдэд сонгуулийн эрх олгох, ажилчдад 8 цагийн ажлын өдөр олгох, Сенатыг татан буулгах, хүүхдийн хөдөлмөрийг хамгаалах, албан тушаалтнуудыг сонгох, ухамсар эрх чөлөө, хэвлэлийн эрх чөлөө, Фиуме, Далматиа арлыг Италид шилжүүлэх зэрэг шаардлагууд багтсан байв. Дараа нь Муссолини [[Дэлхийн нэгдүгээр дайн|Дэлхийн нэгдүгээр дайны]] үеэр армийн бүх цэргийн хангамжийн гэрээг хянах, үл хөдлөх хөрөнгийг хураах, газрыг тариачдад дахин хуваарилах зэрэг шаардлагуудыг тавьсан. Муссолини өөрийгөө хаант засаглалын эсрэг гэж мэдэгдсэн боловч Католик сургуулиудыг хөгжүүлэх, салалтыг хориглохыг дэмжиж, "шашин бол хүндэтгэлтэй, хамгаалах ёстой асар их хүч" гэж мэдэгджээ. 1919 онд фашистууд болон социалистуудын хоорондох мөргөлдөөн эхэлсэн. 1919 оны 4-р сарын 15-нд [[Милан]] хотод мянга мянган социалистуудын цуваа фашистын "Пополо" сонины оффис руу жагсаж, заналхийлсэн уриа лоозон хашхирав. Бороохой, гар буугаар зэвсэглэсэн фашистууд социалистууд руу дайрч, тарааж, дараа нь социалист "Аванти" сонины оффисыг галдан шатаажээ. [[Ангилал:Фашизм]] [[Ангилал:Италийн улс төр]] [[Ангилал:Улс төрийн хөдөлгөөн]] [[Ангилал:Дарангуйлал]] ivd7z18zt2i8ps2qzchudr5ezue0m95 Японы цэргийн аж үйлдвэрлэл 0 146957 860755 860679 2026-07-01T02:30:34Z Zorigt 49 860755 wikitext text/x-wiki [[Файл:AH-64D (2).jpg|thumb|351x351px| "Fuji AH-64D" загварын нисдэг тэрэг]] '''Японы цэргийн аж үйлдвэрлэл''' буюу '''Батлан хамгаалах аж үйлдвэр''' ([[Англи хэл|англи.]] ''Defense industry of Japan'', [[Япон хэл|япон.]] 日本の防衛産業) байлдааны техник, цэргийн болон байлдааны хэрэгсэл, харилцаа холбооны хэрэгсэл болон бусад цэргийн холбогдолтой тоног төхөөрөмжийг боловсруулж, туршиж, үйлдвэрлэж, засварладаг [[Японы эдийн засаг|Японы эдийн засгийн]] салбар юм. Японы компаниуд мэдээллийн технологийн салбарт (үүлэн тооцоолол, кибер аюулгүй байдал, хиймэл оюун ухаанд суурилсан нүүр царай таних зэрэг) өргөн хүрээний батлан ​​​​хамгаалах болон тагнуулын зориулалттай техник хэрэгсэл үйлдвэрлэдэг. [[Файл:施設作業車0408 装備 13.jpg|thumb|Комацу компаний байлдааны инженерийн тээврийн хэрэгсэл]] Японд зэвсгийн чиглэлээр нарийн тусгайлан дагнаж мэргэшсэн корпорац бараг байдаггүй. Ихэнх цэргийн гэрээт гүйцэтгэгчид зэвсгээс гадна төрөл бүрийн аж үйлдвэр, эрчим хүч, тээврийн тоног төхөөрөмж, электрон эд анги, химийн бодис, металл бүтээгдэхүүн үйлдвэрлэдэг. Зэвсгийн экспортын хориг нь Японы цэргийн аж үйлдвэрлэлийн хөгжлийг удаан хугацаанд саатуулж байсан ч Засгийн газар 2026 оны 4-р сард уг хоригийг цуцалсан юм. == Ерөнхий мэдээлэл == [[Файл:JS Yubetsu(FFM-8) 03.jpg|thumb|355x355px]] [[Дэлхийн хоёрдугаар дайн|Дэлхийн хоёрдугаар дайны]] дараа Япон улсын цэргийн аж үйлдвэрлэлийг хэсэгчлэн сэргээн босгосон боловч өөрийгөө хамгаалах хүчинд бүрэн анхаарлаа хандуулж, дэлхийн зэвсгийн зах зээлээс бараг бүрэн хасагдсан. [[Солонгосын дайн|Солонгосын дайны]] үеэр (1950–1953) Японы олон компани Америкийн цэргийн захиалгыг гүйцэтгэж байжээ. Японы цэргийн аж үйлдвэрийн хөгжлийн төлөвлөгөөг анх 2013 оны 12-р сард "Үндэсний аюулгүй байдлын стратеги"-д боловсруулсан. Байгалийн нөөц хязгаарлагдмал байсан тул эрх баригчид өндөр технологи, аж үйлдвэрийн аж ахуйн нэгжүүдийн хамтын ажиллагааг хөгжүүлэхэд онцгой анхаарал хандуулжээ. [[Файл:X-2 First Flight.jpg|thumb|Mitsubishi X-2 сөнөөгч онгоц]] [[Файл:Mitsubishi Fixed-wing VTOL UAV left front view at JASDF Gifu Air Base November 17, 2024 01.jpg|thumb|333x333px|[[Нисгэгчгүй нисэх төхөөрөмж]]]] Японы цэргийн цөмийн үйлдвэрлэлээс бусад тохиолдолд цэргийн аж үйлдвэрлэл нь пуужин, сансрын технологи, нисэх онгоц, хуягт тээврийн хэрэгсэл, их буу, тэнгисийн цэргийн зэвсэг, жижиг зэвсэг, сум хэрэгсэл, ложистик, электрон болон оптик тоног төхөөрөмж үйлдвэрлэх зэрэг өргөн хүрээтэй аж үйлдвэрийн бүтэцтэй юм. [[Японы Батлан ​​​​хамгаалах яам|Японы Батлан ​​​​хамгаалах яамны]] Зэвсэглэл, цэргийн хэрэгслийн газар нь цэргийн хөтөлбөрийг хэрэгжүүлэх, зэвсэг худалдан авах, Өөрийгөө Хамгаалах Хүчинд нийлүүлэх ажлыг хянадаг. Японы цэргийн аж үйлдвэрлэлийн нэг онцлог шинж чанар нь төрийн өмчит аж ахуйн нэгж байхгүй, зөвхөн хувийн хөрөнгө энэ салбарт давамгайлдаг. Цэргийн зориулалттай компаниуд олон төрлийн бүтээгдэхүүний нэр төрөлтэй байдаг: цэргийн тоног төхөөрөмжөөс гадна тэд давхар зориулалттай, цэвэр иргэний бүтээгдэхүүн үйлдвэрлэдэг юм. Тус улсын хамгийн том цэргийн компаниудын олонх нь олон төрлийн конгломератууд ([[Мицубиши групп|Mitsubishi]], [[Сумитомо|Sumitomo]], [[Mitsui]], Dai-Ichi Kangyo зэрэг)-ийн нэг хэсэг бөгөөд эдгээр нь тэднийг хөнгөлөлттэй нөхцөл бүхий санхүүжилт, түүхий эдээр хангадаг. Японы батлан ​​хамгаалах салбарын тэргүүлэгч компаниудын хооронд уяалдаатай бөгөөд өргөн хүрээний хамтын ажиллагаа байдаг. Олон шатлалт туслан гүйцэтгэгчийн системд зөвхөн тус улсын хамгийн том батлан ​​хамгаалахын гэрээт гүйцэтгэгчид төдийгүй гол үйлдвэрүүдэд зориулж бүтээгдэхүүн үйлдвэрлэдэг олон зуун дунд, жижиг компаниуд багтдаг юм. Цаашилбал, Японы олон компани үйлдвэрлэлийн хүчин чадлаа цэргийн хэрэгцээнд зориулж нөөцөлсөн бөгөөд дайны үеийн үйлдвэрлэлд хурдан шилжих боломжтой байдаг зохион байгуулалттай аж. Олон компани өмнө нь үйлдвэрлэсэн зэвсгийг хуулбарлах чадвараа хадгалсаар байгаа; компаниуд дайны үед үйлдвэрлэлийн хэмжээг хурдан нэмэгдүүлэхийн тулд ижил төстэй цэргийн бүтээгдэхүүний үйлдвэрлэлийг эзэмшиж байна. Японы томоохон компаниуд хамтарсан судалгаа, хөгжүүлэлтийн чиглэлээр гадаадын тэргүүлэгч корпорацуудтай нягт хамтран ажиллаж, цэргийн бүтээгдэхүүнээ Японд лицензлэх боломжтой (энэ төрлийн онцлох түншлэлд Lockheed Martin, Sikorsky Aircraft, Boeing Defense, Space & Security компаниудтай байгуулсан харилцаа байна). 2025 онд Ерөнхий сайд [[Такаичи Санаэ]] засгийн эрхэнд гарснаар Япон улс Өөрийгөө хамгаалах хүчнийхээ тоног төхөөрөмжийг шинэчлэх томоохон хэмжээний хөтөлбөрийг эхлүүлсэн. Энэхүү хөтөлбөрийн гол зорилго нь Хятад, Орос улстай хиллэдэг далайн хилээ бэхжүүлэх, Хойд Солонгосын пуужингийн аюулаас хамгаалах, Тайванийг Хятадын довтолгооноос хамгаалах явдал гэж үзэж байна. [[Хятад-Японы харилцаа]] муудаж байгаатай холбогдуулан Японы бүс нутаг дахь хамгийн ойрын холбоотнууд болох [[Өмнөд Солонгос]], [[Филиппин|Филиппинтэй]] улс төр, батлан ​​​​хамгаалах харилцаа бэхэжсэн юм. == Цэргийн аж үйлдвэр эрхэлдэг том компаниуд == 2020 оны байдлаар цэргийн аж үйлдвэрлэлийн гэрээний хэмжээгээрээ Японы хамгийн том компаниуд бол [[Mitsubishi Heavy Industries]] («Мицүбиги жүүкоогёо»), [[Kawasaki Heavy Industries]] («Кавасаки жүүкоогёо»), IHI Corporation («Ай-Эч-Ай»), [[Mitsubishi Electric]] («Мицүбиши дэнки»), [[Sumitomo Heavy Industries]] («Сүмитомо жүүкоогёо»), [[NEC]] («Ниппон дэнки»), [[Toshiba]] («Тоошиба») болон [[Subaru Corporation]] («Сүбарү») зэрэг юм. 2023—2024 оны байдлаар хамгийн их хэмжээний гэрээтэй компаниуд бол Mitsubishi Heavy Industries (5,03 тэрбум долл.), Kawasaki Heavy Industries (2,65 тэрбум долл.), Fujitsu (2,19 тэрбум долл.), Mitsubishi Electric (1,85 тэрбум долл.), NEC (1,54 тэрбум долл.). === Зэвсгийн үйлдвэрлэл === Япон улс дуунаас хурдан баллистик пуужин, газар-агаар пуужин, агаар-агаар болон агаар-гадаргуу руу чиглүүлэгч пуужин, агаараас гадаргуу руу чиглүүлэгч бөмбөг (үүнд чиглүүлэгч багтана), хөлөг онгоцны эсрэг пуужин (газар-гадаргуу болон агаар-гадаргуу руу), шумбагч онгоцны эсрэг пуужин, торпедо, гүний цэнэгт онгоц, тэнгисийн цэргийн мина, танк эсрэг чиглүүлэгч пуужин (ATGM) болон сум (ATGM), их бууны сум, гар буу, винтов болон торхны доорх гранат, гар буу, винтов болон пулемётын сум, хүний эсрэг болон танк эсэргүүцэгч мина зэрэг зэвсэг үйлдвэрлэдэг. === Цэргийн болон эмнэлгийн хэрэгсэл === Япон улс дүрэмт хувцас, гутал, дуулга, биеийн хуяг, бээлий, үүргэвч, майхан, хийн баг, химийн хамгаалалтын хэрэгсэл, дуран, дулааны дүрслэлийг мэдрэгч аппарат, тактикийн нүдний шил, таблет, луужин, зөөврийн генератор болон хөргөгч, хээрийн гал тогоо, угаалгын газар, шүршүүр зэрэг олон төрлийн цэргийн тоног төхөөрөмж, хэрэгслийг үйлдвэрлэдэг. Японы компаниуд мөн нүүлгэн шилжүүлэх машин, түргэн тусламжийн машин, хээрийн эмнэлэг, тактикийн эмнэлгийн хэрэгсэл зэрэг төрөл бүрийн эмнэлгийн тоног төхөөрөмж үйлдвэрлэдэг. == Эрдэм шинжилгээ судалгааны төвүүд == * Батлан ​​​​хамгаалахын гол судалгаа, хөгжүүлэлтийн төвүүд нь Худалдан авалт, технологи, ложистикийн агентлаг (ATLA) болон танк, нисэх онгоц, хөлөг онгоц, радарын туршилтын загваруудыг боловсруулдаг Японы Батлан ​​​​хамгаалах яамны Техникийн судалгаа, дизайны хүрээлэн (TRDI) юм. * Дэвшилтэт батлан ​​​​хамгаалах технологийн төв (ADTC) нь байлдааны загварчлал, симуляц, химийн, биологийн болон цөмийн зэвсгээс хамгаалах, түүнчлэн робот техник, нисгэгчгүй систем, цэргийн эргономикийн чиглэлээр судалгаа хийдэг. * Газрын системийн судалгааны төв (GSRC) нь галт зэвсэг, их бууны сум, хамгаалалтын бүтэц, хуягт тээврийн хэрэгсэл, тээвэр, инженерийн тоног төхөөрөмж, хувийн хамгаалалтын хэрэгсэл, мина илрүүлэгч чиглэлээр судалгаа хийдэг. * Нисэхийн системийн судалгааны төв (ASRC) нь байлдааны нисэх онгоц, нисдэг тэрэг, нисгэгчгүй нисэх онгоц, түүнчлэн нисэх онгоц, пуужингийн хөдөлгүүр, авионик болон холбооны систем, нисэх онгоцны пуужин, их бууны хөгжүүлэлтийн талаар судалгаа хийдэг. * Тэнгисийн цэргийн системийн судалгааны төв (NSRC) нь хөлөг онгоц, шумбагч онгоц, нисгэгчгүй далайн тээврийн хэрэгсэл, торпедо, мина эсэргүүцэх арга хэмжээ, акустик болон соронзон тоног төхөөрөмж, усан доорх мэдрэгч, холбооны системийг хөгжүүлэх чиглэлээр судалгаа хийдэг. * Ирээдүйтэй чадавхыг хөгжүүлэх төв (FCDC) нь компьютер болон харилцаа холбооны тоног төхөөрөмж, том өгөгдөл боловсруулах систем, мэдээллийн аюулгүй байдлын систем, системийн интеграцын технологи, мэдрэгч болон цахилгаан соронзон технологи, электрон дайны систем, тэнгэрийн хаяанд байрлах өндөр давтамжийн радар, хэт улаан туяаны камер, өндөр хурдны байг устгах чадвартай өндөр энергийн лазер зэрэг инновацын технологийн чиглэлээр судалгаа хийдэг. * Батлан ​​​​хамгаалахын инновацын шинжлэх ухаан, технологийн хүрээлэн (DISTI) нь хиймэл оюун ухаан, кибер аюулгүй байдлын чиглэлээр судалгаа хийх зэрэг хувийн компаниуд болон их дээд сургуулиудын хоорондын судалгааг зохицуулдаг тэргүүлэгч судалгааны төв юм. * Токио, Цүкүба хотод төвтэй Дэвшилтэт Үйлдвэрлэлийн Шинжлэх Ухаан, Технологийн Үндэсний Хүрээлэн (AIST) нь хиймэл оюун ухаан, робот техник, электроник, оптик систем, кибер аюулгүй байдал, оюун ухааны чиглэлээр батлан ​​​​хамгаалах судалгаа хийдэг. * Сагамихара хотод төвтэй Сансар судлал, одон орон судлалын хүрээлэн (ISAS) нь пуужин, гариг ​​хоорондын зонд, хиймэл дагуул боловсруулдаг аж. [[Ангилал:Японы аж үйлдвэр|Батлан хамгаалах]] 5qt1rd2sipp7avbdvoeqbnjr6s1kptb Mitsubishi Heavy Industries 0 146958 860756 860681 2026-07-01T02:33:36Z Zorigt 49 860756 wikitext text/x-wiki [[Файл:Marunouchi Nijūbashi Building.jpg|thumb|Төв байр, Токио]] '''Mitsubishi Heavy Industries, Ltd.''' ({{langx|ja|重工業株式会社}};''Мицүбиши жүүкоогёо)'' — Японы [[Мицубиши групп|Mitsubishi Group]]-т ордог хүнд үйлдвэрлэлийн компани. Төв байр нь [[Токио]] хотод байралдаг. Тус компанийн бүтээгдэхүүнүүдэд цахилгаан станц болон аж үйлдвэрийн тоног төхөөрөмж, агааржуулагч, хөлөг онгоц, нисэх онгоц, цэргийн тоног төхөөрөмж багтдаг. SIPRI-ийн мэдээлснээр 2024 онд тус компани дэлхийн 32 дахь том зэвсэг үйлдвэрлэгч, [[Японы цэргийн аж үйлдвэрлэл]]ийн салбарын хамгийн том компани юм. Энэ нь 1934 онд Mitsubishi-ийн нисэх онгоц болон хөлөг онгоцны үйлдвэрлэлийн салбаруудыг нэгтгэснээр байгуулагдсан байна. === Эзэмшигч === Тус компанийн хувьцаа [[Токиогийн хөрөнгийн бирж|Токио]], Нагоя, Фүкүока, Саппорогийн хөрөнгийн бирж дээр бүртгэлтэй. 2025 оны байдлаар хамгийн том хувьцаа эзэмшигчид нь Японы Мастер Траст Банк (15.7%), Японы Кастоди Банк (5.5%), Стейт Стрийт Банк болон Траст Компани (4.5%), Мэйжи Ясуда Лайф (2.3%) юм. === Удирдлага === *Изүмисава Сэйжи (1957 оны 9-р сарын 3-нд төрсөн) — 2025 оны 4-р сараас хойш Төлөөлөн Удирдах Зөвлөлийн дарга; 2020-2025 онуудад Гүйцэтгэх захирал; 1981 онд компанид орсон. *Ито Эйсакү (1963 оны 10-р сарын 19-нд төрсөн) — 2025 оны 4-р сараас хойш Ерөнхийлөгч бөгөөд Гүйцэтгэх захирал; 1987 онд компанид орсон. == Үйл ажиллагаа == ''Эрчим хүчний системүүд'' (Energy Systems) — дулааны болон цөмийн цахилгаан станц, салхин турбин, нисэх онгоцны хөдөлгүүрийн тоног төхөөрөмжийн зураг төсөл боловсруулах, үйлдвэрлэх, суурилуулах, засвар үйлчилгээ хийх; орлогын 36%; ''Логистик, Дулаан ба Хөтчийн Системүүд'' (Logistics, Thermal & Drive Systems )— логистикийн тоног төхөөрөмж (кран, өргөгч), арилжааны болон орон сууцны агааржуулагч, хөдөлгүүр үйлдвэрлэх; орлогын 26%; ''Агаарын онгоц, Батлан ​​​​хамгаалах ба Сансрын салбар'' (Aircraft, Defense & Space) — иргэний болон цэргийн нисэх онгоц, байлдааны хөлөг онгоц, танк, пуужингийн систем, торпедо, сансрын технологи (H3 хөөргөх тээврийн хэрэгслийг оролцуулан) үйлдвэрлэх; орлогын 20%; ''Үйлдвэр ба дэд бүтцийн системүүд'' (Plants & Infrastructure systems) — ган хайлуулах зэрэг үйлдвэрлэлийн тоног төхөөрөмжийн үйлдвэрлэл, засвар үйлчилгээ; худалдааны хөлөг онгоц, гатлага онгоц барих; хотын төмөр замын тээврийн үйлдвэрлэл; орлогын 17%. Тус компанийн 2025/26 оны санхүүгийн жилийн орлого 4.97 их наяд иен (33.2 тэрбум ам.доллар) байсан бөгөөд үүний 44 хувийг Япон, 15 хувийг Азийн бусад орнууд, 22 хувийг АНУ, 9 хувийг Европ, 3 хувийг Төв болон Өмнөд Америк, 3 хувийг Ойрх Дорнод эзэлж байв. qmfyldwohlhx6e8dd361jxgc2kq1lp8 Nikon 0 146959 860682 2026-06-30T12:28:10Z Avirmed Batsaikhan 53733 Хуудас үүсгэв: "[[Файл:Nikon Logo.svg|thumb]] '''{{нихонго|'''Nikon Corporation'''|株式会社ニコン|кабусики гайся никон|произносится ''{{Audio|Ja-Nikon.oga|«Никон»}}''}}''' ([[Япон хэл|япон:]] 株式会社ニコン Kabushiki Gaisha Nikon, дуудлага нь "Никон") - дүрс бичлэгийн төхөөрөмж, голчлон камер, линз үйлдвэрлэх чиглэлээр нарийн м..." 860682 wikitext text/x-wiki [[Файл:Nikon Logo.svg|thumb]] '''{{нихонго|'''Nikon Corporation'''|株式会社ニコン|кабусики гайся никон|произносится ''{{Audio|Ja-Nikon.oga|«Никон»}}''}}''' ([[Япон хэл|япон:]] 株式会社ニコン Kabushiki Gaisha Nikon, дуудлага нь "Никон") - дүрс бичлэгийн төхөөрөмж, голчлон камер, линз үйлдвэрлэх чиглэлээр нарийн мэргэшсэн Японы компани юм. Энэ нь оптик багаж хэрэгсэл хөгжүүлэх, оптик шил үйлдвэрлэх чиглэлээр дэлхийн хамгийн том тэргүүлэгчдийн нэг юм. [[Файл:Nikon HQ2.jpg|thumb|386x386px|Токио дахь төв байр]] Nikon компани [[Мицубиши групп|Mitsubishi Group]] -ийн бүрэлдэхүүнд ордог. 1917 оны 7-р сарын 25-нд '''Nippon Kogaku K.K.''' (Nippon Kogaku Kabushiki Kaisha) нэртэй Когаку Кёго үүсгэн байгуулсан бөгөөд 1988 онд нэрээ сольсон байна. Ерөнхийлөгч нь — Тосиказу Умататэ (''Toshikazu Umatate''). Төв байр нь Токиод байралдаг. == Түүх == Nikon корпораци нь 1917 онд гурван оптик тоног төхөөрөмж үйлдвэрлэгч (Seisakusho, Iwaki Glass Co, Fujii Lens)-ийг Nippon Kogaku Kokyo K.K. нэртэй компани болгон нэгтгэснээр байгуулагдсан. Тус компани нь Японы тэнгисийн цэргийн хүчинд зориулсан оптик багаж хэрэгсэл үйлдвэрлэдэг байжээ. [[Файл:Nikon F FTN Camera Austin Calhoon Photograph.jpg|thumb]] 1932 онд "Nikkor" линзний брэндийг бүтээсэн юм. Дэлхийн хоёрдугаар дайны үед тус компани 19 үйлдвэр, 23,000 ажилтантай болж өргөжсөн юм. Тус компани Японы армид зориулж дуран, линз, перископ, харааны төхөөрөмж үйлдвэрлэж байжээ. Дайны дараа тус компани ганц үйлдвэрт иргэний бүтээгдэхүүн үйлдвэрлэж эхэлсэн. Эхэндээ дунд зэргийн форматтай хос линзтэй рефлекс камер (6x6 см) боловсруулсан боловч жижиг форматтай тоног төхөөрөмж боловсруулах шийдвэр гаргаж, 1946 онд Nikon брэндийн дор анхны 35 мм-ийн камер бүтээжээ. Үүний зэрэгцээ 35 мм-ийн Canon камерын линзний нийлүүлэлт зогссон. Nikon нь компанийн нэр болсон. 1948 онд Nikon камерууд Хонконг руу экспортолж эхэлсэн байна. 1962 онд тус компани Токиогийн одон орон ажиглалтын төвд зориулж 91 см-ийн тусгал дуран бүтээн үйлдвэрлэжээ. 1974 онд Кисогийн ажиглалтын төвд зориулж 105 см-ийн Шмидтийн катадиоптрик дуран бүтээжээ. 1963 онд сольж болох линзтэй Nikonos усан доорх камер худалдаанд гаргасан юм. 1971 онд Nikon F-г орлох зорилготой Nikon F2 камер худалдаанд гарсан бөгөөд мэргэжлийн гэрэл зурагчдын дунд их алдартай болсон байна. 1990 онд тус компанийн салбар Тайландад нээгдэж, жилийн дараа үйлдвэр баригджээ. Тус үйлдвэрт 2000 он гэхэд 2000 хүн, 2004 он гэхэд аль хэдийн 8000 хүн ажиллаж байжээ. 1991 онд Nikon компани [[NASA|НАСА]]-тай хамтран Nikon F4 болон тухайн үеийн шинэ CCD матриц дээр суурилсан дэлхийн анхны дижитал SLR камеруудын нэгийг 1: мегапикселийн нягтралтайгаар бүтээжээ. Камерыг Сансрын Шаттл хөтөлбөрт идэвхтэй ашиглаж байжээ. 1995 онд "Fujifilm" компанитай хамтран дижитал камерын туршилтын загварыг боловсруулсан. 1997 онд авсаархан дижитал камер Nikon Coolpix 100 гарсан. 1999 онд анхны мэргэжлийн дижитал SLR камер Nikon D1 гарсан. 1996 онд Nikon F5 камер, 2004 онд Nikon F6 камер үйлдвэрлэж эхэлсэн байна. 2010 онд Nikon D3100 болон Nikon D7000 сонирхогчдын камеруудыг танилцуулсан. 2011 онд өөр нэгэн сонирхогчийн камер болох Nikon D5100 худалдаанд гарсан. 2012 онд мэргэжлийн Nikon D4 болон хагас мэргэжлийн Nikon D800, Nikon D800E, Nikon D600, мөн сонирхогчдын Nikon D3200 болон Nikon D5200 камеруудыг танилцуулсан. 2013 онд [[Лаос|Лаост]] Nikon Lao Co., Ltd. компанийг байгуулсан. == Үйл ажиллагаа == Орлогын хувиар нь авч үзвэл, Nikon-ы үйл ажиллагааны гол бүс нутгууд нь Хятад (27%), АНУ (25%), Япон (16%), Европ (16%) юм. 2006 оноос хойш тус компани хальсан камер үйлдвэрлэхээ бараг бүрэн зогсоож (бүрэлдэхүүнд зөвхөн хоёр загвар үлдсэн - Nikon F6 болон Nikon FM10), дижитал гэрэл зурагт анхаарлаа хандуулсан. 2021 оны байдлаар Nikon нь дижитал камерын борлуулалтаараа дэлхийд 3-рт жагсаж, зах зээлийн эзлэх хувь нь 13.7% (Canon 49.7%, Sony 22.1%) байв. 7h9hvwhy0u86aoa6t63yb9qqb8gbq1m 860683 860682 2026-06-30T12:29:01Z Avirmed Batsaikhan 53733 860683 wikitext text/x-wiki [[Файл:Nikon Logo.svg|thumb]] {{нихонго|'''Nikon Corporation'''|株式会社ニコン|кабусики гайся никон|произносится ''{{Audio|Ja-Nikon.oga|«Никон»}}''}} ([[Япон хэл|япон:]] 株式会社ニコン Kabushiki Gaisha Nikon, монгол дуудлага нь "Никон") - дүрс бичлэгийн төхөөрөмж, голчлон камер, линз үйлдвэрлэх чиглэлээр нарийн мэргэшсэн Японы компани юм. Энэ нь оптик багаж хэрэгсэл хөгжүүлэх, оптик шил үйлдвэрлэх чиглэлээр дэлхийн хамгийн том тэргүүлэгчдийн нэг юм. [[Файл:Nikon HQ2.jpg|thumb|386x386px|Токио дахь төв байр]] Nikon компани [[Мицубиши групп|Mitsubishi Group]] -ийн бүрэлдэхүүнд ордог. 1917 оны 7-р сарын 25-нд '''Nippon Kogaku K.K.''' (Nippon Kogaku Kabushiki Kaisha) нэртэй Когаку Кёго үүсгэн байгуулсан бөгөөд 1988 онд нэрээ сольсон байна. Ерөнхийлөгч нь — Тосиказу Умататэ (''Toshikazu Umatate''). Төв байр нь Токиод байралдаг. == Түүх == Nikon корпораци нь 1917 онд гурван оптик тоног төхөөрөмж үйлдвэрлэгч (Seisakusho, Iwaki Glass Co, Fujii Lens)-ийг Nippon Kogaku Kokyo K.K. нэртэй компани болгон нэгтгэснээр байгуулагдсан. Тус компани нь Японы тэнгисийн цэргийн хүчинд зориулсан оптик багаж хэрэгсэл үйлдвэрлэдэг байжээ. [[Файл:Nikon F FTN Camera Austin Calhoon Photograph.jpg|thumb]] 1932 онд "Nikkor" линзний брэндийг бүтээсэн юм. Дэлхийн хоёрдугаар дайны үед тус компани 19 үйлдвэр, 23,000 ажилтантай болж өргөжсөн юм. Тус компани Японы армид зориулж дуран, линз, перископ, харааны төхөөрөмж үйлдвэрлэж байжээ. Дайны дараа тус компани ганц үйлдвэрт иргэний бүтээгдэхүүн үйлдвэрлэж эхэлсэн. Эхэндээ дунд зэргийн форматтай хос линзтэй рефлекс камер (6x6 см) боловсруулсан боловч жижиг форматтай тоног төхөөрөмж боловсруулах шийдвэр гаргаж, 1946 онд Nikon брэндийн дор анхны 35 мм-ийн камер бүтээжээ. Үүний зэрэгцээ 35 мм-ийн Canon камерын линзний нийлүүлэлт зогссон. Nikon нь компанийн нэр болсон. 1948 онд Nikon камерууд Хонконг руу экспортолж эхэлсэн байна. 1962 онд тус компани Токиогийн одон орон ажиглалтын төвд зориулж 91 см-ийн тусгал дуран бүтээн үйлдвэрлэжээ. 1974 онд Кисогийн ажиглалтын төвд зориулж 105 см-ийн Шмидтийн катадиоптрик дуран бүтээжээ. 1963 онд сольж болох линзтэй Nikonos усан доорх камер худалдаанд гаргасан юм. 1971 онд Nikon F-г орлох зорилготой Nikon F2 камер худалдаанд гарсан бөгөөд мэргэжлийн гэрэл зурагчдын дунд их алдартай болсон байна. 1990 онд тус компанийн салбар Тайландад нээгдэж, жилийн дараа үйлдвэр баригджээ. Тус үйлдвэрт 2000 он гэхэд 2000 хүн, 2004 он гэхэд аль хэдийн 8000 хүн ажиллаж байжээ. 1991 онд Nikon компани [[NASA|НАСА]]-тай хамтран Nikon F4 болон тухайн үеийн шинэ CCD матриц дээр суурилсан дэлхийн анхны дижитал SLR камеруудын нэгийг 1: мегапикселийн нягтралтайгаар бүтээжээ. Камерыг Сансрын Шаттл хөтөлбөрт идэвхтэй ашиглаж байжээ. 1995 онд "Fujifilm" компанитай хамтран дижитал камерын туршилтын загварыг боловсруулсан. 1997 онд авсаархан дижитал камер Nikon Coolpix 100 гарсан. 1999 онд анхны мэргэжлийн дижитал SLR камер Nikon D1 гарсан. 1996 онд Nikon F5 камер, 2004 онд Nikon F6 камер үйлдвэрлэж эхэлсэн байна. 2010 онд Nikon D3100 болон Nikon D7000 сонирхогчдын камеруудыг танилцуулсан. 2011 онд өөр нэгэн сонирхогчийн камер болох Nikon D5100 худалдаанд гарсан. 2012 онд мэргэжлийн Nikon D4 болон хагас мэргэжлийн Nikon D800, Nikon D800E, Nikon D600, мөн сонирхогчдын Nikon D3200 болон Nikon D5200 камеруудыг танилцуулсан. 2013 онд [[Лаос|Лаост]] Nikon Lao Co., Ltd. компанийг байгуулсан. == Үйл ажиллагаа == Орлогын хувиар нь авч үзвэл, Nikon-ы үйл ажиллагааны гол бүс нутгууд нь Хятад (27%), АНУ (25%), Япон (16%), Европ (16%) юм. 2006 оноос хойш тус компани хальсан камер үйлдвэрлэхээ бараг бүрэн зогсоож (бүрэлдэхүүнд зөвхөн хоёр загвар үлдсэн - Nikon F6 болон Nikon FM10), дижитал гэрэл зурагт анхаарлаа хандуулсан. 2021 оны байдлаар Nikon нь дижитал камерын борлуулалтаараа дэлхийд 3-рт жагсаж, зах зээлийн эзлэх хувь нь 13.7% (Canon 49.7%, Sony 22.1%) байв. hb28u94tmntk6an978go51luhliv9po 860684 860683 2026-06-30T12:31:01Z Avirmed Batsaikhan 53733 860684 wikitext text/x-wiki [[Файл:Nikon Logo.svg|thumb]] '''Nikon Corporation''' ([[Япон хэл|япон:]] 株式会社ニコン Kabushiki Gaisha Nikon, монгол дуудлага нь "Никон") - дүрс бичлэгийн төхөөрөмж, голчлон камер, линз үйлдвэрлэх чиглэлээр нарийн мэргэшсэн Японы компани юм. Энэ нь оптик багаж хэрэгсэл хөгжүүлэх, оптик шил үйлдвэрлэх чиглэлээр дэлхийн хамгийн том тэргүүлэгчдийн нэг юм. [[Файл:Nikon HQ2.jpg|thumb|386x386px|Токио дахь төв байр]] Nikon компани [[Мицубиши групп|Mitsubishi Group]] -ийн бүрэлдэхүүнд ордог. 1917 оны 7-р сарын 25-нд '''Nippon Kogaku K.K.''' (Nippon Kogaku Kabushiki Kaisha) нэртэй Когаку Кёго үүсгэн байгуулсан бөгөөд 1988 онд нэрээ сольсон байна. Ерөнхийлөгч нь — Тосиказу Умататэ (''Toshikazu Umatate''). Төв байр нь Токиод байралдаг. == Түүх == Nikon корпораци нь 1917 онд гурван оптик тоног төхөөрөмж үйлдвэрлэгч (Seisakusho, Iwaki Glass Co, Fujii Lens)-ийг Nippon Kogaku Kokyo K.K. нэртэй компани болгон нэгтгэснээр байгуулагдсан. Тус компани нь Японы тэнгисийн цэргийн хүчинд зориулсан оптик багаж хэрэгсэл үйлдвэрлэдэг байжээ. [[Файл:Nikon F FTN Camera Austin Calhoon Photograph.jpg|thumb]] 1932 онд "Nikkor" линзний брэндийг бүтээсэн юм. Дэлхийн хоёрдугаар дайны үед тус компани 19 үйлдвэр, 23,000 ажилтантай болж өргөжсөн юм. Тус компани Японы армид зориулж дуран, линз, перископ, харааны төхөөрөмж үйлдвэрлэж байжээ. Дайны дараа тус компани ганц үйлдвэрт иргэний бүтээгдэхүүн үйлдвэрлэж эхэлсэн. Эхэндээ дунд зэргийн форматтай хос линзтэй рефлекс камер (6x6 см) боловсруулсан боловч жижиг форматтай тоног төхөөрөмж боловсруулах шийдвэр гаргаж, 1946 онд Nikon брэндийн дор анхны 35 мм-ийн камер бүтээжээ. Үүний зэрэгцээ 35 мм-ийн Canon камерын линзний нийлүүлэлт зогссон. Nikon нь компанийн нэр болсон. 1948 онд Nikon камерууд Хонконг руу экспортолж эхэлсэн байна. 1962 онд тус компани Токиогийн одон орон ажиглалтын төвд зориулж 91 см-ийн тусгал дуран бүтээн үйлдвэрлэжээ. 1974 онд Кисогийн ажиглалтын төвд зориулж 105 см-ийн Шмидтийн катадиоптрик дуран бүтээжээ. 1963 онд сольж болох линзтэй Nikonos усан доорх камер худалдаанд гаргасан юм. 1971 онд Nikon F-г орлох зорилготой Nikon F2 камер худалдаанд гарсан бөгөөд мэргэжлийн гэрэл зурагчдын дунд их алдартай болсон байна. 1990 онд тус компанийн салбар Тайландад нээгдэж, жилийн дараа үйлдвэр баригджээ. Тус үйлдвэрт 2000 он гэхэд 2000 хүн, 2004 он гэхэд аль хэдийн 8000 хүн ажиллаж байжээ. 1991 онд Nikon компани [[NASA|НАСА]]-тай хамтран Nikon F4 болон тухайн үеийн шинэ CCD матриц дээр суурилсан дэлхийн анхны дижитал SLR камеруудын нэгийг 1: мегапикселийн нягтралтайгаар бүтээжээ. Камерыг Сансрын Шаттл хөтөлбөрт идэвхтэй ашиглаж байжээ. 1995 онд "Fujifilm" компанитай хамтран дижитал камерын туршилтын загварыг боловсруулсан. 1997 онд авсаархан дижитал камер Nikon Coolpix 100 гарсан. 1999 онд анхны мэргэжлийн дижитал SLR камер Nikon D1 гарсан. 1996 онд Nikon F5 камер, 2004 онд Nikon F6 камер үйлдвэрлэж эхэлсэн байна. 2010 онд Nikon D3100 болон Nikon D7000 сонирхогчдын камеруудыг танилцуулсан. 2011 онд өөр нэгэн сонирхогчийн камер болох Nikon D5100 худалдаанд гарсан. 2012 онд мэргэжлийн Nikon D4 болон хагас мэргэжлийн Nikon D800, Nikon D800E, Nikon D600, мөн сонирхогчдын Nikon D3200 болон Nikon D5200 камеруудыг танилцуулсан. 2013 онд [[Лаос|Лаост]] Nikon Lao Co., Ltd. компанийг байгуулсан. == Үйл ажиллагаа == Орлогын хувиар нь авч үзвэл, Nikon-ы үйл ажиллагааны гол бүс нутгууд нь Хятад (27%), АНУ (25%), Япон (16%), Европ (16%) юм. 2006 оноос хойш тус компани хальсан камер үйлдвэрлэхээ бараг бүрэн зогсоож (бүрэлдэхүүнд зөвхөн хоёр загвар үлдсэн - Nikon F6 болон Nikon FM10), дижитал гэрэл зурагт анхаарлаа хандуулсан. 2021 оны байдлаар Nikon нь дижитал камерын борлуулалтаараа дэлхийд 3-рт жагсаж, зах зээлийн эзлэх хувь нь 13.7% (Canon 49.7%, Sony 22.1%) байв. c7u9fqrql8txodzbemk1dlslisfie2v 860757 860684 2026-07-01T02:38:54Z Zorigt 49 860757 wikitext text/x-wiki [[Файл:Nikon Logo.svg|thumb]] '''Nikon Corporation''' ({{langx|ja|株式会社ニコン}}, Kabushiki Gaisha Nikon, монгол дуудлага нь "Никон") - дүрс бичлэгийн төхөөрөмж, голчлон камер, линз үйлдвэрлэх чиглэлээр нарийн мэргэшсэн Японы компани юм. Энэ нь оптик багаж хэрэгсэл хөгжүүлэх, оптик шил үйлдвэрлэх чиглэлээр дэлхийн хамгийн том тэргүүлэгчдийн нэг юм. [[Файл:Nikon HQ2.jpg|thumb|386x386px|Токио дахь төв байр]] Nikon компани [[Мицубиши групп|Mitsubishi Group]]-ийн бүрэлдэхүүнд ордог. 1917 оны 7-р сарын 25-нд '''Nippon Kogaku K.K.''' (Nippon Kogaku Kabushiki Kaisha) буюу Ниппон Коогакү Коогёо нэрээр үүсгэн байгуулсан бөгөөд 1988 онд нэрээ сольсон байна. Ерөнхийлөгч нь Токүнари Мүнэаки. Төв байр нь Токиод байралдаг. == Түүх == Nikon корпорац нь 1917 онд гурван оптик тоног төхөөрөмж үйлдвэрлэгч (Seisakusho, Iwaki Glass Co, Fujii Lens)-ийг Nippon Kogaku Kokyo K.K. нэртэй компани болгон нэгтгэснээр байгуулагдсан. Тус компани нь Японы тэнгисийн цэргийн хүчинд зориулсан оптик багаж хэрэгсэл үйлдвэрлэдэг байжээ. [[Файл:Nikon F FTN Camera Austin Calhoon Photograph.jpg|thumb]] 1932 онд "Nikkor" линзний брэндийг бүтээсэн юм. Дэлхийн хоёрдугаар дайны үед тус компани 19 үйлдвэр, 23,000 ажилтантай болж өргөжсөн юм. Тус компани Японы армид зориулж дуран, линз, перископ, харааны төхөөрөмж үйлдвэрлэж байжээ. Дайны дараа тус компани ганц үйлдвэрт иргэний бүтээгдэхүүн үйлдвэрлэж эхэлсэн. Эхэндээ дунд зэргийн форматтай хос линзтэй рефлекс камер (6x6 см) боловсруулсан боловч жижиг форматтай тоног төхөөрөмж боловсруулах шийдвэр гаргаж, 1946 онд Nikon брэндийн дор анхны 35 мм-ийн камер бүтээжээ. Үүний зэрэгцээ 35 мм-ийн Canon камерын линзний нийлүүлэлт зогссон. Nikon нь компанийн нэр болсон. 1948 онд Nikon камерууд Хонконг руу экспортолж эхэлсэн байна. 1962 онд тус компани Токиогийн одон орон ажиглалтын төвд зориулж 91 см-ийн тусгал дуран бүтээн үйлдвэрлэжээ. 1974 онд Кисогийн ажиглалтын төвд зориулж 105 см-ийн Шмидтийн катадиоптрик дуран бүтээжээ. 1963 онд сольж болох линзтэй Nikonos усан доорх камер худалдаанд гаргасан юм. 1971 онд Nikon F-г орлох зорилготой Nikon F2 камер худалдаанд гарсан бөгөөд мэргэжлийн гэрэл зурагчдын дунд их алдартай болсон байна. 1990 онд тус компанийн салбар Тайландад нээгдэж, жилийн дараа үйлдвэр баригджээ. Тус үйлдвэрт 2000 он гэхэд 2000 хүн, 2004 он гэхэд аль хэдийн 8000 хүн ажиллаж байжээ. 1991 онд Nikon компани [[NASA|НАСА]]-тай хамтран Nikon F4 болон тухайн үеийн шинэ CCD матриц дээр суурилсан дэлхийн анхны дижитал SLR камеруудын нэгийг 1: мегапикселийн нягтралтайгаар бүтээжээ. Камерыг Сансрын Шаттл хөтөлбөрт идэвхтэй ашиглаж байжээ. 1995 онд "Fujifilm" компанитай хамтран дижитал камерын туршилтын загварыг боловсруулсан. 1997 онд авсаархан дижитал камер Nikon Coolpix 100 гарсан. 1999 онд анхны мэргэжлийн дижитал SLR камер Nikon D1 гарсан. 1996 онд Nikon F5 камер, 2004 онд Nikon F6 камер үйлдвэрлэж эхэлсэн байна. 2010 онд Nikon D3100 болон Nikon D7000 сонирхогчдын камеруудыг танилцуулсан. 2011 онд өөр нэгэн сонирхогчийн камер болох Nikon D5100 худалдаанд гарсан. 2012 онд мэргэжлийн Nikon D4 болон хагас мэргэжлийн Nikon D800, Nikon D800E, Nikon D600, мөн сонирхогчдын Nikon D3200 болон Nikon D5200 камеруудыг танилцуулсан. 2013 онд [[Лаос|Лаост]] Nikon Lao Co., Ltd. компанийг байгуулсан. == Үйл ажиллагаа == Орлогын хувиар нь авч үзвэл, Nikon-ы үйл ажиллагааны гол бүс нутгууд нь Хятад (27%), АНУ (25%), Япон (16%), Европ (16%) юм. 2006 оноос хойш тус компани хальсан камер үйлдвэрлэхээ бараг бүрэн зогсоож (бүрэлдэхүүнд зөвхөн хоёр загвар үлдсэн - Nikon F6 болон Nikon FM10), дижитал гэрэл зурагт анхаарлаа хандуулсан. 2021 оны байдлаар Nikon нь дижитал камерын борлуулалтаараа дэлхийд 3-рт жагсаж, зах зээлийн эзлэх хувь нь 13.7% (Canon 49.7%, Sony 22.1%) байв. se9kxed0nds02vsymyyzncpg0clsfpr Mitsubishi Motors 0 146960 860685 2026-06-30T12:52:37Z Avirmed Batsaikhan 53733 Хуудас үүсгэв: "[[Файл:Mitsubishi motors new logo.svg|thumb]] '''Mitsubishi Motors Corporation''' ([[Япон хэл|япон.]] 三菱自動車工業株式会社, &#x20;Mitsubishi Jidosha Kōgyō Kabushikigaisha, товч. MMC) нь Японы автомашин үйлдвэрлэгч бөгөөд [[Мицубиши групп|Mitsubishi Group]] (Япон дахь хамгийн том аж үйлдвэрлэлийн групп гэгддэг) нэг хэсэг юм. То..." 860685 wikitext text/x-wiki [[Файл:Mitsubishi motors new logo.svg|thumb]] '''Mitsubishi Motors Corporation''' ([[Япон хэл|япон.]] 三菱自動車工業株式会社, &#x20;Mitsubishi Jidosha Kōgyō Kabushikigaisha, товч. MMC) нь Японы автомашин үйлдвэрлэгч бөгөөд [[Мицубиши групп|Mitsubishi Group]] (Япон дахь хамгийн том аж үйлдвэрлэлийн групп гэгддэг) нэг хэсэг юм. Токио хотод төвтэй Мицубиши Моторс нь 1970 онд [[Mitsubishi Heavy Industries]] компаний салбар болж үүсгэн байгуулагдсан. Энэ нь Renault-Nissan-Mitsubishi холбооны нэг хэсэг юм. == Түүх == [[Файл:Mitsubishi model a and workers.jpg|thumb| "Mitsubishi Model A" загвар]] Мицубишигийн автомашин үйлдвэрлэлийн түүх нь 1917 онд Ятаро Ивасакигийн "Mitsubishi Shipbuilding" компани Японы анхны олноор үйлдвэрлэсэн "Mitsubishi Model A" загварыг бүтээсэн үеэс эхлэлтэй. Эрэлт бага, Америк, Европын хямд машинуудтай өрсөлдөх чадваргүй (ердөө 22 ширхэг үйлдвэрлэгдсэн) зэргээс шалтгаалан үйлдвэрлэл нь 1921 онд зогссон. 1918 онд анхны ачааны машин болох туршилтын Т1 загварыг бүтээжээ. 1920-иод оны дунд үед Мицубиши "Fuso" брэндийн дор ачааны машин, автобус үйлдвэрлэж эхэлсэн (1932 оноос). [[Файл:Mitsubishi Lancer Sportback VRX.jpg|thumb|323x323px]] 1934 онд Mitsubishi Shipbuilding нь Mitsubishi Aircraft-тай нэгдэж "Mitsubishi Heavy Industries" компани байгуулж Японы хамгийн том хувийн компани болж, онгоц, хөлөг онгоц, төмөр замын вагон, машин механизм үйлдвэрлэдэг болсон. 1930-аад онд тус компани автомашины салбарт хэд хэдэн шинэ загварыг нэвтрүүлсэн бөгөөд тэдгээрийн ихэнхийг Японд анх удаа ашигласан бөгөөд эдгээр нь PX33 бүх дугуйгаар хөтөлдөг суудлын автомашины туршилтын загвар, BD46 болон BD43 дизель автобус, SHT6 камертай дизель хөдөлгүүр, TD45 дизель хөдөлгүүртэй ачааны машин зэрэг юм. 1946 онд Mitsubishi холдинг компани нь 44 бие даасан компаниудад хуваагдсан юм. Дайны дараах жилүүдэд тус концерн нь скутер, автобус, ачааны машин, пикап ачааны машин үйлдвэрлэж байсан бөгөөд тэдгээрийн олонх нь гурван дугуйтай байв. [[Файл:Irish Army New Pajero (4184292173).jpg|thumb|302x302px]] 1950-иад онд Mitsubishi бүрэн хэмжээний суудлын автомашин үйлдвэрлэж эхэлсэн бөгөөд удалгүй Европ руу экспортлох болсон. 1960-аад онд хожим алдартай гэр бүлийн өмнөх загварууд болох Colt, Galant загварууд гарч ирсэн. Хожим нь Lancer, Pajero, Delica зэрэг загварууд нэмэгдсэн. 1992 он гэхэд Mitsubishi автомашинууд Японы хүн амын эзэмшлийн бүх автомашины 10%-ийг эзэлж (Toyota, Nissan-ы дараа) 3-рт орж байв. Mitsubishi Motors Corporation (MMC) нь 1970 оны 4-р сард автомашины үйлдвэрлэлийн Mitsubishi Heavy Industries компанийн охин компани болж байгуулагдсан. 1971 онд Америкийн [[Chrysler Corporation]] компани 15%-ийн хувьцааг эзэмшиж, АНУ-д Mitsubishi автомашин зарж эхэлсэн. Mitsubishi Motors-ийн автомашины үйлдвэрлэл хурдацтай өсч, 1971 онд 260,000 байсан бол 1973 онд 500,000 болж, 10 жилийн дараа бараг 1 сая болжээ. 1980 онд Австралид салбар нээгдсэн. 1983 онд Өмнөд Солонгосын [[Hyundai Motor Group|Hyundai Motor]] компанитай түншлэл тогтоосон. 2016 оны 5-р сарын 12-нд Японы өөр нэг үйлдвэрлэгч Ниссан компани Мицубиши Моторс корпорацийн 34%-ийн хувьцааг худалдаж авсан. 2024 оны 7-р сард Мицубиши Моторс болон Ниссан компаниуд Хондатай хамтран цахилгаан тээврийн хэрэгслийн шинэ загваруудыг хамтран хөгжүүлэхээр болсноо зарласан байна. and5msesa8jhs1hyn8t324844yvoe8g 860686 860685 2026-06-30T12:54:39Z Avirmed Batsaikhan 53733 860686 wikitext text/x-wiki [[Файл:Mitsubishi motors new logo.svg|thumb]] '''Mitsubishi Motors Corporation''' ([[Япон хэл|япон.]] 三菱自動車工業株式会社, &#x20;Mitsubishi Jidosha Kōgyō Kabushikigaisha, товч. MMC) нь Японы автомашин үйлдвэрлэгч бөгөөд [[Мицубиши групп|Mitsubishi Group]] (Япон дахь хамгийн том аж үйлдвэрлэлийн групп гэгддэг) нэг хэсэг юм. Токио хотод төвтэй Мицубиши Моторс нь 1970 онд [[Mitsubishi Heavy Industries]] компаний салбар болж үүсгэн байгуулагдсан. Энэ нь Renault-Nissan-Mitsubishi холбооны нэг хэсэг юм. == Түүх == [[Файл:Mitsubishi model a and workers.jpg|thumb| "Mitsubishi Model A" загвар]] Мицубишигийн автомашин үйлдвэрлэлийн түүх нь 1917 онд Ятаро Ивасакигийн "Mitsubishi Shipbuilding" компани Японы анхны олноор үйлдвэрлэсэн "Mitsubishi Model A" загварыг бүтээсэн үеэс эхлэлтэй. Эрэлт бага, Америк, Европын хямд машинуудтай өрсөлдөх чадваргүй (ердөө 22 ширхэг үйлдвэрлэгдсэн) зэргээс шалтгаалан үйлдвэрлэл нь 1921 онд зогссон. 1918 онд анхны ачааны машин болох туршилтын Т1 загварыг бүтээжээ. 1920-иод оны дунд үед Мицубиши "Fuso" брэндийн дор ачааны машин, автобус үйлдвэрлэж эхэлсэн (1932 оноос). [[Файл:Mitsubishi Lancer Sportback VRX.jpg|thumb|323x323px]] 1934 онд Mitsubishi Shipbuilding нь Mitsubishi Aircraft-тай нэгдэж "Mitsubishi Heavy Industries" компани байгуулж Японы хамгийн том хувийн компани болж, онгоц, хөлөг онгоц, төмөр замын вагон, машин механизм үйлдвэрлэдэг болсон. 1930-аад онд тус компани автомашины салбарт хэд хэдэн шинэ загварыг нэвтрүүлсэн бөгөөд тэдгээрийн ихэнхийг Японд анх удаа ашигласан бөгөөд эдгээр нь PX33 бүх дугуйгаар хөтөлдөг суудлын автомашины туршилтын загвар, BD46 болон BD43 дизель автобус, SHT6 камертай дизель хөдөлгүүр, TD45 дизель хөдөлгүүртэй ачааны машин зэрэг юм. 1946 онд Mitsubishi холдинг компани нь 44 бие даасан компаниудад хуваагдсан юм. Дайны дараах жилүүдэд тус концерн нь скутер, автобус, ачааны машин, пикап ачааны машин үйлдвэрлэж байсан бөгөөд тэдгээрийн олонх нь гурван дугуйтай байв. [[Файл:Irish Army New Pajero (4184292173).jpg|thumb|302x302px]] 1950-иад онд Mitsubishi бүрэн хэмжээний суудлын автомашин үйлдвэрлэж эхэлсэн бөгөөд удалгүй Европ руу экспортлох болсон. 1960-аад онд хожим алдартай гэр бүлийн өмнөх загварууд болох Colt, Galant загварууд гарч ирсэн. Хожим нь Lancer, Pajero, Delica зэрэг загварууд нэмэгдсэн. 1992 он гэхэд Mitsubishi автомашинууд Японы хүн амын эзэмшлийн бүх автомашины 10%-ийг эзэлж (Toyota, Nissan-ы дараа) 3-рт орж байв. Mitsubishi Motors Corporation (MMC) нь 1970 оны 4-р сард автомашины үйлдвэрлэлийн Mitsubishi Heavy Industries компанийн охин компани болж байгуулагдсан. 1971 онд Америкийн [[Chrysler Corporation]] компани 15%-ийн хувьцааг эзэмшиж, АНУ-д Mitsubishi автомашин зарж эхэлсэн. Mitsubishi Motors-ийн автомашины үйлдвэрлэл хурдацтай өсч, 1971 онд 260,000 байсан бол 1973 онд 500,000 болж, 10 жилийн дараа бараг 1 сая болжээ. 1980 онд Австралид салбар нээгдсэн. 1983 онд Өмнөд Солонгосын [[Hyundai Motor Group|Hyundai Motor]] компанитай түншлэл тогтоосон. 2016 оны 5-р сарын 12-нд Японы өөр нэг үйлдвэрлэгч Ниссан компани Мицубиши Моторс корпорацийн 34%-ийн хувьцааг худалдаж авсан. 2024 оны 7-р сард Мицубиши Моторс болон [[Ниссан]] компаниуд [[Хонда]] компанитай хамтран цахилгаан тээврийн хэрэгслийн шинэ загваруудыг хамтран хөгжүүлэхээр болсноо зарласан байна. d8ujapw03ul581fmkwoldw9g457lc5b 860759 860686 2026-07-01T02:42:20Z Zorigt 49 860759 wikitext text/x-wiki [[Файл:Mitsubishi motors new logo.svg|thumb]] '''Mitsubishi Motors Corporation''' ({{langx|ja|三菱自動車工業株式会社}}, Mitsubishi Jidosha Kōgyō Kabushikigaisha, товч. MMC) нь Японы автомашин үйлдвэрлэгч бөгөөд [[Мицубиши групп|Mitsubishi Group]] (Япон дахь хамгийн том аж үйлдвэрлэлийн групп гэгддэг)-ийн нэг хэсэг юм. Токио хотод төвтэй Мицүбиши Моторс нь 1970 онд [[Mitsubishi Heavy Industries]] компанийн салбар болж үүсгэн байгуулагдсан. Өдгөө Renault-Nissan-Mitsubishi холбооны нэг хэсэг юм. == Түүх == [[Файл:Mitsubishi model a and workers.jpg|thumb| "Mitsubishi Model A" загвар]] Мицүбишигийн автомашин үйлдвэрлэлийн түүх нь 1917 онд Ивасаки Ятарогийн "Mitsubishi Shipbuilding" компани Японы анхны олноор үйлдвэрлэсэн "Mitsubishi Model A" загварыг бүтээсэн үеэс эхлэлтэй. Эрэлт бага, Америк, Европын хямд машинуудтай өрсөлдөх чадваргүй (ердөө 22 ширхэг үйлдвэрлэгдсэн) зэргээс шалтгаалан үйлдвэрлэл нь 1921 онд зогссон. 1918 онд анхны ачааны машин болох туршилтын Т1 загварыг бүтээжээ. 1920-иод оны дунд үед Мицүбиши "Fuso" брэндийн дор ачааны машин, автобус үйлдвэрлэж эхэлсэн (1932 оноос). [[Файл:Mitsubishi Lancer Sportback VRX.jpg|thumb|323x323px]] 1934 онд Mitsubishi Shipbuilding нь Mitsubishi Aircraft-тай нэгдэж "Mitsubishi Heavy Industries" компани байгуулж Японы хамгийн том хувийн компани болж, онгоц, хөлөг онгоц, төмөр замын вагон, машин механизм үйлдвэрлэдэг болсон. 1930-аад онд тус компани автомашины салбарт хэд хэдэн шинэ загварыг нэвтрүүлсэн бөгөөд тэдгээрийн ихэнхийг Японд анх удаа ашигласан бөгөөд эдгээр нь PX33 бүх дугуйгаар хөтөлдөг суудлын автомашины туршилтын загвар, BD46 болон BD43 дизель автобус, SHT6 камертай дизель хөдөлгүүр, TD45 дизель хөдөлгүүртэй ачааны машин зэрэг юм. 1946 онд Mitsubishi холдинг компани нь 44 бие даасан компаниудад хуваагдсан юм. Дайны дараах жилүүдэд тус концерн нь скутер, автобус, ачааны машин, пикап ачааны машин үйлдвэрлэж байсан бөгөөд тэдгээрийн олонх нь гурван дугуйтай байв. [[Файл:Irish Army New Pajero (4184292173).jpg|thumb|302x302px]] 1950-иад онд Mitsubishi бүрэн хэмжээний суудлын автомашин үйлдвэрлэж эхэлсэн бөгөөд удалгүй Европ руу экспортлох болсон. 1960-аад онд хожим алдартай гэр бүлийн өмнөх загварууд болох Colt, Galant загварууд гарч ирсэн. Хожим нь Lancer, Pajero, Delica зэрэг загварууд нэмэгдсэн. 1992 он гэхэд Mitsubishi автомашинууд Японы хүн амын эзэмшлийн бүх автомашины 10%-ийг эзэлж (Toyota, Nissan-ы дараа) 3-рт орж байв. 1970 оны 4-р сард Mitsubishi Heavy Industries компаниас автомашин үйлдвэрлэлийн хэсэг нь тусдаа гарч Mitsubishi Motors Corporation (MMC) нь охин компани болж байгуулагдсан. 1971 онд Америкийн [[Chrysler Corporation]] компани 15%-ийн хувьцааг эзэмшиж, АНУ-д Mitsubishi автомашин зарж эхэлсэн. Mitsubishi Motors-ийн автомашины үйлдвэрлэл хурдацтай өсөж, 1971 онд 260,000 байсан бол 1973 онд 500,000, 10 жилийн дараа бараг 1 сая болжээ. 1980 онд Австралид салбар нээгдсэн. 1983 онд Өмнөд Солонгосын [[Hyundai Motor Group|Hyundai Motor]] компанитай түншлэл тогтоосон. 2016 оны 5-р сарын 12-нд Японы өөр нэг үйлдвэрлэгч Ниссан компани Мицүбиши Моторс корпорацын 34%-ийн хувьцааг худалдаж авсан. 2024 оны 7-р сард Мицүбиши Моторс болон [[Ниссан]] компаниуд [[Хонда]] компанитай хамтран цахилгаан тээврийн хэрэгслийн шинэ загваруудыг хамтран хөгжүүлэхээр болсноо зарласан байна. efa2tvv1jlgubederqktne55v2wpaye Загвар:Year nav 10 146961 860706 2026-06-30T19:42:22Z Enkhsaihan2005 64429 Хуудас үүсгэв: "{{short description|Calendar year|2=noreplace}} {{sidebar |title=[[List of decades, centuries, and millennia|Years]] |name=Year nav |contentclass=hlist |heading1=Мянган |content1= {{dr|y|m|{{{1|{{PAGENAME}}}}}|0|ys}} |heading2=Зуун |content2= * {{dr|y|c|{{{1|{{PAGENAME}}}}}|-1|ys}} * '''{{dr|y|c|{{{1|{{PAGENAME}}}}}|0|ys}} ''' * {{dr|y|c|{{{1|{{PAGENAME}}}}}|1|ys}} |heading3=Арван |content3= * {{dr|y|d|{{{1|{{PAGENAME}}}}}|-2|ys}} * {{dr|y|d|{{..." 860706 wikitext text/x-wiki {{short description|Calendar year|2=noreplace}} {{sidebar |title=[[List of decades, centuries, and millennia|Years]] |name=Year nav |contentclass=hlist |heading1=Мянган |content1= {{dr|y|m|{{{1|{{PAGENAME}}}}}|0|ys}} |heading2=Зуун |content2= * {{dr|y|c|{{{1|{{PAGENAME}}}}}|-1|ys}} * '''{{dr|y|c|{{{1|{{PAGENAME}}}}}|0|ys}} ''' * {{dr|y|c|{{{1|{{PAGENAME}}}}}|1|ys}} |heading3=Арван |content3= * {{dr|y|d|{{{1|{{PAGENAME}}}}}|-2|ys}} * {{dr|y|d|{{{1|{{PAGENAME}}}}}|-1|ys}} * '''{{dr|y|d|{{{1|{{PAGENAME}}}}}|0|ys}} ''' * {{dr|y|d|{{{1|{{PAGENAME}}}}}|1|ys}} * {{dr|y|d|{{{1|{{PAGENAME}}}}}|2|ys}} |heading4=[[Он дараалал|Жил]] |content4= * {{dr|y|y|{{{1|{{PAGENAME}}}}}|-3|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 12 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|-2|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 12 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|-1|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 12 |ysa|ys}}}} * '''{{dr|y|y|{{{1|{{PAGENAME}}}}}|0|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 100 |ysa|ys}}}} ''' * {{dr|y|y|{{{1|{{PAGENAME}}}}}|1|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 9 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|2|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 8 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|3|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 7 |ysa|ys}}}} }}<noinclude> {{documentation}} </noinclude> mzwykhs43mte7iie0lytmyurggyd6oq 860707 860706 2026-06-30T19:43:16Z Enkhsaihan2005 64429 860707 wikitext text/x-wiki {{short description|Calendar year|2=noreplace}} {{sidebar |title=[[Арван жил, зуун, мянганы жагсаалт|Жил]] |name=Year nav |contentclass=hlist |heading1=Мянган |content1= {{dr|y|m|{{{1|{{PAGENAME}}}}}|0|ys}} |heading2=Зуун |content2= * {{dr|y|c|{{{1|{{PAGENAME}}}}}|-1|ys}} * '''{{dr|y|c|{{{1|{{PAGENAME}}}}}|0|ys}} ''' * {{dr|y|c|{{{1|{{PAGENAME}}}}}|1|ys}} |heading3=Арван |content3= * {{dr|y|d|{{{1|{{PAGENAME}}}}}|-2|ys}} * {{dr|y|d|{{{1|{{PAGENAME}}}}}|-1|ys}} * '''{{dr|y|d|{{{1|{{PAGENAME}}}}}|0|ys}} ''' * {{dr|y|d|{{{1|{{PAGENAME}}}}}|1|ys}} * {{dr|y|d|{{{1|{{PAGENAME}}}}}|2|ys}} |heading4=[[Он дараалал|Жил]] |content4= * {{dr|y|y|{{{1|{{PAGENAME}}}}}|-3|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 12 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|-2|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 12 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|-1|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 12 |ysa|ys}}}} * '''{{dr|y|y|{{{1|{{PAGENAME}}}}}|0|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 100 |ysa|ys}}}} ''' * {{dr|y|y|{{{1|{{PAGENAME}}}}}|1|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 9 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|2|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 8 |ysa|ys}}}} * {{dr|y|y|{{{1|{{PAGENAME}}}}}|3|{{#ifexpr: {{{1|{{PAGENAME}}}}} <= 7 |ysa|ys}}}} }}<noinclude> {{documentation}} </noinclude> 7zlcrjqj164ffgrauntapqoe9h3uphu Загвар:Dr-logno 10 146962 860710 2026-06-30T19:48:18Z Enkhsaihan2005 64429 Хуудас үүсгэв: "<includeonly>{{#switch:{{{3}}}|y={{#expr:{{#ifexpr:{{{1}}}<0|{{{1}}}+1|{{{1}}}}}+{{{2|0}}}}}|d={{#expr:{{#ifexpr:{{{1}}}<0|-1+({{{1}}} - {{{1}}} mod 10)/10|({{{1}}} - {{{1}}} mod 10)/10}}+{{{2|0}}}}}|c={{#expr:{{#ifexpr:{{{1}}}<0|1+({{{1}}}-99 - ({{{1}}}-99) mod 100)/100|({{{1}}}+99 - ({{{1}}}+99) mod 100)/100}}+{{{2|0}}}}}|m={{#expr:{{#ifexpr:{{{1}}}<0|1+({{{1}}}-999 - ({{{1}}}-999) mod 1000)/1000|({{{1}}}+999 - ({{{1}}}+999) mod 1000)/1000}}+{{{2|0}}}}}}}</inc..." 860710 wikitext text/x-wiki <includeonly>{{#switch:{{{3}}}|y={{#expr:{{#ifexpr:{{{1}}}<0|{{{1}}}+1|{{{1}}}}}+{{{2|0}}}}}|d={{#expr:{{#ifexpr:{{{1}}}<0|-1+({{{1}}} - {{{1}}} mod 10)/10|({{{1}}} - {{{1}}} mod 10)/10}}+{{{2|0}}}}}|c={{#expr:{{#ifexpr:{{{1}}}<0|1+({{{1}}}-99 - ({{{1}}}-99) mod 100)/100|({{{1}}}+99 - ({{{1}}}+99) mod 100)/100}}+{{{2|0}}}}}|m={{#expr:{{#ifexpr:{{{1}}}<0|1+({{{1}}}-999 - ({{{1}}}-999) mod 1000)/1000|({{{1}}}+999 - ({{{1}}}+999) mod 1000)/1000}}+{{{2|0}}}}}}}</includeonly><noinclude> <!--Categories go on documentation subpage and interwikis go to Wikidata.--> {{Documentation}} </noinclude> c46g82p6wg1e2ssafqw4yx6t6mglaqu Загвар:Dr-yr 10 146963 860711 2026-06-30T19:49:01Z Enkhsaihan2005 64429 Хуудас үүсгэв: "<includeonly>{{#switch:{{{2}}}|y={{{1}}}|d={{#switch:w{{{1}}}|w0=1|w-0=-8|{{#expr: {{{1}}}*10{{#ifexpr:{{{1}}}<0|-8|+1}}}}}}|c={{#expr:{{{1}}}*100{{#ifexpr: {{{1}}}>0|-98|+1}}}}|m={{#expr:{{{1}}}*1000{{#ifexpr:{{{1}}}>0|-998|+1}}}}}}</includeonly><noinclude> {{documentation|content=Converts a year/decade/century/millennium number (prefix a minus for BC) into a representative year (the second year, for decades/centuries/millennia) of that period, for use in {{tl|..." 860711 wikitext text/x-wiki <includeonly>{{#switch:{{{2}}}|y={{{1}}}|d={{#switch:w{{{1}}}|w0=1|w-0=-8|{{#expr: {{{1}}}*10{{#ifexpr:{{{1}}}<0|-8|+1}}}}}}|c={{#expr:{{{1}}}*100{{#ifexpr: {{{1}}}>0|-98|+1}}}}|m={{#expr:{{{1}}}*1000{{#ifexpr:{{{1}}}>0|-998|+1}}}}}}</includeonly><noinclude> {{documentation|content=Converts a year/decade/century/millennium number (prefix a minus for BC) into a representative year (the second year, for decades/centuries/millennia) of that period, for use in {{tl|dr}}. Second parameter is y/d/c/m. [[Category:Historical period subtemplates|Dr-yr]] }}</noinclude> mt9sk1l05b0mcqil9nki4fbgx1qxhl7 Загвар:Drep 10 146964 860712 2026-06-30T19:51:08Z Enkhsaihan2005 64429 Хуудас үүсгэв: "{{#switch:{{{2|}}}|ysb|yysb|ysab|yysab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;<small>BC</small>]]| ysbd|yysbd|ysabd|yysabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;<small>BC</small>]]| yb|yyb|yab|yyab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;BC]]| ybd|yybd|yabd|yyabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;BC]]| sb|nsb|ynsb|sab|nsab|ynsab|sbd|nsbd|ynsbd|sabd|nsabd|ynsabd={{{1}}}&nbsp;<small>BC</small>|..." 860712 wikitext text/x-wiki {{#switch:{{{2|}}}|ysb|yysb|ysab|yysab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;<small>BC</small>]]| ysbd|yysbd|ysabd|yysabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;<small>BC</small>]]| yb|yyb|yab|yyab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;BC]]| ybd|yybd|yabd|yyabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;BC]]| sb|nsb|ynsb|sab|nsab|ynsab|sbd|nsbd|ynsbd|sabd|nsabd|ynsabd={{{1}}}&nbsp;<small>BC</small>| b|nb|ynb|ab|nab|ynab|bd|nbd|ynbd|abd|nabd|ynabd={{{1}}}&nbsp;BC| tb|ytb|tab|ytab={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC| tbd|ytbd|tabd|ytabd={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)| ysa|yysa=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | AD {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}&nbsp;<small>AD</small>]]| ya|yya=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | AD {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}&nbsp;AD]]| ysap|yysap=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | AD {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|<small>AD</small>&nbsp;{{{1}}}]]| yap|yyap=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | AD {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|AD&nbsp;{{{1}}}]]| sa|nsa|ynsa={{{1}}}&nbsp;<small>AD</small>| a|na|yna={{{1}}}&nbsp;AD| sap|nsap|ynsap=<small>AD</small>&nbsp;{{{1}}}| ap|nap|ynap=AD&nbsp;{{{1}}}| ta|yta|t|yt={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}}| ys|yys|y|yy=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | AD {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}]]| s|ns|yns||n|yn={{{1}}}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> j2zjmi48ipuz29lr80p173ip446mlyb 860714 860712 2026-06-30T19:56:59Z Enkhsaihan2005 64429 860714 wikitext text/x-wiki {{#switch:{{{2|}}}|ysb|yysb|ysab|yysab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;<small>BC</small>]]| ysbd|yysbd|ysabd|yysabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;<small>BC</small>]]| yb|yyb|yab|yyab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;BC]]| ybd|yybd|yabd|yyabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;BC]]| sb|nsb|ynsb|sab|nsab|ynsab|sbd|nsbd|ynsbd|sabd|nsabd|ynsabd={{{1}}}&nbsp;<small>BC</small>| b|nb|ynb|ab|nab|ynab|bd|nbd|ynbd|abd|nabd|ynabd={{{1}}}&nbsp;BC| tb|ytb|tab|ytab={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC| tbd|ytbd|tabd|ytabd={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)| ysa|yysa=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}&nbsp;<small>AD</small>]]| ya|yya=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}&nbsp;AD]]| ysap|yysap=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|<small>AD</small>&nbsp;{{{1}}}]]| yap|yyap=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}]]| sa|nsa|ynsa={{{1}}}&nbsp;<small>AD</small>| a|na|yna={{{1}}}&nbsp;AD| sap|nsap|ynsap=<small>AD</small>&nbsp;{{{1}}}| ap|nap|ynap={{{1}}}| ta|yta|t|yt={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}}| ys|yys|y|yy=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}]]| s|ns|yns||n|yn={{{1}}}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> dqqtyog5utt7m2tl0u5rlh5vz6ywegd 860722 860714 2026-06-30T20:14:17Z Enkhsaihan2005 64429 860722 wikitext text/x-wiki {{#switch:{{{2|}}}|ysb|yysb|ysab|yysab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;<small>BC</small>]]| ysbd|yysbd|ysabd|yysabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;<small>BC</small>]]| yb|yyb|yab|yyab=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC|{{{1}}}&nbsp;BC]]| ybd|yybd|yabd|yyabd=[[{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)|{{{1}}}&nbsp;BC]]| sb|nsb|ynsb|sab|nsab|ynsab|sbd|nsbd|ynsbd|sabd|nsabd|ynsabd={{{1}}}&nbsp;<small>BC</small>| b|nb|ynb|ab|nab|ynab|bd|nbd|ynbd|abd|nabd|ynabd={{{1}}}&nbsp;BC| tb|ytb|tab|ytab={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC| tbd|ytbd|tabd|ytabd={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}} BC (decade)| ysa|yysa=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} он | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}&nbsp;<small>AD</small>]]| ya|yya=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} он | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}&nbsp;AD]]| ysap|yysap=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} он | {{{1}}} }}|{{{1}}} }}}}|<small>AD</small>&nbsp;{{{1}}}]]| yap|yyap=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} он | {{{1}}} }}|{{{1}}} }}}}|AD&nbsp;{{{1}}}]]| sa|nsa|ynsa={{{1}}}&nbsp;<small>AD</small>| a|na|yna={{{1}}}&nbsp;AD| sap|nsap|ynsap=<small>AD</small>&nbsp;{{{1}}}| ap|nap|ynap=AD&nbsp;{{{1}}}| ta|yta|t|yt={{#if:{{{3|}}}|{{{3}}}|{{{1}}}}}| ys|yys|y|yy=[[{{#if:{{{3|}}}|{{{3}}}|{{#ifeq:{{#expr:{{{1}}}}}|{{{1}}}|{{#ifexpr:{{{1}}} > 0 and {{{1}}} <= 3000 | {{{1}}} он | {{{1}}} }}|{{{1}}} }}}}|{{{1}}}]]| s|ns|yns||n|yn={{{1}}}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> 131tmuzcwav0qda7ftai3lmdosowbi4 Module:Football attendance summation 828 146965 860723 2026-06-30T20:18:43Z Enkhsaihan2005 64429 Хуудас үүсгэв: "local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte(..." 860723 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances(getContent(base .. ' Group ' .. v, currentTitle, seen, contentCache), currentTitle, seen, contentCache) end end end end end total = total + sumAttendances(getContentFallback(base .. ' knockout stage', base .. ' knockout phase', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p 8fjfeeuxeqodhrgg9xjxsl62d36tom6 860726 860723 2026-06-30T20:28:45Z Enkhsaihan2005 64429 860726 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances(getContent(base .. '-ий ' .. v, currentTitle, seen, contentCache 'хэсэг'), currentTitle, seen, contentCache) end end end end end total = total + sumAttendances(getContentFallback(base .. ' knockout stage', base .. ' knockout phase', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p oahzo2aw60sx3ekznsml5d1hp2hnlp7 860727 860726 2026-06-30T20:29:22Z Enkhsaihan2005 64429 860727 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances(getContent(base .. '-ий ' .. v 'хэсэг', currentTitle, seen, contentCache), currentTitle, seen, contentCache) end end end end end total = total + sumAttendances(getContentFallback(base .. ' knockout stage', base .. ' knockout phase', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p 2xgsqbfv3rk0qludmfmfsvhax7hzt39 860728 860727 2026-06-30T20:30:00Z Enkhsaihan2005 64429 860728 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances(getContent(base .. '-ий ' .. v, currentTitle, seen, contentCache), currentTitle, seen, contentCache) end end end end end total = total + sumAttendances(getContentFallback(base .. ' knockout stage', base .. ' knockout phase', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p mv2vtrdp9wpi0h0jgc7bdazlhvu1nhl 860729 860728 2026-06-30T20:32:14Z Enkhsaihan2005 64429 860729 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances( getContent(base .. '-ий ' .. v .. ' хэсэг', currentTitle, seen, contentCache), currentTitle, seen, contentCache ) end end end end end total = total + sumAttendances(getContentFallback(base .. ' knockout stage', base .. ' knockout phase', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p to9musauuzjvly563it7pn7cc6iwkjj 860730 860729 2026-06-30T20:33:12Z Enkhsaihan2005 64429 860730 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances(getContent(base .. '-ий ' .. v .. ' хэсэг', currentTitle, seen, contentCache),currentTitle,seen,contentCache) end end end end end total = total + sumAttendances(getContentFallback(base .. ' knockout stage', base .. ' knockout phase', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p n4ts00ehnron493tojmqn6h8dzotu8x 860731 860730 2026-06-30T22:53:51Z Enkhsaihan2005 64429 860731 Scribunto text/plain local p = {} local function expandRange(str) if not str or str == '' then return nil end str = mw.text.trim(str) local s, e = str:match('^(.-)%-(.+)$') if not s then s, e = str, str end s, e = mw.text.trim(s), mw.text.trim(e) local sn, en = tonumber(s), tonumber(e) if sn and en then if sn > en then return nil end local r = {} for i = sn, en do r[#r + 1] = tostring(i) end return r end if #s == 1 and #e == 1 then local sb, eb = s:byte(), e:byte() if sb > eb then return nil end if (sb >= 65 and sb <= 90 and eb >= 65 and eb <= 90) or (sb >= 97 and sb <= 122 and eb >= 97 and eb <= 122) then local r = {} for b = sb, eb do r[#r + 1] = string.char(b) end return r end end return nil end local groupAliases = { y='group stage', yes='group stage', league='league phase', lp='league phase', leaguephase='league phase', ls='league stage', leaguestage='league stage', } local function resolveRedirect(content) if not content then return nil end local target = content:match('^%s*#[Rr][Ee][Dd][Ii][Rr][Ee][Cc][Tt]%s*%[%[%s*(.-)%s*[%]|]') return target end local function getContent(title, currentTitle, seen, contentCache) local t = mw.title.new(title) if not t then return nil end local key = t.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end local content = t:getContent() if not content then return nil end local redir = resolveRedirect(content) if redir then local rt = mw.title.new(redir) if not rt then return nil end if rt.prefixedText == currentTitle then return nil end key = rt.prefixedText if contentCache[key] then return contentCache[key] end if seen[key] then return nil end content = rt:getContent() if not content then return nil end end seen[key] = true contentCache[key] = content return content end local function getContentFallback(title1, title2, currentTitle, seen, contentCache) local c = getContent(title1, currentTitle, seen, contentCache) if c then return c end return getContent(title2, currentTitle, seen, contentCache) end local function extractSection(wikitext, section) local pattern = '<section%s+begin%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>(.-)<section%s+end%s*=%s*"?' .. mw.text.trim(section):gsub('(%W)', '%%%1') .. '"?%s*/?%s*>' local result = '' for match in wikitext:gmatch(pattern) do result = result .. match end return result end local function isLineupSection(section) local low = mw.text.trim(section):lower() return low == 'lineups' or low == 'line-ups' end local function resolveLst(wikitext, currentTitle, seen, contentCache) return wikitext:gsub('{{%s*#[Ll]st%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*#[Ss]ection%s*:%s*(.-)%s*|%s*(.-)%s*}}', function(article, section) if isLineupSection(section) then return '' end local content = getContent(mw.text.trim(article), currentTitle, seen, contentCache) return content and extractSection(content, section) or '' end):gsub('{{%s*:%s*([^|}]+).-}}', function(title) local content = getContent(mw.text.trim(title), currentTitle, seen, contentCache) return content or '' end) end local function parseAttendance(val) val = val:gsub('<ref[^>]*>.-</ref>', ''):gsub('<ref[^>]*/>', ''):gsub('<ref[^>]*/?>', '') val = val:gsub(',', '') local num = mw.text.trim(val):match('^(%d+)') return num and tonumber(num) or 0 end local function sumAttendances(wikitext, currentTitle, seen, contentCache) if not wikitext then return 0 end wikitext = resolveLst(wikitext, currentTitle, seen, contentCache) local total = 0 local i, len = 1, #wikitext while i <= len - 1 do if wikitext:sub(i, i + 1) == '{{' then local after = wikitext:sub(i + 2) local isFB = after:match('^%s*[Ff]ootball%s+box%s*[|}]') or after:match('^%s*#invoke%s*:%s*[Ff]ootball%s+box%s*|') if isFB then local depth, j = 1, i + 2 while j <= len - 1 and depth > 0 do local two = wikitext:sub(j, j + 1) if two == '{{' then depth = depth + 1; j = j + 2 elseif two == '}}' then depth = depth - 1 if depth == 0 then local val = wikitext:sub(i + 2, j - 1):match('|%s*attendance%s*=%s*([^|}-]*)') if val then total = total + parseAttendance(val) end end j = j + 2 else j = j + 1 end end i = j else i = i + 1 end else i = i + 1 end end return total end function p.main(frame) local args = require('Module:Arguments').getArgs(frame) local currentTitle = mw.title.getCurrentTitle().prefixedText local base = mw.title.getCurrentTitle().text local seen = {} local contentCache = {} local total = 0 for _, param in ipairs({'groups', 'groups2'}) do local raw = args[param] if raw then local alias = groupAliases[mw.text.trim(raw):lower()] if alias then total = total + sumAttendances(getContent(base .. ' ' .. alias, currentTitle, seen, contentCache), currentTitle, seen, contentCache) else local vals = expandRange(raw) if vals then for _, v in ipairs(vals) do total = total + sumAttendances(getContent(base .. '-ий ' .. v .. ' хэсэг', currentTitle, seen, contentCache),currentTitle,seen,contentCache) end end end end end total = total + sumAttendances(getContentFallback(base .. '-ий хасагдах шат', base .. '-ий хасагдах шат', currentTitle, seen, contentCache), currentTitle, seen, contentCache) local n = 1 while args['extra' .. n] do total = total + sumAttendances(getContent(mw.text.trim(args['extra' .. n]), currentTitle, seen, contentCache), currentTitle, seen, contentCache) n = n + 1 end return tostring(total) end return p 36tufy4moyi1z14v4djs9evayjag9ny Файл:2018 FIFA World Cup.svg 6 146966 860724 2026-06-30T20:23:18Z Enkhsaihan2005 64429 860724 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 Загвар:1930 оны хөлбөмбөгийн ДАШТ 10 146967 860735 2026-06-30T23:18:25Z Enkhsaihan2005 64429 Хуудас үүсгэв: "{{Navbox |title = [[1930 оны хөлбөмбөгийн ДАШТ]] |state = {{{state|autocollapse}}} |listclass = hlist |name = 1930 оны хөлбөмбөгийн ДАШТ |group1 = Хэсэг |list1 = * Хэсгийн шат ** [[1930 оны хөлбөмбөгийн ДАШТ-ий 1 хэсэг|1 хэсэг]] ** [[1930 оны хөлбөмбөгийн ДАШТ-ий 2 хэсэг|2 хэсэг]] ** 1930 оны хөлбөмбөгийн ДАШТ-ий 3 хэсэг|..." 860735 wikitext text/x-wiki {{Navbox |title = [[1930 оны хөлбөмбөгийн ДАШТ]] |state = {{{state|autocollapse}}} |listclass = hlist |name = 1930 оны хөлбөмбөгийн ДАШТ |group1 = Хэсэг |list1 = * Хэсгийн шат ** [[1930 оны хөлбөмбөгийн ДАШТ-ий 1 хэсэг|1 хэсэг]] ** [[1930 оны хөлбөмбөгийн ДАШТ-ий 2 хэсэг|2 хэсэг]] ** [[1930 оны хөлбөмбөгийн ДАШТ-ий 3 хэсэг|3 хэсэг]] ** [[1930 оны хөлбөмбөгийн ДАШТ-ий 4 хэсэг|4 хэсэг]] * [[1930 оны хөлбөмбөгийн ДАШТ-ий хасагдах шат|Хасагдах шат]] * [[1930 оны хөлбөмбөгийн ДАШТ-ий шигшээ тоглолт|Шигшээ тоглолт]] |group2 = Ерөнхий мэдээлэл |list2 = * [[1930 оны хөлбөмбөгийн ДАШТ-ий багууд|Багууд]] }} <noinclude> {{collapsible option}} {{FIFA World Cup template}} [[Category:1930 FIFA World Cup templates]] </noinclude> 32ckqckfmhcktltriuode6myaklg6ii Module:Football box 828 146968 860736 2026-06-30T23:28:19Z Enkhsaihan2005 64429 Хуудас үүсгэв: "-- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet..." 860736 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Attendance:' local referee = 'Referee:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'report' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['report'] or '', 'Report')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p 5rru15d7ednj1p74jqhl7tigsuwkp7i 860760 860736 2026-07-01T02:44:53Z Enkhsaihan2005 64429 860760 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Үзэгчдийн тоо:' local referee = 'Шүүгч:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'report' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['report'] or '', 'Report')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p pg4ugg4f1gl09i088dd4pqae2i36ac0 860764 860760 2026-07-01T03:14:50Z Enkhsaihan2005 64429 860764 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Үзэгчдийн тоо:' local referee = 'Шүүгч:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'report' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['report'] or '', 'Тайлан')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p 2de5qin2zubsdnizce3i9bvk70povzj 860765 860764 2026-07-01T03:15:08Z Enkhsaihan2005 64429 860765 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Үзэгчдийн тоо:' local referee = 'Шүүгч:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'тайлан' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['тайлан'] or '', 'Тайлан')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p 19qw0s720heuq3n5dz27li3fs2absde 860766 860765 2026-07-01T03:15:25Z Enkhsaihan2005 64429 [[Special:Contributions/Enkhsaihan2005|Enkhsaihan2005]] ([[User talk:Enkhsaihan2005|Яриа]]) хэрэглэгчийн [[Special:Diff/860765|860765]] засварыг цуцлах 860766 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Үзэгчдийн тоо:' local referee = 'Шүүгч:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'report' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['report'] or '', 'Тайлан')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p 2de5qin2zubsdnizce3i9bvk70povzj 860767 860766 2026-07-01T03:15:45Z Enkhsaihan2005 64429 860767 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Үзэгчдийн тоо:' local referee = 'Шүүгч:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'report' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['тайлан'] or '', 'Тайлан')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p ridpq2ne8om9cuw54l7bdgzh0evw02x 860768 860767 2026-07-01T03:16:01Z Enkhsaihan2005 64429 [[Special:Contributions/Enkhsaihan2005|Enkhsaihan2005]] ([[User talk:Enkhsaihan2005|Яриа]]) хэрэглэгчийн [[Special:Diff/860767|860767]] засварыг цуцлах 860768 Scribunto text/plain -- Implements [[Template:Football box]] local p = {} local lang = nil local delink = require('Module:Delink')._delink local fbevent = require('Module:Football event') local eventschema = "http://schema.org/SportsEvent" local teamschema = "http://schema.org/SportsTeam" local placeschema = "http://schema.org/Place" local penalties = '[[Penalty shoot-out (association football)|Penalties]]' local aet = '[[Overtime (sports)#Association football|a.e.t.]]' local asdet = '[[Sudden death (sport)#Association football|a.s.d.e.t.]]' local agget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Golden goal#Association football|g.g.]]' local asget = '[[Overtime (sports)#Association football|a.e.t.]]/[[Silver goal|s.g.]]' local attendance = 'Үзэгчдийн тоо:' local referee = 'Шүүгч:' local templatestyles = 'Module:Football box/styles.css' local autogencat = '[[Category:Pages using football box with auto-generated icons]]' local tracking, preview local function checkarg(k,v) if not k or type(k) ~= 'string' then return end if k == 'assistantreferees2' then table.insert(tracking, '[[Category:Pages using football box with assistantreferees|2]]') elseif k == 'aggregatescore' or k == 'assistantreferees' or k == 'fourthofficial' or k == 'game' or k == 'motm' or k == 'nobars' or k == 'note' or k == 'result' then -- valid and tracked table.insert(tracking, '[[Category:Pages using football box with ' .. k .. ']]') elseif k == 'size' or k == 'bg' or k == 'id' or k == 'event' or k == 'date' or k == 'time' or k == 'round' or k == 'team1' or k == 'team2' or k == 'score1' or k == 'score2' or k == 'score' or k == 'scorenote' or k == 'aet' or k == 'asdet' or k == 'agget' or k == 'asget' or k == 'goals1' or k == 'report' or k == 'goals2' or k == 'penaltyscore' or k == 'penalties1' or k == 'penalties2' or k == 'stadium' or k == 'location' or k == 'attendance' or k == 'referee' or k == 'stack' or k == 'section' or k == 'transcludesection' then -- valid and not tracked else -- invalid local vlen = mw.ustring.len(k) k = mw.ustring.sub(k, 1, (vlen < 25) and vlen or 25) k = mw.ustring.gsub(k, '[^%w%-_ ]', '?') table.insert(tracking, '[[Category:Pages using football box with unknown parameters|' .. k .. ']]') table.insert(preview, '"' .. k .. '"') end end local function timestamp(d, t) if not d then return nil end lang = lang or mw.language.getContentLanguage() -- lazy initialize local success, timestamp = pcall(lang.formatDate, lang, 'c', delink({d .. ' ' .. (t or '')})) if success then return timestamp else return nil end end local function isLegacy(s) local l = mw.ustring.lower(s) return mw.ustring.find(l, '%[%[%s*file%s*:') ~= nil or mw.ustring.find(l, '%[%[%s*image%s*:') ~= nil end local function isScoreList(s) return mw.ustring.find(s, '%d%s*[%-‐‑‒–—―−]%s*%d') ~= nil end local function fmtlist(s) s = mw.ustring.gsub(s or '', '%[%[ *([%?-]) *%]%]', '%1') s = mw.ustring.gsub(s, '%[%[ *[%?-] *| *(.-) *%]%]', '%1') if mw.ustring.sub(s, 1, 1) == '*' then -- could also expand plainlist here return mw.getCurrentFrame():extensionTag{ name = 'templatestyles', args = { src = 'Plainlist/styles.css' } } .. tostring( mw.html.create('div'):addClass('plainlist'):newline():wikitext(s)) end return s end local function makelink(s,t) if s:match('^[Hh][Tt][Tt][Pp][Ss]?:[^ ]*$') then return '[' .. s .. ' ' .. t .. ']' end return s end local function trim(s) return s:match('^[\'"%s]*(.-)[\'"%s]*$') end local function getid(s) s = trim(s or '') if s and s ~= '' then return s end return nil end local function makeanchor(s) s = mw.ustring.gsub(s, '<[Ss][Uu][Pp].-</[Ss][Uu][Pp]>', '') s = mw.ustring.gsub(s, "</?%w+[^>]*>", "") s = mw.ustring.gsub(s, '\127[^\127]*UNIQ%-%-[^\127]*%-%x+%-QINU[^\127]*\127', '') s = mw.ustring.gsub(s, "%[%[[Ff][Ii][Ll][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, "%[%[[Ii][Mm][Aa][Gg][Ee]:[^%[%]]*%]%]", "") s = mw.ustring.gsub(s, '%[%[[^%[%]%|]*%|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%s*&nbsp;%s*', ' ') s = mw.ustring.gsub(s, '%s%s*', ' ') return s end local function checkTitle() local pageTitle = mw.title.getCurrentTitle().text local titlePhrases = { "group stage", "knockout stage", "knockout phase", "final phase", "league phase", "club world cup", "round", "league stage", "qualifying", "qualification", "play%-off", "nations league [a-d]", "intertoto", "domestic champions path" } for _, phrase in ipairs(titlePhrases) do if mw.ustring.match(mw.ustring.lower(pageTitle), phrase) then return true end end return false end function p.main(frame) -- Exit early if we are using section transclusion for a different section local tsection = frame:getParent().args['transcludesection'] or frame:getParent().args['section'] or '' local bsection = frame.args['section'] or '' if( tsection ~= '' and bsection ~= '' ) then if( tsection ~= bsection ) then return '' end end local args = require('Module:Arguments').getArgs(frame) local id = getid(args['id']) local d = timestamp(args['date'], args['time']) local block tracking, preview = {}, {} for k, v in pairs(args) do if v ~= '' then checkarg(k,v) end end local score = 'v' if args['score1'] or args['score2'] then score = (args['score1'] or '0') .. '&ndash;' .. (args['score2'] or '0') elseif args['score'] and args['score'] ~= '' then score = args['score'] end if args['aet'] then score = score .. ' (' .. aet .. ')' elseif args['asdet'] then score = score .. ' (' .. asdet .. ')' elseif args['agget'] then score = score .. ' (' .. agget .. ')' elseif args['asget'] then score = score .. ' (' .. asget .. ')' end if args['scorenote'] then score = score .. '<br>' .. args['scorenote'] end -- Auto-format the goal / penalty fields via [[Module:Football event]] local fbfields = {} for _, key in ipairs({'goals1', 'goals2', 'penalties1', 'penalties2'}) do if args[key] and args[key] ~= '' and not isLegacy(args[key]) and not isScoreList(args[key]) then fbfields[key] = args[key] end end local fmt = next(fbfields) and fbevent.formatBox(fbfields) or {} local goals1 = fmt.goals1 or args['goals1'] local goals2 = fmt.goals2 or args['goals2'] local penalties1 = fmt.penalties1 or args['penalties1'] local penalties2 = fmt.penalties2 or args['penalties2'] -- Generate an anchor if id and id == 'event' and args['event'] then id = makeanchor(args['event']) end if (id and id == 'auto') or (not id and checkTitle()) then id = makeanchor((args['team1'] or 'Team 1') .. ' v ' .. (args['team2'] or 'Team 2')) end -- Start box local root = mw.html.create('div') :attr('itemscope', '') :attr('itemtype', eventschema) :addClass('footballbox') :css('width', args['size']) :css('background-color', args['bg']) :css('color', 'inherit') :attr('id', id) root:newline() if args['event'] then root:tag('div') :addClass('ftitle') :wikitext(args['event']) end -- Start left block block = root:tag('div') :addClass('fleft') local timetag = block:tag('time') :attr('itemprop', d and 'startDate' or nil) :attr('datetime', d) timetag:tag('div') :addClass('fdate') :wikitext(args['date']) if args['time'] then timetag:tag('div') :addClass('ftime') :wikitext(args['time']) end if args['round'] then block:tag('div') :addClass('frnd') :wikitext(args['round']) end -- End block -- Start table local rtable = root:tag('table') :addClass('fevent') local row = rtable:tag('tr') :attr('itemprop', 'name') row:newline() row:tag('th') :addClass('fhome') :attr('itemprop', 'homeTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team1']) row:tag('th') :addClass('fscore') :wikitext(score) row:tag('th') :addClass('faway') :attr('itemprop', 'awayTeam') :attr('itemscope', '') :attr('itemtype', teamschema) :tag('span') :attr('itemprop', 'name') :wikitext(args['team2']) row = rtable:tag('tr') :addClass('fgoals') :newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(goals1)) row:newline() row:tag('td') :wikitext(makelink(args['report'] or '', 'Тайлан')) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(goals2)) row:newline() if args['penaltyscore'] then rtable :tag('tr') :tag('th') :attr('colspan', 3) :wikitext(penalties) row = rtable:tag('tr') :addClass('fgoals') row:newline() row:tag('td') :addClass('fhgoal') :wikitext(fmtlist(penalties1)) row:newline() row:tag('th') :wikitext(args['penaltyscore']) row:newline() row:tag('td') :addClass('fagoal') :wikitext(fmtlist(penalties2)) row:newline() end -- End table -- Start right block block = root:tag('div') :addClass('fright') if args['stadium'] then local sdiv = block:tag('div') :attr('itemprop', 'location') :attr('itemscope', '') :attr('itemtype', placeschema) if args['location'] then sdiv:tag('span') :attr('itemprop', 'name') :wikitext(args['stadium']) sdiv:wikitext(', ') sdiv:tag('span') :attr('itemprop', 'address') :wikitext(args['location']) else sdiv:tag('span') :attr('itemprop', 'name address') :wikitext(args['stadium']) end end if args['attendance'] then block:tag('div'):wikitext(attendance ..' ' .. args['attendance']) end if args['referee'] then block:tag('div'):wikitext(referee .. ' ' .. args['referee']) end local trackstr = (#tracking > 0) and table.concat(tracking, '') or '' if #preview > 0 then trackstr = require('Module:If preview')._warning({ 'Unknown parameters ' .. table.concat(preview, '; ') .. '.' }) .. trackstr end if fmt.auto then trackstr = trackstr .. autogencat end return frame:extensionTag{ name = 'templatestyles', args = { src = templatestyles} } .. tostring(root) .. trackstr end return p 2de5qin2zubsdnizce3i9bvk70povzj Module:Football event 828 146969 860737 2026-06-30T23:28:52Z Enkhsaihan2005 64429 Хуудас үүсгэв: "-- Module:Football event -- Implements the association-football match-event icon templates and provides the -- goal / penalty auto-formatting for [[Module:Football box]]. -- -- Template entry points: -- {{#invoke:Football event|goal}} {{#invoke:Football event|goldengoal}} -- {{#invoke:Football event|yellow}} / yel {{#invoke:Football event|sentoff}} -- {{#invoke:Football event|subon}} {{#invoke:Football event|suboff}} -- Module entry point (ca..." 860737 Scribunto text/plain -- Module:Football event -- Implements the association-football match-event icon templates and provides the -- goal / penalty auto-formatting for [[Module:Football box]]. -- -- Template entry points: -- {{#invoke:Football event|goal}} {{#invoke:Football event|goldengoal}} -- {{#invoke:Football event|yellow}} / yel {{#invoke:Football event|sentoff}} -- {{#invoke:Football event|subon}} {{#invoke:Football event|suboff}} -- Module entry point (called from another module): -- require('Module:Football event').formatBox{ -- goals1 = ..., goals2 = ..., penalties1 = ..., penalties2 = ... } local p = {} -- -------------------------------------------------------------------------- -- shared data -- -------------------------------------------------------------------------- local OG_LINK = '([[Own goal#Association football|o.g.]])' local PEN_LINK = '([[Penalty kick (association football)|pen.]])' local YEL2_CAT = '[[Category:Yellow card template with second parameter]]' local icon = { goal = '[[File:Soccerball shade.svg|13px|Goal|link=|alt=]]', og = '[[File:Soccerball-red with shade.svg|13px|Own goal|link=|alt=red-colored football]]', goldgoal = '[[File:Soccerball shade gold.svg|13px|Golden goal|link=|alt=gold-colored football]]', goldog = '[[File:Soccerball-red with gold shade.svg|13px|Golden own goal|link=|alt=gold and red-colored football]]', pengoal = '[[File:Soccerball shad check.svg|13px|Penalty scored|link=|alt=football with check mark]]', penmiss = '[[File:Soccerball shade cross.svg|13px|Penalty missed|link=|alt=football with red X]]', } -- own-goal / penalty shorthand -> canonical modifier (lookup key is lower-cased) local modMap = { ['og'] = 'og', ['o.g.'] = 'og', ['o.g'] = 'og', ['pen'] = 'pen', ['pen.'] = 'pen', ['p'] = 'pen', ['p.'] = 'pen', ['pk'] = 'pen', ['p.k.'] = 'pen', ['p.k'] = 'pen', } -- penalty shoot-out keywords -> scored / missed (lookup key is lower-cased) local penKW = {} for _, w in ipairs({ 'goal', 'pengoal', 'score', 'scored' }) do penKW[w] = 'goal' end for _, w in ipairs({ 'miss', 'penmiss', 'missed', 'saved' }) do penKW[w] = 'miss' end -- stage abbreviations for the card templates: key -> {display, title} local STAGES = { PRE = { 'PRE', 'Pre-match' }, HT = { 'HT', 'Half-time' }, AWET = { 'AWET', 'Awaiting extra time' }, HTET = { 'HTET', 'Half-time in extra time' }, PSO = { 'PSO', 'Penalty shoot-out' }, PK = { 'PSO', 'Penalty shoot-out' }, FT = { 'FT', 'After full-time' }, } -- every apostrophe / prime variant local APOS = "[`'´ʹʼˈ‘’′]" -- -------------------------------------------------------------------------- -- small helpers -- -------------------------------------------------------------------------- local function notBlank(v) return v ~= nil and mw.text.trim(v) ~= '' end local function inMain() return mw.title.getCurrentTitle().namespace == 0 end local function abbr(text, title) return '<abbr title="' .. title .. '">' .. text .. '</abbr>' end local function normApo(s) return (mw.ustring.gsub(s, APOS, "'")) end local function delink(s) s = mw.ustring.gsub(s, '%[%[[^%[%]|]*|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') return s end -- Format a minute and append the minute mark. Stoppage time: an apostrophe -- typed before a "+" is dropped and the mark moved to the very end, with any -- spaces around the "+" tidied away ("90' + 7" -> "90+7'"). local function fmtMin(s) s = normApo(mw.text.trim(s)) s = mw.ustring.gsub(s, "'%s*(%+)", '%1') -- apostrophe before "+" s = mw.ustring.gsub(s, "[%s']*$", '') -- trailing spaces / apostrophes s = mw.ustring.gsub(s, '%s*%+%s*', '+') -- tidy spaces around "+" return s .. "'" end -- True when, after removing apostrophes / spaces, the value is only digits and -- an optional "+" (i.e. a bare minute such as "45", "90+9", "90' + 7"). Used to -- recover minutes that mis-keyed pipes pushed into an annotation slot. local function isMinuteToken(v) local t = mw.ustring.gsub(normApo(v), "[%s']", '') return mw.ustring.match(t, '^%d+%+?%d*$') ~= nil end -- card time / stage label. -- mode == 'plain' -> always a minute -- mode == 'pso' -> only PSO/PK/FT recognised (post-reset periods) -- default -> full stage list, otherwise a minute local function stageLabel(v, mode) if mode == 'plain' then return fmtMin(v) end local up = mw.ustring.upper(mw.text.trim(v)) if mode == 'pso' then if up == 'PSO' or up == 'PK' then return abbr('PSO', 'Penalty shoot-out') end if up == 'FT' then return abbr('FT', 'After full-time') end return '' end local s = STAGES[up] if s then return abbr(s[1], s[2]) end return fmtMin(v) end -- card icons (variable tooltip) local function img(file, px, alt, tt) return '[[File:' .. file .. '|' .. px .. 'px|alt=' .. alt .. '|' .. tt .. '|link=]]' end local function yc(tt) return img('Yellow card.svg', 10, 'Yellow card', tt) end local function rc(tt) return img('Red card.svg', 10, 'Red card', tt) end local function yrc(tt) return img('Yellow-red card.svg', 12, 'Yellow-red card', tt) end local function timed(ic, v, mode) if notBlank(v) then return ic .. '&nbsp;' .. stageLabel(v, mode) end return ic end -- -------------------------------------------------------------------------- -- goal rendering (shared by {{goal}}, {{golden goal}} and the box feature) -- -------------------------------------------------------------------------- local function goalIcon(golden, og) if golden then return og and icon.goldog or icon.goldgoal end return og and icon.og or icon.goal end -- "<span><minute>[&nbsp;<annotation>]</span>" local function goalSpan(minute, ann) local s, hasMin = '<span>', notBlank(minute) if hasMin then s = s .. fmtMin(minute) end if ann then if hasMin then s = s .. '&nbsp;' end s = s .. ann end return s .. '</span>' end -- raw annotation -> og flag, annotation text local function goalAnnot(a) local m = modMap[mw.ustring.lower(mw.text.trim(delink(a)))] if m == 'og' then return true, nil end if m == 'pen' then return false, PEN_LINK end return false, '(' .. a .. ')' end -- Try to read a single positional token as a goal entry: either a bare minute -- ("33", "90+9") or a minute followed by a RECOGNISED modifier, with optional -- parentheses ("33 pen", "90+9 o.g.", "45 (pen.)"). Returns nil for anything -- else (bare modifiers like "pen", or custom text), so those stay annotations -- rather than being mistaken for minutes. local function asMinuteEntry(v) if isMinuteToken(v) then return { minute = v, golden = false, og = false, ann = nil } end local minPart, modPart = mw.ustring.match(normApo(mw.text.trim(v)), '^([%d%+%s]-%d)%s*%(?%s*([%a%.]+)%s*%)?$') if minPart and isMinuteToken(minPart) then local m = modMap[mw.ustring.lower(modPart)] if m then return { minute = minPart, golden = false, og = (m == 'og'), ann = (m == 'pen') and PEN_LINK or nil } end end return nil end -- Render a player's goal cluster from a list of entries: -- entry = { minute = raw, golden = bool, og = bool, ann = text|nil } local function renderGoals(entries) local hasOG = false for _, e in ipairs(entries) do if e.og then hasOG = true break end end if hasOG then for _, e in ipairs(entries) do if not e.golden then e.og, e.ann = true, nil end end end local parts, lastG = {}, nil for i, e in ipairs(entries) do local ann = e.ann if e.og then local last = true for j = i + 1, #entries do if entries[j].golden == e.golden and entries[j].og then last = false break end end ann = last and OG_LINK or nil end local span = goalSpan(e.minute, ann) if e.golden ~= lastG then parts[#parts + 1] = goalIcon(e.golden, e.og) .. '&#32;' .. span lastG = e.golden else parts[#parts + 1] = span end end return table.concat(parts, ', ') end -- -------------------------------------------------------------------------- -- free-text parsing for the box feature -- -------------------------------------------------------------------------- local function splitLines(s) s = mw.ustring.gsub(s, '<[Bb][Rr]%s*/?%s*>', '\n') local out = {} for _, l in ipairs(mw.text.split(s, '\n')) do l = mw.text.trim((mw.ustring.gsub(l, '^%s*%*%s*', ''))) if l ~= '' then out[#out + 1] = l end end return out end local goldenPrefix = { 'golden%s+', 'gold%s+', 'g%.g%.%s*', 'gg%s*' } -- player name (linked or unlinked) at the start of a goal line local function extractPlayer(line) if mw.ustring.sub(line, 1, 2) == '[[' then local e = mw.ustring.find(line, '%]%]', 3) if e then return mw.ustring.sub(line, 1, e + 1), mw.text.trim(mw.ustring.sub(line, e + 2)) end end -- unlinked: the name ends at the first digit or standalone golden keyword local pos = mw.ustring.find(line, '%d') local lower = mw.ustring.lower(line) for _, pat in ipairs({ '%s(golden)%s', '%s(gold)%s', '%s(gg)%s', '%s(gg)%d', '%s(g%.g%.)' }) do local s = mw.ustring.find(lower, pat) if s and (not pos or s + 1 < pos) then pos = s + 1 break end end if pos and pos > 1 then local name = mw.text.trim(mw.ustring.sub(line, 1, pos - 1)) if mw.ustring.find(name, "[%-‐‑‒–—―−']$") then return line, '' end return name, mw.text.trim(mw.ustring.sub(line, pos)) end return line, '' end -- one comma segment -> goal entry local function parseSegment(seg) seg = mw.text.trim(seg) local golden, lower = false, mw.ustring.lower(seg) for _, gp in ipairs(goldenPrefix) do local s, e = mw.ustring.find(lower, '^' .. gp) if s then golden = true; seg = mw.text.trim(mw.ustring.sub(seg, e + 1)) break end end local minute, rest = mw.ustring.match(seg, "^(%d[%d%s%+']*)(.*)$") if not minute then return nil end -- no leading minute -> not a goal local entry = { minute = mw.text.trim(minute), golden = golden, og = false, ann = nil } local mod = mw.ustring.match(rest, '^%s*%(%s*(.-)%s*%)%s*$') or rest -- "(o.g.)" or "o.g." mod = mw.text.trim(delink(mod)) -- a linked annotation reduces to its text if mod ~= '' then local m = modMap[mw.ustring.lower(mod)] if m == 'og' then entry.og = true elseif m == 'pen' then entry.ann = PEN_LINK else entry.unresolved = true end -- an annotation we do not recognise end return entry end -- a comma-separated run of segments -> list of goal entries local function segmentsToEntries(text) local entries = {} for _, seg in ipairs(mw.text.split(text, ',')) do if mw.text.trim(seg) ~= '' then local e = parseSegment(seg) if not e then return nil end entries[#entries + 1] = e end end return entries end local function joinLines(out, isList) if isList then for i, r in ipairs(out) do out[i] = '*' .. r end return table.concat(out, '\n') end return table.concat(out, '<br>') end -- returns: out (table of lines), isList, autoUsed local function formatGoals(input) input = normApo(input) if mw.ustring.find(input, '[xX×]%d') then return nil end local isList = mw.ustring.match(mw.text.trim(input), '^%*') ~= nil local out = {} for _, line in ipairs(splitLines(input)) do local name, rest = extractPlayer(line) if rest == '' then return nil end local entries = segmentsToEntries(rest) if not entries or #entries == 0 then return nil end for _, e in ipairs(entries) do if e.unresolved then return nil end end out[#out + 1] = name .. ' <span class="fb-goal">' .. renderGoals(entries) .. '</span>' end if #out == 0 then return nil end return out, isList, true end -- returns: out (table of lines), isList, autoUsed local function formatPenalties(input, isTeam2) local isList = mw.ustring.match(mw.text.trim(input), '^%*') ~= nil local out, auto = {}, false for _, line in ipairs(splitLines(input)) do local name, kw local ls, le = mw.ustring.find(line, '%[%[.-%]%]') if ls then name = mw.ustring.sub(line, ls, le) local before = mw.text.trim(mw.ustring.sub(line, 1, ls - 1)) local after = mw.text.trim(mw.ustring.sub(line, le + 1)) kw = penKW[mw.ustring.lower(after)] or penKW[mw.ustring.lower(before)] else local lower = mw.ustring.lower(line) for word, res in pairs(penKW) do if mw.ustring.find(lower, '^' .. word .. '%s+') then kw, name = res, mw.text.trim(mw.ustring.sub(line, #word + 1)) break end local s = mw.ustring.find(lower, '%s+' .. word .. '$') if s then kw, name = res, mw.text.trim(mw.ustring.sub(line, 1, s - 1)) break end end end if name and kw then local ic = kw == 'goal' and icon.pengoal or icon.penmiss out[#out + 1] = isTeam2 and (ic .. ' ' .. name) or (name .. ' ' .. ic) auto = true else out[#out + 1] = line end end return out, isList, auto end -- -------------------------------------------------------------------------- -- argument helpers for the template entry points -- -------------------------------------------------------------------------- local function getArgs(frame) local args = {} local parent = frame:getParent() if parent then for k, v in pairs(parent.args) do args[k] = v end end for k, v in pairs(frame.args) do args[k] = v end -- direct #invoke args win return args end local function maxIndex(args) local m = 0 for k in pairs(args) do local n = tonumber(k) if n and n == math.floor(n) and n > m then m = n end end return m end -- -------------------------------------------------------------------------- -- template entry points -- -------------------------------------------------------------------------- -- {{Goal}} function p.goal(frame) local args = getArgs(frame) local maxn = maxIndex(args) -- gather the non-empty positional values in order local toks, hasComma = {}, false for i = 1, maxn do local v = args[i] if notBlank(v) then toks[#toks + 1] = v if mw.ustring.find(v, ',') then hasComma = true end end end local entries if hasComma then -- free-text dialect (same parser as the box feature) entries = segmentsToEntries(normApo(table.concat(toks, ', '))) or {} else -- pair dialect, tolerant of misplaced pipes entries = {} local current for _, v in ipairs(toks) do local e = asMinuteEntry(v) if e then current = e entries[#entries + 1] = e elseif current and current.ann == nil and not current.og then current.og, current.ann = goalAnnot(v) -- annotate the open minute elseif not current then current = { minute = '', golden = false, og = false, ann = nil } current.og, current.ann = goalAnnot(v) entries[#entries + 1] = current end -- a stray extra annotation after an already-annotated minute is dropped end end local inner = #entries > 0 and renderGoals(entries) or icon.goal return '<span class="fb-goal">' .. inner .. '</span>' end -- {{Golden goal}} function p.goldengoal(frame) local args = getArgs(frame) local m, a = args[1], args[2] local og, ann = false, nil if notBlank(a) then og, ann = goalAnnot(a) end if notBlank(m) or notBlank(a) then return renderGoals({ { minute = m, golden = true, og = og, ann = ann } }) end return goalIcon(true, og) end -- {{Yel}} -- yellow card function p.yellow(frame) local args = getArgs(frame) local t1, t2 = args[1], args[2] local out = yc('Booked') if notBlank(t1) then out = out .. '<span style="vertical-align: middle;">&nbsp;' .. stageLabel(t1) .. '</span>' end local up = notBlank(t2) and mw.ustring.upper(mw.text.trim(t2)) or '' if up == 'PSO' or up == 'PK' or up == 'FT' then out = out .. '&nbsp;' .. yc('Booked immediately before/during/after penalty shoot-out (cards reset)') .. '<span style="vertical-align: middle;">&nbsp;' .. stageLabel(t2, 'pso') .. '</span>' end if inMain() and (notBlank(t2) or notBlank(args[3]) or notBlank(args[4])) then out = out .. YEL2_CAT end return out end -- {{Sent off}} -- param 1 is the number of bookings before dismissal function p.sentoff(frame) local args = getArgs(frame) local mode = mw.text.trim(args[1] or '') local a2, a3, a4 = args[2], args[3], args[4] local body if mode == '1' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(rc('Sent off (straight red)'), a3) elseif mode == '1+1' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(yc('Booked immediately before/during/after penalty shoot-out (cards reset)'), a3, 'pso') .. '&nbsp;' .. timed(rc('Sent off (straight red) immediately before/during/after penalty shoot-out'), a4, 'pso') elseif mode == '2' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(yrc('Sent off (second booking)'), a3) elseif mode == '1+2' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(yc('Booked immediately before/during/after penalty shoot-out (cards reset)'), a3, 'pso') .. '&nbsp;' .. timed(yrc('Sent off (second booking) immediately before/during/after penalty shoot-out'), a4, 'pso') elseif mode == '3' then body = timed(yc('Booked'), a2, 'plain') .. '&nbsp;' .. timed(yc('Booked again'), a3, 'plain') .. '&nbsp;' .. timed(yrc('Sent off (third booking)'), a4, 'plain') else -- 0 / default: straight red body = timed(rc('Sent off (straight red)'), a2) end return '<span style="white-space:nowrap;">' .. body .. '</span>' end -- {{Subon}} function p.subon(frame) local m = getArgs(frame)[1] local out = '[[File:Sub on.svg|10px|Substituted on|link=|alt=upward-facing green arrow]]' if notBlank(m) then out = out .. '&nbsp;<span style="vertical-align: middle;">' .. fmtMin(m) .. '</span>' end return out end -- {{Suboff}} function p.suboff(frame) local args = getArgs(frame) local m = args[1] local out = '[[File:Sub off.svg|10px|Substituted off|link=|alt=downward-facing red arrow]]' if notBlank(m) then out = out .. '&nbsp;<span style="vertical-align: middle;">' .. fmtMin(m) .. '</span>' end if notBlank(args.con) or notBlank(args.concussion) then out = out .. '&nbsp;(' .. abbr('con.', 'Substituted off due to concussion') .. ')' end return out end p.yel = p.yellow -- -------------------------------------------------------------------------- -- module entry point for Module:Football box -- -------------------------------------------------------------------------- -- fields: { goals1, goals2, penalties1, penalties2 } -- Returns a table of formatted fields plus `auto` = true when any icon was generated. function p.formatBox(fields) local res, auto = {}, false local function run(key, fn, ...) local v = fields[key] if v ~= nil and v ~= '' then local out, isList, a = fn(v, ...) if out ~= nil then res[key] = joinLines(out, isList) auto = auto or a end end end run('goals1', formatGoals) run('goals2', formatGoals) run('penalties1', formatPenalties, false) run('penalties2', formatPenalties, true) res.auto = auto return res end return p mx43jclza24klcxhgvkztm9m9bowxuw 860771 860737 2026-07-01T03:25:43Z Enkhsaihan2005 64429 860771 Scribunto text/plain -- Module:Football event -- Implements the association-football match-event icon templates and provides the -- goal / penalty auto-formatting for [[Module:Football box]]. -- -- Template entry points: -- {{#invoke:Football event|goal}} {{#invoke:Football event|goldengoal}} -- {{#invoke:Football event|yellow}} / yel {{#invoke:Football event|sentoff}} -- {{#invoke:Football event|subon}} {{#invoke:Football event|suboff}} -- Module entry point (called from another module): -- require('Module:Football event').formatBox{ -- goals1 = ..., goals2 = ..., penalties1 = ..., penalties2 = ... } local p = {} -- -------------------------------------------------------------------------- -- shared data -- -------------------------------------------------------------------------- local OG_LINK = '([[Авто гоол#Хөлбөмбөг|а.г.]])' local PEN_LINK = '([[Торгуулийн цохилт|т.ц]])' local YEL2_CAT = '[[Category:Yellow card template with second parameter]]' local icon = { goal = '[[File:Soccerball shade.svg|13px|Goal|link=|alt=]]', og = '[[File:Soccerball-red with shade.svg|13px|Own goal|link=|alt=red-colored football]]', goldgoal = '[[File:Soccerball shade gold.svg|13px|Golden goal|link=|alt=gold-colored football]]', goldog = '[[File:Soccerball-red with gold shade.svg|13px|Golden own goal|link=|alt=gold and red-colored football]]', pengoal = '[[File:Soccerball shad check.svg|13px|Penalty scored|link=|alt=football with check mark]]', penmiss = '[[File:Soccerball shade cross.svg|13px|Penalty missed|link=|alt=football with red X]]', } -- own-goal / penalty shorthand -> canonical modifier (lookup key is lower-cased) local modMap = { ['og'] = 'og', ['o.g.'] = 'og', ['o.g'] = 'og', ['pen'] = 'pen', ['pen.'] = 'pen', ['p'] = 'pen', ['p.'] = 'pen', ['pk'] = 'pen', ['p.k.'] = 'pen', ['p.k'] = 'pen', } -- penalty shoot-out keywords -> scored / missed (lookup key is lower-cased) local penKW = {} for _, w in ipairs({ 'goal', 'pengoal', 'score', 'scored' }) do penKW[w] = 'goal' end for _, w in ipairs({ 'miss', 'penmiss', 'missed', 'saved' }) do penKW[w] = 'miss' end -- stage abbreviations for the card templates: key -> {display, title} local STAGES = { PRE = { 'PRE', 'Pre-match' }, HT = { 'HT', 'Half-time' }, AWET = { 'AWET', 'Awaiting extra time' }, HTET = { 'HTET', 'Half-time in extra time' }, PSO = { 'PSO', 'Penalty shoot-out' }, PK = { 'PSO', 'Penalty shoot-out' }, FT = { 'FT', 'After full-time' }, } -- every apostrophe / prime variant local APOS = "[`'´ʹʼˈ‘’′]" -- -------------------------------------------------------------------------- -- small helpers -- -------------------------------------------------------------------------- local function notBlank(v) return v ~= nil and mw.text.trim(v) ~= '' end local function inMain() return mw.title.getCurrentTitle().namespace == 0 end local function abbr(text, title) return '<abbr title="' .. title .. '">' .. text .. '</abbr>' end local function normApo(s) return (mw.ustring.gsub(s, APOS, "'")) end local function delink(s) s = mw.ustring.gsub(s, '%[%[[^%[%]|]*|([^%[%]]*)%]%]', '%1') s = mw.ustring.gsub(s, '%[%[([^%[%]]*)%]%]', '%1') return s end -- Format a minute and append the minute mark. Stoppage time: an apostrophe -- typed before a "+" is dropped and the mark moved to the very end, with any -- spaces around the "+" tidied away ("90' + 7" -> "90+7'"). local function fmtMin(s) s = normApo(mw.text.trim(s)) s = mw.ustring.gsub(s, "'%s*(%+)", '%1') -- apostrophe before "+" s = mw.ustring.gsub(s, "[%s']*$", '') -- trailing spaces / apostrophes s = mw.ustring.gsub(s, '%s*%+%s*', '+') -- tidy spaces around "+" return s .. "'" end -- True when, after removing apostrophes / spaces, the value is only digits and -- an optional "+" (i.e. a bare minute such as "45", "90+9", "90' + 7"). Used to -- recover minutes that mis-keyed pipes pushed into an annotation slot. local function isMinuteToken(v) local t = mw.ustring.gsub(normApo(v), "[%s']", '') return mw.ustring.match(t, '^%d+%+?%d*$') ~= nil end -- card time / stage label. -- mode == 'plain' -> always a minute -- mode == 'pso' -> only PSO/PK/FT recognised (post-reset periods) -- default -> full stage list, otherwise a minute local function stageLabel(v, mode) if mode == 'plain' then return fmtMin(v) end local up = mw.ustring.upper(mw.text.trim(v)) if mode == 'pso' then if up == 'PSO' or up == 'PK' then return abbr('PSO', 'Penalty shoot-out') end if up == 'FT' then return abbr('FT', 'After full-time') end return '' end local s = STAGES[up] if s then return abbr(s[1], s[2]) end return fmtMin(v) end -- card icons (variable tooltip) local function img(file, px, alt, tt) return '[[File:' .. file .. '|' .. px .. 'px|alt=' .. alt .. '|' .. tt .. '|link=]]' end local function yc(tt) return img('Yellow card.svg', 10, 'Yellow card', tt) end local function rc(tt) return img('Red card.svg', 10, 'Red card', tt) end local function yrc(tt) return img('Yellow-red card.svg', 12, 'Yellow-red card', tt) end local function timed(ic, v, mode) if notBlank(v) then return ic .. '&nbsp;' .. stageLabel(v, mode) end return ic end -- -------------------------------------------------------------------------- -- goal rendering (shared by {{goal}}, {{golden goal}} and the box feature) -- -------------------------------------------------------------------------- local function goalIcon(golden, og) if golden then return og and icon.goldog or icon.goldgoal end return og and icon.og or icon.goal end -- "<span><minute>[&nbsp;<annotation>]</span>" local function goalSpan(minute, ann) local s, hasMin = '<span>', notBlank(minute) if hasMin then s = s .. fmtMin(minute) end if ann then if hasMin then s = s .. '&nbsp;' end s = s .. ann end return s .. '</span>' end -- raw annotation -> og flag, annotation text local function goalAnnot(a) local m = modMap[mw.ustring.lower(mw.text.trim(delink(a)))] if m == 'og' then return true, nil end if m == 'pen' then return false, PEN_LINK end return false, '(' .. a .. ')' end -- Try to read a single positional token as a goal entry: either a bare minute -- ("33", "90+9") or a minute followed by a RECOGNISED modifier, with optional -- parentheses ("33 pen", "90+9 o.g.", "45 (pen.)"). Returns nil for anything -- else (bare modifiers like "pen", or custom text), so those stay annotations -- rather than being mistaken for minutes. local function asMinuteEntry(v) if isMinuteToken(v) then return { minute = v, golden = false, og = false, ann = nil } end local minPart, modPart = mw.ustring.match(normApo(mw.text.trim(v)), '^([%d%+%s]-%d)%s*%(?%s*([%a%.]+)%s*%)?$') if minPart and isMinuteToken(minPart) then local m = modMap[mw.ustring.lower(modPart)] if m then return { minute = minPart, golden = false, og = (m == 'og'), ann = (m == 'pen') and PEN_LINK or nil } end end return nil end -- Render a player's goal cluster from a list of entries: -- entry = { minute = raw, golden = bool, og = bool, ann = text|nil } local function renderGoals(entries) local hasOG = false for _, e in ipairs(entries) do if e.og then hasOG = true break end end if hasOG then for _, e in ipairs(entries) do if not e.golden then e.og, e.ann = true, nil end end end local parts, lastG = {}, nil for i, e in ipairs(entries) do local ann = e.ann if e.og then local last = true for j = i + 1, #entries do if entries[j].golden == e.golden and entries[j].og then last = false break end end ann = last and OG_LINK or nil end local span = goalSpan(e.minute, ann) if e.golden ~= lastG then parts[#parts + 1] = goalIcon(e.golden, e.og) .. '&#32;' .. span lastG = e.golden else parts[#parts + 1] = span end end return table.concat(parts, ', ') end -- -------------------------------------------------------------------------- -- free-text parsing for the box feature -- -------------------------------------------------------------------------- local function splitLines(s) s = mw.ustring.gsub(s, '<[Bb][Rr]%s*/?%s*>', '\n') local out = {} for _, l in ipairs(mw.text.split(s, '\n')) do l = mw.text.trim((mw.ustring.gsub(l, '^%s*%*%s*', ''))) if l ~= '' then out[#out + 1] = l end end return out end local goldenPrefix = { 'golden%s+', 'gold%s+', 'g%.g%.%s*', 'gg%s*' } -- player name (linked or unlinked) at the start of a goal line local function extractPlayer(line) if mw.ustring.sub(line, 1, 2) == '[[' then local e = mw.ustring.find(line, '%]%]', 3) if e then return mw.ustring.sub(line, 1, e + 1), mw.text.trim(mw.ustring.sub(line, e + 2)) end end -- unlinked: the name ends at the first digit or standalone golden keyword local pos = mw.ustring.find(line, '%d') local lower = mw.ustring.lower(line) for _, pat in ipairs({ '%s(golden)%s', '%s(gold)%s', '%s(gg)%s', '%s(gg)%d', '%s(g%.g%.)' }) do local s = mw.ustring.find(lower, pat) if s and (not pos or s + 1 < pos) then pos = s + 1 break end end if pos and pos > 1 then local name = mw.text.trim(mw.ustring.sub(line, 1, pos - 1)) if mw.ustring.find(name, "[%-‐‑‒–—―−']$") then return line, '' end return name, mw.text.trim(mw.ustring.sub(line, pos)) end return line, '' end -- one comma segment -> goal entry local function parseSegment(seg) seg = mw.text.trim(seg) local golden, lower = false, mw.ustring.lower(seg) for _, gp in ipairs(goldenPrefix) do local s, e = mw.ustring.find(lower, '^' .. gp) if s then golden = true; seg = mw.text.trim(mw.ustring.sub(seg, e + 1)) break end end local minute, rest = mw.ustring.match(seg, "^(%d[%d%s%+']*)(.*)$") if not minute then return nil end -- no leading minute -> not a goal local entry = { minute = mw.text.trim(minute), golden = golden, og = false, ann = nil } local mod = mw.ustring.match(rest, '^%s*%(%s*(.-)%s*%)%s*$') or rest -- "(o.g.)" or "o.g." mod = mw.text.trim(delink(mod)) -- a linked annotation reduces to its text if mod ~= '' then local m = modMap[mw.ustring.lower(mod)] if m == 'og' then entry.og = true elseif m == 'pen' then entry.ann = PEN_LINK else entry.unresolved = true end -- an annotation we do not recognise end return entry end -- a comma-separated run of segments -> list of goal entries local function segmentsToEntries(text) local entries = {} for _, seg in ipairs(mw.text.split(text, ',')) do if mw.text.trim(seg) ~= '' then local e = parseSegment(seg) if not e then return nil end entries[#entries + 1] = e end end return entries end local function joinLines(out, isList) if isList then for i, r in ipairs(out) do out[i] = '*' .. r end return table.concat(out, '\n') end return table.concat(out, '<br>') end -- returns: out (table of lines), isList, autoUsed local function formatGoals(input) input = normApo(input) if mw.ustring.find(input, '[xX×]%d') then return nil end local isList = mw.ustring.match(mw.text.trim(input), '^%*') ~= nil local out = {} for _, line in ipairs(splitLines(input)) do local name, rest = extractPlayer(line) if rest == '' then return nil end local entries = segmentsToEntries(rest) if not entries or #entries == 0 then return nil end for _, e in ipairs(entries) do if e.unresolved then return nil end end out[#out + 1] = name .. ' <span class="fb-goal">' .. renderGoals(entries) .. '</span>' end if #out == 0 then return nil end return out, isList, true end -- returns: out (table of lines), isList, autoUsed local function formatPenalties(input, isTeam2) local isList = mw.ustring.match(mw.text.trim(input), '^%*') ~= nil local out, auto = {}, false for _, line in ipairs(splitLines(input)) do local name, kw local ls, le = mw.ustring.find(line, '%[%[.-%]%]') if ls then name = mw.ustring.sub(line, ls, le) local before = mw.text.trim(mw.ustring.sub(line, 1, ls - 1)) local after = mw.text.trim(mw.ustring.sub(line, le + 1)) kw = penKW[mw.ustring.lower(after)] or penKW[mw.ustring.lower(before)] else local lower = mw.ustring.lower(line) for word, res in pairs(penKW) do if mw.ustring.find(lower, '^' .. word .. '%s+') then kw, name = res, mw.text.trim(mw.ustring.sub(line, #word + 1)) break end local s = mw.ustring.find(lower, '%s+' .. word .. '$') if s then kw, name = res, mw.text.trim(mw.ustring.sub(line, 1, s - 1)) break end end end if name and kw then local ic = kw == 'goal' and icon.pengoal or icon.penmiss out[#out + 1] = isTeam2 and (ic .. ' ' .. name) or (name .. ' ' .. ic) auto = true else out[#out + 1] = line end end return out, isList, auto end -- -------------------------------------------------------------------------- -- argument helpers for the template entry points -- -------------------------------------------------------------------------- local function getArgs(frame) local args = {} local parent = frame:getParent() if parent then for k, v in pairs(parent.args) do args[k] = v end end for k, v in pairs(frame.args) do args[k] = v end -- direct #invoke args win return args end local function maxIndex(args) local m = 0 for k in pairs(args) do local n = tonumber(k) if n and n == math.floor(n) and n > m then m = n end end return m end -- -------------------------------------------------------------------------- -- template entry points -- -------------------------------------------------------------------------- -- {{Goal}} function p.goal(frame) local args = getArgs(frame) local maxn = maxIndex(args) -- gather the non-empty positional values in order local toks, hasComma = {}, false for i = 1, maxn do local v = args[i] if notBlank(v) then toks[#toks + 1] = v if mw.ustring.find(v, ',') then hasComma = true end end end local entries if hasComma then -- free-text dialect (same parser as the box feature) entries = segmentsToEntries(normApo(table.concat(toks, ', '))) or {} else -- pair dialect, tolerant of misplaced pipes entries = {} local current for _, v in ipairs(toks) do local e = asMinuteEntry(v) if e then current = e entries[#entries + 1] = e elseif current and current.ann == nil and not current.og then current.og, current.ann = goalAnnot(v) -- annotate the open minute elseif not current then current = { minute = '', golden = false, og = false, ann = nil } current.og, current.ann = goalAnnot(v) entries[#entries + 1] = current end -- a stray extra annotation after an already-annotated minute is dropped end end local inner = #entries > 0 and renderGoals(entries) or icon.goal return '<span class="fb-goal">' .. inner .. '</span>' end -- {{Golden goal}} function p.goldengoal(frame) local args = getArgs(frame) local m, a = args[1], args[2] local og, ann = false, nil if notBlank(a) then og, ann = goalAnnot(a) end if notBlank(m) or notBlank(a) then return renderGoals({ { minute = m, golden = true, og = og, ann = ann } }) end return goalIcon(true, og) end -- {{Yel}} -- yellow card function p.yellow(frame) local args = getArgs(frame) local t1, t2 = args[1], args[2] local out = yc('Booked') if notBlank(t1) then out = out .. '<span style="vertical-align: middle;">&nbsp;' .. stageLabel(t1) .. '</span>' end local up = notBlank(t2) and mw.ustring.upper(mw.text.trim(t2)) or '' if up == 'PSO' or up == 'PK' or up == 'FT' then out = out .. '&nbsp;' .. yc('Booked immediately before/during/after penalty shoot-out (cards reset)') .. '<span style="vertical-align: middle;">&nbsp;' .. stageLabel(t2, 'pso') .. '</span>' end if inMain() and (notBlank(t2) or notBlank(args[3]) or notBlank(args[4])) then out = out .. YEL2_CAT end return out end -- {{Sent off}} -- param 1 is the number of bookings before dismissal function p.sentoff(frame) local args = getArgs(frame) local mode = mw.text.trim(args[1] or '') local a2, a3, a4 = args[2], args[3], args[4] local body if mode == '1' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(rc('Sent off (straight red)'), a3) elseif mode == '1+1' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(yc('Booked immediately before/during/after penalty shoot-out (cards reset)'), a3, 'pso') .. '&nbsp;' .. timed(rc('Sent off (straight red) immediately before/during/after penalty shoot-out'), a4, 'pso') elseif mode == '2' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(yrc('Sent off (second booking)'), a3) elseif mode == '1+2' then body = timed(yc('Booked'), a2) .. '&nbsp;' .. timed(yc('Booked immediately before/during/after penalty shoot-out (cards reset)'), a3, 'pso') .. '&nbsp;' .. timed(yrc('Sent off (second booking) immediately before/during/after penalty shoot-out'), a4, 'pso') elseif mode == '3' then body = timed(yc('Booked'), a2, 'plain') .. '&nbsp;' .. timed(yc('Booked again'), a3, 'plain') .. '&nbsp;' .. timed(yrc('Sent off (third booking)'), a4, 'plain') else -- 0 / default: straight red body = timed(rc('Sent off (straight red)'), a2) end return '<span style="white-space:nowrap;">' .. body .. '</span>' end -- {{Subon}} function p.subon(frame) local m = getArgs(frame)[1] local out = '[[File:Sub on.svg|10px|Substituted on|link=|alt=upward-facing green arrow]]' if notBlank(m) then out = out .. '&nbsp;<span style="vertical-align: middle;">' .. fmtMin(m) .. '</span>' end return out end -- {{Suboff}} function p.suboff(frame) local args = getArgs(frame) local m = args[1] local out = '[[File:Sub off.svg|10px|Substituted off|link=|alt=downward-facing red arrow]]' if notBlank(m) then out = out .. '&nbsp;<span style="vertical-align: middle;">' .. fmtMin(m) .. '</span>' end if notBlank(args.con) or notBlank(args.concussion) then out = out .. '&nbsp;(' .. abbr('con.', 'Substituted off due to concussion') .. ')' end return out end p.yel = p.yellow -- -------------------------------------------------------------------------- -- module entry point for Module:Football box -- -------------------------------------------------------------------------- -- fields: { goals1, goals2, penalties1, penalties2 } -- Returns a table of formatted fields plus `auto` = true when any icon was generated. function p.formatBox(fields) local res, auto = {}, false local function run(key, fn, ...) local v = fields[key] if v ~= nil and v ~= '' then local out, isList, a = fn(v, ...) if out ~= nil then res[key] = joinLines(out, isList) auto = auto or a end end end run('goals1', formatGoals) run('goals2', formatGoals) run('penalties1', formatPenalties, false) run('penalties2', formatPenalties, true) res.auto = auto return res end return p 7y9pzrrztixnnn93vzff6094lrr4s4m Module:Football box/styles.css 828 146970 860738 2026-06-30T23:29:23Z Enkhsaihan2005 64429 Хуудас үүсгэв: "/* {{pp-template}} */ .footballbox { clear: both; overflow: auto; } .footballbox tr { vertical-align: top; } .footballbox time { display: block; overflow: auto; } .footballbox .ftitle { text-align: center; font-weight: bold; } .footballbox .fevent { width: 100%; table-layout: fixed; text-align: center; } .footballbox .fevent, .footballbox .fright { margin-bottom: 10px; } .footballbox .fdate, .footballbox .ftime { display: block; } .footballbox..." 860738 sanitized-css text/css /* {{pp-template}} */ .footballbox { clear: both; overflow: auto; } .footballbox tr { vertical-align: top; } .footballbox time { display: block; overflow: auto; } .footballbox .ftitle { text-align: center; font-weight: bold; } .footballbox .fevent { width: 100%; table-layout: fixed; text-align: center; } .footballbox .fevent, .footballbox .fright { margin-bottom: 10px; } .footballbox .fdate, .footballbox .ftime { display: block; } .footballbox .fhome, .footballbox .faway { width: 39%; } .footballbox .fscore { width: 22%; } .footballbox .fgoals { font-size: 85%; } .footballbox .fhome, .footballbox .fhgoal { text-align: right; } .footballbox .faway, .footballbox .fagoal { text-align: left; } @media all and (min-width: 720px) { .footballbox .fdate, .footballbox .ftime, .footballbox .frnd { text-align: right; } .footballbox .fleft, .footballbox .fright { float: left; padding: 2px 0; } .footballbox .fleft { width: 15%; overflow: auto; } .footballbox .fevent { float: left; width: 61%; } .footballbox .fevent, .footballbox .fright { margin-bottom: 0; } .footballbox .fright { font-size: 85%; width: 24%; } } qqbvstmhkm9rfby35pz0xa6g4xt95k2 Загвар:Score link 10 146971 860739 2026-06-30T23:31:23Z Enkhsaihan2005 64429 Хуудас үүсгэв: "{{#if:{{both|{{{1|}}}|{{{2|}}}}} | {{#switch:{{PAGENAME}} |{{{3|}}} |{{{4|}}} |{{{5|}}} |{{{6|}}} |{{{7|}}} |{{PAGENAME:{{{1}}}}} = {{{2}}} |#default = [[{{{1}}}|{{{2}}}]] }} }}<noinclude> {{documentation}} </noinclude>" 860739 wikitext text/x-wiki {{#if:{{both|{{{1|}}}|{{{2|}}}}} | {{#switch:{{PAGENAME}} |{{{3|}}} |{{{4|}}} |{{{5|}}} |{{{6|}}} |{{{7|}}} |{{PAGENAME:{{{1}}}}} = {{{2}}} |#default = [[{{{1}}}|{{{2}}}]] }} }}<noinclude> {{documentation}} </noinclude> leqatdj3nql5sb01ihu8j7kikjd607y Загвар:Multiref 10 146972 860769 2026-07-01T03:16:52Z Enkhsaihan2005 64429 Хуудас үүсгэв: "{{<includeonly>safesubst:</includeonly>#invoke:list|unbulleted|list_style=display:inline-block|style=display:inline-flex;--size:100%; max-width:max(15em, calc(var(--size) - 3.2em));}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude>" 860769 wikitext text/x-wiki {{<includeonly>safesubst:</includeonly>#invoke:list|unbulleted|list_style=display:inline-block|style=display:inline-flex;--size:100%; max-width:max(15em, calc(var(--size) - 3.2em));}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> s6ft38piel09q42j7dm2dkusyz41whj Module:Sports table/styles.css 828 146973 860773 2026-07-01T03:36:36Z Enkhsaihan2005 64429 Хуудас үүсгэв: "/* {{pp|small=y}} */ /* same as reflist base style */ .sports-table-notes { font-size: 90%; margin-bottom: 0.5em; }" 860773 sanitized-css text/css /* {{pp|small=y}} */ /* same as reflist base style */ .sports-table-notes { font-size: 90%; margin-bottom: 0.5em; } oyjjs0ugsu78i63fp0izwe779bm9aql Module:Sports table/argcheck 828 146974 860775 2026-07-01T03:38:12Z Enkhsaihan2005 64429 Хуудас үүсгэв: "local a = {} local categories = { ignored_parameters = 'Category:Pages using sports table with ignored parameters', missing_results = 'Category:Pages using sports table with missing results', missing_teams = 'Category:Pages using sports table with missing teams', orphaned_match_notes = 'Category:Pages using sports table with orphaned match notes', orphaned_names = 'Category:Pages using sports table with orphaned names', orphaned_notes = 'Category:Pages us..." 860775 Scribunto text/plain local a = {} local categories = { ignored_parameters = 'Category:Pages using sports table with ignored parameters', missing_results = 'Category:Pages using sports table with missing results', missing_teams = 'Category:Pages using sports table with missing teams', orphaned_match_notes = 'Category:Pages using sports table with orphaned match notes', orphaned_names = 'Category:Pages using sports table with orphaned names', orphaned_notes = 'Category:Pages using sports table with orphaned notes', orphaned_results = 'Category:Pages using sports table with orphaned results', possible_incorrect_winpoints = 'Category:Pages using sports table with possible incorrect winpoints', possibly_ignored_parameters = 'Category:Pages using sports table with possibly ignored parameters', unknown_parameters = 'Category:Pages using sports table with unknown parameters' } local good_args = { ['away_goals_header'] = 1, ['bonus_header'] = 1, ['class_rules'] = 1, ['draw_header'] = 1, ['drawpoints'] = 1, ['float'] = 1, ['for_against_style'] = 1, ['GB_team'] = 1, ['goalpoints'] = 1, ['group_header'] = 1, ['hide_footer'] = 1, ['hide_for_against_columns'] = 1, ['hide_played'] = 1, ['hide_results'] = 1, ['highest_pos'] = 1, ['legs'] = 1, ['loss_before_draw'] = 1, ['loss_before_tie'] = 1, ['losspoints'] = 1, ['lowest_pos'] = 1, ['matches_style'] = 1, ['matches_text'] = 1, ['match_col_width'] = 1, ['note_header_res'] = 1, ['only_pld_pts'] = 1, ['only_totals'] = 1, ['only_fa_totals'] = 1, ['param1_valid'] = 1, ['pct_style'] = 1, ['pld_header'] = 1, ['postitle'] = 1, ['perc_first'] = 1, ['pts_first'] = 1, ['ranking_style'] = 1, ['res_col_header'] = 1, ['result_prefix'] = 1, ['rwpoints'] = 1, ['rw_header'] = 1, ['section'] = 1, ['short_style'] = 1, ['show_GB'] = 1, ['show_away_goals'] = 1, ['show_bonus_points'] = 1, ['show_class_rules'] = 1, ['show_draw'] = 1, ['show_groups'] = 1, ['show_limit'] = 1, ['show_matches'] = 1, ['show_positions'] = 1, ['show_rw'] = 1, ['show_status'] = 1, ['show_totals'] = 1, ['solid_cell'] = 1, ['sortable_table'] = 1, ['source'] = 1, ['start_date'] = 1, ['stack_footer'] = 1, ['status_order'] = 1, ['status_pos'] = 1, ['style'] = 1, ['table_header'] = 1, ['table_header_source'] = 1, ['team_header'] = 1, ['team_order'] = 1, ['team_order_start'] = 1, ['teamwidth'] = 1, ['title'] = 1, ['title_source'] = 1, ['transcludesection'] = 1, ['update'] = 1, ['use_against_percentage'] = 1, ['use_goal_average'] = 1, ['use_goal_diff'] = 1, ['use_goal_percentage'] = 1, ['use_goal_ratio'] = 1, ['use_goals_scored'] = 1, ['use_point_percentage'] = 1, ['use_goals_per_match'] = 1, ['use_points_per_match'] = 1, ['use_tie'] = 1, ['winpoints'] = 1, } local good_args_HA = { ['ha_side'] = 1, ['hdrawpoints'] = 1, ['adrawpoints'] = 1, ['hlosspoints'] = 1, ['alosspoints'] = 1, ['hwinpoints'] = 1, ['awinpoints'] = 1 } local good_args_PKOT = { ['showOTloss'] = 1, ['showOTwin'] = 1, ['showPKloss'] = 1, ['showSOloss'] = 1, ['showPKwin'] = 1, ['showSOwin'] = 1, ['show_tiebr'] = 1, ['PKlosspoints'] = 1, ['SOlosspoints'] = 1, ['OTlosspoints'] = 1, ['PKwinpoints'] = 1, ['SOwinpoints'] = 1, ['OTwinpoints'] = 1, ['PKloss_after_loss'] = 1, ['SOloss_after_loss'] = 1, ['OTloss_after_loss'] = 1, ['tiebr_header'] = 1, } local good_args_BDT = { ['drawpoints'] = 0, ['game_for_against_style'] = 1, ['point_for_against_style'] = 1 } local good_args_VB = { ['winpoints'] = 0, ['losspoints'] = 0, ['drawpoints'] = 0, ['bwinpoints'] = 1, ['blosspoints'] = 1, ['swinpoints'] = 1, ['slosspoints'] = 1, ['win3points'] = 1, ['loss3points'] = 1, ['win4points'] = 1, ['loss4points'] = 1, ['win5points'] = 1, ['loss5points'] = 1, ['show_sets'] = 1, ['show_setpoints'] = 1, ['setpoints_before_sets'] = 1, ['best_of'] = 1 } local ignored_args = { ['date'] = 1, ['ptsfirst'] = 1 } local col_names = { ['adjust_points'] = 1, ['away_goals'] = 1, ['draw'] = 1, ['loss'] = 1, ['gf'] = 1, ['ga'] = 1, ['group'] = 1, ['pf'] = 1, ['pa'] = 1, ['matches'] = 1, ['pos'] = 1, ['rw'] = 1, ['short'] = 1, ['startpoints'] = 1, ['status'] = 1, ['win'] = 1, } local col_names_HA = { ['draw'] = 0, ['loss'] = 0, ['gf'] = 0, ['ga'] = 0, ['pf'] = 0, ['pa'] = 0, ['rw'] = 0, ['hdraw'] = 1, ['adraw'] = 1, ['hloss'] = 1, ['aloss'] = 1, ['hwin'] = 1, ['awin'] = 1, ['hga'] = 1, ['aga'] = 1, ['hgf'] = 1, ['agf'] = 1, ['hpa'] = 1, ['apa'] = 1, ['hpf'] = 1, ['apf'] = 1, } local col_names_PKOT = { ['PKloss'] = 1, ['SOloss'] = 1, ['OTloss'] = 1, ['PKwin'] = 1, ['SOwin'] = 1, ['OTwin'] = 1, ['tiebr'] = 1 } local col_names_BDT = { ['win'] = 1, ['loss'] = 1, ['mf'] = 1, ['ma'] = 1, ['gf'] = 1, ['ga'] = 1, ['pf'] = 1, ['pa'] = 1 } local col_names_VB = { ['win'] = 0, ['loss'] = 0, ['draw'] = 0, ['bwin'] = 1, ['swin'] = 1, ['bloss'] = 1, ['sloss'] = 1, ['sw'] = 1, ['sl'] = 1, ['spw'] = 1, ['spl'] = 1, ['win3s'] = 1, ['loss3s'] = 1, ['win4s'] = 1, ['loss4s'] = 1, ['win5s'] = 1, ['loss5s'] = 1, } local tracked_styles = { ['football'] = 'WDL', ['WDL'] = 'WDL', ['WL'] = 'WDL', ['WDLHA'] = 'HA', ['WDL OT'] = 'PKOT', ['WLHA'] = 'HA', ['WL OT'] = 'PKOT', ['WL PK'] = 'PKOT', ['WL OTL tiebreak'] = 'PKOT', ['Volleyball'] = 'VB', ['Badminton team'] = 'BDT' } local warn = {} local track = {} local function get_tracking_category(category, value) return '[[' .. category .. '|' .. value .. ']]' end local function validate_table_values(args, category, bad_char, is_track) for _, v in ipairs(args) do v = mw.ustring.gsub(v, bad_char, '?') if v == '' then v = ' ' end if is_track then table.insert(track, get_tracking_category(category, v)) else table.insert(warn, get_tracking_category(category, v)) end end end function a.check(targs, pargs) local teams = {} local missing_teams = {} local results = {} local missing_results = {} local orphaned_match_notes = {} local orphaned_results = {} local orphaned_names = {} local orphaned_notes = {} local ignored = {} local possibly_ignored = {} local unknown = {} local mstyle = mw.ustring.gsub(targs['style'] or '', '[%s_][%s_]*', ' ') mstyle = tracked_styles[mstyle] if mstyle == nil then return warn, track end if mstyle == 'HA' then for k, v in pairs(good_args_HA) do good_args[k] = v ~= 0 and v or nil end for k, v in pairs(col_names_HA) do col_names[k] = v ~= 0 and v or nil end if targs['only_fa_totals'] then col_names['pf'] = 1 col_names['gf'] = 1 col_names['pa'] = 1 col_names['ga'] = 1 end end if mstyle == 'PKOT' then for k, v in pairs(good_args_PKOT) do good_args[k] = v ~= 0 and v or nil end for k, v in pairs(col_names_PKOT) do col_names[k] = v ~= 0 and v or nil end end if mstyle == 'BDT' then for k, v in pairs(good_args_BDT) do good_args[k] = v ~= 0 and v or nil end for k, v in pairs(col_names_BDT) do col_names[k] = v ~= 0 and v or nil end end if mstyle == 'VB' then for k, v in pairs(good_args_VB) do good_args[k] = v ~= 0 and v or nil end for k, v in pairs(col_names_VB) do col_names[k] = v ~= 0 and v or nil end end -- Alternative syntax for team list if targs['team_order'] and targs['team_order'] ~= '' then local tlist = mw.text.split(targs['team_order'], '%s*[;,]%s*') for k, tname in ipairs(tlist) do if tname ~= '' then targs['team' .. k] = tname end end end -- Limited tracking if we are only showing part of the table if targs['showteam'] or targs['team'] then local top_pos = tonumber(targs['highest_pos']) or 1 local bottom_pos = tonumber(targs['lowest_pos']) or 0 local N = top_pos - 1 while targs['team' .. N + 1] ~= nil and (bottom_pos < top_pos or N < bottom_pos) do N = N + 1 teams[targs['team' .. N]] = 1 if teams[targs['showteam'] or targs['team']] then return warn, track end end end -- Step 1: Generate a team and result list for k,v in pairs(targs) do if type(k) == 'string' then if k:find('^team%d%d*$') then teams[v] = 1 targs[k] = '' if targs['name_' .. v] then -- Great! targs['name_' .. v] = '' else table.insert(missing_teams, v) end if targs['note_' .. v] then targs['note_' .. v] = '' end if targs['hth_' .. v] then local multiref = 1 local hth_local_table = mw.text.split(targs['hth_' .. v], '%s*,%s*') if (#hth_local_table > 1) then for _, hth_loc in ipairs(hth_local_table) do multiref = multiref * (targs['hth_' .. hth_loc] and 1 or 0) end else multiref = 0 end if multiref > 0 then for _, hth_loc in ipairs(hth_local_table) do targs['hth_' .. hth_loc] = '' end elseif targs['hth_' .. targs['hth_' .. v]] then targs['hth_' .. targs['hth_' .. v]] = '' end targs['hth_' .. v] = '' end elseif k:find('^result%d%d*$') or k:find('^.*_result%d%d*$') then local pre = mw.ustring.gsub(k, '^(.*)result%d%d*$', '%1') results[v] = 1 targs[k] = '' if targs[pre .. 'col_' .. v] or targs[pre .. 'text_' .. v] or targs[pre .. 'note_res_' .. v] then -- Great! if targs[pre .. 'col_' .. v] then targs[pre .. 'col_' .. v] = '' end if targs[pre .. 'text_' .. v] then targs[pre .. 'text_' .. v] = '' end if targs[pre .. 'note_res_' .. v] then local multiref = 1 local note_res_local_table = mw.text.split(targs[pre .. 'note_res_' .. v], '%s*,%s*') if (#note_res_local_table > 1) then for _, note_res_loc in ipairs(note_res_local_table) do multiref = multiref * (targs[pre .. 'note_res_' .. note_res_loc] and 1 or 0) end else multiref = 0 end if multiref > 0 then for _, note_res_loc in ipairs(note_res_local_table) do targs[pre .. 'note_res_' .. note_res_loc] = '' end elseif targs[pre .. 'note_res_' .. targs[pre .. 'note_res_' .. v]] then targs[pre .. 'note_res_' .. targs[pre .. 'note_res_' .. v]] = '' end targs[pre .. 'note_res_' .. v] = '' end if targs[pre .. 'res_col_header'] then targs[pre .. 'res_col_header'] = '' end else table.insert(missing_results, v) end elseif k:find('^match[%d]*_.*_.*_note$') then local m = mw.ustring.gsub(k, '^(match[%d]*_.*_.*)_note$', '%1') targs[k] = '' if targs[m] then if targs['note_' .. v] then targs['note_' .. v] = '' end -- Great! else table.insert(orphaned_match_notes, m) end end end end local possible_missing_winpoints = 0 for k,v in pairs(targs) do if v and v ~= '' then local found_arg = 0 if type(k) == 'string' then if k:find('^adjust_points_') then local p = mw.ustring.gsub(k, '^adjust_points_', '') if (tonumber(v) or 0) ~= 0 then local pdiff = (tonumber(targs['win_' .. p] or 0) or 0) + tonumber(v) if pdiff == 0 then possible_missing_winpoints = possible_missing_winpoints + 1 else possible_missing_winpoints = possible_missing_winpoints - 1 end end end if found_arg == 0 and (good_args[k] or k:find('^split[%d][%d]*$')) then -- Great! found_arg = 1 end if found_arg == 0 and (k == 'showteam' or k == 'team') then -- Great! found_arg = 1 if teams[v] ~= 1 then table.insert(missing_teams, v) end end if found_arg == 0 and (ignored_args[k] or k:find('^att_')) then found_arg = 1 table.insert(ignored, k) end if found_arg == 0 and k:find('^[A-Za-z3-5]*_.*$') then local p = mw.ustring.gsub(k, '^([A-Za-z3-5]*)_.*$', '%1') if col_names[p] then -- Great! found_arg = 1 end end if found_arg == 0 and k:find('^[A-Za-z]*_[A-Za-z]*_.*$') then local p = mw.ustring.gsub(k, '^([A-Za-z]*_[A-Za-z]*)_.*$', '%1') if col_names[p] then -- Great! found_arg = 1 end end if found_arg == 0 and k:find('^match[%d]*_.*_.*$') then local t1 = mw.ustring.gsub(k, '^match[%d]*_(.*)_(.*)$', '%1') local t2 = mw.ustring.gsub(k, '^match[%d]*_(.*)_(.*)$', '%2') found_arg = 1 if teams[t1] == nil or teams[t2] == nil then if teams[t1] == nil then table.insert(missing_teams, t1) end if teams[t2] == nil then table.insert(missing_teams, t2) end end end if found_arg == 0 and k:find('^result_.*_.*$') then local t1 = mw.ustring.gsub(k, '^result[%d]*_(.*)_(.*)$', '%1') local t2 = mw.ustring.gsub(k, '^result[%d]*_(.*)_(.*)$', '%2') found_arg = 1 if teams[t1] == nil or teams[t2] == nil then if teams[t1] == nil then table.insert(missing_teams, t1) end if teams[t2] == nil then table.insert(missing_teams, t2) end end end if found_arg == 0 and (k:find('^name_') or k:find('^short_')) then found_arg = 1 table.insert(orphaned_names, k) end if found_arg == 0 and (k:find('^note_') or k:find('^hth_')) then found_arg = 1 if (k == 'hth_ABC' and v == 'H2H note') then table.insert(warn, get_tracking_category(categories.ignored_parameters , 'hth_ABC')) elseif (k == 'note_ABC' and v == 'Team note') then table.insert(warn, get_tracking_category(categories.ignored_parameters , 'note_ABC')) elseif (k == 'note_res_AAA' and v == 'Result note') then table.insert(warn, get_tracking_category(categories.ignored_parameters , 'note_res_AAA')) else table.insert(orphaned_notes, k) end end if found_arg == 0 and (k:find('^col_') or k:find('^text_')) then found_arg = 1 table.insert(orphaned_results, k) end end if found_arg == 0 and targs['param1_valid'] and tonumber(k) == 1 then found_arg = 1 end if found_arg == 0 then if pargs[k] and pargs[k] ~= '' then if tonumber(k) then k = k .. ' = ' .. v end table.insert(possibly_ignored, k) else if tonumber(k) then k = k .. ' = ' .. v end table.insert(unknown, k) end end end end local bad_char = '[^A-Za-z0-9_%(%)%- ]' validate_table_values(unknown, categories.unknown_parameters, bad_char, false) validate_table_values(missing_teams, categories.missing_teams, bad_char, false) validate_table_values(missing_results, categories.missing_results, bad_char, false) validate_table_values(orphaned_results, categories.orphaned_results, bad_char, false) validate_table_values(orphaned_names, categories.orphaned_names, '[^A-Za-z0-9_ ]', false) validate_table_values(orphaned_notes, categories.orphaned_notes, bad_char, false) validate_table_values(orphaned_match_notes, categories.orphaned_match_notes, bad_char, false) validate_table_values(ignored, categories.ignored_parameters, bad_char, false) validate_table_values(possibly_ignored, categories.possibly_ignored_parameters, bad_char, true) if possible_missing_winpoints > 1 then table.insert(track, get_tracking_category(categories.possible_incorrect_winpoints, possible_missing_winpoints)) end return warn, track end return a iegiotr07p4o3uvg2e91v5jrka5lm8e Module:Sports table/totalscheck 828 146975 860776 2026-07-01T03:38:45Z Enkhsaihan2005 64429 Хуудас үүсгэв: "local tc = {} function tc.check(Args, team_list, ii_start, ii_end) local warn = {} local wtotal, dtotal, ltotal = 0,0,0 local hwtotal, hdtotal, hltotal = 0,0,0 local awtotal, adtotal, altotal = 0,0,0 local pkwtotal, pkltotal, otwtotal, otltotal = 0,0,0,0 local gftotal, gatotal = 0,0 for ii = ii_start, ii_end do -- First get code local team_code_ii = team_list[ii] if team_code_ii ~= 'SPORTS_TABLE_TOTAL' then -- Now tabulate values wtotal =..." 860776 Scribunto text/plain local tc = {} function tc.check(Args, team_list, ii_start, ii_end) local warn = {} local wtotal, dtotal, ltotal = 0,0,0 local hwtotal, hdtotal, hltotal = 0,0,0 local awtotal, adtotal, altotal = 0,0,0 local pkwtotal, pkltotal, otwtotal, otltotal = 0,0,0,0 local gftotal, gatotal = 0,0 for ii = ii_start, ii_end do -- First get code local team_code_ii = team_list[ii] if team_code_ii ~= 'SPORTS_TABLE_TOTAL' then -- Now tabulate values wtotal = wtotal + (tonumber(Args['win_'..team_code_ii]) or 0) dtotal = dtotal + (tonumber(Args['draw_'..team_code_ii]) or 0) ltotal = ltotal + (tonumber(Args['loss_'..team_code_ii]) or 0) hwtotal = hwtotal + (tonumber(Args['hwin_'..team_code_ii]) or 0) hdtotal = hdtotal + (tonumber(Args['hdraw_'..team_code_ii]) or 0) hltotal = hltotal + (tonumber(Args['hloss_'..team_code_ii]) or 0) awtotal = awtotal + (tonumber(Args['awin_'..team_code_ii]) or 0) adtotal = adtotal + (tonumber(Args['adraw_'..team_code_ii]) or 0) altotal = altotal + (tonumber(Args['aloss_'..team_code_ii]) or 0) pkwtotal = pkwtotal + (tonumber(Args['PKwin_'..team_code_ii]) or 0) pkltotal = pkltotal + (tonumber(Args['PKloss_'..team_code_ii]) or 0) otwtotal = otwtotal + (tonumber(Args['OTwin_'..team_code_ii]) or 0) otltotal = otltotal + (tonumber(Args['OTloss_'..team_code_ii]) or 0) gftotal = gftotal + (tonumber(Args['gf_'..team_code_ii]) or 0) + (tonumber(Args['pf_'..team_code_ii]) or 0) gatotal = gatotal + (tonumber(Args['ga_'..team_code_ii]) or 0) + (tonumber(Args['pa_'..team_code_ii]) or 0) end end if wtotal ~= ltotal then table.insert(warn, wtotal .. ' total wins != ' .. ltotal .. ' total losses') end if hwtotal ~= altotal then table.insert(warn, hwtotal .. ' total hwins != ' .. altotal .. ' total alosses') end if awtotal ~= hltotal then table.insert(warn, awtotal .. ' total awins != ' .. hltotal .. ' total hlosses') end if (2*math.floor(dtotal/2)) ~= dtotal then table.insert(warn, dtotal .. ' total draws is an odd number') end if hdtotal ~= adtotal then table.insert(warn, hdtotal .. ' total hdraw != ' .. adtotal .. ' total adraw') end if pkwtotal ~= pkltotal then table.insert(warn, pkwtotal .. ' total PKwins != ' .. pkltotal .. ' total PKlosses') end if otwtotal ~= otltotal then table.insert(warn, otwtotal .. ' total OTwins != ' .. otltotal .. ' total OTlosses') end if gftotal ~= gatotal then table.insert(warn, gftotal .. ' total for != ' .. gatotal .. ' total against') end return warn end return tc tcmclr8jozxgjqq911doxav3wcoa1qg Хэрэглэгч:Bsylo 2 146976 860782 2026-07-01T06:22:30Z Bsylo 105644 Доктор Авто Сүлжээ компани үүсгэн байгуулагдав 860782 wikitext text/x-wiki 1999 Доктор Авто Сүлжээ компани үүсгэн байгуулагдав. 45tskvczbg0uk8cowlwbbyfvum6yiuw Амьдрал Баяжуулагч номын клуб 0 146978 860793 2026-07-01T10:34:15Z Ganaahuu 27277 Амьдрал Баяжуулагч номын клуб 860793 wikitext text/x-wiki '''Амьдрал баяжуулагч номын клуб''' нь 2025 оны 8 сарын 12-ны өдөр үүсгэн байгуулагдсан цахимаар уншигч номын клуб юм. Ашгийн бус номын соёлыг түгээх, хувь хүний оюуны хөгжлийг дэмжсэн ном уншлага, номын хэлэлцүүлэг хийдэг. '''Уриа''': Тархины түгжээгээ мулталъя! '''Зорилго''': Ном унших соёлыг түгээж, хамтдаа хөгжье! == Түүхэн тойм == Р.Дарханцэцэг, М.Ариунгэрэл, Р.Ган-Од, Б.Энхнаран нарын бүсгүйчүүд хамтдаа 2025 оны 8 сарын 12-ны өдөр "Амьдрал баяжуулагч" номын клубээ нээж санхүүгийн чиглэлийн ном уншиж эхэлсэн байна. 2026 оны 1 сарын 26-ны өдөр "XXI зууны бизнес" ном уншиж эхлэхэд М.Ганхүү гишүүн нэмэгдэж оржээ. == Уншиж, хэлэлцүүлсэн ном == Амьдрал Баяжуулагч номын клуб нь эхлээд санхүүгийн сэдэвт 9 ном уншиж дууссан. Одоо эрүүл мэндийн сэдэвт 9 ном уншихаас зургаа дахь номоо уншиж байна. === Санхүүгийн сэдэвт номууд === Санхүүгийн сэдэвт номуудаас дараах есөн номыг уншсан байна. Үүнд: # "Бизнес гарын авлага", # Рич Девос, "Эгэл Рич", 2020 # Стевен Кови, "Өндөр бүтээмжтэй хүмүүсийн 7 дадал", 2020 # Роберт Кийосаки , "Баян Аав, Ядуу Аав 1", 2003 # Роберт Кийосаки т, "Баян Аав, Ядуу Аав 2", 2009 # Роберт Кийосаки , "Баян Аав, Ядуу Аав 3", 2009 # Роберт Кийосаки, "XXI зууны бизнес", 2023 # Экер Харв, "Саятны сэтгэлгээний нууц", 2009 # Рабби Даниэл Лапин, "Библи дэх Бизнесийн нууц", 2023 номыг уншсан байна. === Эрүүл мэндийн номууд === Эрүүл мэндийн сэдэвт дараах номуудыг уншиж байна. Үүнд: # Жулиа Эндерс, "Гэдэс", 2022 # Л.Энхзул, "Сахар", 2020 # "Бодисын солилцоо" # Нагао Казүхиро, "Алхалт", 2025 # Нагао Казүхиро,"Алхалт 2", 2025 # Максим Гончаров, "Бодит чадварууд ба Эерэг сэтгэл засал", 2026 == Гадаад холбоос == [https://www.facebook.com/life.enrichment.book.club Амьдрал Баяжуулагч номын клуб] gdovtn2jungk22l12fn177jm7y1r1en